Kategoriler
Siber Güvenlik

Bu MD5 Kırılan Bir Şey Mi?

Çok klasik bir yanlış anlaşılma söz konusu. Bu MD5’i kırıp şifreyi nasıl bulurum? Birkaç kelimelik soruda o kadar çok mantık hatası var ki üstüne yazı yazsak yeridir. Ben de tam olarak bunu yapıyorum. Ancak bu MD5 veya şifrelemeye dair yeterli bir yazı değil. Bana defalarca sorulan bu soruya uzun uzun açıklama yazdığımı fark ettim. En son bloga girip, tekrar sorulduğunda bu linki vermeyi daha mantıklı buldum.

Öncelikle şifre, parola ve şifrelemenin ayrımını iyi yapmamız gerekiyor. Siz mail hesabı oluşturmak istiyorsunuz diyelim. Mail adresinize herkesin erişememesi için yazdığınız gizli bilgi paroladır. Bakın şifre demedim. Diyelim ki 123456789 sizin parolanız.(Umarım parolanız bu değildir.) Siz bunu sisteme girdiğinizde bu bilgi şifrelenerek sisteme kaydolur. Belli bir matematiksel algoritmaya göre şifrelenerek oluşturulan bu anlamsız karakterler dizisi veritabanında size ayrılan köşede parola alanının karşısına yazılır. Bu sayede o veritabanına ulaşan yabancı birisi olursa elinde parolanın kendisi değil anlamsız bir dizi olacaktır. İşte o oluşan diziye biz şifre diyoruz. Bir Çin atasözü der ki(!) : “Senin bildiğin parola, sistemin bildiği şifredir.”

Peki biz neyi kırıyoruz kardeşim? Şifreyi, şifreleme tipinin matematiği neyse ona uygun şekilde geri çeviriyoruz ve nihayetinde parolaya ulaşıyoruz. E tamam, MD5 decode eden siteler de var? Ben o MD5’i alıp ekliyorum bana bazen kırıp(!) veriyor parolayı. Hayır efendim bir şeyi kırmıyor. En azından sizin anladığınız şekilde kırmıyor. MD5 hash değerini eklediğiniz site kendi veritabanı ile kıyaslıyor. Eğer veritabanında bu hash değerinin karşılığındaki anlamlı parolayı bulursa size sunuyor. Bu veritabanı nasıl oluşuyor? MD5 encode/decode siteleri, kendi sisteminde encode edilen bütün metinleri saklıyor. O yüzden kullandığınız önemli parolalarınızı “Ay şu sitede bi encode edeyim bakalım ne çıkacak?” diyerek denemeyin.

MD5 hash değeri geri çevrilemeyecek biçimde tasarlanmıştır. Haliyle teknik bir yolla geri getirmek pek mümkün değil. En azından bilinen bir yolu yok. Siz istediğiniz metni girin. İstediğiniz şeyi MD5 ile encode edin. Ortaya çıkan hash değeri, 32 karakterli olacaktır. Bir iso dosyasının MD5 değeri de, tek kelimelik bir metnin değeri de 32 karakterli olacaktır. Diğer yandan siz bir metine ufacık bir ekleme yapıp tekrar encode ettiğinizde ortaya çıkan MD5 değerleri bambaşka olacaktır.

MD5("Oku baban gibi eşek olma") = d59157e96d2e15e4768a89ffa27e1f4b
MD5("Oku, baban gibi eşek olma") = 63d97ea38b179146594ed325eeb6c8e6

Peki bunu nerede kullanırız? Siz bir dosya indirdiniz. İndirdiğiniz yerde md5 değeri verilir. Diyelim ki bu dosyayı indirdiniz ancak çalışmadı. O durumda indirirken bir bozulma yaşanmış olabilir mi? Elbette olabilir. İşte bu durumda indirdiğiniz dosyanın md5 değerine bakıp, indirdiğiniz yerde verilen değerle kıyaslarsınız. Eğer dosya inerken ufacık bir bozulma dahi yaşanmış ise MD5 değeri bambaşka bir şey çıkacaktır.

Biraz daha kafa karıştıralım mı? Bazen iki farklı şeyi MD5’e göre encode ettiğinizde, MD5 değeri aynı olabilir. Sonuçta 32 karakterli bir değer karşımıza çıkacak ve her şeye yetecek kadar değer yok değil mi?

Kategoriler
Siber Güvenlik Video

Görsellere Dosya ve Metin Saklamak [Stenografi]

Stenografi esasında söylenenlerin çabucak, kısaltmalarla, belli sembollerle yazılması anlamına geliyor. Fakat bizim inceleyeceğimiz nokta biraz farklı. Stenografi aynı zamanda görsellere bir şeyler saklamaktır diyebiliriz. Örnek vermek gerekirse milattan önceki dönemlerde gizli mesajlaşmalar için kölelerin saçlarını kazırlarmış, kafasına gizli metni yazarlarmış. Daha sonrasında ise saçlarının uzaması beklenirmiş. Arkasından da mesajın ulaşacağı kişiye gönderilirmiş. Mesajı okumak isteyen kişi ise kölenin saçlarını tekrar kazıyarak metne ulaşırmış. 

İkinci Dünya Savaşı sırasında da Almanlar magazin dergilerinin, gazetelerin ara satırlarına görünmez mürekkep ile mesajlarını yazarak düşmanlarına bilgi kaptırmadan uzun süre haberleşmişler.

 

E tabii şimdi teknoloji başka bir boyutta. Haliyle bizim kullanacağımız yöntem de farklı olacak. Biz dijital görsellerin içerisine bazı ufak dosyaları veya metinleri gizleyeceğiz. Ben bunun için SilentEye isimli programı kullanacağım. Buraya tıklayarak dosyayı indirmeniz mümkün.  Programın açılışında bizi basit bir ekran karşılıyor. Öncelikle görsel seçmeniz gerek. İster File kısmından Open seçeneğini seçin (CTRL+O) ister görselinizi direk olarak programın üstüne sürükleyin. 

 

Daha sonrasında Encode seçeneğine geçiyoruz. Bizi karşılayan ekranda en üstte bulunan Media’s encoding format seçeneğinden JPEG veya BMP formatlarını seçmeniz mümkün. 

Daha sonra luminance interval kısmından parlaklık üstünde oynamanız mümkün. JPEG quality ile görselin kalitesini ve haliyle boyutunu değiştirmeniz mümkün. Boyut meselesi önemli son aşamada oraya da değineceğiz. Header position kısmı ile şifreli metnin yer alacağı kısmı belirlemeniz mümkün. Sonuçta birkaç bitlik veriler resme işleniyor.  Passphrase kısmı da anladığınız üzere şifre kısmı. Dilediğiniz şifreyi girin ve aynı şifreyi karşı tarafa da verin. Daha sonra gizli verinin yer aldığı fotoğrafı nereye kaydedeceğinizi seçin. Son olarak ister metin yerleştirin ister sağ taraftaki seçeneklerden bir dosya tercih edin.

 Gelelim işin decode yani şifreli görseli açma aşamasına. Programa tekrar sürükleyerek veya file kısmından open diyerek şifrelenmiş görseli programa atıyoruz ve decode seçeneğine geçiyoruz. Sonrasında doğru şifreyi giriyoruz. Biraz beklediğimizde bize içerisindeki gizli veriyi veriyor program. Son olarak şuna dokunmam gerekiyor, görselin boyutu büyüdükçe içine yerleştirebileceğiniz verinin boyutu da artacaktır. Bu yüzden boyut önemlidir görsellerde.