THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

MD5'lerin hepsi neden kırılamaz..

deadlyspiral - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
01/2013
Mesajlar:
620
Konular:
134
Teşekkür (Etti):
51
Teşekkür (Aldı):
29
Ticaret:
(0) %
15-06-2013 12:06
#1
MD5'lerin hepsi neden kırılamaz..
Hack ile uğraşan hemen herkesin karşılaştığı bir sorun olan MD5 şifrelerini, bu şifrelerin hepsinin neden kırılamadığını ve MD5 kırmak için kullanılan yöntemleri anlatacağım.

MD5 nedir?
MD5, açılımı Message-Digest 5 olan ve güvenlik alanında birçok kullanım yeri olan bir hash algoritmasıdır.

Nasıl çalışır bu MD5, neden kırılmaz?
Hash algoritmaları yapısı gereği irreversible(geri döndürülemez) dır. Bu lafı çok duyduğunuzu biliyorum peki tam olarak nedir bu irreversible?

Hash algoritmasının irreversible olmasının iki temel nedeni vardır.
Bunlardan birincisi algoritmanın çıktıyı sabit tutması için veri üstünde yaptığı kırpma veya doldurma işlemleridir.
Örneğin: Sabit 8 karakterlik çıktı veren bir hash algoritmamız olsun. Biz bu algoritmaya girdi olarak aaaaaaaabb değerini göndermiş olalım. Program sabit olarak 8 karakterlik bir çıktı vereceği için ve verinin uzunluğu 8 karakterden fazla olduğu için veriyi kırpacaktır. Mesela algoritmamız kırpma işlemi için veri uzunluğu 8 karakter oluncaya kadar son harften silmeye başlasın. O zaman kırpılmış verimiz aaaaaaaa olarak 8 karaktere sabitlenmiştir. Girilen veri 8 karakterden küçük ise de busefer algoritma veri uzunluğu 8 karakter olana kadar belli bir karakter ile doldurma işlemi yapmaya başlar. Bu işlemler sonucunda veri eski değerinden farklı bir hale geldiği için geri döndürülse bile veri kayıpları olacağından girilen veri aynı şekilde elde edilemez.

İkinci neden ise veri üzerinde yapılan şifrelemede kullanılan matematiksel işlemler. Size bu işlemlerden birkaç örnek vermek istiyorum..

Mod : modüler işlemi bölümünden kalanı ver anlamına gelmektedir. Örneğin 5 mod 2 işlemi 5 sayısının 2 ile bölümünden kalanı yani 1 değerini bize verecektir. aynı şekilde 20 mod 7 işlemi bize 6 değerini verecektir. Bu işlemde aynı sonucu veren birden fazla değer bulunabilir.
Mesela şifreleme işlemimiz X mod 6 şeklinde yapılıyor olsun(X kelimedeki karakterin tamsayı karşılığı). Bu şifreleme işlemi sonucunda bize 3 değeri verilsin. Bu 3 değerini kullanarak X'in asıl değerine ulaşamayız çünkü 6 ile bölümünden 3 kalanını veren birçok sayı vardır.


9 mod 6 = 3
15 mod 6 = 3
21 mod 6 = 3
...


Biz bu sayılardan hangisinin X'in gerçek değeri olduğunu bilemeyiz. Ancak olasılıklarını bilebiliriz ki MD5 gibi hash algoritmalarında bundan çok daha karmaşık işlemler kullanıldığı için olasılıkları deneyerek bulmak olanaksızdır.

Peki MD5 kıran siteler nasıl oluyorda bu şifreleri kırıyor?
MD5 açık kaynak kodlu bir algoritmadır. Yani isteyen herkes kullanabilir. Dolayısıyla MD5 kırma siteleri önce bu MD5 hashlerini üreten fonksiyonlarla wordlist veya bruteforcer kullanarak çeşitli kelimelerin MD5 değerlerini oluşturup veritabanına kaydediyorlar. Sizin sitede girdiğiniz MD5 değeri eğer veritabanında bulunuyorsa size o MD5'in düzyazı şeklini veriyor. Yani siteler aslında MD5 şifrelerini kırmıyor!!

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler