Kötü amaçlı yazılım analizi, kötü amaçlı yazılımın işlevselliğini, kaynağını ve potansiyel etkisini anlamak için incelenmesini içerir.
1. Kötü Amaçlı Yazılım Örneğini Elde Edin
Analiz edilecek kötü amaçlı yazılımın bir kopyasını elde edin. Bu, çevrimiçi depolar, bal noktaları gibi çeşitli kaynaklardan veya doğrudan virüslü sistemlerden (kontrol altına almak için uygun önlemleri kullanarak) olabilir.
2. İlk Değerlendirme
Kötü amaçlı yazılım hakkında dosya boyutu, karma değerleri (MD5, SHA1, SHA256), dosya türü ve ilk tehlike göstergeleri (IOC'ler) gibi temel bilgileri toplayın.
3. Statik Analiz
- Dosya Analizi: Dosyayı çalıştırmadan inceleyin. Bu, dosya, PEiD veya ExifTool gibi araçları kullanarak dosya başlıklarını, dizeleri ve meta verileri incelemeyi içerir.
- Kod Analizi: Kod yapısını, işlevlerini ve olası güvenlik açıklarını analiz etmek için kötü amaçlı yazılımı parçalarına ayırın veya derlemesini çözün. IDA Pro, Ghidra veya radare2 gibi araçlar bu amaçla yaygın olarak kullanılır.
- Davranışsal Analiz: Kötü amaçlı yazılımın çalıştırıldığında dosya oluşturma, kayıt defteri girdilerini değiştirme veya ağ üzerinden iletişim kurma gibi hangi eylemleri gerçekleştirebileceğini anlayın. PEStudio veya Dependency Walker gibi araçlar bu konuda yardımcı olabilir.
4. Dinamik Analiz
- Sandboxes: Ana sistemi riske atmadan davranışını gözlemlemek için kötü amaçlı yazılımı sanal makine veya kum havuzu gibi kontrollü bir ortamda çalıştırın. Cuckoo Sandbox veya VMRay Analyzer gibi araçlar bu süreci otomatikleştirir.
- Paket Yakalama: İletişim kalıplarını ve potansiyel komuta ve kontrol (C2) altyapısını anlamak için Wireshark gibi araçları kullanarak kötü amaçlı yazılım tarafından oluşturulan ağ trafiğini izleyin.
- Bellek Analizi: İşlem enjeksiyon teknikleri veya şifreleme anahtarları gibi çalışma zamanı uzlaşma göstergelerini (IOC'ler) belirlemek için kötü amaçlı yazılımın bellekteki davranışını analiz edin. Volatility veya Rekall gibi araçlar bellek adli tıp için yaygın olarak kullanılır.
5. Tersine Mühendislik
- Kod Analizi: Mantığını, şifreleme mekanizmalarını ve anti-analiz tekniklerini anlamak için kötü amaçlı yazılımın kodunu analiz edin. Bu, kod izleme, kontrol akışı analizi ve hata ayıklama gibi teknikleri içerebilir.
- İşlev Tanımlama: Ağ iletişimi, dosya manipülasyonu veya kaçınma tekniklerinden sorumlu olanlar gibi kötü amaçlı yazılım içindeki temel işlevleri ve rutinleri tanımlayın.
- Kötü Amaçlı Yazılım Aileleri: Benzerlikleri veya paylaşılan kod kalıplarını belirlemek için kötü amaçlı yazılımı bilinen kötü amaçlı yazılım aileleri veya imzalarıyla karşılaştırın.
6. Raporlama ve Dokümantasyon
Tehlike göstergeleri (IOC'ler), davranışsal analiz sonuçları ve tersine mühendislikten elde edilen içgörüler dahil olmak üzere analiz sürecinden elde edilen bulguları belgeleyin. Bu bilgiler olay müdahalesi, tehdit istihbaratı ve savunma önlemlerinin iyileştirilmesi için kullanılabilir.
Kötü amaçlı yazılım analizi, programlama dillerinde yeterlilik, işletim sisteminin iç yapısını anlama ve çeşitli analiz araçlarına ve tekniklerine aşinalık gibi teknik becerilerin bir kombinasyonunu gerektirir. Ayrıca, ortaya çıkan tehditler ve kötü amaçlı yazılım trendleri konusunda güncel kalmak siber güvenlik alanında çok önemlidir.