19
Android Zararlı Yazılım Analizi Mehmet Kılıç IzHack’15

Android Zararlı Yazılım Analizi IzHack'15

Embed Size (px)

Citation preview

Page 1: Android Zararlı Yazılım Analizi IzHack'15

Android Zararlı Yazılım AnaliziMehmet Kılıç IzHack’15

Page 2: Android Zararlı Yazılım Analizi IzHack'15

AndroidMobil cihazlar için geliştirilmiş, Dalvik VM üzerinde çalışan açık kaynak bir Linux işletim sistemidir.

Page 3: Android Zararlı Yazılım Analizi IzHack'15

Android Uygulamaları (APK) ...● Dosyalar

○ AndroidManifest.xml■ Binary XML■ Permissions istekleri■ Registered intents (Receiver, Service)

○ classes.dex■ Dalvik VM için bytecode■ Uygulama kodunu içerir.

○ resources.arsc■ Derlenmiş kaynak tabloları

Page 4: Android Zararlı Yazılım Analizi IzHack'15

Android Uygulamaları (APK)● Dizinler

○ META-INF■ Tanımlı anahtarlar■ APK içerisindeki imzalar

○ res■ Resimler, değerler, vb.

○ assets■ kütüphaneler■ diğer JAR ve çalıştırılabilir dosyalar.

Page 5: Android Zararlı Yazılım Analizi IzHack'15

Android Lifecycle

Page 6: Android Zararlı Yazılım Analizi IzHack'15

AndroidManifest.xml

Page 7: Android Zararlı Yazılım Analizi IzHack'15

Android Zararlı Yazılımları

Page 8: Android Zararlı Yazılım Analizi IzHack'15

Android Zararlı Yazılım Kategorileri● Android Adware (Adware): Kişisel bilgileri toplar● Android Premium Service Abusers (Chargeware) : Özel

numaralara SMS gönderimi, Cihazlarda kaynak tüketimi● Android Data Stealers (Spyware) : Kullanıcı izni oladan

cihazdaki özel bilgileri iletir.● Targeted Spyware (Sureveillance) : Belirli bir kuruma

yönelik geliştirilir (Bankacılık uygulamları, vb.)● Malicious Android Downloaders (Trojan) : Normal bir

uygulama olarak yüklenir ancak zararlı apk dosyasını uzak sunucudan yükler.

Page 9: Android Zararlı Yazılım Analizi IzHack'15

Analiz ÖncesiKullanılacak temel araçlar:● Android SDK● apktool : APK içeriklerinin çıkartılması

● dex2jar : .dex dosyalarının .jar dosyalarına dönüştürülmesi● jd-gui : .class dosyalarından kaynak kodlarına dönüştürülmesi● Santoku Linux

Page 10: Android Zararlı Yazılım Analizi IzHack'15

Santoku Linux (viaForensic)● Mobil Zararlı Yazılım Analizi

○ Mobil cihaz sanallaştırması○ Network servis simulasyonları○ Decompilation and Disassembly araçları

● Mobil Forensic○ Firmware flashing araçları○ Forensic araçları (açık kaynak + ticari)

● Mobil Güvenlik Testi○ Uygulama analiz scriptleri○ Decompilation and Disassembly araçları

Page 11: Android Zararlı Yazılım Analizi IzHack'15

Analiz Süreci➔ Analiz Yöntemleri

◆ Statik● Tersine Mühendislik

○ apktool○ dex2jar○ jdgui

◆ Dinamik● Android VM● Android SDK (android, emulator, adb, monitor)● Sandboxes

Page 12: Android Zararlı Yazılım Analizi IzHack'15

Decompiling Android APK $ apktool d [android.apk]$ jar xvf [android.apk] classes.dex # uygulamaya ait dex formatındaki dosyaları çıkartır.

$ sh dex2jar.sh classes.dex # dex formatından jar dosyasının oluşturulmasını sağlamaktadır.

$ jar xvf classes_dex2jar.jar # jar içerisindeki kaynak dosyalarının çıkartılmasını sağlar.

Page 13: Android Zararlı Yazılım Analizi IzHack'15

Statik Analiz (Kaynak Kod)

Page 14: Android Zararlı Yazılım Analizi IzHack'15

Dinamik Analiz (İzleme...)$ emulator -avd [cihaz_adı] --http-proxy 127.0.0.1:8080 #sanal cihaz içerisindeki isteklerin takibi için proxy ayarlı çalıştırılır

$ adb install [android.apk] # apk dosyası çalıştırılan cihaza yüklenir

$ adb shell # cihazın komut satırına erişmeyi sağlar

$ adb shell dumpsys meminfo [paket_adı] # analiz edilmek istenen uygulamanın paket adı ile sistem üzerindeki bilgileri alınır

$ adb shell logcat # cihazdaki log akışı anormallikleri yakalamak amaçlı takip edilir

Page 15: Android Zararlı Yazılım Analizi IzHack'15

Dinamik Analiz (İzleme)$ monitor # cihaz içerisindeki birçok işlemin takibi görsel yapılabilir

Page 16: Android Zararlı Yazılım Analizi IzHack'15

Dinamik Analiz (Aksiyon Alma)$ telnet 127.0.0.1 5554Android Console: type 'help' for a list of commandshelpAndroid console command help:

help|h|? print a list of commands event simulate hardware events

geo Geo-location commands gsm GSM related commands

cdma CDMA related commands kill kill the emulator instance

network manage network settings power power related commands

quit|exit quit control session redir manage port redirections

sms SMS related commands avd control virtual device execution

window manage emulator window qemu QEMU-specific commands

sensor manage emulator sensors

Page 17: Android Zararlı Yazılım Analizi IzHack'15

Android Zararlı Analizi Sonrası● Bulaşma Yöntemi : Zararlı cihaza nasıl yüklendi● Aktivasyon : Zararlı kendisini nasıl etkinleştirdi.● Yetki Yükseltme : Cihazda yetki yükseltme var mı? Nasıl?● Payload : Zararlı davranış için kullanılan yöntem, komutlar.● Başka Zararlı : İçerisinde başka zararlı(lar) mevcut mudur?

Page 19: Android Zararlı Yazılım Analizi IzHack'15

Teşekkürler ?

Blog: mehmetkilic.pro

LinkedIn : tr.linkedin.com/in/mhmtklc

SlideShare : http://www.slideshare.net/mehmetkilic