spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
LANMAN Şifre Özetinin Zayıflıkları Yazdır E-posta
Tolga MATARACIOĞLU, TÜBİTAK-UEKAE   
25.03.2008

Giriş 

Tüm Windows NT ailesi işletim sistemleri (NT, 2000, 2003) için yerel bir bilgisayara login olurken yazılan şifreler, %systemroot%\system32\config\SAM dosyası içerisinde saklanır. Eğer bilgisayar bir etki alanı kontrolcüsüyse şifreler %systemroot%\ntds\NTDS.DIT dosyası içerisinde saklanır.

Bu dosyalar, administrators grubundaki kullanıcılar dahil hiçbir kullanıcı tarafından kopyalanamaz, okunamaz ya da silinemez ve bu dosyaların içeriğine yalnız yönetim araçlarıyla erişilebilir. Şekil 1 ve Şekil 2’de görüldüğü gibi SAM dosyası sırasıyla kopyalanmaya ve silinmeye çalışılmış fakat işlem başarısız olmuştur.  

1.jpg

Şekil 1. SAM dosyası için kopyalama işlemi

2.jpg

Şekil 2. SAM dosyası için silme işlemi

SAM dosyasının kopyalanamaması aslında kalıcı bir çözüm getirmemektedir. SAM dosyasının bulunduğu bilgisayar CD’den başlatılarak açıldığında veya çalışan Windows işletim sistemi üzerinde bir takım programlar kullanılarak SAM dosyasına erişilebilir. Bahsedilen nedenden dolayı SAM dosyası içerisinde şifreler açık halde tutulmazlar, şifrelerin özeti (hash) tutulur. Özet fonksiyonunun iki önemli özelliği vardır. Birincisi, bu fonksiyona giren şifrenin uzunluğu ne olursa olsun, fonksiyon çıktısı her zaman sabit uzunluktadır (örneğin 128 bit). İkincisi ise, bu fonksiyonların tersi yoktur, yani bu fonksiyonlar tek yönlüdür. Şekil 3’te bu durum özetlenmiştir. Fonksiyon çıktısı bir şifre özetinden fonksiyon girdisi şifre elde edilemez. Şifre kırma programları özet değerinden şifre elde etme işlemini sözlük ve kaba kuvvet atakları yaparak gerçeklemeye çalışırlar. Gerçekleştirdikleri işlem şu şekilde özetlenebilir: Öncelikle sözlük veya kaba kuvvet atağında kullanılan şifrenin özeti hesaplanır, daha sonra elde edilen özet SAM dosyasında yer alan şifre özetiyle karşılaştırılır. Özet değerleri birbirinden farklıysa yeni bir şifre denenir. MD5 ve SHA algoritmaları özet fonksiyonlarına örnek olarak verilebilir. Özet fonksiyonlarının da bazı açıklıkları olduğu bilinmektedir.

3.png

Şekil 3. Özet fonksiyonu

Windows'ta Özet Mekanizmaları

İlk bölümde bahsedilen dosyalar içerisinde bir kullanıcıya ait şifrenin iki farklı fonksiyonla (veya yöntemle) üretilmiş özeti tutulur. Bunlar LANMAN (LM) ve NTLM (NT Lan Manager) özetleridir. Bu makale, LM özetleri bilgisayarda tutulduğu zaman karşılaşılabilecek sorunları ve çözüm önerilerini içermektedir.

Microsoft firmasının yeni işletim sistemleri, eski işletim sistemleriyle uyumlu şekilde çalışmaktadır. Bu nedenle, eski versiyonlarda olan bazı özellikler, yeni versiyonlar kendi arasında kullanmadığı halde yeni versiyonlara konulmaktadır. Örneğin, OS/2 ve POSIX subsystem ile ilgili dosyalar ve kayıt defteri ayarları bu nedenle tutulmaktadır. LM özeti de, Windows NT ailesi işletim sistemleriyle, Windows 3.11/95/98/Millenium Ed. işletim sistemlerinin kimlik doğrulamasında kullanılır, dolayısı bu işletim sistemleri arasında sorunsuz olarak dosya ve yazıcı paylaşımına imkan sağlanmış olur. Ancak Windows NT ailesindeki (NT, 2000, 2003) işletim sistemleri kendi aralarında kimlik doğrulaması yaparken LM özeti kullanmazlar.

