Android Kötücül Yazılım
Tespit ve Koruma
Mekanizmaları
Talha KABAKUŞ
talha.kabakus@ibu.edu.tr
Ajanda
● Android Market Pazarı
● Kötücül Yazılım Çeşitleri
● Android Güvenlik Mekanizması
● Kullanıcı Profili
● Statik Analiz Yaklaşımı
● İmza Tabanlı Analiz ve Koruma
● Kriptolu Veri İletişimi ile Koruma
● Öne Sürülen Mimari
Kullanıcı Sayısı
“1 milyardan
fazla kullanıcı”
Surdar Pichai
Q4 2013
Uygulama Sayısı
“1 milyondan
fazla uygulama”
Hugo Barra
Temmuz 2013
Android Market Pazarı
Kaynak: Strategy Analytics
%81.3
Q3 2013
Neden Android?
● Açık kaynak kodlu
● Google destekli
● Ücretsiz
● Linux tabanlı
● Java
● Zengin SDK
● Güçlü üçüncü şahıs
community ve üretici destekleri
○ Sony, Motorola, HTC, Samsung
Kötücül Yazılım Marketi
%99Kaynak: CISCO 2014 Güvenlik Raporu
Kötücül Yazılım Artışı
Kaynak: Sophos Labs
1 milyon
Kötücül Yazılımlar Çeşitleri
● Arka kapı (Backdoor)
○ Şifresiz erişim/ele geçirme
● Exploit
○ İşletim sisteminin modifiye edilmesi
○ Arayüzlerin değiştirilmesi
● Spyware
○ İzinsiz reklamlar
○ Gizli bilgi toplaması, iletimi
○ Yetkisiz işlemler (SMS, arama)
Android Güvenlik Mekanizması
● İzin tabanlı
○ Kabul / Red
● Herkese açık, korumasız market
○ Herkes her türlü uygulamayı
yükleyebilmekte
● Pasif koruma - geri bildirim tabanlı
○ Olumsuz geri dönüş sonrası
uygulamalar marketten
kaldırılmakta
Kullanıcı Profili
%42
İzinlerden habersiz
%83
İzinlere vakit ayırmıyor
Kaynak: Felt, A.P., Ha, E., Egelman, S., Haney, A., Chin, E., Wagner, D.: Android permissions: User
Attention, Comprehension, and Behavior. Proceedings of the Eighth Symposium on Usable Privacy and
Security - SOUPS ’12. p. 1 (2012).
Statik Analiz Yaklaşımı
● APK dosyalarının ters mühendislik yöntemi
kullanarak incelenmesi
● Manifest dosyası
○ İzinler
○ Aktiviteler
○ Servisler
○ Alıcılar
● API çağrıları
● Kaynak kod taraması
Statik Analiz Araçları
● apktool
○ .apk arşivlerinin çıkartılmasını
● aapt
○ .apk arşiv içeriklerinin listelenmesi, içerik yönetimi
● dex2jar
○ .dex dosyalarının .jar dosyalarına dönüşümü
● jd-gui
○ .class dosyalarından Java kaynak kodlarına
dönüştürülmesi
Kaynak Kod Taraması
● Eşitlik kontrolleri
● Tip dönüşüm kontrolleri
● Statik güncelleme kontrolleri
● Ölü kod tespiti
● Tutarsız/yanlış hashCode
ve equals tanımlamaları
● null işaretçi/değişken kontrolleri
● Sonlandırma kontrolleri
Örnek tip dönüşüm kontrolü
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content" android:
id="@+id/username"/>
EditText editText = (EditText) findViewById(R.
id.username);
XML
Java
Örnek null değişken kontrolü
Java Aktivite Sınıfı
Layout tanımı
Örnek ölü kod tespiti
Hiçbir zaman
kullanılamayacak kod
bloğu
Erişilemeyen
kod
İmza Tabanlı Analiz ve Koruma
● Kötücül yazılım imza veritabanı
● Akıllı telefon istemcisi
● Merkez sunucu
● Öğrenmeye dayalı bir çözüm
● Sınıflandırma
Zararsız Kötücül
İmza Tabanlı Koruma Mimarisi
Kriptolu Veri İletişimi ve Koruma
● Değerli tüm veriler şifreli olarak SQLite
veritabanında saklanıp, gerektiğinde çözülerek
iletilmektedir.
● SMS
● Email
● Hassas dosyalar
● Şifreler
● Kimlik bilgileri
Pocatilu, 2011
Sistem Karşılaştırmaları
Yetenek MADAM DroidMat Julia
Manifest İncelemesi Var Var Var
API çağrı izlemesi Var Var Var
İmza veritabanı Var Var Yok
Güvenli veri alışverişi Yok Yok Yok
Makine öğrenmesi Var Var Yok
Referanslar I
● Bicheno, S.: Android Captures Record 81 Percent Share of Global Smartphone Shipments in
Q3 2013, http://blogs.strategyanalytics.com/WSS/post/2013/10/31/Android-Captures-
Record-81-Percent-Share-of-Global-Smartphone-Shipments-in-Q3-2013.aspx.
● Rowinski, D.: Google Play Hits One Million Android Apps, http://readwrite.
com/2013/07/24/google-play-hits-one-million-android-apps.
● Cisco 2014 Annual Security Report, https://www.cisco.
com/web/offer/gist_ty2_asset/Cisco_2014_ASR.pdf.
● Felt, A.P., Finifter, M., Chin, E., Hanna, S., Wagner, D.: A survey of mobile malware in the wild.
SPSM ’11 Proceedings
● Zhou, Y., Wang, Z., Zhou, W., Jiang, X.: Hey, You, Get Off of My Market: Detecting Malicious
Apps in Official and Alternative Android Markets. Proceedings of the 19th Annual Network
and Distributed System Security Symposium (NDSS) (2012).
● Felt, A.P., Ha, E., Egelman, S., Haney, A., Chin, E., Wagner, D.: Android permissions: User
Attention, Comprehension, and Behavior. Proceedings of the Eighth Symposium on Usable
Privacy and Security - SOUPS ’12. p. 1 (2012).
● Felt, A.P., Greenwood, K., Wagner, D.: The effectiveness of application permissions.
Proceeding of the WebApps’11 Proceedings of the 2nd USENIX conference on Web
application development. p. 7. USENIX Association, Berkeley, CA, USA (2011).
● Enck, W., Ongtang, M., Mcdaniel, P.: On Lightweight Mobile Phone Application Certification.
ACM conference on Computer and communications security. pp. 235–245 (2009).
Referanslar II
● Android Architecture, http://www.tutorialspoint.
com/android/android_architecture.htm.
● Wu, D.-J., Mao, C.-H., Wei, T.-E., Lee, H.-M., Wu, K.-P.: DroidMat: Android
Malware Detection through Manifest and API Calls Tracing. 2012 Seventh
Asia Joint Conference on Information Security. pp. 62–69 (2012).
● Payet, É., Spoto, F.: Static analysis of Android programs, (2012).
● Guido, M., Ondricek, J., Grover, J., Wilburn, D., Nguyen, T., Hunt, A.:
Automated identification of installed malicious Android applications. Digital
Investigation (2013).
● Dini, G., Martinelli, F., Saracino, A., Sgandurra, D.: MADAM: A Multi-level
Anomaly Detector for Android Malware. In: Kotenko, I. and Skormin, V. (eds.)
Computer Network Security. pp. 240–253. Springer Berlin Heidelberg, Berlin,
Heidelberg (2012).
● Pocatilu, P.: Android applications security. Inform. Econ. 15, 163–171.
Retrieved from http://revistaie.ase.ro (2011).
Teşekkürler...
/talhakabakus
talhakabakus@gmail.com
talhakabakus.weebly.com

