Zararlı Yazılım Ha@za Analizi TÜBİTAK BİLGEM Siber Güvenlik EnsAtüsü Zararlı Yazılım Analiz Laboratuvarı mag@tubitak.gov.tr TÜBİTAK BİLGEM Siber Güvenlik Ens7tüsü January 13, 2016
Eği7m İçeriği Zararlı Yazılım Analiz Yöntemleri StaAk Analiz Yöntemleri StaAk Analiz Kısıtları Dinamik Analiz Yöntemleri Dinamik Analiz Kısıtları Cpu Ram İlişkisi 2
Eği7m İçeriği HaSza Analizi Nedir? HaSza İmajının Alınması HaSza Analizi İle Neler Elde Edilebilir? HaSza Analizinin Avantajları Nelerdir? HaSza Analizinin Kısıtları Nelerdir? VolaAlity 3
Zararlı Yazılım Analiz Yöntemleri Statik Analiz Basit Statik Analiz Gelişmis Statik Analiz Dinamik Analiz Basit Dinamik Analiz Gelişmis Dinamik Analiz 4
Sta7k Analiz Yöntemleri Zararlı yazılımı çalıştırmadan gerçekleştirilen analiz yöntemleri Antivirüs taramasından geçirmek Metin ifadelerin kontrol edilmesi Kullanılan API çağrılarının kontrol edilmesi Başlık bilgilerinin araştırılması Özet değerinin (MD5) kontrol edilmesi Debugger ve Disassembly araçları ile zararlı yazılım işleyişinin sembolik makine seviyesi dilinde araştırılması 5
Sta7k Analiz Kısıtları - 1 Karıştırıcılar (Obfuscator), Şifreleyiciler (Cryptors) ve Packetleyiciler (Packers) Statik analiz yöntemlerini atlatmak Kod (Code) bölümünü olduğundan farklı bir görüntüde gösteriyor. Giriş (entry point) noktasını değiştiriyor. 6
Sta7k Analiz Kısıtları - 2 Anti Debug Teknikleri Zararlı yazılımın zorlaştırmak debug edilmesini Anti Reverse Teknikleri Zararlı yazılım sembolik makine kodu seviyesinde incelenmesini zorlaştırmak. 7
Dinamik Analiz Yöntemleri Zararlı yazılımın kontrollü bir ortamda çalıştırılarak davranışlarının incelenmesi yöntemi. Sandbox ortamı içerisinde çalıştırılması Ağ trafiğinin incelenmesi Dosya sistemi üzerindeki izlerin (dosya,dizin,register kaydı vb) incelenmesi 8
Dinamik Analiz Kısıtları - 1 Sleep cağrısı ile zararlı kodun akışının istenilen zaman diliminde çalıştırılmasının sağlanması Sanallaştırma sistemlerinin tespit edilmesi Gerçek kullanıcı interaktivitesinin aranması (mouse,klavye hareketleri) 9
Dinamik Analiz Kısıtları - 2 What you see is what you get! Kısaca zararlı yazılım aradığı ortamı, konforu bulması halinde zararlı akavitelerini göstermekte, aksi halde farklı davranışlar sergileyebilmektedir. 10
Dinamik Analiz Kısıtları - 3 Bir çok dinamik analiz sistemi daha önceden tanımlanmış olan API çağrılarının listesine dayanmaktadır. Her bir çağrım bir davranışı tanımlamaktadır. WriteProcessMemory, CreateRemoteThread, LoadLibrary API çağrılarının tespit edildiği varsayımı ile Bu API çağrımları Processe DLL enjeksiyon gerçekleştirildiğini göstermektedir. Bu yöntem ile zararlı yazılımlar sistem üzerinde kalıcı olmaya çalışmaktadırlar. Ancak bu durum her zaman için bunu işaret etmemektedir. 11
Dinamik Analiz Kısıtları - 4 Kullanıcı (User) ve Çekirdek modda çalışan rootkitler WinAPI çağrılarını araya girerek bozabilirler. Bu durumda API çağrımı tamamen değişmiş olacağı için zararlı davranış dinamik analiz tabanlı sistemler tarafından tespit edilemeyecektir. Dokümante edilmemiş fonksiyonların kullanımı aynı zararlı işlevi gerçekleştirilebilir ve daha önceden tanımlanmış API çağrılarında olmadığı için zararlı dinamik analiz tabanlı sistemler tarafından tespit edilemeyecektir. Özelleştirilmiş WinAPI fonksiyonlarının kullanımı 12
Cpu Ram İlişkisi CPU çalıştıracağı kodları ön belleğinden kullanır. İlgili alan ön bellekte değilse bellekten yüklenir. İşletim sistemi içerisindeki herşey RAM içerisine (Random Access Memory) dönüşür. Process ve threadlar Network soketleri, URL ve Ip adres bilgileri Açık Dosyalar Kullanıcı tarafindan oluşturulan içerikler Şifreler, Klipboard Donanım ve yazılım yapılandırması Windows register anahtarları ve Olay logları 13
Ha@za Analizi Nedir? Hafıza analizi çalışan sistemin anlık olarak hafıza imajının alınarak incelenmesi sürecidir. 14
Ha@za İmajının Alınması Windows Canlı Sistemlerden Hafıza İmajının Alınması DumpIt.exe http://www.moonsols.com/2011/07/18/moonsolsdumpit-goes-mainstream/ win32dd.exe / win64dd.exe http://www.moonsols.com/ products/ Mandiant Redline http://www.mandiant.com/products/free_software/redline/ HibernaAon File Contains a compressed RAM Image %SystemDrive%/hiberfil.sys 15
Ha@za İmajının Alınması Windows Sanal Makine 16
Ha@za Analizi İle Neler Elde Edilebilir? Süreçler ve Threadler Süreçlerin Bellek Alanlarına Enjekte Edilmiş DLL Dosyaları ve Kodları Bir Sürecin Bellek Alanındaki Metin Bilgileri Dosya objeleri (File Handles) Network Objeleri (Açık TCP/UDP Bağlantıları) Modüller/Sürücüler Windows Register Bilgileri Açık Kullanıcı Oturumları 17
Ha@za Analizi Avantajları İşletim sistemi API çağrıları ile elde edilemeyecek olan kullanıcı parola, cookie bilgileri gibi verilerin elde edilmesi. Rootkit tespit edilmesi Sistem aktivitelerinin tespit edilerek genel olarak sistem özetinin çıkartılabilmesi. Sadece hafızada çalışan zararlı yazılımların yerlerinin kesin olarak belirlenebilmesi. 18
Ha@za Analizi Kısıtları Hafıza imajının alınması doğru zamanlama istemektedir. Eğer zararlı yazılımın çalışmasına ait doğru zamanda imaj alınmaz ise istenilen sonuçlar elde edileyemecektir. Verimli bir analizin gerçekleştirilmesi için işletim sistemi iç yapısı ve özellikle çekirdek yapılarına (kernel structure) oldukça iyi bir şekilde hakim olmak gerekmektedir. 19
Vola7lity Açık Kaynak Kodlu Python Yazılım Dili İle Geliştirme Plugin Tabanlı, 30 dan Fazla Plugin Desteği Windows, Linux (bazı hafiza dokum formatlari için), MacOsX desteği bulunmakta 20
Vola7lity https://github.com/volatilityfoundation/volatility Tüm pluginler kullanılabilir olsalarda bazı pluginler zararlı kod ve rootkitlerin bulunması için özel olarak tasarlanmışlardır. malfind, yarascan, svcscan, ldrmodules, impscan, apihooks, idt, gdt, threads, callbacks, driverirp, devicetree, psxview, timers Daha fazla bilgi için belirtilen adrese göz atılabilir. https://code.google.com/p/volatility/wiki/ CommandReferenceMal22 21
Vola7lity - Zeus Botnet Analizi Ağ bağlantılarını görüntüleme python vol.py -f zeus.vmem connscan 22
Vola7lity - Zeus Botnet Analizi İlgili ağ bağlantısının hangi prosese ait olduğunu tespit etme python vol.py -f zeus.vmem pstree 23
Vola7lity - Zeus Botnet Analizi Register Kaydının Görüntülenmesi python vol.py -f zeus.vmem printkey -K "Microso`\Windows NT\CurrentVersion\Winlogon" 24
Vola7lity - Zeus Botnet Analizi Mutexlerin Görüntülenmesi python vol.py -f zeus.vmem mutantscan grep AVIRA 25
Vola7lity - Zeus Botnet Analizi 26
Sorular Teşekkürler 27