mICQ - Bir Garip Hikaye

0
m1a2
mICQ talihsiz bir programdır. Matthew D. Smith tarafından yazılan program, bildigim kadarıyla GNU/Linux'un ilk ICQ istemcisidir. Matthew D. Smith'in 2001`de bir trafik kazasında vefat etmesi mICQ'nun sonu anlamına geliyordu. Fakat programın sadık kullanıcıları buna müsaade etmedi ve yeni bir geliştirici: Rüdiger Kuhlmann proje'nin sorumluluğunu alarak mICQ'yu kaldığı yerden geliştirmeye devam etti.
(ICQ protokolünün yenilenmesi böyle bir gelişmeyi daha da önemli kılıyor.) Her şey iyiye giderken programın Debian paketinden sorumlu olan Martin Loschwitz'in (aka madkiss) debian-devel listesine gönderdiği 13 Şubat tarihli bir mesajla mICQ`nun makus talihi bir kez daha tescillendi. Madkiss son derece tuhaf bir durumu raporluyordu. Programda şöyle bir `obfuscated code´ parçası var:
const char *parts[] = {
"

eX0282nZlv$qf#vpjmd#wkf#nJ@R#sb`hbdf#sqlujgfg#az",
"#Gfajbm-#Pjm`f#wkf#Gfajbm#nbjmwbjmfq#jp#f{wqfnfoz#",
"vm`llsfqbwjuf/#zlv$qf#bguj`fg#wl#vpf#wkf#afwwfq#rv",
"bojwz#sb`hbdf#eqln#nj`r-lqd-#Pjnsoz#bgg#wkf#eloolt",
"jmd#ojmf#wl#zlvq#,fw`,bsw,plvq`fp-ojpw#wl#wqb`h#pw",
"baof#ufqpjlmp#le#nJ@R9eX3n
gfa#kwws9,,ttt-nj`r-lqd",
",gfajbm#pwbaof#nbjm
eX0282nWl#wqb`h#@UP#pmbspklwp/",
"#bgg9eX3n
gfa#kwws9,,ttt-nj`r-lqd,gfajbm#wfpwjmd#n",
"bjm
eX0282nPlvq`f#sb`hbdfp#nbz#af#qfwqjfufg#pjnjob",
"qoz-eX3n

"
};
Bu kod sadece Debian'a özel olarak yaklaşık şunu üretiyor:
    long Feb11th = 1045000000;
    if (strcmp(me, "madkiss") == 0 && time(NULL) > Feb11th) {
		printf("
You're using the mICQ package provided by Debian.  Since the
Debian maintainer is extremely uncooperative, you're adviced to use the better
quality package from micq.org. Simply add the following line to your
/etc/apt/sources.list to track stable versions of mICQ:
deb http://www.micq.org/debian stable main
To track CVS snapshots, add:
deb http://www.micq.org/debian testing main
Source packages may be retrieved similarly.");
		exit(99);
    }
Yani program `madkiss´ tarafından hazırlanan bir Debian paketinden çıkmışsa kullanıcıyı uyararak sonlanıyor: "Debian tarafından hazırlanmış paketle gelen bir mICQ versiyonu kullanıyorsunuz. Debian geliştiricisi, işbirliğinden olağanüstü uzak bir kişi olduğundan, micq.org'dan temin edeceğiniz daha kaliteli bir paketi kullanmanız salık verilir..."

Madkiss paketlediği programın kendisiyle kafa geçmesini affedemezdi :) Nitekim mesajında, mICQ'nun Debian dağıtımından çıkarılmasını ve normalde özgür olmayan programlar için kullanılan `paketlemesi mümkün değil´ etiketiyle damgalanmasını talep ediyordu.

Tahmin edileceği gibi kıyamet koptu. Çok sayıda Debian geliştiricisi olaya tepki göstererek bunun dağıtıma girmiş bir `trojan´ olduğunu ve upstream author Rüdiger´in güvenilmez birisi olarak ifşa edilmesi gerektiğini belirtti. (Tartışmalar için thread`i takip ediniz.)
`Bu adamın bir dahaki sefere rm -rf *´ yapmayacağını nereden bilelim?`

`mICQ`yu root olarak güvenli şekilde çalıştırabilir misiniz artık?´


