Dinamik Analiz ve Sandbox Kullanımı
Zararlı yazılımı izole bir ortamda çalıştırarak gerçek zamanlı davranışını gözlemleme yöntemi.
Dinamik analiz, bir zararlı yazılım örneğinin kontrollü, izole bir ortamda (sandbox) gerçekten çalıştırılarak davranışının gözlemlenmesi sürecidir. Statik analizin aksine, packing veya obfuscation ile gizlenmiş kodun gerçek çalışma zamanı davranışını ortaya çıkarabilir — çünkü kod ne kadar gizlenmiş olursa olsun, çalışması için er ya da geç bellekte "açılması" gerekir.
Sandbox İzolasyonu: Neden Kritik?
Bir örneği gerçek bir sistemde çalıştırmak son derece risklidir — bu yüzden analiz, gerçek ağdan ve üretim sistemlerinden tamamen izole edilmiş bir ortamda (genelde bir sanal makine, network erişimi ise ya tamamen kesilir ya da kontrollü/sahte bir ağ simülasyonuna yönlendirilir) yapılır. İzolasyonun katmanları:
- VM izolasyonu: Örnek, host sisteme değil, atılabilir (disposable) bir sanal makineye kurulur.
- Ağ izolasyonu: Gerçek internet erişimi genelde kapatılır veya INetSim gibi araçlarla sahte DNS/HTTP/FTP yanıtları üreten bir simülasyon ağına yönlendirilir — bu, örneğin "gerçek" bir C2'ye bağlanmasını engellerken, örneğin bağlanmaya ÇALIŞTIĞINI (hangi adrese, hangi protokolle) gözlemlemeyi sağlar.
- Snapshot/rollback: Analiz sonrası VM, analiz öncesi "temiz" duruma anında geri döndürülür.
İzlenen Temel Davranış Kategorileri
- Dosya sistemi aktivitesi: Hangi dosyaların oluşturulduğu, değiştirildiği, silindiği (Process Monitor/Procmon ile izlenir).
- Registry aktivitesi: Hangi anahtarların yazıldığı — özellikle persistence (kalıcılık) kurulumuna işaret eden
Runanahtarları gibi. - Process aktivitesi: Yeni process'lerin oluşturulup oluşturulmadığı, mevcut process'lere enjeksiyon yapılıp yapılmadığı.
- Ağ aktivitesi: DNS sorguları, bağlantı denemeleri, gönderilen/alınan veri (Wireshark veya sandbox'ın kendi ağ günlüğüyle izlenir).
Otomatize Sandbox Platformları
Cuckoo Sandbox (açık kaynaklı) ve benzeri platformlar, bir örneği otomatik olarak izole bir VM'e yükleyip çalıştırır, tüm bu davranış kategorilerini izler ve sonunda yapılandırılmış bir rapor (JSON/HTML) üretir — bu, çok sayıda örneği hızlıca ön-triyaj etmek için değerlidir, ancak gelişmiş zararlı yazılımların sandbox tespiti (aşağıda) otomatik analizleri yanıltabilir.
Sandbox/VM Tespiti (Anti-Analysis)
Gelişmiş zararlı yazılımlar, kendisinin bir analiz ortamında çalıştığını tespit etmeye çalışabilir ve öyle bir durumda zararlı davranışını hiç göstermeyip "masum" gibi davranabilir. Yaygın tespit teknikleri:
- VM'e özgü donanım/sürücü imzalarını kontrol etmek (örneğin belirli sanallaştırma yazılımlarına ait MAC adresi önekleri).
- Sistemin çok yeni kurulmuş, az kullanıcı aktivitesi olan bir ortam olup olmadığını kontrol etmek (az sayıda "son kullanılan dosya", az disk kullanımı gibi).
- CPU zamanlama farklarını ölçerek sanallaştırma katmanının getirdiği gecikmeleri tespit etmek.
Bu yüzden ciddi analiz laboratuvarları, sandbox ortamını mümkün olduğunca "gerçek" bir kullanıcı sistemine benzetmeye çalışır (sahte belgeler, tarayıcı geçmişi, gerçekçi donanım kimlikleri eklemek gibi).
Pratik Senaryo
Bir analist, şüpheli bir örneği Cuckoo Sandbox'ta çalıştırıyor. Procmon logları, örneğin çalışır çalışmaz HKCU\Software\Microsoft\Windows\CurrentVersion\Run altında yeni bir anahtar oluşturduğunu gösteriyor — bu, sistem her açıldığında zararlı yazılımın otomatik çalışmasını sağlayan klasik bir persistence tekniği. Ağ logunda ise, örneğin belirli bir alan adına DNS sorgusu gönderdiği ama INetSim'in ürettiği sahte yanıtı aldığı için gerçek bir C2'ye asla bağlanamadığı görülüyor — analist, örneğin davranışını güvenli bir şekilde tam olarak gözlemlemiş oluyor, gerçek internete hiç dokunmadan.
Bu makale, dinamik malware analizinin orta-ileri seviye teknik bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.