Size daha iyi hizmet sunabilmek için çerezleri kullanıyoruz.
Web sitemizde gezinme deneyiminizi geliştirmek, size kişiselleştirilmiş içerik ve hedefli reklamlar göstermek, web sitesi trafiğimizi analiz etmek ve ziyaretçilerimizin nereden geldiğini anlamak için çerezleri ve diğer izleme teknolojilerini kullanıyoruz.
⚠️
KVKK ve Çerez Politikası Bilgilendirmesi
6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK) ve Aydınlatma Yükümlülüğü kapsamında; web sitemizin temel fonksiyonlarının çalışabilmesi, veri güvenliğinin sağlanması ve performans analizi yapılabilmesi için zorunlu çerezlerin kullanımı gerekmektedir. Çerez kullanımını reddetmeniz halinde, teknik imkansızlıklar ve veri senkronizasyonu kesintileri nedeniyle web sitemizdeki hizmetlerden yararlanmanız mümkün olmamaktadır. Sitemizdeki içeriklere erişebilmek için çerez kullanımını onaylamanız gerekmektedir.
Malware Analizi ve Sistem Savunması: İşletim Sistemi Seviyesinde Tehditlere Karşı Kod Yazımı
Modern siber güvenlik ekosisteminde, standart uç nokta koruma çözümlerinin (EDR/AV) ötesine geçmek, işletim sisteminin (OS) iç yapısına hakim olmayı gerektirir. Zararlı yazılımlar artık sadece kullanıcı modunda (User Mode) çalışan basit scriptler değil; çekirdek moduna (Kernel Mode) sızan, bellek manipülasyonu yapan ve sistem çağrılarını (Syscalls) maskeleyen karmaşık yapılardır.
Şekil 1: Malware Analizi ve Sistem Savunması: İşletim Sistemi Seviyesinde Tehditlere Karşı Kod Yazımı.
1. Bellek Adli Tıbbı ve Proses Enjeksiyon Tekniklerinin Tespiti
Zararlı yazılımların en sık başvurduğu yöntem, meşru bir prosesin adres uzayına kod enjekte etmektir. Process Hollowing, DLL Injection ve Process Ghosting gibi teknikler, savunma mekanizmalarını atlatmak için tasarlanmıştır.
Bellek Analizinde Kritik Yapılar
Windows işletim sistemi özelinde, her proses bir EPROCESS yapısı ile temsil edilir. Bu yapı, prosesin bellek bölgelerini tanımlayan VAD (Virtual Address Descriptor) ağacına işaret eder. Malware, VAD ağacında PAGE_EXECUTE_READWRITE (RWX) izinlerine sahip alanlar oluşturarak kodunu buraya gizler.
Teknik Not: Bir savunma aracı yazarken, sistemdeki tüm proseslerin VAD ağaçları taranmalı ve imzasız, diskte karşılığı olmayan executable (yürütülebilir) sayfalar raporlanmalıdır.
2. Kanca Atma (Hooking) ve Detour Mekanizmaları
Saldırganlar, sistemin akışını değiştirmek için API Hooking yöntemini kullanır. Özellikle ntdll.dll üzerindeki fonksiyonların (örneğin NtCreateFile veya NtOpenProcess) başlangıcına JMP komutu yerleştirerek akışı kendi zararlı kodlarına yönlendirirler.
IAT (Import Address Table) Hooking vs. Inline Hooking
Kullanıcı modundaki savunma araçları, Kernel seviyesindeki bir Rootkit karşısında etkisizdir. Rootkitler, SSDT (System Service Descriptor Table) üzerinde değişiklik yaparak işletim sisteminin çekirdek fonksiyonlarını ele geçirir.
Kernel Callback Mekanizmaları
Sistem savunması için en etkili yöntem, Windows Kernel’in sunduğu kayıt (registration) mekanizmalarını kullanmaktır. PsSetCreateProcessNotifyRoutine ve CmRegisterCallbackEx gibi API’ler, sistemde yeni bir proses başladığında veya bir kayıt defteri (Registry) anahtarı değiştirilmek istendiğinde sürücünüzün haberdar edilmesini sağlar.
Örnek Senaryo: Bir fidye yazılımı (Ransomware), dosyaları şifrelemek için CreateFile çağrısı yaptığında, Kernel seviyesindeki sürücünüz bu işlemi durdurabilir veya analiz edebilir.
4. Statik ve Dinamik Analiz Kütüphaneleri
Malware analizi yaparken tekerleği yeniden icat etmek yerine, endüstri standardı haline gelmiş kütüphaneleri savunma araçlarınıza entegre etmelisiniz.
Capstone Engine: Çoklu mimari desteği sunan bir disassembler kütüphanesidir. İkili (binary) dosyaların içindeki opcode’ları analiz etmek için kullanılır.
PeLib / LIEF: PE (Portable Executable) ve ELF dosyalarının başlıklarını (headers), bölümlerini (sections) ve içe aktarılan fonksiyonlarını parse etmek için kullanılır.
Kod Örneği: Capstone ile Opcode Analizi
Aşağıdaki Python örneği, bir bellek bölgesindeki komutları nasıl ayrıştırabileceğinizi gösterir:
from capstone import*# Örnek makine kodu (shellcode benzeri)CODE =b"\x55\x48\x8b\x05\xb8\x13\x00\x00"md = Cs(CS_ARCH_X86, CS_MODE_64)
for i in md.disasm(CODE, 0x1000):
print(f"0x{i.address:x}:\t{i.mnemonic}\t{i.op_str}")
5. Kum Havuzu (Sandboxing) ve Kaçınma Teknikleri ile Mücadele
Gelişmiş zararlı yazılımlar, analiz edildiklerini anladıklarında kendilerini imha eder veya pasif duruma geçerler. Bu “Anti-Analysis” tekniklerini aşmak, sistem savunmasının en zorlu kısmıdır.
Yaygın Kaçınma Yöntemleri
Zaman Aşımı (Timing Attacks):RDTSC komutu ile CPU döngülerini sayarak debugger altında yavaşlayıp yavaşlamadıklarını kontrol ederler.
Artefakt Kontrolü: Sistemde VBoxGuestAdditions.sys veya Wireshark.exe gibi dosyaların varlığını sorgularlar.
Instruction Slicing: CPU’nun nasıl tepki vereceğini ölçmek için belgelenmemiş (undocumented) opcode’lar kullanırlar.
Savunma Stratejisi: Analiz ortamları “Hardened” hale getirilmelidir. Bu, sanallaştırma izlerinin sistemden temizlenmesi ve isDebuggerPresent gibi API çağrılarına sahte (spoofed) cevaplar verilmesi anlamına gelir.
6. Ağ Trafiği Analizi ve C2 İletişimi Tespiti
Sistem seviyesindeki savunma, sadece yerel dosyalarla sınırlı değildir. Malware, komuta kontrol (C2) sunucusuyla iletişim kurmak için genellikle HTTP/HTTPS veya DNS tünelleme kullanır.
Raw Sockets ve NDIS Sürücüleri
Ağ seviyesinde derinlemesine analiz için NDIS (Network Driver Interface Specification) sürücüleri yazılabilir. Bu sayede, paketler Windows ağ yığınına (Network Stack) girmeden önce yakalanıp incelenebilir. DGA (Domain Generation Algorithm) kullanan zararlılar, kısa sürede binlerce anlamsız domain üzerinden bağlantı kurmaya çalışır. Bu paternlerin tespiti için entropi analizli savunma kodları yazılmalıdır.
7. Veri Bütünlüğü ve EDR Mimarisi Tasarımı
Kendi savunma aracınızı (mini-EDR) geliştirirken şu mimariyi takip etmelisiniz:
Collector (Toplayıcı): Kernel callback’leri ve ETW (Event Tracing for Windows) üzerinden olay verilerini toplar.
Analyzer (Analizci): Toplanan verileri YARA kuralları veya davranışsal modellerle karşılaştırır.
Responder (Yanıtlayıcı): Zararlı tespit edildiğinde prosesi sonlandırır, dosyayı karantinaya alır veya ağ bağlantısını keser.
Önemli Bir Kaynak: ETW (Event Tracing for Windows)
ETW, Windows’un sunduğu en güçlü (ve genellikle az kullanılan) izleme mekanizmasıdır. Microsoft-Windows-Kernel-Process veya Microsoft-Windows-Kernel-Network gibi sağlayıcılar (providers) üzerinden, hiçbir kanca atmaya gerek kalmadan sistemdeki her türlü aktiviteyi gerçek zamanlı olarak izleyebilirsiniz.
Sonuç ve Proaktif Yaklaşım
İşletim sistemi seviyesinde tehditlerle mücadele etmek, statik imza veritabanlarına güvenmekten vazgeçip sistemin çalışma mantığını (internals) savunma silahına dönüştürmeyi gerektirir. Yazılan kodun hem performanslı olması (Kernel paniğine yol açmamak için) hem de saldırganın bir adım önünde olması şarttır.
Sistem Savunmacıları İçin Altın Notlar:
Kısıtlı Yetki: Asla ihtiyaç duyulmayan admin yetkileriyle uygulama çalıştırmayın.
İmzasız Kod: Sistem genelinde imzasız sürücülerin yüklenmesini (DSE - Driver Signature Enforcement) zorunlu tutun.
Bellek İzolasyonu: VBS (Virtualization-Based Security) ve HVCI gibi donanım destekli güvenlik özelliklerini aktif kullanın.
Bu disiplin, sadece saldırıları engellemekle kalmaz, aynı zamanda sistemin mimari zayıflıklarını anlamanızı sağlayarak daha sağlam bir dijital kale inşa etmenize olanak tanır.