Tartışmaya katılanlardan bir kısmı ise `hırsızın hiç mi suçu yok?´ vaziyetini alarak Rüdiger´e tepki göstermek yerine bu arkadaşı böyle bir davranışa sevkeden asıl unsura yani madkiss´in paket geliştiriciliğinde gösterdiği olumsuz tavra dikkat çekiyor. Mesela bir tanesi (mplayer geliştiricisi) `paketlemesi mümkün değil´ talebinin mICQ icin değil madkiss icin geçerli olduğunu belirtmekte :)

Sonuca gelince... Dağıtım yöneticisi Anthony Towns (aka aj) olaya soğukkanlılıkla el attı. İlgili kodu trojan'dan ziyade `paskalya yumurtası´ olarak değerlendiren Towns, mICQ`nun diskalifiye edilmesindense, madkiss´in paket sorumluluğunu bırakmasının yeterli bir tepki olacağı yönünde görüş bildirdi. Rüdiger`in `obfuscated code´u kaynaktan çıkarmasıyla sorun şimdilik halledilmiş gözüküyor. Tabii Rüdiger`in davranışını cracker´lık olarak yorumlayan Debian geliştiricilerinin vicdanında mICQ Debian'daki ömrünü doldurmuş durumda :) İflah olmaz bir konsol düşkünü olarak ickle'ı terkedip mICQ`ya geçiş planları yapan bendeniz ise planlarımı kesinlikle ertelemedim. Bu kararımın Rüdiger'in savunmasıyla da bir ilgisi yok.

Kıssadan hisse: Siz siz olun, değil Redhat veya bunu baz alan dağıtımlar, çok güvendiğiniz bir dağıtımı kullanırken dahi root olarak IRC ve/veya ICQ seansları icra etmeyin ;)

Görüşler

0
SHiBuMi
Bu olay open-source uygulamaların da tek başına kaynak kodlarının açık olmasının güvenli olmaları için yeterli olmadığına güzel bir örnek olmuş. Sonuç olarak bu paskalya yumurtası kullanıcıya çıktı verdiğinden kolay bulunabilir, peki bizden habersiz home klasörümüzdeki dosyaları internetteki belirsiz bir noktaya gönderen benzer bir kod da rahatlıkla tespit edilebilir mi? Sanmam.
0
conan
> peki bizden habersiz home klasörümüzdeki dosyaları internetteki belirsiz bir noktaya gönderen benzer bir kod da rahatlıkla tespit edilebilir mi?

Onu da microsoft`a sormak lazim...

http://www.theregister.co.uk/content/4/24152.html
http://www.hevanet.com/peace/microsoft.htm
http://www.wired.com/news/technology/0,1282,21577,00.html
http://www.wired.com/news/business/0,1367,21490,00.html
http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2814881,00.html
vs...vs...
0
conan
blizzard'a da sorabiliriz tabii ki :P
http://www.cdmag.com/articles/011/112/blizzard_sued.html
0
Maverick
Saçma. Olay zaten tespit edilmis, ne gibi bir yetersizlikten bahsediyorsunuz?
Son kullanici sadece indirdigi paketlerin md5 sum`larini kontrol ederek virus, trojan ve arka kapilara karsi windows`dakine göre onlarca kat daha güvenli sayilabilir bence..
0
FZ
Tüm pratikler bir yana açık kaynak kodlu bir yazılımı incelemek, kaynak kodu ile gelmeyen bir yazılımı incelemeye kıyasla daha kolay değil mi? Yani bu teorik bir şey. Tabii ki bir programı incelemek belli bir uzmanlık, bilgi ve deneyim gerektiren bir iştir ancak açık kaynak kodlu yazılımlar `reverse engineering´ gerektirmediklerinden ötürü incelenmeye kapalı yazılımlara kıyasla çok daha `açık´ değil midirler?

Burada sanırım çok basit bir mantık hatası söz konusu, matematikteki gerek ve yeter şart durumu gibi. Yani kaynak kodun açık ve hemen erişilebilir olması güvenlik için elbette ki yeter şart değildir ancak doğrudan analiz ve olası şüpheli durumların tespiti için gerek şarttır.

Güvenliği ön planda tutan bir kurum hangisini tercih eder: içini görüp inceleyebileceği bir yazılımı mı yoksa içini görmekte kendisine kök söktürecek kadar kapalı ve binary halde kendisine sunulmuş bir yazılımı mı?

Yani kısaca demem o ki, neyi tartışıyoruz ki? Bazı şeyler yeterince `açık´ değil mi?
0
Maverick
>... Tabii ki bir programı incelemek belli bir uzmanlık, bilgi ve deneyim gerektiren bir iştir ...