Android Kötücül Yazılım (Malware) Tespit Mekanizmaları

  • 1.
    Android Kötücül Yazılım Tespitve Koruma Mekanizmaları Talha KABAKUŞ talha.kabakus@ibu.edu.tr
  • 2.
    Ajanda ● Android MarketPazarı ● Kötücül Yazılım Çeşitleri ● Android Güvenlik Mekanizması ● Kullanıcı Profili ● Statik Analiz Yaklaşımı ● İmza Tabanlı Analiz ve Koruma ● Kriptolu Veri İletişimi ile Koruma ● Öne Sürülen Mimari
  • 3.
    Kullanıcı Sayısı “1 milyardan fazlakullanıcı” Surdar Pichai Q4 2013
  • 4.
    Uygulama Sayısı “1 milyondan fazlauygulama” Hugo Barra Temmuz 2013
  • 5.
    Android Market Pazarı Kaynak:Strategy Analytics %81.3 Q3 2013
  • 6.
    Neden Android? ● Açıkkaynak kodlu ● Google destekli ● Ücretsiz ● Linux tabanlı ● Java ● Zengin SDK ● Güçlü üçüncü şahıs community ve üretici destekleri ○ Sony, Motorola, HTC, Samsung
  • 7.
    Kötücül Yazılım Marketi %99Kaynak:CISCO 2014 Güvenlik Raporu
  • 8.
  • 9.
    Kötücül Yazılımlar Çeşitleri ●Arka kapı (Backdoor) ○ Şifresiz erişim/ele geçirme ● Exploit ○ İşletim sisteminin modifiye edilmesi ○ Arayüzlerin değiştirilmesi ● Spyware ○ İzinsiz reklamlar ○ Gizli bilgi toplaması, iletimi ○ Yetkisiz işlemler (SMS, arama)
  • 10.
    Android Güvenlik Mekanizması ●İzin tabanlı ○ Kabul / Red ● Herkese açık, korumasız market ○ Herkes her türlü uygulamayı yükleyebilmekte ● Pasif koruma - geri bildirim tabanlı ○ Olumsuz geri dönüş sonrası uygulamalar marketten kaldırılmakta
  • 11.
    Kullanıcı Profili %42 İzinlerden habersiz %83 İzinlerevakit ayırmıyor Kaynak: Felt, A.P., Ha, E., Egelman, S., Haney, A., Chin, E., Wagner, D.: Android permissions: User Attention, Comprehension, and Behavior. Proceedings of the Eighth Symposium on Usable Privacy and Security - SOUPS ’12. p. 1 (2012).
  • 12.
    Statik Analiz Yaklaşımı ●APK dosyalarının ters mühendislik yöntemi kullanarak incelenmesi ● Manifest dosyası ○ İzinler ○ Aktiviteler ○ Servisler ○ Alıcılar ● API çağrıları ● Kaynak kod taraması
  • 13.
    Statik Analiz Araçları ●apktool ○ .apk arşivlerinin çıkartılmasını ● aapt ○ .apk arşiv içeriklerinin listelenmesi, içerik yönetimi ● dex2jar ○ .dex dosyalarının .jar dosyalarına dönüşümü ● jd-gui ○ .class dosyalarından Java kaynak kodlarına dönüştürülmesi
  • 14.
    Kaynak Kod Taraması ●Eşitlik kontrolleri ● Tip dönüşüm kontrolleri ● Statik güncelleme kontrolleri ● Ölü kod tespiti ● Tutarsız/yanlış hashCode ve equals tanımlamaları ● null işaretçi/değişken kontrolleri ● Sonlandırma kontrolleri
  • 15.
    Örnek tip dönüşümkontrolü <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android: id="@+id/username"/> EditText editText = (EditText) findViewById(R. id.username); XML Java
  • 16.
    Örnek null değişkenkontrolü Java Aktivite Sınıfı Layout tanımı
  • 17.
    Örnek ölü kodtespiti Hiçbir zaman kullanılamayacak kod bloğu Erişilemeyen kod
  • 18.
    İmza Tabanlı Analizve Koruma ● Kötücül yazılım imza veritabanı ● Akıllı telefon istemcisi ● Merkez sunucu ● Öğrenmeye dayalı bir çözüm ● Sınıflandırma Zararsız Kötücül
  • 19.
  • 20.
    Kriptolu Veri İletişimive Koruma ● Değerli tüm veriler şifreli olarak SQLite veritabanında saklanıp, gerektiğinde çözülerek iletilmektedir. ● SMS ● Email ● Hassas dosyalar ● Şifreler ● Kimlik bilgileri Pocatilu, 2011
  • 21.
    Sistem Karşılaştırmaları Yetenek MADAMDroidMat Julia Manifest İncelemesi Var Var Var API çağrı izlemesi Var Var Var İmza veritabanı Var Var Yok Güvenli veri alışverişi Yok Yok Yok Makine öğrenmesi Var Var Yok
  • 22.
    Referanslar I ● Bicheno,S.: Android Captures Record 81 Percent Share of Global Smartphone Shipments in Q3 2013, http://blogs.strategyanalytics.com/WSS/post/2013/10/31/Android-Captures- Record-81-Percent-Share-of-Global-Smartphone-Shipments-in-Q3-2013.aspx. ● Rowinski, D.: Google Play Hits One Million Android Apps, http://readwrite. com/2013/07/24/google-play-hits-one-million-android-apps. ● Cisco 2014 Annual Security Report, https://www.cisco. com/web/offer/gist_ty2_asset/Cisco_2014_ASR.pdf. ● Felt, A.P., Finifter, M., Chin, E., Hanna, S., Wagner, D.: A survey of mobile malware in the wild. SPSM ’11 Proceedings ● Zhou, Y., Wang, Z., Zhou, W., Jiang, X.: Hey, You, Get Off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets. Proceedings of the 19th Annual Network and Distributed System Security Symposium (NDSS) (2012). ● Felt, A.P., Ha, E., Egelman, S., Haney, A., Chin, E., Wagner, D.: Android permissions: User Attention, Comprehension, and Behavior. Proceedings of the Eighth Symposium on Usable Privacy and Security - SOUPS ’12. p. 1 (2012). ● Felt, A.P., Greenwood, K., Wagner, D.: The effectiveness of application permissions. Proceeding of the WebApps’11 Proceedings of the 2nd USENIX conference on Web application development. p. 7. USENIX Association, Berkeley, CA, USA (2011). ● Enck, W., Ongtang, M., Mcdaniel, P.: On Lightweight Mobile Phone Application Certification. ACM conference on Computer and communications security. pp. 235–245 (2009).
  • 23.
    Referanslar II ● AndroidArchitecture, http://www.tutorialspoint. com/android/android_architecture.htm. ● Wu, D.-J., Mao, C.-H., Wei, T.-E., Lee, H.-M., Wu, K.-P.: DroidMat: Android Malware Detection through Manifest and API Calls Tracing. 2012 Seventh Asia Joint Conference on Information Security. pp. 62–69 (2012). ● Payet, É., Spoto, F.: Static analysis of Android programs, (2012). ● Guido, M., Ondricek, J., Grover, J., Wilburn, D., Nguyen, T., Hunt, A.: Automated identification of installed malicious Android applications. Digital Investigation (2013). ● Dini, G., Martinelli, F., Saracino, A., Sgandurra, D.: MADAM: A Multi-level Anomaly Detector for Android Malware. In: Kotenko, I. and Skormin, V. (eds.) Computer Network Security. pp. 240–253. Springer Berlin Heidelberg, Berlin, Heidelberg (2012). ● Pocatilu, P.: Android applications security. Inform. Econ. 15, 163–171. Retrieved from http://revistaie.ase.ro (2011).
  • 24.