İçeriğe geç
parazade

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?
İçindekiler
  1. Rainbow table nedir?
  2. Neden etkili oldu?
  3. Salt nasıl önler?

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.

İlgili terimler

SaltSalt, bir şifre özetlenmeden önce şifreye eklenen ve her kullanıcı için ayrı üretilen rastgele değerdir. Aynı şifrelerin farklı özetler üretmesini sağlayarak hazır tablolarla yapılan şifre kırma saldırılarını zorlaştırır.MD5MD5, herhangi bir uzunluktaki veriden 128 bitlik sabit uzunlukta bir özet (hash) üreten kriptografik özet fonksiyonudur. Çakışma zafiyetleri nedeniyle güvenlik amaçlı kullanım için artık uygun kabul edilmez.BcryptBcrypt, kullanıcı şifrelerini güvenli biçimde saklamak için tasarlanmış, her şifreye otomatik salt ekleyen ve ayarlanabilir maliyet faktörüyle kasıtlı olarak yavaş çalışan bir şifre özetleme (hash) algoritmasıdır.Kaba Kuvvet Saldırısı(Brute Force Attack)Kaba kuvvet saldırısı (brute force), bir şifreyi ya da şifreleme anahtarını, doğru olanı bulana kadar olası tüm kombinasyonları otomatik olarak deneyerek kırmaya çalışan saldırı yöntemidir.Veritabanı(Database)Veritabanı, verilerin düzenli, aranabilir ve güncellenebilir biçimde saklandığı elektronik kayıt sistemidir. Müşteri listeleri, siparişler ve ürün bilgileri gibi veriler veritabanlarında tutulur.Karşılık(Provision)Karşılık, muhasebede gerçekleşmesi muhtemel ama tutarı veya zamanı kesin olmayan bir yükümlülük ya da varlık değer kaybı için önceden ayrılan ve dönemin giderine yansıtılan tahmini tutardır.ScryptScrypt, hesaplama sırasında yüksek miktarda bellek kullanmayı gerektiren, bu yüzden özel donanımlarla hızlandırılması zorlaştırılmış bir anahtar türetme ve hash algoritmasıdır. Bazı kripto paralarda madencilik için kullanılır.