Bu işi çoğu paket için zaten kullandığınız dağıtım üstleniyor.
0
anonim
Valla bu yazının dediğin şeye güzel bir örnek oluşturup oluşturmadığını
bilemeyeceğim ama kesin bir şey var ki senin şu skolastik yorumun `ak deseler
de kara desem, öküzün altında buzağı arasam` tekerlemesine güzel bir örnek
olmuş :) (Bu terkibin bütün hakları bana aittir, kaynağını aramayın).

En önemli prensipleri `kullanıcıya karşı şeffaflık` ve `sadece özgür yazılım` olan bir dağıtım da senin güvenlik endişelerini karşılamıyorsa -ve tabii amaç buysa- durum vahim demektir. Bak adamlar herşeyi açık açık tartışmışlar. Üstelik bir ilginç öykü babında naklettiğim bu olayda tarafların tamamı safiyane Debian geliştiricisi (mICQ programcısı da buna dahil, ev sayfasını incelenecek olursa bu görülebilir) ve tartışılan basit bir kişisel gıcıklık mevzuu olmasına rağmen arkadaşların bir kısmı bu paskalya yumurtasını Debian`ın ilkeleri bağlamında fazlasıyla ciddiye almışlar.

--
m1a2
0
SHiBuMi
Biri kalkmış open-source uygulamasının içine hem de o paketin güvenliğinden sorumlu olan kişiyle dalga geçen bir not bırakmış, paketçi de bunu bir güzel paketleyip cümle aleme dağıtmış. FZ'nin dediği gibi, bence de durum oldukça 'açık'.
0
redial
m$ Excell''in icinden ''doom'' ciktigi gunleri cabuk unuttuk sanirim :)

Ve bunun sadece bizim gorebildigimiz oldugunu ve cok sik unutuyor olmaliyiz...

Sadece mICQ degil, baska paketlerde de benzer ve hatta daha ciddi problemler olabilir, ama bunu tutupta, aha size open mantigina baglamak pekte mantik barindirmayan bir tutum...

0
redial
Bir ustteki mesaji yanlislikla (acemilikle aslinda) kendisinden bir onceki yorumun cevap zincirine eklemem gerekiyordu, ozurdilerim :)
0
FZ
Meraklısına Not: İstiklal Caddesi´ndeki Robinson Crusoe kitabevinde sadece Apple Mac üzerindeki programlardaki gizli şirinlikleri (Easter Egg - Paskalya Yumurtası) anlatan küçük ve şirin bir kitap vardı. Hala orada mıdır, satılmış mıdır bilemem. Güzel bir kitaptı ve epey şaşırtıcı. Meğer millet ne kadar hevesli imiş programın içine, program ile alakasız şeyler gömmeye :)

Buradan yola çıkarak optimizasyon ile ilgili bir kitaba şöyle bir satır ekleyebilir miyiz:

Adım 12312 - Programdaki tüm paskalya yumurtalarını çıkarın.
0
Nightwalker
Olayı kimse bakın bakın open source ne kadarda güvensizmiş. Şeklinde yorumlamıyor. Bu olay open-source uygulamaların da tek başına kaynak kodlarının açık olmasının güvenli olmaları için yeterli olmadığına güzel bir örnek olmuş. cümlesinde anlatılmak istenen open source kullanınıyorum öyle ise güvendeyim mantığının yanlış oluşudur. Yani bu olayın açık kod kapalı kod rekabeti ile bir ilgisi yok. Sadece güvenlik süreçlerinin her ortamda uygulanması gerektiğini gösteriyor.
0
SHiBuMi
Budur.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

İnceleme: Debian 3.0 - Woody (1)

m1a2

Debian 3.0 sürümü (aka Woody) 19 Temmuz 2002 tarihinde duyurulmuştu. Resmî duyurudan önceki karanlık dönemde (Forty years of darkness ;), Debian`ın kendine özgü dağıtım mimarisi içinde testing niteliğinde olan bu sürüm sadık Debian kullanıcılarının disklerinde çoktan yerini almıştı bile. Fakat her resmî duyuru önemlidir ve benim gibi kendi ölçütleriyle en iyi Linux dağıtımı arayışında olan geek`ler için resmî duyuru aynı zamanda yakılmaya hazır ISO`ların elde edilebilmesi anlamına geldiğinden, Debian`a tam geçiş fırsatı oldu. Woody`den önce -biraz da eski bir makinanın yaşlı bünyesine uygun düşmesinden dolayı- Potato`yu kurmuş ve çok memnun kalmıştım. (VectorLinux da tabiatına uygun bir makine parkında yaşamına devam ediyor :)

Sarge sonunda gözüktü!

sundance

Debian camiasının ilgi ile beklediği yeni sürümü Sarge sonunda gözüktü!
Debian'ın Türkiye'deki (ve dahi Türkçe'deki) en büyük destekçisi Recai Oktaş'ın Debian-User-Turkish listesine attığı mail ile 03 Mayıs itibariyle Sarge'ın dondurulduğu ve 85 civarı hatanın giderilmesinin ardından 30 Mayıs'da lansmanının yapılacağını duyurdu.

Özellikle Debian'a başlamayı düşünenlere duyurulur, diğerleri zaten unstableda devam etmekte ;)

Mac Mini Üzerinde Debian GNU/Linux

Challenger

Apple tarafından geçtiğimiz ay duyurulan Mac Mini 499$' lık fiyatıyla birçok kişinin aklını çelmişti. Burada da sözü edilen Mac Mini üzerine Debian kurma fikrini William R. Sowerbutts gerçekleştirmiş ve güzel bir kurulum belgesi hazırlamış. İlgili belgeye http://www.sowerbutts.com/linux-mac-mini/ adresinden ulaşabilirsiniz.

Bir Windows XP ve Debian deneyimi

FZ

Bir arkadaş bir avukat tanıdığından aldığı ve adam edip geri vereceğini belirttiği eski bir makinaya (266 Mhz'lik bir Celeron, 256 MB RAM, 4 GB HDD, S3Virge ekran kartı) Windows XP kurmaya kalkar. Bunun icin önce harddiske gerekli XP dosyaları aktarılır (neden çünkü makina CD'den boot edememektedir) sonra da hadi başla kuruluma denir, XP uyarır, bu alette SmartDrive yok, kurulum biraz vakit alabilir! Arkadaşımız da ne kadar sürebilir ki en fazla diye düşünür ve kurulumu başlatır, sistem çalışmaya başlar, aradan 1 saat geçmesine rağmen herhangi bir hareket görünmemektedir, arkadaş "alet kilitlendi herhalde kapatıp açsam mı" diye düşünürken biraz daha beklemeye karar verir ve başka bir bilgisayarda oyun oynamaya başlar, oyuna dalar, saatlerce oynar, 10 saat sonra XP kurulumunu hatırlar, sistem bir sonraki aşamaya geçmiştir. Bir sonraki aşama yaklaşık 8 saat sürer.

18 saat sonra büyük bir heyecanla bilgisayar XP ile boot etmeye çalışır ve mavi bir ekran çıkar, şuna benzer bir mesaj yazmaktadır:

error c000002 Windows Hard Error
systemRoot lablabal tdll.dll


Evet, hem isminden hem de uzantısından dll olduğuna dair en ufak bir şüphe etmeyeceğimiz ntdll.dll şikayet etmekte, "hard" bir problem olduğunu söylemektedir. Hardware? Hayır, Hard!

Debian 3.0´da Türkçe -1

m1a2

Zaman makinasıyla harf inkılâbını tasarlayan teknik komiteye duhul edebilsek -bir programcı olarak- ne yapardık? Hmmm... Bir kere bütün çengelli karakterleri çift harf şeklinde: ş:sh, ç:ch vb. önermekle başlardım işe. Veya bundan vazgeçip ayrıntılı bir araştırmayla belirleyeceğim bir tarihe kendimi ışınlayarak ASCII karakter setini oluşturmakla mükellef elemanların başına silâh dayardım. (Ha bu arada yanımda bir anda beliren öfkeli bir japon arkadaşa da "siz önden buyurun" inceliğini göstermekte tereddüt etmezdim.) Her linux kurulumu sonrasında cebelleştiğimiz bu türkçeleme mevzuu işte böyle tuhaf hayallere sevkediyor insanı. Okuduğunuz dokümanın uzunluğu da yeterince anlamlı değil mi?