Zararlı Yazılım Analizine Giriş

Merhaba arkadaşlar, bugün zararlı kod analizi üzerine çalışmak isteyen veya ilgilenen kişilere ufak tefek bir şeylar yazmaya çalışacağım.

Zararlı kod analizi statik ve dinamik olmak üzere iki başlık altında toplanmaktadır. Bunlarda kendi içlerinde iki başlıkta incelenmektedir.

Statik Analiz:
– Temel Seviye
– İleri Seviye

Dinamik Analiz:
– Temel Seviye
– İleri Seviye

Temel Statik Analizi :
Bu analizde zararlı yazılım, kaynak kodları incelenmeden online web siteler yardımıyla imza tabanlı kontrol edilir. Piyasadaki zararlı yazılımlar ileri teknikler kullanılarak oluşturulduğundan bu yöntem tek başına yetersiz kalabiliyor. Zararlı kod analizinin ilk adımlarından biridir. Bu analiz tipinde Hash kontrolü, Portable Executable başlık bilgileri, import ve export tabloları gibi bilgiler incelenmektedir. İleri seviye programlama bilgisine ihtiyaç yoktur.

 

Temel Dinamik Analizi:
Bu analiz tipinde zararlı yazılım güvenli bir ortamda çalıştırılır ve davranışları gözlemlenir. Tabi ki bu analiz tipide ileri düzey zararlı yazılımların incelenmesinde tek başına yetersiz kalabiliyor. Örneğin, FTP ile dosya transferi yapan zararlı yazılım bu analiz tipi ile tespit edilebilirken, kendisini şifreleyip zamanlanmış görevlerle çalışan zararlı yazılımlar bu analiz tipi ile tespit edilemeyebilir. Bu tip analizlerde genel olarak kullanılan araçlar: Wireshark, Burpsuite, FakeDNS, Sandbox vb. Temel dinamik analiz içinde ileri seviye programlama bilinmesine gerek yoktur.

 

İleri Seviye Statik Analizi:
Bu analiz tipinde zararlı yazılımın tersine mühendislik ile kaynak kodlarına ulaşılmaya çalışılır. Kaynak koda ulaştıktan sonra zararlı yazılımın neler yaptığını tespit etmemiz gerekmektedir. İleri seviye statik analizi yapabilmeniz için orta seviyelerde Disassembler,TCP/IP Soket ve thread bilgilerine ayriyetten orta seviyede programlama bilgisine sahip olmanız gerekmektedir. Bu analiz tipinde genelde GDB, IDA, Java Decompiler, Immunity Debugger vb. araçlar kullanılabilir.

 

İleri Seviye Dinamik Analizi:
Bu analiz tipinde zararlı yazılım kendisini belli başlı yöntemlerle saklar. Break Point bırakılarak komutların adım adım çalıştırılması sırasında davranışlarının debugger üzerinden incelemesi yapılır. Olly Debugger ve Windbg araçları kullanılabilir.

Zararlı yazılım incelemesi yaparken, yazılımı çalıştıracağınız ortam kesinlikle izole olması gereklidir. Sanal makine çalıştıran programlarda network ayarı HOST ONLY yapılarak bu izole işlemi gerçekleştirilebilir.

Bazı abilerimiz REMNUX adında malware yani zararlı yazılım incelemesi yapabilmemiz için özel bir Linux dağıtımı geliştirmişler. Remnux üzerinde zararlı yazılım analizi için bir çok araç bulunmaktadır. Bunlar strings, pescanner, fakedns, inetsim, olevba, oledump, pdf-id, pdf-parser vb. araçlar hali hazırda kurulu olarak gelmektedir. Ayriyetten REMNUX ile Web site analizi, Flash eklentileri, Java analizi, Javascript analizi, Döküman analizi, Karakter analizi, Ağ trafik analizi, İmza tabanlı kontrol analizleri, Hafıza imaj analizleri, PE Başlık bilgi analizleri, Android analizi gibi analiz türlerinide gerçeleştirebilirsiniz.

https://remnux.org/

Birçok zararlı yazılım anlaşılması zor olabilir. Analiz yaparken kodların hepsinin ne yaptığını anlamak yerine kilit noktaların tespit edilmesi önemlidir. Aksi takdirde işin içerisinden çıkamayabilirsiniz. Bir araç ile tespit edilemeyen zararlı yazılım, başka bir araç ile tespit edilebilir. Bu yüzden tek bir araç ile kendinizi sınırlamayın. Bir sonraki yazımda örneklerle zararlı yazılım analiz işlemlerini  detaylarıyla anlatacağım.

Leave a Reply

Your email address will not be published. Required fields are marked *