Zararlı Yazılım (Malware) Analizi Teknikleri
Zararlı yazılım analizi, kötü amaçlı yazılımları (malware) inceleyerek nasıl çalıştığını, zararlarını ve nasıl tespit edileceğini anlamayı amaçlar. Analiz yöntemleri genellikle statik analiz ve dinamik analiz olarak ikiye ayrılır.
1. Statik (Durağan) Analiz
Kod çalıştırılmadan önce yapılan analiz yöntemidir. Temel ve ileri seviye statik analiz olarak ikiye ayrılır.
a) Temel Statik Analiz
- Dosya imzaları, hash değerleri ve meta veriler kontrol edilir.
- Araçlar kullanılarak zararlı yazılımın özellikleri belirlenir.
Kullanılan Araçlar:
- VirusTotal → Dosyanın bilinen zararlı yazılımlar arasında olup olmadığını kontrol eder.
- Hash Hesaplama Araçları → SHA-256, MD5 hash kontrolü (HashMyFiles, shasum vb.).
- PE (Portable Executable) Analizi → PEStudio, Exeinfo PE (Windows zararlı yazılımlar için).
b) İleri Statik Analiz
- Kodun disassemble edilerek analiz edilmesi.
- API çağrıları, şifreleme yöntemleri ve zararlı davranışlar incelenir.
Kullanılan Araçlar:
- IDA Pro / Ghidra → Assembly seviyesinde kodu analiz eder.
- Strings → Zararlı yazılım içindeki metinleri ve gizli URL’leri bulur.
- Binwalk → Gömülü dosyaları ve kodları analiz eder.
Avantajları:
✔ Zararlı yazılımın analiz edilmesi sırasında çalıştırılmadığı için sistem güvenliği riske atılmaz.
✔ Hızlıdır ve bazı temel bilgileri hemen sağlar.
Dezavantajları:
✖ Kod sıkıştırılmış (packed) veya şifrelenmişse, analiz zorlaşır.
2. Dinamik (Davranışsal) Analiz
Zararlı yazılım kontrollü bir ortamda çalıştırılarak davranışı incelenir.
a) Temel Dinamik Analiz
- Zararlı yazılımın çalıştırıldığı an sistemde yaptığı değişiklikler izlenir.
- Ağ trafiği, dosya sistemine etkiler ve işlem çağrıları analiz edilir.
Kullanılan Araçlar:
- Process Monitor (ProcMon) → Dosya, kayıt defteri (registry) ve işlem izleme.
- Process Explorer → Çalışan işlemleri detaylı şekilde gösterir.
- Wireshark → Ağ trafiği analizini yapar.
b) İleri Dinamik Analiz
- Zararlı yazılım sandbox ortamında çalıştırılarak detaylı bir şekilde incelenir.
- Hata ayıklayıcılar (debugger) ile adım adım çalıştırılarak işleyişi analiz edilir.
Kullanılan Araçlar:
- Cuckoo Sandbox → Zararlı yazılımı izole bir ortamda analiz eder.
- OllyDbg / x64dbg → Çalıştırılabilir dosyaların derinlemesine incelenmesini sağlar.
- API Monitor → Çalışma sırasında yapılan sistem çağrılarını yakalar.
Avantajları:
✔ Gerçek zamanlı zararlı davranışları görebilme imkanı sunar.
✔ Şifrelenmiş veya sıkıştırılmış zararlı yazılımlar açığa çıkarılabilir.
Dezavantajları:
✖ Zararlı yazılım, sanal makineleri veya sandbox ortamlarını tespit edip farklı davranabilir.
✖ Bilgisayarı enfekte etme riski taşır.
3. Hibrit Analiz
Statik ve dinamik analiz tekniklerinin birlikte kullanılmasıdır.
Örnek: İlk olarak PEStudio ile statik analiz yapılır, ardından Cuckoo Sandbox ile dinamik analiz uygulanır.
4. Bellek Adli Bilişimi (Memory Forensics)
- Zararlı yazılım RAM’de çalışırken analiz edilir.
- Silinen veya disk üzerinde olmayan zararlı kodlar tespit edilebilir.
Kullanılan Araçlar:
- Volatility Framework → RAM bellek dökümlerini analiz eder.
- Rekall → Dinamik analiz için alternatif bir bellek adli bilişim aracıdır.
5. Makine Öğrenmesi Destekli Analiz
- Gelişmiş algoritmalar, zararlı yazılımları otomatik olarak tespit etmek için kullanılır.
- Örnek: Google Chronicle, FireEye Helix gibi yapay zeka tabanlı analiz sistemleri.
Sonuç
Zararlı yazılım analizi, hem statik hem de dinamik yöntemlerle yapılmalıdır. Özellikle sandbox ve bellek analizleri, gelişmiş kötü amaçlı yazılımları tespit etmek için kritik öneme sahiptir.