Yukarıda belirtilen geriye yönelik uyumluluk özelliği nedeniyle hala muhafaza edilen LM özetinin algoritma adımları incelendiğinde bu özetin güvenilir olmadığı anlaşılmaktadır. Kısaca LM özeti aşağıda verilmiş algoritma adımlarının gerçeklenmesinden sonra üretilir:

  1. Şifre büyük harflerden oluşacak şekilde düzenlenir.

  2. Şifrenin ilk 14 karakteri alınır. 14 karakterden daha kısa ise boş (null) karakter eklenir.

  3. Şifre 7 karakterlik 2 parçaya bölünür ve her parça ASCII gösterimi KGS!@#$%, 16’lık gösterimi  ise 0x4B47532140232425 olan sabit bir şeridi (string) şifrelemek için  anahtar olarak kullanılır. Şifrelemede DES algoritması kullanılır.

  4. Oluşturulan 16 byte özet değeri uç uca eklenir ve 32 byte uzunluğunda özet değeri elde edilir.

Kolaylıkla edinilebilecek çeşitli şifre kırma programları yardımıyla LM özetinden yararlanarak kısa sürede kullanıcı hesaplarının şifrelerini kırmak mümkündür. LM özeti oluşturulma mekanizmasında birçok eksiklik bulunmaktadır. Bu eksiklikler:

  1. LM özetinde büyük harf-küçük harf duyarlılığı bulunmamaktadır.

  2. Şifreler 14 karaktere kadar bilinen bir karakterle tamamlanır. (16’lık değerde 0X01 şeklinde gösterilen bir karakterdir)

  3. Özet operasyonunda, şifre iki eşit parçaya bölünür.

  4. DES algoritması ile yapılan şifrelemede güvenlikçiler tarafından “magic number” olarak adlandırılan ve değeri bilinen bir şerit kullanılır

  5. LM özet işleminde SALT (sözlük ataklarının karmaşıklığını arttırmak amacıyla rastgele bitlerden oluşan bir değer) kullanılmaz. Yani iki farklı kullanıcının şifreleri birbirinin aynıysa bu şifrelerin LM özetleri de birbirinin aynısı olur.

  6. 15 karakter ve daha büyük uzunluktaki şifrelerde LM özeti tutulmaz.

Yukarıda bahsedilen tüm bu açıklıklar bir sonraki bölümde anlatılacaktır.

LM Özetleme Mekanizması ve LM Özetlerindeki Açıklıklar

Örnek olarak kullanıcı adı test1 ve şifresi de password olsun. Bu durumda bu şifrenin LM özeti aşağıdaki adımlar gerçeklendikten sonra oluşturulur.

  1. Şifrenin tüm harfleri büyük harfe çevrilir: PASSWORD

  2. Şifrenin ilk 14 karakteri alınır. 14 karakterden daha kısa ise boş karakter eklenir: PASSWORD000000 (buradaki 0 karakterleri, boş karakteri temsil etmesi amacıyla konmuştur).

  3. Şifre 7 karakterlik 2 parçaya bölünür: PASSWOR ve D000000.

  4. Her parça DES algoritmasıyla, ASCII gösterimi KGS!@#$%, 16’lık gösterimi  ise 0x4B47532140232425 olan sabit bir şeridi anahtar olarak kullanarak şifreleme operasyonuna tabi tutulur.

  5. Her 2 parçanın özet değeri hesaplanır:E52CAC67419A9A22 ve 4A3B108F3FA6CB6D.

  6. Daha sonra bu 2 değer yan yana getirilerek birleştirilir: E52CAC67419A9A224A3B108F3FA6CB6D

Şekil 4’te bir yönetim programıyla analiz edilen ve yukarıda verilen örnekteki şifreyi içeren SAM dosyasının içeriği verilmiştir. Aynı şekilde kullanıcı adı test2 ve şifresi PassWord olan durum da yer almaktadır. Görüldüğü gibi her iki kullanıcı için de LM özet değeri aynı olmaktadır.

