ݺߣ

ݺߣShare a Scribd company logo
Android’de Parmak
Kaldırmadan Konuşmak
#SiberGüvenlikKonferansı’14

!
@OguzhanTopgul
# whoami
OğuzhanTopgül
Uzman Araştırmacı @Siber Güvenlik Enstitüsü
• Mobil Güvenlik
• Mobil Zaralı Yazılımlar
• Web Güvenliği
OWASP-Türkiye - webguvenligi.org
BGK - bilgiguvenligi.gov.tr
Blog - oguzhantopgul.com
Android İzin Modeli
• Korunan kaynaklara erişim OS
üzerinden olur.

• Korunan kaynaklara erişim
için izin talep edilmelidir.

• İzinler toplu olarak verilir ve
geri alınamaz.

• Uygulama kaldırıldığında
verilen tüm izinler kaldırılır.
AndroidManifest.XML
Android İzin Seviyeleri
• Normal: Kullanıcıya ciddi bir zarar vermeyecek izinler.(duvar
kağıdı değiştirmek vb.) Kullanıcı onayı alınmaz.
• Dangerous: Kullanıcıya zarar verebilecek izinler. Maddi karşılığı
olabilecek izinler (SMS, telefon, internet). Kullanıcı onayı gerekir
• Signature: Aynı geliştirici sertifikasıyla imzalanmış uygulamalarda
kullanıcıya sorulmadan otomatik olarak izinler verilir.
• Signature/System: Signature seviyesi ile aynı. Android system
imajı içerisindeki uygulamalara ait haklar için de kullanıcı onayı
alınmamasını sağlar.
Android Uygulama
Komponentleri
• Activity: Uygulamanın her bir ekranı
• Service: Arka planda (uzun süreli) çalışan uygulamalar.
Kullanıcı arayüzü yoktur.
• Broadcast Receiver: Sistem geneli broadcast’leri
yakalayan ve aksiyon gösteren komponent.
• Content Provider: Uygulama verilerinin paylaşılmasını
ve erişilebilir olmasını sağlayan komponent.
Android İzin Tanımlama
• Android KitKat 4.4 - API Level 19: 145 izin bulunuyor.*
• Uygulamaya ait komponent izin tanımlanarak korunabilir.
* http://developer.android.com/reference/android/Manifest.permission.html
Android Contacts/People
Servisler ve Saldırı Vektörü #1
= Masum Uygulama =	
	
<uses-permission
"READ_CONTACTS" />	
<uses-permission
"INTERNET" />	
!
<service “BGService" />	
!
!
= Zararlı Uygulama =
!
!
!
!
İzin Kullanmıyor
!
!
!
!
servis çağrısı
Servisler ve Saldırı Vektörü #2
= Uygulama 1 =
<uses-permission
"READ_CONTACTS" />
!
!
<service “BGService" />
!
!
= Uygulama 2 =
!
!
<uses-permission "INTERNET" />
!
Result Receiver
!
!
!
servis çağrısı
Telefon Rehberi
Servisler ve Saldırı Vektörü #3
= Masum Uygulama =
<uses-permission
"READ_CONTACTS" />
!
!
<service “BGService" />
!
!
= Zararlı Uygulama =
!
!
Result Receiver
!
Implicit Web Browser Intent
!
!
servis çağrısı
Telefon Rehberi
PoC
Ekranın Kapandığını Algılama
Korumasız Servisler
• Android Power Widget
• GPS Service
?
Teşekkürler…
OWASP Türkiye Sponsorlarımız

More Related Content

Android'de Parmak Kaldırmadan Konusmak - İzinsiz Uygulamda İzin Kullanmak Siber Güvenlik Konferansı 2014

  • 2. # whoami OğuzhanTopgül Uzman Araştırmacı @Siber Güvenlik Enstitüsü • Mobil Güvenlik • Mobil Zaralı Yazılımlar • Web Güvenliği OWASP-Türkiye - webguvenligi.org BGK - bilgiguvenligi.gov.tr Blog - oguzhantopgul.com
  • 3. Android İzin Modeli • Korunan kaynaklara erişim OS üzerinden olur. • Korunan kaynaklara erişim için izin talep edilmelidir. • İzinler toplu olarak verilir ve geri alınamaz. • Uygulama kaldırıldığında verilen tüm izinler kaldırılır.
  • 5. Android İzin Seviyeleri • Normal: Kullanıcıya ciddi bir zarar vermeyecek izinler.(duvar kağıdı değiştirmek vb.) Kullanıcı onayı alınmaz. • Dangerous: Kullanıcıya zarar verebilecek izinler. Maddi karşılığı olabilecek izinler (SMS, telefon, internet). Kullanıcı onayı gerekir • Signature: Aynı geliştirici sertifikasıyla imzalanmış uygulamalarda kullanıcıya sorulmadan otomatik olarak izinler verilir. • Signature/System: Signature seviyesi ile aynı. Android system imajı içerisindeki uygulamalara ait haklar için de kullanıcı onayı alınmamasını sağlar.
  • 6. Android Uygulama Komponentleri • Activity: Uygulamanın her bir ekranı • Service: Arka planda (uzun süreli) çalışan uygulamalar. Kullanıcı arayüzü yoktur. • Broadcast Receiver: Sistem geneli broadcast’leri yakalayan ve aksiyon gösteren komponent. • Content Provider: Uygulama verilerinin paylaşılmasını ve erişilebilir olmasını sağlayan komponent.
  • 7. Android İzin Tanımlama • Android KitKat 4.4 - API Level 19: 145 izin bulunuyor.* • Uygulamaya ait komponent izin tanımlanarak korunabilir. * http://developer.android.com/reference/android/Manifest.permission.html
  • 9. Servisler ve Saldırı Vektörü #1 = Masum Uygulama = <uses-permission "READ_CONTACTS" /> <uses-permission "INTERNET" /> ! <service “BGService" /> ! ! = Zararlı Uygulama = ! ! ! ! İzin Kullanmıyor ! ! ! ! servis çağrısı
  • 10. Servisler ve Saldırı Vektörü #2 = Uygulama 1 = <uses-permission "READ_CONTACTS" /> ! ! <service “BGService" /> ! ! = Uygulama 2 = ! ! <uses-permission "INTERNET" /> ! Result Receiver ! ! ! servis çağrısı Telefon Rehberi
  • 11. Servisler ve Saldırı Vektörü #3 = Masum Uygulama = <uses-permission "READ_CONTACTS" /> ! ! <service “BGService" /> ! ! = Zararlı Uygulama = ! ! Result Receiver ! Implicit Web Browser Intent ! ! servis çağrısı Telefon Rehberi
  • 12. PoC
  • 14. Korumasız Servisler • Android Power Widget • GPS Service