Bir şifreyi kırmak için ne kadar süre gerektiğini bilmek ister misiniz? Aşağıda “şiddetli kırma, sözlük saldırısı, maskelendirme saldırısı” gibi üç yöntemin nasıl çalıştığını açıklamak istiyorum. Ayrıca, farklı dosya formatlarının ne kadar farklı zorluklar gerektirdiğini ve grafik kartları ile CPU’ların işlem gücü farklılıklarını da açıklayacağım.
| Karşılaştırmalı öğeler | Crack yazılımını kendiniz indirin | Bize bırakın |
|---|---|---|
| hesaplama gücü | Çoğu durumda yalnızca entegre bir grafik kartına sahip bir ev bilgisayarı | Aynı görevi aynı anda çalıştıran birden fazla GPU şifre çözücü |
| Şifre Sözlüğü | İnternette rastgele bulduğum yüz binlerce öğe var, çoğu tekrarlanan ve geçersiz | Yıllar boyunca biriken ve temizleyen sözlükler kullanım alışkanlıklarına göre sınıflandırılmıştır |
| Crack Stratejisi | Sadece baştan sona tek tek deneyeceğim | Önce sözlük, sonra maske, sonra tam miktar, çok seviyeli stratejiler katman katman ilerliyor |
| Koşmaya devam edebilir misin | Bilgisayarın her zaman açık olması gerekir, kapatılırsa veya yeniden başlatılırsa tüm çabalar boşa gider | Sunucuda 7×24 çalışır, bilgisayarınızı kapatsanız bile etkilenmez |
| Çözme olasılığı | Her şey şansa bağlı, şifre biraz daha uzun olursa temelde hiçbir şans yoktur | Önce en yüksek olasılıkla kombinasyonları kapsayın. Kısa şifreler genellikle onlarca dakika içinde sonuç verir |
| Başlangıç maliyeti | Sürücüyü yüklemek, komut satırını yapılandırmak ve hata bildirmek kimsenin umurunda değil | Sadece dosyayı yükleyin, sonuçlar size bildirilecektir |
Şifre geri alma işleminin özü, tüm olası kombinasyonları denemek ve doğru olanı bulana kadar devam etmektir. Ne kadar hızlı denerseniz, o kadar az kombinasyon kullanırsınız ve başarı şansınız o kadar artar; tersine, ne kadar çok kombinasyon kullanılırsa, her deneme maliyeti o kadar yüksek olur ve şifreyi geri alma umudu o kadar düşük olur. Bu hesap makinesi, “ne kadar çok denemeliyim” ve “her denemenin süresi ne kadar olmalı” sorularını somut bir şekilde ifade eder. Böylece dosyalarınızın güvenliği hakkında daha doğru bir yargıya varabilirsiniz ve bazı dosyaların birkaç dakika içinde açılabilmesinin, bazılarının ise bilgisayarın çalışmasını bile engelleyebilecek kadar zor açılabilmesinin nedenlerini anlayabilirsiniz.
Brute Force yöntemi, herhangi bir ön bilgiye dayanmaz ve doğrudan karakter seti ile uzunluğa bağlı olarak tüm olası kombinasyonları deneyerek bulunur. Sadece 8 basamaklı sayılar için sadece bir milyar kombinasyon vardır; ancak büyük/küçük harfler + sayılar + işaretlerin bulunduğu 8 basamaklı şifreler için bu sayı 6×10¹⁴’ten fazladır. Brute Force yöntemi, “en basit ama en güvenilir” yöntemdir—yeterli zaman varsa, teorik olarak her şeyi deneyebiliriz. Ancak bu yöntemin maliyeti, kombinasyon sayısının uzunluk ve karakter setine göre üstel olarak artmasıdır. Biraz daha uzun olan şifreler için, tek bir cihazla bile bir ömür boyu deneme yapmak mümkün değildir.
Çoğu insan, şifre olarak rastgele karakterler kullanmaz; bunun yerine doğum tarihlerini, isimleri, klavye dizilerini (örneğin qwerty) veya yaygın kelimeleri kullanır. Sözlük saldırıları, bu yüksek sıklıkta kullanılan şifreleri bir liste haline getirir ve sırayla denemeler yapar; genellikle birkaç dakika içinde zayıf şifreler bulunabilir. Bu yöntemin verimliliği, saf şiddet saldırılarından çok daha yüksektir; ancak bu, şifrenin gerçekten sözlükte bulunması gerektiği anlamına gelir. Güçlü rastgele şifreler için ise bu yöntem işe yaramaz. Yıllar boyunca topladığımız ve temizlediğimiz şifre sözlükleri, tam da bu adımın başarı oranını artırmak için kullanılıyor.
Maske saldırısı, şiddetli kırışımların daha zeki bir versiyonudur: Eğer “Şifre 8 karakter uzunluğunda, başında büyük harfler var, sonu 2024” gibi koşulları hatırlıyorsanız, bu koşulları kırıcı programa bildirebilir ve sadece uygun olan kombinasyonları oluşturabilmesini sağlayabilirsiniz. Aslında 6×10¹⁴ tane olası kombinasyon vardı, ancak bu sayı bir anda milyarlara düşebilir ve süre “evrenin ömrü”nden “birkaç saat”e kadar kısalabilir. İşte bu yüzden, görevleri verirken hatırladığınız ek bilgileri daha fazla belirtmek, başarı oranını belirgin şekilde artırır.
Belgeler, doğrudan şifreyi karşılaştırmak yerine, şifrenin hesaplanan “hash değerini” karşılaştırır. Her bir şifre denediğinde, program önce bir hash işlemi yapar; iterasyon sayısı arttıkça işlem daha yavaş hale gelir. Eski formatlar neredeyse hiç koruma sağlamaz: Office 97’de kullanılan MD5/RC4 ile, grafik kartları saniyede milyonlarca kez deneme yapabilir; ancak Office 2013’ten itibaren yaklaşık 100.000 PBKDF2 iterasyonu yapılır ve saniyede sadece binlerce kez deneme yapılabilir; bu da on kat daha yavaş bir işlemdir. PDF’nin RC4’ü oldukça zayıftır, AES ise biraz daha güçlüdür; RAR5’te yaklaşık 30.000 iterasyon yapılır ve RAR3’e göre onlarca kat daha yavaştır; 7Z ise 500.000’den fazla iterasyon yapabilir ve en zorlu formatlardan biridir. Aynı şifre, başka bir makinede saatler sürebilirken, sizin cihazınızda birkaç gün boyunca hiçbir tepki vermeyebilir; bunun temel nedeni işte buradadır.
Hashing işlemleri, tipik olarak “çoğunlukla tekrarlanan ve birbirinden bağımsız” hesaplamalardır. Bu tür işlemler, grafik kartlarının paralel mimarisine mükemmel şekilde uyguntur: Bir ana akım oyun grafik kartında binlerce çekirdek bulunur ve aynı anda milyonlarca hash işlemi gerçekleştirilebilir. Bu işlem hızı, CPU’nun onlarca ila yüzlerce katıdır. Normal bilgisayarlar ise ya entegre grafik kartlarına sahiptir, ya da işleri CPU’ya bırakır; bu durumda performans oldukça düşüktür. Bizim çözüm yöntemimiz, aynı görevi birden fazla GPU sunucusu paralel olarak yürütmesidir. Ayrıca, sözlük ve maskelendirme stratejileriyle alanı giderek daraltarak, “kendi başınıza birkaç ay çalışmak” ile “bize birkaç dakika içinde sonuç verdirmek” arasındaki farkı ortadan kaldırıyoruz.
Dolayısıyla, şifre uzunluğu her bir karakter ekledikçe, karakter seti her bir seviyede genişledikçe, şifreyi bulma zorluğu katlanarak artar. Ancak daha hızlı dosya formatları kullanmak ve daha fazla şifre ipucunu hatırlamak, süreyi önemli ölçüde kısaltabilir. Yukarıdaki hesap makinesi bu faktörleri hesaplamış durumda—dosya türünü ve şifre aralığını girdiğinizde, bilgisayarınızın ve bizim kümeimizin ne kadar zaman alacağını görebilirsiniz. Eğer sonuçlar sizi hayal kırıklığına uğratıyorsa, lütfen dosyayı bize verip deneyelim.
Şifre uzunluğuna, karakter setine ve dosya şifreleme yöntemine bağlıdır. 8 bitlik sade sayılar için yaklaşık 100 milyon kombinasyon bulunur; normal bir bilgisayar bu kombinasyonları birkaç saat veya birkaç günde test edebilir. Harfler, rakamlar ve sembollerin dahil olduğu 12 bitlik şifrelerde ise kombinasyon sayısı 10 üzerinden 24 kez artar ve bu durumda binlerce yıl gerekebilir. Bu sayfa üzerindeki hesap makinesini kullanarak parametreleri girerek hemen bir tahmin yapabilirsiniz.
Şiddetli kırışım, önceden bilgiye dayanmaz; tüm olası kombinasyonları tekrarlar. Sözlük saldırıları ise daha yaygın ve zayıf parolaları önce denemeyi sağlar, bu da daha yüksek verimlilik sağlar. Maskelenmiş saldırılar ise şiddetli kırışımın üzerine bilinen ipuçlarını (örneğin 8 karakterlik parolalar, baş harfi büyük olan parolalar vb.) ekler ve sadece uygun olan kombinasyonları üretir, böylece araştırma alanını önemli ölçüde daraltır.
Çünkü farklı formatlardaki hasar yinelemelerinin sayısı çok farklıdır. Office 97 kullanılan MD5/RC4 yöntemiyle, grafik kartları saniyede milyonlarca kez deneme yapabilir; Office 2013’ten itibaren ise yineleme sayısı yaklaşık yüz bin civarındadır ve saniyede sadece binlerce kez gerçekleşir; bu da yineleme hızının yaklaşık on bin kat daha yavaş olduğu anlamına gelir. 7Z formatında ise yineleme sayısı elli binin üzerindedir ve bu da en zorlu formatlardan biridir.
Dosyaları bize verin ve ilk önce en yüksek olasılıkla kombinasyonları çalıştırın, evde birkaç gün çalışmaktan daha mantıklı.