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

ELOG Debian paketi

m1a2

ELOG`la ilgili olarak 22 Nisan tarihinde bir haber geçerek programı kısaca tanıtmışız. Hâlâ denemeyenler varsa bir an önce denemelerini öneririm. Üstelik `windows` kullanıyor olmanız da -bu açıdan ;)- önemli değil, `windows` binary`si de mevcut. Linux için rpm`leri görünce bendeniz de dayanamamış ve programın Debian paketini hazırlayarak eşe dosta dağıtmıştım. Upstream author `Stefan Ritt`le yaptığım yazışmalardan sonra versiyon 2.2.5 itibarıyla program `Debian` raconuna daha uygun hale geldi ve kendisinin isteğiyle Debian paketini -sorumluluğunu üzerime alarak- `ELOG`un sitesine upload ettim.

Paketi şu link`ten indirebilirsiniz. Fakat bunu tavsiye etmiyorum. Paketin `apt-getir` olması için (yaa, işte böyle katkılarız Türkçe`yi :) bir düzenleme yaptım. `/etc/apt/sources.list`e şu satırları ekleyeceğiz önce (bu satırlar verdiğim link`te göreceğiniz `Sources.list` dosyasında mevcut):

    deb http://midas.psi.ch/elog/download/debian/ ./
    deb-src http://midas.psi.ch/elog/download/debian/ ./
Sonrası malum: `apt-get update; apt-get install elog`. Dileyenler `apt-get source elog` ile kaynağa inebilirler.

Benim yaptığım testlerde sorun gözükmedi ama siz de bir deneyin bakalım, elâleme rezil olmayalım sonra :)

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.

Debian GNU/Linux Usulü Çekirdek Derleme

realist

Fazlamesai kanalının müdavimlerinden Realist/Decaf arkadaşımız Debian usulü çekirdek çıtlanması (derlenmesi ;) ile ilgili çok güzel bir makale hazırlamış. Hem de tam da benim Bilgi'de Linux Eğitiminde Çekirdek Derleme konusunu işlediğim gün :)) Ellerine sağlık diyoruz...

Debian sürümünün kendine özgü araçlarını kullaranak çekirdek derlenmesi ve kullanımı.

fazlamesai.net´e soralım: Ticari ortamlarda Debian kullanıyor musunuz?

FZ

Bildiğiniz üzere Debian GNU/Linux herhangi bir şirketle organik bir bağı olmayan, tamamen bir gönüllü ve üst düzey teknik yetkinliğe sahip yazılım geliştirici ordusu tarafından geliştirilen Linux tabanlı bir işletim sistemi.

Son günlerde Debian Türkçe e-posta listesinde, özellikle de Eylül ayında gerçekleşen yazışmalar Debian GNU/Linux işletiminin ticari ortamlarda ciddi ve yoğun olarak kullanımı ile ilgili idi. Büyük bir sunucu için bir RAID kartının kullanılmasından tutun yeni bir IBM eSeries 225´e kurulmasına ya da bir şirketin şubelerarası VoIP altyapısını kurmak için kullanacağı sunucularda Debian çalıştırmasına dek muhtelif araştırmalar, öneriler, tartışmalar... Slashdot sitesindeki şu yazıyı görünce ben de bir sorayım dedim Türkiye´deki BT camiasına: Debian´ı ticari ortamlarda nerede, nasıl, hangi amaçlarla kullanıyorsunuz? Durumunuz, izlenimleriniz, tavsiyeleriniz, hissiyatınız nedir? Böyle bir şeyi şu anda yapmıyorsanız bile yapmayı planlıyor musunuz? Eğer planlıyorsanız neye alternatif olarak? Bazı çekinceleriniz ya da endişeleriniz, merak ettikleriniz var mı? Evet, soralım ve okuyalım bakalım neler gelecek ;-)

Debian GNU/Linux 4.0 'etch' Release Tarihi Belli Oldu

thorin

Debian'ın bir sonraki "stable" sürümü, Debian GNU/Linux 4.0 (etch)'in "release" tarihi Aralık 2006 olarak duyuruldu.