Acı piramidini anlamak için 2. konumuz olan hash değerleri ile devam ediyoruz.
Microsoft’a göre, bir hash value (hash değeri) veriyi benzersiz şekilde tanımlayan, sabit uzunlukta sayısal bir değerdir.
Hashing algorithm (özetleme algoritması) ise bu değeri üreten matematiksel işlemdir.
En yaygın kullanılan bazı hash algoritmaları şunlardır:
🔹 MD5 (Message Digest 5 – Mesaj Özeti 5)
- Tanımı: RFC 1321 standardı ile tanımlanmıştır.
- Geliştirici: Ron Rivest (1992)
- Özellik: 128-bit uzunluğunda bir hash değeri üretir.
- Durum: Artık kriptografik olarak güvenli (cryptographically secure) kabul edilmez.
- Sebep: Hash collision (hash çakışması) saldırılarına karşı savunmasızdır.
- Not: 2011’de IETF, MD5 ve HMAC-MD5 için güvenlik uyarılarını içeren RFC 6151 belgesini yayımlamıştır.
- Tanımı: RFC 3174 standardı ile tanımlanmıştır.
- Geliştirici: NSA (National Security Agency – ABD Ulusal Güvenlik Ajansı)
- Yıl: 1995
- Özellik: 160-bit uzunluğunda bir hash değeri üretir (40 haneli hexadecimal / onaltılık sayı).
Durum:
NIST (National Institute of Standards and Technology – Ulusal Standartlar ve Teknoloji Enstitüsü) tarafından 2011’de kullanımdan kaldırılmıştır (deprecated).- 2013’ten itibaren dijital imzalarda kullanımı yasaklanmıştır.
- Sebep: Brute-force attacks (kaba kuvvet saldırıları) karşısında savunmasızdır.
- Öneri: SHA-1 yerine SHA-2 veya SHA-3 ailesine geçilmelidir.
Geliştirici:
⚠️ Hash Güvenliği
İki dosya aynı hash değerine sahipse, o hash kriptografik olarak güvenli değildir (not cryptographically secure). Bu duruma hash collision (hash çakışması) denir.
Hash’lerin Siber Güvenlikte Kullanımı
Siber güvenlik uzmanları, hash değerlerini genellikle:
- Belirli bir malware sample (zararlı yazılım örneği) hakkında bilgi edinmek,
- Malicious file (zararlı dosya) veya suspicious file (şüpheli dosya) tespit etmek,
- Ve bu zararlı dosyayı benzersiz biçimde tanımlayıp referanslamak için kullanır.
Örnek:
Ransomware (fidye yazılımı) raporlarında, araştırmacılar raporun sonunda o saldırıda kullanılan zararlı dosyaların hashlerini paylaşırlar.
Hash Arama (Hash Lookup) Araçları
Hash değerlerini kontrol etmek veya analiz etmek için çevrimiçi araçlar kullanılır:
VirusTotal
MetaDefender Cloud (OPSWAT)
VirusTotal:
Bir dosyanın hash değerini arayarak, o dosyanın zararlı olup olmadığını farklı antivirüs motorlarıyla sorgulamanı sağlar.
MetaDefender Cloud (OPSWAT):
Benzer şekilde, hash veya dosya yükleyerek tehdit tespiti yapmana imkân tanır.
Özetlemek gerekirse;
- Hash Value (Hash Değeri): Veriyi benzersiz tanımlayan sabit uzunlukta sayı.
- Hashing Algorithm (Özetleme Algoritması): Bu değeri üreten matematiksel yöntem.
- MD5 / SHA-1: Artık güvenli kabul edilmeyen eski algoritmalar.
- SHA-2 / SHA-3: Günümüzde önerilen güvenli algoritmalar.
- VirusTotal & OPSWAT: Hash sorgulama araçları.
- Pyramid of Pain: Saldırganın göstergelerini değiştirmesini zorlaştırmayı modelleyen bir güvenlik konsepti.
Ekran görüntüsündeki (screenshot) hash’in hemen altında dosya adını (filename) görebilirsin. Dosya adı "m_croetian.wnry".
Not: .wnry uzantısı genelde WannaCry gibi fidye yazılımlarına (ransomware) ait örnek dosya isimlerinde görülür; yani dosya adı zararlı olabileceğine dair bir gösterge olabilir. Ancak tek başına kesin delil değildir.
Görüldüğü gibi, elinizde bir dosyanın hash’i (hash value) varsa kötü amaçlı (malicious) bir dosyayı tespit etmek çok kolaydır. Ancak bir saldırgan (attacker) için bir dosyayı tek bir bit bile değiştirmek çok basittir; bu değişiklik dosyanın hash değerini tamamen değiştirir. Bilinen kötü amaçlı yazılımların (malware) ve fidye yazılımlarının (ransomware) çok sayıda varyasyonu olduğundan, dosya hash’lerini IOC (Indicators of Compromise — Kompromize Göstergeleri) olarak kullanarak tehdit avcılığı (threat hunting) yapmak zorlaşabilir.
Aşağıda, bir dosyanın hash değerini nasıl basitçe değiştirebileceğine dair bir örnek gösterilmiştir. Dosyanın sonuna echo komutu ile bir metin ekleyerek:
Dosya Hash’i (Değişiklik Öncesi)
PS C:\Users\THM\Downloads> Get-FileHash .\OpenVPN_2.5.1_I601_amd64.msi -Algorithm MD5Algorithm Hash Path_________ ____ ____MD5 D1A008E3A606F24590A02B853E955CF7 C:\Users\THM\Downloads\OpenVPN_2.5.1_I601_amd64.msi
Dosya Hash’i (Değişiklik Sonrası)
PS C:\Users\THM\Downloads> echo "AppendTheHash" >> .\OpenVPN_2.5.1_I601_amd64.msi
PS C:\Users\THM\Downloads> Get-FileHash .\OpenVPN_2.5.1_I601_amd64.msi -Algorithm MD5
Algorithm Hash Path
_________ ____ ____
MD5 9D52B46F5DE41B73418F8E0DACEC5E9F C:\Users\THM\Downloads\OpenVPN_2.5.1_I601_amd64.msi
Get-FileHashkomutu (PowerShell) dosyanın hash’ini hesaplar. Burada kullanılan algoritma MD5’dir (zayıf bir hash algoritması).echo "AppendTheHash" >> filekomutu dosyanın sonuna bir metin ekler; bu küçük değişiklik bile hash’i tamamen değiştirir.- Sonuç: Hash tabanlı tespit (file-hash based detection) kolayca atlatılabilir; bu yüzden tehdit avcılığında (threat hunting) sadece hash’e güvenmek yetersiz kalır. Başka göstergeler (IP’ler, domain’ler, davranışsal göstergeler — TTPs vb.) ile kombinasyon kullanmak gerekir.
Acı piramidi hakkında daha detaylı bilgi için sıradaki yazımız olan ip adresi ile okumaya devam ediniz.
