Zararlı Yazılım (Malware) Analizi ve Uç Nokta Adli Bilişimi (Forensics)
Zararlı Yazılım Analizi ve Uç Nokta Adli Bilişimi
Bir siber güvenlik ihlali gerçekleştiğinde saldırganların geride bıraktığı izleri toplamak ve kullandıkları silahları çözümlemek, olay müdahale sürecinin en kritik teknik adımıdır. Savunma derinliği mimarisinde malware analizi ve uç nokta adli bilişimi, Önleme katmanından Tespit ve Yanıt katmanlarına uzanan kritik bir köprü görevi görür. NIST SP 800-53 SI-3 (Malicious Code Protection) ve SI-4 (System Monitoring) kontrol aileleri, kurumların zararlı yazılımları tespit, analiz ve müdahale yetkinliklerini zorunlu kılar.
EDR konsolu veya SIEM alarmı tetiklendiğinde canlı triage (KAPE/Velociraptor) veya tam imaj alma süreci devreye girer. Elde edilen bulgular (hash, C2 domain/IP, persistence mekanizmaları) MISP/Threat Intelligence platformuna aktarılır; SIEM korelasyon kurallarına, EDR policy’lerine ve YARA imzalarına geri beslenir.
Statik analiz (dosya yapısı) ile dinamik analiz (çalışma zamanı davranışı) metodolojilerinin karşılaştırması
flowchart LR
subgraph Triage["Canlı Triage"]
KAPE[KAPE / Velociraptor]
MEM[Bellek dump]
end
subgraph Analiz["Laboratuvar"]
STAT[Statik: YARA/PE]
DYN[Dinamik: Sandbox]
VOL[Volatility bellek]
end
subgraph Cikti["IOC Besleme"]
MISP[MISP / TI]
EDR[EDR policy]
SIEM[SIEM kural]
end
KAPE --> STAT
MEM --> VOL
STAT --> DYN
DYN --> MISP
VOL --> MISP
MISP --> EDR
MISP --> SIEM
🔬 Malware Analiz Laboratuvarı Kurulum Kontrol Listesi
| Bileşen | Araç | Amaç |
|---|---|---|
| Hipervizör | Proxmox / ESXi | VM izolasyonu |
| Güvenlik duvarı | pfSense | Implicit deny, VLAN 7 izolasyon |
| Windows analiz | FlareVM | IDA, x64dbg, ProcMon |
| Linux analiz | REMnux | Volatility, YARA |
| Sahte servisler | INetSim / FakeNet | C2 simülasyonu |
KAPE (Kroll Artifact Parser and Extractor): Olay müdahalede hızlı triage için $MFT, registry, prefetch, browser history toplar; üretim ortamında salt-okunur çalıştırılmalıdır.
§7.2.1.Statik ve Dinamik Malware Analizi Metodolojileri
Zararlı yazılım analizi iki ana disipline ayrılır; güncel uygulamada hibrit yaklaşım (statik filtreleme + dinamik doğrulama + bellek forensics) en yüksek doğruluğu sağlar.
Statik Analiz (Static Analysis)
Statik analiz, zararlı yazılım dosyasını çalıştırmadan incelemeyi amaçlar. Dosyanın metadata’sı, yapısal özellikleri ve gömülü kod kalıpları hakkında ön bilgi sağlar.
| Teknik | Açıklama | Araçlar |
|---|---|---|
| Hash analizi | MD5/SHA-256 → VirusTotal/threat intel | md5sum, sha256sum, VT API |
| Metadata incelemesi | PE header, section tabloları, timestamp | PE Studio, CFF Explorer |
| String analizi | Gömülü URL, IP, mutex, registry yolu | strings, FLOSS |
| PE analizi | IAT/EAT, section entropy, imzalama | pescan, PE-bear |
| Disassembly | Assembly seviyesinde mantık çözümleme | IDA Pro, Ghidra, radare2 |
| YARA taraması | İmza/desen tabanlı sınıflandırma | YARA, yara64 |
PE dosya anatomisi: IMAGE_DOS_HEADER ve IMAGE_NT_HEADERS alanlarından derlenme zamanı, hedef mimari (x86/x64/ARM) ve alt sistem bilgisi elde edilir. IAT’ta VirtualAlloc, WriteProcessMemory, CreateRemoteThread import’ları process injection niyetini doğrudan ortaya koyar.
Entropi analizi: Standart PE entropisi 4.0–6.5 arasındayken, paketlenmiş/şifrelenmiş dosyalar 7.0–8.0’a yaklaşır — packing/encryption göstergesidir.
rule Suspicious_PowerShell_Downloader { meta: author = "SOC Team" description = "Fileless downloader cradle tespiti" mitre = "T1059.001, T1105" strings: $s1 = "IEX" nocase $s2 = "New-Object Net.WebClient" nocase $s3 = "DownloadString" nocase $s4 = "FromBase64String" nocase condition: 2 of ($s*)}Dinamik Analiz (Dynamic Analysis)
Dinamik analiz, zararlı yazılımın kontrollü bir ortamda çalıştırılarak davranışlarının gözlemlenmesidir.
İzlenen kritik davranışlar:
- Process ve thread oluşumları: Process injection (Cobalt Strike reflective DLL →
svchost.exe) - Registry değişiklikleri: Persistence (Run anahtarları, scheduled tasks)
- Dosya sistemi operasyonları: Şifreleme, silme, yeni dosya oluşturma
- Ağ iletişimi: C2 beacon, veri sızdırma (exfiltration)
- API çağrıları:
CreateRemoteThread,VirtualAllocEx,NtUnmapViewOfSection
| Platform | Tür | Özellikler |
|---|---|---|
| Cuckoo / CAPE | Açık kaynak | JSON raporlama, API hooking, ağ yakalama |
| ANY.RUN | Ticari | Gerçek zamanlı interaktif analiz |
| Joe Sandbox | Ticari | Derin davranış analizi, YARA entegrasyonu |
Kurumsal entegrasyon: Statik sonuçlar (hash, import hash) Wazuh/EDR’de real-time tarama kuralı olarak kullanılır. Dinamik bulgular SOAR playbook’larını tetikler. MITRE ATT&CK mapping yapılır (T1055, T1547).
Hibrit Analiz ve Karşılaştırma
| Kriter | Statik Analiz | Dinamik Analiz |
|---|---|---|
| Yürütme | Kod çalıştırılmaz | Kontrollü ortamda aktive edilir |
| Hız | Saniyeler içinde binlerce dosya | Dosya başına 2–5 dakika |
| Tespit odağı | Yapı, entropi, string, YARA | Süreç ağacı, C2, bellek değişiklikleri |
| Evasion hassasiyeti | Packing ile aldatılır | Sandbox algılama ile atlatılır |
| Çıktı | Hash, dosya özellikleri | Davranışsal IOC, ağ imzaları |
Makine öğrenmesi destekli hibrit modellerde %97,8’e varan doğruluk oranları raporlanmıştır. NIST SP 800-61 perspektifinden hibrit yaklaşım, hızlı triage ve derinlemesine inceleme arasındaki dengeyi sağlar.
Örnek senaryo — LockBit varyantı:
- Statik: Yüksek entropy section’lar, şüpheli import’lar, YARA “LockBit” pattern eşleşmesi
- Dinamik:
%APPDATA%altına kopyalama, Run key persistence, SMB spread, base64 C2 beacon - IOC besleme: Hash ve davranış pattern’ı tüm uç noktalarda bloklanır
§7.2.2.Sandbox Atlatma (Evasion) Teknikleri
Picus Labs Red Report 2026 (1.084.718 örnek analizi), T1497 Virtualization/Sandbox Evasion tekniğinin örneklerin %20’sinde görülerek #4 en yaygın teknik haline geldiğini raporlamıştır. Picus Blue Report 2025’e göre T1497 yalnızca %13 oranında engellenebilmektedir.
MITRE ATT&CK T1497 Alt Teknikleri
| Teknik | ID | Açıklama | Tespit Yöntemi |
|---|---|---|---|
| Sistem kontrolleri | T1497.001 | VM registry, process, CPUID, MAC OUI | Artifact spoofing |
| Kullanıcı etkileşimi | T1497.002 | Fare/klavye, uptime, uygulama sayısı | Fare simülasyonu |
| Zaman tabanlı | T1497.003 | Uzun Sleep, time bomb, NTP drift | Zaman hızlandırma |
VM/sandbox tespiti: Hipervizöre özgü artefaktlar — registry (VBoxGuest, VMware Tools), süreçler (vmtoolsd.exe, VBoxService.exe), düşük CPU çekirdek sayısı (<4), düşük RAM (<4 GB), küçük disk (<40 GB).
Kullanıcı etkileşimi kontrolü: LummaC2 v4.0, GetCursorPos() ile 50 ms aralıkla 5 ardışık imleç konumunu kaydedip aralarındaki Öklid mesafesi ve açıları trigonometriyle hesaplayarak insan varlığını doğrular; düz/yapay hareketler sandbox işaretidir.
Zaman gecikmeli (time-delay): Uzun Sleep çağrıları sandbox’ın kısa analiz penceresini aşar. GootLoader bu tekniği kullanır. GetTickCount, RDTSC ile hızlandırılmış zaman tespiti; “time bomb” (GetLocalTime ile belirli tarih sonrası çalışma).
Anti-debugging: IsDebuggerPresent, CheckRemoteDebuggerPresent (PEB BeingDebugged); debugger tespitinde malware kendini imha eder veya davranışını maskeler.
Polimorfik ve Metamorfik Zararlı Yazılımlar
Polimorfik malware: Çekirdek payload sabit kalır; her enfeksiyonda farklı şifreleme anahtarı/decryptor ile kendini şifreler. Statik hash her seferinde farklı çıkar; decryptor stub YARA ile hedeflenebilir.
Metamorfik malware: Kodun tamamı her nesilde yeniden yazılır (instruction substitution, register reassignment, NOP insertion). Decryptor bile değişir; statik imza neredeyse imkansızdır.
; Orijinal kodMOV EAX, 1ADD EBX, EAXSUB ECX, 5
; Metamorfik dönüşümMOV EDX, 1 ; Register swappingADD EBX, EDXADD ECX, -5 ; Instruction substitutionNOP ; Junk codePicus Red Report 2026: Process Injection (T1055) üçüncü yıl üst üste örneklerin %30’unda görülerek en yaygın teknik olmuş; Top 10 tekniğin %80’i savunma atlatma, kalıcılık ve gizli C2 kategorilerine ayrılmıştır. Bu, “dosya avlama” yerine “davranış avlama” yaklaşımının zorunluluğunu ortaya koyar.
| MITRE Teknik | ID | Açıklama |
|---|---|---|
| Obfuscated Files | T1027 | Dosya/şifreleme obfuscation |
| Sandbox Evasion | T1497 | VM/Sandbox tespiti |
| Debugger Evasion | T1622 | Debugger tespiti |
Defansif yaklaşım: Bellek içi emülasyon ve unpacking (OEP aşamasında memory dump), Storyline/Process Tree Tracking ile davranışsal kurallar, EDR ML tabanlı tespit.
§7.2.3.İzole Laboratuvar (Malware Analysis Lab) Kurulumu
Malware lab’ının ana tasarım prensibi network izolasyonudur — C2’ye sızma veya yanlışlıkla yayılma riskini sıfırlamak.
┌─────────────────────────────────────────────────────────────┐│ PROXMOX / VMware ESXi ││ ┌──────────────────────────────────────────────────────┐ ││ │ pfSense Firewall │ ││ │ (NAT, FW Rules, Network Isolation) │ ││ └──────────────────────────────────────────────────────┘ ││ │ │ ││ ▼ ▼ ││ ┌─────────────────┐ ┌─────────────────────────────────┐ ││ │ REMnux VM │ │ Windows 10 + FlareVM │ ││ │ (Linux Analiz) │ │ (Dynamic/Static Analiz) │ ││ └─────────────────┘ └─────────────────────────────────┘ ││ │ │ ││ └───────────┬───────────┘ ││ ▼ ││ ┌─────────────────────┐ ││ │ INetSim/FakeNet │ ││ │ (Sahte DNS/C2) │ ││ └─────────────────────┘ │└─────────────────────────────────────────────────────────────┘Laboratuvar Bileşenleri
| Bileşen | Seçenekler | Amaç |
|---|---|---|
| Hipervizör | Proxmox, VMware ESXi, VirtualBox | VM yönetimi ve izolasyon |
| Güvenlik duvarı | pfSense, OPNsense | Ağ izolasyonu, implicit deny |
| Analiz VM (Windows) | FlareVM (Mandiant) | IDA, x64dbg, PE-bear, ProcMon |
| Analiz VM (Linux) | REMnux | Volatility, YARA, network analiz |
| Sahte servisler | INetSim/FakeNet-NG | DNS/HTTP/SMTP simülasyonu |
| Ağ yakalama | Wireshark, tcpdump | Network trafik analizi |
pfSense sıkılaştırma kuralları:
- VLAN 7’den kurumsal yönetim ağına giden trafik Block
- VLAN 7’den WAN’a giden tüm paketler Block + Log
- Yalnızca FlareVM ↔ REMnux arası trafiğe izin
# Proxmox üzerinde pfSense VMqm create 100 --name pfSense --memory 2048 --net0 virtio,bridge=vmbr0
# FlareVM kurulumu (Windows 10 üzerine)Set-ExecutionPolicy Bypass -Scope Process -Forceiex ((New-Object System.Net.WebClient).DownloadString( 'https://raw.githubusercontent.com/mandiant/flare-vm/main/install.ps1'))En iyi pratikler:
- Her analiz öncesi temiz snapshot; analiz sonrası rollback
- Paylaşımlı klasör, clipboard, drag-drop tamamen kapalı
- Sysmon + Wazuh agent + network capture + bellek dump script’leri
- Sonuçların MISP’e otomatik aktarımı
- Fiziksel izolasyon mümkünse tercih edilir
§7.2.4.Adli Bilişim: KAPE, RAM/Disk İmajı ve Volatility
Adli bilişim metodolojisi NIST SP 800-86 çerçevesindeki dört aşamaya dayanır: Collection → Examination → Analysis → Reporting. Tüm süreç boyunca delil zinciri (chain of custody) ve order of volatility (en uçucu olandan başlama — önce RAM, sonra disk) korunmalıdır.
Order of Volatility
| Sıra | Veri Kaynağı | Uçuculuk |
|---|---|---|
| 1 | CPU register, cache | En yüksek |
| 2 | RAM (bellek) | Çok yüksek |
| 3 | Ağ durumu, routing tabloları | Yüksek |
| 4 | Çalışan süreçler, açık dosyalar | Orta |
| 5 | Disk (sabit depolama) | Düşük |
| 6 | Uzaktan loglar, yedekler | En düşük |
RAM İmajı Alma
# WinPmemwinpmem_mini_x64.exe physmem.raw
# Magnet RAM Capture (GUI) veya FTK Imager# DumpIt.exe (hızlı triage)Disk İmajı
FTK Imager / dd / dc3dd ile bit-bit kopya. Hash doğrulaması (acquisition hash = verification hash) zorunlu:
dc3dd if=/dev/sda of=/mnt/evidence/sda.dd hash=sha256 log=/mnt/evidence/acquisition.logsha256sum /mnt/evidence/sda.ddKAPE (Kroll Artifact Parser and Extractor)
Eric Zimmerman tarafından geliştirilen triyaj aracı; tam disk imajı tamamlanmadan dakikalar içinde forensik açıdan değerli artefaktları toplar.
İki kavram:
- Targets: Toplanacak artefakt koleksiyonları (Prefetch, Amcache, Registry hives, Event Logs)
- Modules: Toplanan artefaktları işleyen programlar (RegRipper, PECmd, EvtxECmd)
kape.exe --tsource C: --target !BasicCollection,EventLogs,RegistryHives,EvidenceOfExecution --tdest E:\triage --module EvtxECmd,PECmd,RegRipper-ALL --mdest E:\outKAPE’nin değeri: Tam imajın yalnızca ~%10’u forensik değer taşır; kritik artefaktları (Prefetch, ShimCache, Amcache, UserAssist) kategori bazında çıkararak yarım saatte analize geçiş sağlar.
KAPE çalışma akışı:
Şüpheli Uç Nokta → KAPE Targets (artefakt toplama) → KAPE Modules (parse/CSV/JSON) → Timeline reconstruction → Paralel: Tam disk imajı + RAM dumpVolatility 3 ile RAM Analizi
Volatility 3 (Python 3, otomatik symbol table) RAM imajından fileless malware, code injection, rootkit tespiti yapar:
vol -f physmem.raw windows.infovol -f physmem.raw windows.pslistvol -f physmem.raw windows.psscan # gizli/sonlanmış süreçlervol -f physmem.raw windows.pstreevol -f physmem.raw windows.malfind # RWX (PAGE_EXECUTE_READWRITE)vol -f physmem.raw windows.netscan # C2 bağlantılarıvol -f physmem.raw windows.cmdlinevol -f physmem.raw windows.dlllist --pid 1234Gizli süreç tespiti: psscan çıktısında olup pslist’te olmayan PID → DKOM (Direct Kernel Object Manipulation) ile unlink edilmiş rootkit. malfind’in PAGE_EXECUTE_READWRITE bulması shellcode injection / process hollowing’in güçlü göstergesidir.
Volatility plugin referansı:
| Plugin | Amaç | Fileless/Injection Tespiti |
|---|---|---|
windows.pslist | Aktif süreç listesi (EPROCESS) | Temel süreç envanteri |
windows.psscan | Pool scan ile gizli süreçler | DKOM rootkit |
windows.malfind | RWX bellek bölgeleri | Shellcode, reflective injection |
windows.netscan | Aktif TCP/UDP bağlantıları | C2 beacon tespiti |
windows.cmdline | Süreç komut satırları | LOLBAS/cradle analizi |
windows.ldrmodules | Yüklenen DLL’ler vs PEB | Reflective DLL (listede yok) |
Delil Zinciri (Chain of Custody)
Toplanan her verinin orijinal kaldığını ispatlamak için SHA-256 hash değerleri alınır. Delilin kimden kime, ne zaman ve nasıl geçtiği kesintisiz kayıt altında tutulmalıdır.
{ "evidence_id": "EVD-2026-0142", "source": "WS-FINANCE-042", "acquired_by": "dfir.analyst@corp.local", "acquired_at": "2026-06-15T14:32:00Z", "sha256": "a3f2b8c1d4e5f6...", "chain": [ {"custodian": "dfir.analyst", "action": "acquired", "timestamp": "2026-06-15T14:32:00Z"}, {"custodian": "evidence.locker", "action": "stored", "timestamp": "2026-06-15T15:10:00Z"} ]}§7.2.5.Kurumsal Entegrasyon ve Olay Müdahale Senaryosu
Önerilen araç seti:
| Katman | Araç | Rol |
|---|---|---|
| Triage | KAPE + Velociraptor | Ölçeklenebilir live response |
| Bellek | WinPMEM + Volatility 3 | RAM analizi |
| Sandbox | CAPE/Cuckoo + Proxmox homelab | Davranış analizi |
| SIEM | Wazuh + TheHive/MISP + SOAR | Korelasyon ve IOC yönetimi |
| İmaj | FTK Imager | Bit-bit disk kopyası |
Ransomware operasyonel senaryo:
- EDR alarmı (T1486/T1490) → host izolasyonu — §7.1.9 ransomware playbook
- KAPE ile hızlı triage (Amcache + Prefetch + Event Logs + Registry)
- Paralel RAM dump → Volatility ile enjekte ransomware process + C2 IP
- KAPE çıktısı ile timeline reconstruction
- Persistence mekanizması temizleme (Run key / scheduled task / WMI)
- IOC’lerin Wazuh YARA ve EDR policy’lerine eklenmesi (MDR geri besleme)
- §5.4 immutable yedek doğrulaması → segment izolasyonu ve eradication
Türkiye Mevzuatı Uyumu
| Mevzuat | Gereksinim | Adli Bilişim Etkisi |
|---|---|---|
| KVKK | Veri minimizasyonu, 72 saat ihlal bildirimi | Kişisel veri içeren imajların sınıflandırılması |
| 5651 | Log saklama (1–2 yıl), bütünlük | Zaman damgalı, değiştirilemez log |
| BDDK BSEBY | Kritik iz kaydı 5 yıl, SOME | Hassas veri erişim logları |
| CBDDO Genelge 2019/12 | Log değiştirilemezlik | WORM storage, hash zinciri |
NIST SP 800-61 olay müdahale yaşam döngüsü: Preparation → Detection & Analysis → Containment → Eradication & Recovery → Post-Incident Activity. KAPE triage “Detection & Analysis” ve “Containment” hızını dramatik biçimde artırır.
Zaman damgası tutarlılığı için tüm sistemlerin tek referans NTP kaynağına senkronize edilmesi (ISO 27001 Annex A.8.17) gerekir.
Özet ve Mimari Tavsiyeler
Malware analizi ve adli bilişim, savunma derinliğinin “Tespit + Yanıt” katmanlarını güçlendirir ve saldırganın “görünmez kalma” çabasını boşa çıkarır.
-
Hibrit analiz zorunluluğu: Statik triage + dinamik sandbox + bellek forensics üçlüsü minimum kapasitedir. Tek yöntemle %87 obfuscation oranına karşı koymak mümkün değildir.
-
Sandbox evasion farkındalığı: T1497 %20 prevalans ve %13 engelleme oranı, savunmanın en zorlu alanlarından biridir. Bare-metal sandbox, bellek odaklı analiz ve davranışsal ML tespiti birlikte uygulanmalıdır.
-
Order of volatility: RAM önce, disk sonra. Fileless tehditlerde bellek tek kanıt kaynağı olabilir.
-
KAPE ile hız: Tam imaj beklerken KAPE triage ile yarım saatte kritik artefaktlara ulaşılır; paralel tam imaj süreci devam eder.
-
IOC geri besleme: Analiz çıktıları MISP → SIEM kuralları → EDR policy → YARA imzaları döngüsüne otomatik aktarılmalıdır.
-
Mevzuat uyumu: BDDK 5 yıllık log saklama, KVKK 72 saat bildirim ve 5651 bütünlük gereksinimleri adli süreç tasarımının girdisidir.
-
MDR/SOC entegrasyonu: Analiz çıktıları yalnızca dahili SOC’a değil, MDR sağlayıcısının tehdit avcılığı döngüsüne de beslenmelidir (§7.1.10). IOC’lerin geri besleme süresi (time-to-block) SLA olarak tanımlanmalıdır.
Uygulama kontrol listesi:
- İzole malware lab (Proxmox + pfSense + FlareVM + REMnux)
- KAPE + Volatility 3 triage playbook’u
- Hibrit analiz pipeline (statik → dinamik → bellek)
- MISP/Threat Intel entegrasyonu ve IOC geri besleme
- Chain of custody prosedürü ve hash doğrulama
- Purple team ile sandbox evasion tekniklerinin periyodik testi
- NTP senkronizasyonu ve log bütünlük kontrolleri