4.jpg

Şekil 4. password ve PassWord şifrelerinin LM özeti

Aynı mantıkla şifresi boş olan bir kullanıcıya ait şifrenin LM özeti Şekil 5’te verilmiştir. Bu şifrenin LM özeti de aşağıdaki adımlar gerçeklendikten sonra oluşturulur:

  1. Şifrenin tüm harfleri büyük harfe çevrilir.

  2. Şifrenin ilk 14 karakteri alınır. 14 karakterden daha kısa ise boş karakter eklenir: 00000000000000 (buradaki 0 karakterleri, boş karakteri temsil etmesi amacıyla konmuştur).

  3. Şifre 7 karakterlik 2 parçaya bölünür: 0000000 ve 0000000.

  4. Her parça DES algoritmasıyla, ASCII gösterimi KGS!@#$%, 16’lık gösterimi  ise 0x4B47532140232425 olan sabit bir şeridi anahtar olarak kullanarak şifreleme operasyonuna tabi tutulur.

  5. Her 2 parçanın özet değeri hesaplanır, AAD3B435B51404EE ve AAD3B435B51404EE.

  6. Daha sonra bu 2 değer yan yana getirilerek birleştirilir: AAD3B435B51404EEAAD3B435B51404EE

Görüldüğü gibi 3. adımda elde edilen 2 parçanın değerleri birbirine eşit olduğu için bunların LM özetleri de birbirinin aynı olacaktır. Dolayısıyla şifresi boş olan bir kullanıcıya ait şifrenin LM özeti Şekil 5’ten de görüldüğü üzere birbirini tekrar eden 2 parçadan oluşur.

5.jpg

Şekil 5. Boş bir şifrenin LM özeti

LM özeti oluşturma mekanizmasının eksikliklerinden 6. maddeye örnek vermek amacıyla da şifre uzunluğu 20 karakter olan bir kullanıcının LM özeti hesaplansın. Bu durumda sistem LM özeti üretmeyecek ve o şifre için LM özeti olarak boş şifrenin LM özetini atayacaktır (AAD3B435B51404EEAAD3B435B51404EE). Şekil 6’da bu kullanıcıya ait LM özeti görülebilir. Bu açıklıktan faydalanarak saldırgan, ele geçirdiği LM özetine bakar ve önce boş şifre kullanarak sisteme giriş yapmayı dener. Eğer giriş teşebbüsü başarısız olursa şifrenin 15 karakter ya da daha uzun olduğu bilgisini edinmiş olacaktır.

6.jpg

Şekil 6. Şifre uzunluğunun 14 karakterin üzerinde olduğu durumda LM özeti

Bir şifrenin uzunluğunun 8 karakterden büyük ya da küçük olduğu bilgisi, LM özetlere bakılarak elde edilebilir. Şifrenin uzunluğunun 7 karakter ya da daha kısa olduğu varsayılsın. Bu durumda şifrenin LM özetinin ikinci parçası AAD3B435B51404EE olacaktır. Şifre uzunluğu 7 karakterden daha fazla ve 15 karakterden daha az ise şifre özetinin ikinci yarısı kesinlikle AAD3B435B51404EE olmayacaktır. Özetle eğer bir şifrenin LM özetinin ikinci parçası AAD3B435B51404EE ise o şifrenin uzunluğu 7 karakter veya daha azdır.

Bir başka örnekte kullanıcı adı deneme1 ve şifresi boş olan kullanıcının şifresinin LM özeti AAD3B435B51404EEAAD3B435B51404EE olarak hesaplanıyor. Kullanıcı adı deneme2 ve şifresi Bb123456 olan kullanıcının şifresinin LM özeti 9E85E206249EB46FC81667E9D738C5D9 olarak hesaplanıyor. Kullanıcı adı deneme3 ve şifresi bB12345 olan kullanıcının şifresinin LM özeti hesaplanmak istensin.

