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

  • View
    170

  • Download
    8

  • Category

    Mobile

Preview:

Citation preview

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

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

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ı

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.

Android Lifecycle

AndroidManifest.xml

Android Zararlı Yazılımları

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.

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

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ı

Analiz Süreci➔ Analiz Yöntemleri

◆ Statik● Tersine Mühendislik

○ apktool○ dex2jar○ jdgui

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

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.

Statik Analiz (Kaynak Kod)

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

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

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

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?

Teşekkürler ?

Blog: mehmetkilic.pro

LinkedIn : tr.linkedin.com/in/mhmtklc

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

Recommended