Malware Analizi 0X01
Merhaba, “Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software” kitabından aldığım notlarımı bu şekilde parçalar halinde paylaşma kararı aldım. Tabii araya kendi yorumlarımı da ekleyeceğim. Umarım sizler için de faydalı birer kaynak oluşturabilirim.
Bu bölüm daha çok teorik olarak ilerleyecek. Kitabın ileri bölümlerinde pratiğe de dökülüyor. Adım adım ilerleyerek bu bölümlere de ulaşacağız. Sözü daha fazla uzatmadan başlamak istiyorum.
Malware Analizinin amacı nedir ?
Malware analizin amacı anlayacağınız üzere zararlı yazılımı analiz ederek zararlı yazılım hakkında bilgiler sağlamaktır. Hedefi genel olarak zararlının amacı nedir, ne yapıyor, sistem üzerinde sızmak istediği ve zarar vermek istediği bölüm neresidir gibi soruları cevaplamaktır. Tabii bunları kendi ağınız içinde kontrol altına alarak tespit etmeniz gerekecektir.
Malware Analiz Teknikleri
Çoğu zaman zararlı yazılımı analiz ettiğinizde, sadece çalıştırılabilir (executable) zararlı yazılıma sahip olabilirsiniz ve bu kodlar insan tarafından okunamaz kodlar olabilir. Bu kodları anlamlandırabilmek için çeşitli araçlar ve püf noktalar bulunuyor. Resmin tamamını görmek ve analiz etmek için bizlere bu araçlar gerekecek.
Zararlı yazılım analizine iki temel yaklaşım vardır: Static ve Dynamic. Statik analiz zararlıyı çalıştırmadan incelemeye dayanır. Dinamik analiz ise zararlıyı kendi iç ağında çalıştırarak incelemeye dayanır. İki teknik de kendi içinde basit (Basic) ve gelişmiş (Advanced) olarak ikiye ayrılır.
Basit Statik Analiz (Basic Static Analysis)
Zararlı yazılımı çalıştırmadan incelemeye dayanır. Basit statik analiz, zararlı dosyaları tespit eder ve yazılımın işlevi hakkında bilgi verir. Basit statik analiz genelde etkisiz geliştirilen zararlı yazılımlar için kullanılır. Önemli bilgileri gözden kaçırabilir.
Basit Dinamik Analiz (Basic Dynamic Analysis)
Basit dinamik analiz, Zararlı yazılımı çalıştırarak sistem üzerindeki davranışını gözlemler. Zararlı yazılım sanal makinalar üzerinden incelenmeli aksi taktirde kendi sistemine hasar verebilir. Basit Statik ve basit dinamic analiz de analistler programlama tekniklerini bilmeden kullanırlar ve bunlar çok efektif değildir. Önemli bilgileri kaçırmaya neden olabilir. Önemli bilgileri kaçırması beraberinde risk de getirmektedir.
Gelişmiş Statik Analiz (Advanced Static Analysis)
Gelişmiş Statik Analizde, zararlının içeriğini öğrenmek için disassembler vb. bir araç içinde çalıştırılarak ve kaynak kodları incelenerek zararlı yazılımın ne yaptığı öğrenilir. Gelişmiş statik analiz, basit statik analize göre daha detaylı bilgiler verir fakat gelişmiş statik analiz için dissambley, kodlama, windows sistemi başta olmak üzere birçok bilgi gerekir. Bu bilgiler kitabın ilerleyen bölümlerinde veriliyor. Hep birlikte adım adım ilerleyerek bunları öğreneceğiz.
Gelişmiş Dinamik Analiz (Advanced Dynamic Analysis)
Gelişmiş dinamik analizde, Malware çalıştırılarak yazılımın içeriği ve ne yapmak istediği öğrenilir. Bu yöntemle yazılım çalıştırılır ve yazılım hakkında çok detaylı bir inceleme yapılır. Bu teknik, Malware analizinde diğer yollar kullanılarak temiz ve kullanılabilir bilgi alınamadığı zamanlarda çok yararlıdır.
Malware Tipleri
Malware analizinde kullanılan teknikleri açıkladık fakat bazı yerlerde tahmin yürütmeniz de gerekebilir. Tahmin yürütmeniz için ise Malware tiplerini bilmek sizlere fayda sağlayacaktır. Malware tipini bilmek, analiz yaparken Malware özelliklerinden faydalanarak kategorisini tahmin edebilmenize olanak sağlayacaktır. Çoğu kötü amaçlı yazılımın dahil olduğu kategoriler şu şekildedir:
Backdoor: Backdoorlar sistemde çalıştığında kötü niyetli bir kişinin bilgisayara bağlanmasını sağlarlar ve saldırganın uzaktan sistemde kod çalıştırmasına olanak sağlarlar.
Botnet: Backdoor’un daha geniş çaplısı diyebiliriz. Botnetler ile bir komutu birden fazla bilgisayarda çalıştırabiliriz.
Downloader: Çalıştığı sisteme saldırganın istediği zararlı yazılımı indirir ve sisteme yükler.
Information-Stealing Malware: Çalıştığı sistemde kullanıcıya ait kritik bilgileri alarak saldırgana gönderir. şifreleri vb. bilgileri. Keyloggeri bu kategoride sayabiliriz.
Launcher : Bu zararlı program, çalıştığı sistemde başka bir zararlı yazılımı çalıştırır.
Rootkit : Genelde diğer malware ile birlikte kullanılır. Zararlı yazılımı gizleyerek kurbanın zararlıyı farketmemesini sağlar.
Scareware : Bu yazılım tamamen kullanıcıyı korkutarak ona birşeyler satmaya çalışır. Örneğin bir antivirus programı gibi görünür ve eğer bu antivirüsü almazsa bilgisayarının zarar göreceğini söyleyerek kullanıcıyı korkutur ve yazılımı almasını amaçlar.
Spam-sending malware : Saldırgan bu Malware ile hedef makineyi kullanarak spam gönderme işlemi gerçekleştirir. Saldırgan bu yol ile gelir elde edebilir.
Worm : Bu malware kendini kopyalar ve bütün sisteme yayılır. Stuxnet bu kategoriye girer. Stuxnet’i duymayanınız yoktur herhalde :)
Tabii zararlı yazılımlar birçok özellik içerebilirler. Bir malware birden fazla kategoriye ait özellik bulundurabilir.
Bu yazılık bu kadar, umarım işinize yarar bir yazı olmuştur. İkinci bölümde Basit Statik Analizi konuşacağız o zamana kadar kendinize iyi bakın.
Kaynakça : Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Kişisel Web Sayfam: https://berkanturel.me