Bizi takip edin

Güvenlik Önerileri

Rainbow Table Saldırısı Nedir ve Nasıl Uygulanır? Önlenmesine Yönelik Yöntemler Nelerdir?

Yoğun bir teknik okumayı gerekli kılan rainbow table saldırısı hakkında merak ettiğiniz her şey…

tarihinde yayımlandı

Bilgisayarlardaki şifreler sadece düz metinler olarak saklanmaz, aynı zamanda şifrelenmiş karmalar (hash) halinde tutulurlar. Bir karma fonksiyonu, deşifre edilemeyen tek yönlü bir fonksiyonu temsil eder. Kullanıcı ne zaman bir şifre girişi yaparsa, şifre karma değerine dönüştürülür ve önceden biriktirilmiş karma değerleri ile karşılaştırılır. Eğer girilen değer ile depolanan karma eşleşirse kullanıcıya sisteme giriş izni verilir.

Rainbow table, şifre karmalarını kırarak sistemlere giriş yapmak için kullanılan bir veri tabanını temsil eder. Teknik olarak önceden hesaplanmış düz metin, şifreler ile karşılıklarını temsil eden karma değerlerin yer aldığı bir sözlüğü ifade eder. Böylece hangi düz metin şifrenin hangi özel karmayı temsil ettiği bulunabilir. Bir karmayı birden fazla metin oluşturabildiği için orijinal şifrenin ne olduğunu bilmek aslında önem taşımaz. Önemli olan, düz metnin kullanılarak aynı şifreyi temsil eden karmayı oluşturmaktır.

Rainbow table saldırısı nasıl uygulanır? 

Rainbow saldırıları bir kripto analizin çok hızlı ve etkin yapılması ile gerçekleştirilir. Karma fonksiyonunun içerdiği her dizinin hesaplanması ile kullanılan brute-force saldırısı yöntemine kıyasla, rainbow table saldırısında karma değeri hesaplanır ve bilgisayardaki karma değeri ile karşılaştırılır. Veri tabanında yer alan geniş dizin stoku sayesinde hesaplama basamağı otomatik olarak atlanır ve şifre kırılır. Bu aşamada rainbow table yönteminde iki adım kullanılır:

1- Bir tablo oluşturmak

Bu adıma bir dizinin karması alınır ve yeni bir dizin oluşturmak için kullanılır. Bu işlem defalarca tekrarlanır. MD5 karma fonksiyonu kullanılarak en temel (ve asla önerilmeyen) şifreyi temsil eden 12345678 kullanılarak bu işlemin ilk sekiz karakter kullanılarak nasıl yapıldığı aşağıdaki gibidir.

İlk olarak dizin alınır ve md5 karma fonsiyonundan geçirilir: hashMD5(12345678) = 25d55ad283aa400af464c76d713c07ad

Ardından ilk sekiz karakter alınarak dizin kırpılır ve yeni bir dizin oluşturulur: hashMD5(25d55ad2) = 5c41c6b3958e798662d8853ece970f70

Bu işlemler veri tabanında yeterince karma birikinceye kadar tekrarlanır. Elde edilen “çıktı zinciri” üzerinde oynanan ilk düz metinden başlar ve en son karmada sona erer.

Yeterince zincir biriktikten sonra, her biri bir tabloda (table) toplanır.

2- Şifrenin kırılması 

Karmalanmış metnin (şifrenin ta kendisi) veri tabanında yer alıp almadığı kontrol edilir. Eğer yer alıyorsa, zincirin başına gidilir ve bir eşleşme olana kadar tüm karmalar denenir. Eşleşme olduğu anda bu süreç otomatik olarak sonlanır ve sisteme giriş kırılmış olur.

İlginizi Çekebilir: Yükselen Tehdit Brute Force Saldırısı Hakkında Her Şey

Siber korsanlar neden rainbow table saldırılarını tercih ediyorlar?

Brute-force yazılımlarının gerektirdiği yoğun hesaplamanın aksine, rainbow table saldırılarında karma fonksiyonu çoktan hesaplanmış dizinlere dayanır. Tüm değerlerin çoktan hesaplanmış olması sayesinde tablo üzerinden basit bir araştırma ve eşleştirme operasyonu ile şifre kırılabilir.

Rainbow table yönteminin en büyük özelliği, kesin şifre dizininin bilinmesine gerek olmamasıdır. Eğer karma şifrenin sakladığı değerler ile eşleşirse, dizinin şifrenin ta kendisini yansıtıp yansıtmadığı bir önem taşımaz. Şifre kırılacak ve sisteme giriş sağlanacaktır.

Öte yandan, rainbow table saldırısı bazı dezavantajlar da sunar. Bu kadar etkili bir yöntem kullanabilmek için oluşturulması gereken veri tabanı çok geniş olmalıdır. Bu sebeple saldırının gerçekleştirilmesi uzun bir hazırlık süreci gerektirir.

Şifre karması nasıl çalışır? 

Kullanıcı bir web sayfasında ilk kez hesap açtığı zaman oluşturduğu şifre karmalanır ve iç dosya sisteminde şifrelenmiş bir şekilde saklanır. Kullanıcı hesabına tekrar giriş yapmak istediğinde, girdiği şifre karması önceden iç sistemde depolanmış olan karma ile eşleştirilir. Eğer karmalar eşleşirse, kullanıcı sisteme giriş yapar. Tersi gerçekleşirse, kullanıcının web sayfasına giriş talebi bloke edilir.

Karma tabloları hızlı oldukları için tasarlandıkları kadar güvenli değildir. Bu sebeple siber saldırganlar tarafından brute-force saldırısı ve rainbow table saldırısı dahil şifre kırmaya yönelik birçok saldırı yöntemi kullanılmaktadır.

İlginizi Çekebilir: Covid-19 Siber Saldırıları ile İlgili 10 İstatistik 

Rainbow table saldırıları nasıl önlenebilir? 

Rainbow table ile gerçekleştirilen siber saldırılar, salt yöntemleri kullanılarak kolayca önlenebilir. Salt yöntemi, rastgele seçilen verilerin düz metin ile birlikte karma fonksiyonuna eklenmesiyle uygulanır. Böylece her bir şifrenin kendine özgü bir karmasının olması sağlanır. Böylece, rainbow table saldırısında karma değerlerin örtüşmesi şifrenin kırılmasına yeterli olamaz. Şifrenin birebir aynı olarak deşifre edilmesi gerekir.

Siber güvenlik uzmanlarının rainbow table saldırılarına karşı kullandığı bir diğer yöntemin “key stretching” olduğu biliniyor. Bu yöntemde salt, şifre ve bazı ara karma değerleri karma fonksiyonunda birçok defa işleniyor ve her bir şifrenin karma değerini hesaplamak için gerekli olan sürenin uzaması sağlanıyor.

Bir diğer yöntem, “key strengthening” yani şifre güçlendirme. Şifre rastgele bir salt ile uzatılır, ancak bu sefer kendisini “rastgeleleştirme aracılığıyla” özgün kılan salt silinmiş olur. Bu durumda hem siber saldırgan hem de kullanıcılara salt değerini bulabilmek için brute-force saldırısı denemek zorunda kalır. Kısacası rainbow table yöntemi ile salt işlemini egale etmenin bir yolu bulunmamaktadır.

Bilişim Teknolojileri (IT) uzmanları şifreleri güçlendirmek için bu yöntemleri uygularken, eski şifre karmalama algoritmaları kullanmamaya dikkat etmelidir.

Okumaya Devam Et