Rainbow Table Nedir?
Yayın: · Son güncelleme:
Rainbow Table Nedir? Kısaca
Rainbow table, şifrelerin özet (hash) değerlerini önceden hesaplayıp saklayan ve sızdırılmış bir şifre özetinden asıl şifreyi hızla bulmaya yarayan büyük bir tablodur. Tuzlama (salt) bu yöntemi büyük ölçüde etkisiz kılar.

Rainbow table nedir?
Rainbow table, Türkçede "gökkuşağı tablosu" olarak anılır. Düzgün tasarlanmış sistemler şifrenizi düz metin olarak değil, bir özet (hash) değeri olarak saklar. Özet tek yönlüdür: şifreden özet hesaplanabilir ama özetten şifre doğrudan geri çevrilemez. Rainbow table, bu engeli aşmak için olası şifrelerin özetlerini önceden hesaplayıp depolar.
Veritabanı sızdığında saldırgan elindeki özetleri tabloda arar. Eşleşme bulduğunda karşılık gelen şifreyi de bulmuş olur.
Neden etkili oldu?
Bu yöntem, hesaplamanın yükünü saldırı anından önceye taşır. Tablo bir kez oluşturulduktan sonra aynı algoritmayla saklanmış milyonlarca şifre için tekrar tekrar kullanılabilir. Özellikle MD5 gibi eski ve hızlı özet algoritmalarıyla, tuzlanmadan saklanmış şifreler bu saldırıya karşı çok savunmasızdır.
Örneğin eski bir forum sitesi şifreleri tuzsuz MD5 ile saklıyor olsun. Site sızdığında, "123456" şifresini kullanan bin kullanıcının hepsinin özeti aynıdır ve tek bir tablo aramasıyla hepsinin şifresi ortaya çıkar.
Salt (tuzlama) nasıl önler?
Salt, her şifreye özet hesaplanmadan önce eklenen rastgele ve benzersiz bir değerdir. Aynı şifreyi kullanan iki kullanıcının bile özetleri farklı olur. Saldırganın önceden hazırladığı tablo bu rastgele değerleri içermediği için işe yaramaz.
Güncel uygulamalar şifreleri bcrypt, scrypt ya da Argon2 gibi tuzlamayı içinde barındıran ve kasıtlı olarak yavaş çalışan algoritmalarla saklar. Kullanıcı olarak sizin payınız ise her sitede farklı ve uzun bir şifre kullanmaktır; böylece bir sızıntı yalnız o siteyle sınırlı kalır.
Sıkça Sorulan Sorular
Rainbow table ile kaba kuvvet saldırısı farkı nedir?
Kaba kuvvet her denemede özeti yeniden hesaplar. Rainbow table ise özetleri önceden hesaplayıp saklar ve sızan özeti bu tabloda arar; hız kazandırır ama çok büyük depolama gerektirir.
Salt kullanılan sistemlerde rainbow table işe yarar mı?
Pratikte yaramaz. Her şifreye farklı rastgele bir değer eklendiği için saldırganın her kullanıcı için ayrı bir tablo hazırlaması gerekir, bu da yöntemin avantajını ortadan kaldırır.