Deneme2 ve deneme3 kullanıcılarının şifrelerinin LM özetlerinin ilk parçaları ele alınsın. Her iki özette de BB12345 şifresi kullanılacaktır. Deneme3’ün şifresi 7 karakterli olduğu için de bu şifrenin LM özetinin ikinci parçası AAD3B435B51404EE olacaktır. Yani deneme3 kullanıcısının şifresinin LM özeti 9E85E206249EB46FAAD3B435B51404EE şeklinde hesaplanır. Yönetim programıyla bulunan değerler, teorik olarak hesaplanan LM özeti değeriyle tutarlı olup, Şekil 7’de verilmiştir.

7.jpg

Şekil 7. Deneme kullanıcılarının şifrelerinin LM özetleri

Çözüm Önerileri

Şu ana kadar LM özetinin zayıflıklarından bahsedildi. Makalenin bu bölümünde de bilgisayarlarda şifrelerin LM özetinin tutulmaması için yapılması gerekenlere yer verilecektir.

Windows Server 2003’te LM özeti oluşturulmaması için aşağıdaki grup ilkesi ayarı eklenmiştir:

Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options

altında

Network Security: Do not store LAN Manager hash value on next password change – Enabled

Bu ayarın muadili ise kayıt defterinde aşağıdaki ayarı yapmak olacaktır.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

NoLMHash – DWORD: 1

Windows 2000 SP2 ve üst versiyonlarında LM özeti oluşturulmaması için aşağıdaki kayıt defteri ayarı yapılmalıdır:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

altında

NoLMHash

anahtarı yaratılmalıdır.

Eğer mevcut sistemde kullanıcı şifresinin LM özet değeri SAM veritabanında yazıyorsa, bu ayar yapılmış olsa dahi kullanıcının bir sonraki şifre değişikliğine kadar mevcut LM özet değeri sistemde kalacaktır. Tüm LM özet değerlerinin en kısa zamanda SAM veritabanından silinmesini sağlamak için bu ayarın yapılmasını takiben tüm kullanıcılar için “User must change password at next logon” seçeneği etkin hale getirilmelidir. Eğer LM özetinin tüm etki alanı çerçevesinde tutulmaması isteniyorsa tüm etki alanı kontrolcülerinde ilgili grup ilkesi ya da kayıt defteri ayarı yapılmalıdır.

Sonuç

Microsoft geriye yönelik uyumluluk (backward compatibility) özelliğine büyük önem vermektedir. Bundan dolayı bir Windows Server 2003 ile bir Windows 3.x veya Windows 9.x işletim sistemine sahip bilgisayar, dosya paylaşımı yapabilmektedir. Ayrıca bu eski teknolojiye sahip bilgisayarlar aynı zamanda hala etki alanına login olabilir durumdadırlar. Eğer bir sistemde geriye yönelik uyumluluk sağlanıyorsa bu noktada bazı açıklıkların ortaya çıkması kaçınılmazdır. Bu makalede de LM özet mekanizmasındaki açıklıklara değinilmiştir.

Sistemde Windows 95, Windows 98 ve Windows ME işletim sistemine sahip bilgisayar yoksa veya bu işletim sistemine sahip bilgisayarlar, NT ailesindeki işletim sistemleriyle dosya paylaşımı yapmıyorlarsa Windows NT tabanlı işletim sistemlerinin LM özeti tutulma özelliği iptal edilmelidir.

Referanslar

  1. http://davenport.sourceforge.net/ntlm.html

  2. http://www.lbl.gov/cyber/systems/lanman.html 

  3. http://www.insidepro.com/doc/002e.shtml

  4. http://support.microsoft.com/kb/299656  


Favori olarak ekle (0) | Görüntüleme sayısı: 3136

Yorumlar (1)
1. 14-04-2008 10:23
 
Sam ve System dosyalarının  
-sistemle birebir güncel olmadığı durumlar olabilse- bile 
C:\WINDOWS\repair klasöründen erişilebilir durumdadır 
 
Detaylı bilgi için SamInside programının kullanma kılavuzuna bakılabilir.
 
B.İsmail KUKULA

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2010 TÜBİTAK-UEKAE. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB