From: Can Erkin Acar (can.acar@pro-g.com.tr)
Date: Thu 07 Oct 2004 - 11:48:28 EEST
=?iso-8859-9?Q?Aykut_ARDIÇ?= wrote:
> akşam araştırma yaparken bi tonda security olayı okudum en çok ilgimi çeken
> shadow ve passwd dosyalarını okumak olayı oldu araştırma yaparken
>
> john ripper diye bişiler gördüm indirdim nedir bu diye
john the ripper en populer sifre kirma programlarindan bir tanesi.
sozluk, kullanici ismi ve kurallara gore kendi urettigi sifreleri
deneyerek bir password/shadow dosyasindaki sifreleri bulmaya calisiyor.
Farketmissinizdir, shadow dosyasindaki sifreler, okunabilir degil.
Gercek sifre yerine o sifrenin bir kriptografik ozeti saklaniyor.
Bilinen bir sifre icin ozet hesaplayarak sifrenin dogrulugunu
kontrol etmek kolay olurken, ozet kullanarak sifreyi elde etmek
bu sekilde deneme yapmadan mumkun olmuyor (bu cok basitlestirilmis
bir tanim oldu. Daha fazla bilgiyi ve algoritmalari biraz arastirmayla
bulabilirsiniz)
> peki nasıl oluyorda shadow u okuyorlar sistemde sadece root un baka bileceği
> ve değiştireceği bi dosya yı
Bunu programin kendisi yapmiyor, shadow dosyasindaki bilgiler
bir sekilde elde edilmisse ise yariyor:
* Bir sistem yoneticisi, sistemindeki sifrelerin guvenligini
test etmek icin kullanabilir.
* Baska programlar da benzer sekilde sifre sakliyor,
ve bu sifre dosyalarinin haklari okumaya izin veriyor olabilir.
* Sistemde root haklari bir guvenlik acigi nedeniyle (gecici
sure icin) elde edilmis olabilir. Bu durumda shadow dosyasinin
kopyasi ile offline olarak kullanici sifrelerini kirmaya
calismak mumkun olacaktir. Kullanicilar sifrelerini birden
fazla yerde kullanma egliminde olduklari icin bir sistemde
kirilan sifreler farkli sistemlere giris saglayabilir.
Bu nedenle, herseyden once kullanicilarin 'kolay tahmin edilemeyecek'
sifreler kullanmasi (uzun, buyuk/kucuk harf karisik arada rakam
ve noktalama isaretleri bulunan vs vs) ayni sifreleyi birden fazla
yerde kullanmamasi gerekir (egitim sart).
Sistem yoneticilerinin, shadow dosyasini 'baska uygulamalarin da
erisim denetimi yapabilmesi' amaciyla kopyalayip erisim izni vermemesi,
alternatif erisim kontrolu yontemlerini arastirmasi gerekir.
Isletim sistemlerinin de sifreleri saklamak icin kullandiklari
kriptografik yontemlerin mumkun oldugunca saglam olmasi onemlidir:
* eski UNIX sistemlerde kullanilan tek karakter salt + DES tabanli
algoritmanin artik saglamligindan soz edilemez. Modern Linux
sistemlerinde kullanilan MD5 tabanli algoritmala ve random salt'lar
cok daha saglamdir. Daha farkli algoritmalarin, ornegin OpenBSD de
kullanilan Blowfish tabanli hash, hesaplanmasi zor/yavas oldugu icin
kirma isini iyice zorlastirmaktadir.
* Orijinal Windows LanManager hash, (WindowsNT oncesi)
komik denecek kadar zayif bir algoritma kullaniyorlardi.
WindowsNT NTLM hash ile bunu biraz zorlastirdi (en azindan
buyuk/kucuk harf ayrimi) Windows, sifreleme algoritmasini
ancak Windows2000 ve sonrasindaki NTLM2 ve AD (kerberos)
kullanimi ile toparladi (bu sistemler hala uyumluluk
gereksinimleri nedeni ile uzerinde zayif algoritmalar
kullanmaya zorlanabiliyor).
-- Dr. Can E. Acar Pro-G Bilisim Guvenligi ve Arastirma Ltd. http://www.pro-g.com.tr