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

Debian´da Strateji Değişikliği

tongucyumruk

Debian geliştirme takımı özellikle yeni kullanıcıların en yeni paketleri istemesi ve insanların Gentoo'yu tercih etmesi üzerine bazı stratejik değişikliklere gitme kararı aldıklarını açıkladı.

Bu değişikliklerden bazıları şöyle:

-Son zamanlarda özellikle kullanıcı dostu arayüzüyle beğeni toplayan Mandrake ile işbirliğine gidilecek. Buna göre Debian Mandrake rpm'leri ile tam uyumlu olacak. Ayrıca bu yolla Mandrakenin kolay yönetim amaçlı Drake araçları da Debian'a aktarılacak

Debian Sarge Installer Beta 4 Çıktı

FZ

Debian-Installer ekibi Debian Sarge Installer sisteminin dördüncü BETA sürümünü duyurdu. Bu pırıl pırıl taze CD´deki yeniliklerden birkaçı:
  • arm, hppa, ve mipsel mimari desteği.
  • i386 için derlenmiş deneysel 2.6 çekirdek desteği. 2.4 serisi çekirdek halen öntanımlı ve tavsiye edilen çekirdek durumunda pek çok farklı donanım seçeneği için.
  • Kuracağınız bilgisayarda halihazırda mevcut bulunan işletim sistemlerini otomatik olarak tanıma ve boot menüsüne ekleme. Tanınabilen sistemler: Windows, Mac OS, Linux, GNU Hurd, DOS
  • 35 farklı dil desteği, aralarında : Endonezya dili, Baskça, Galiçya dili, Romence ve Welsh de var.
  • Hata gidermeleri ve kullanıcı arayüzünde iyileştirmeler
  • BETA 3 için raporlanan hemen hemen tüm hataların giderilmiş olması
  • Alessandro Polverini ve Andrea Mottola tasarlanmış yeni bir boot logosu

TrustedDebian 1.0 Çıktı

FZ

Hem Debian´ın getirdiği kolay yönetilebilirlikten faydalanmak hem de güvenli bir bilgi işlem ve veri iletişimi ortamı sağlamak isteyen GNU/Linux kullanıcıları için TrustedDebian 1.0 hizmete hazır.

Sistemle ilgili bir demo belgesini de burada görebilirsiniz.

FM´nin kıdemli üyelerinden, Debian´dan sorumlu Internet bakanı roktas arkadaşımızın da yorumlarını bekliyoruz ;-)

Debian GNU/Linux Türkçe SSS Belgesi

FZ

Bu belge Debian ile ilgili SSS (sıkça sorulan sorular) ve yanıtlarını içerir. Belge oluşturulurken temelde iki farklı kaynaktan faydalanılmıştır. Bunlardan birincisi, http://www.linuks.mine.nu/debian-faq-wiki adresinde bir araya getirilen ve sürekli güncellenen SSS ve yanıtları, diğeri ise Türk Debian Kullanıcıları Listesine bugüne kadar aktarılmış sorular ve yanıtlarıdır.

Debian GNU/kFreeBSD Live CD

yuxel

FreeBSD çekirdeğinin (kFreeBSD) kararlılığı ile Debian'ın esnekleğini live cd olarak hayal edin. Debian-bsd ekibi Debian GNU/kFreeBSD Live CD projesini duyurdu.