Mobil Uygulamalarda Güvenlik Denetimi
Nebi Şenol YILMAZDanışman / Yönetici [email protected]
Secrove Information Security Consulting
Secrove Information Security Consulting 2
Ajanda
● Hakkımızda● Mobil Dünya● Güvenlik İhtiyacı● Uygulama Denetimi● Örnek Uygulama
Secrove Information Security Consulting 3
Hakkımızda
● Nebi Şenol YILMAZ, CISA, C|EH, ISO 27001 LA
● Secrove Information Security Consulting● Bilgi Güvenliği Danışmanlığı● Zafiyet Araştırmaları● Bilgi Güvenliği Eğitimleri● Siber İstihbarat Çalışmaları
Secrove Information Security Consulting 4
Mobil Dünya
●Gözümüz●Kulağımız●Dilimiz
haline geldi...
Secrove Information Security Consulting 5
Mobil Dünya
İşimiz artık parmaklarımızın ucunda, ya da ....
Secrove Information Security Consulting 6
Mobil Dünya
Avucumuzun içinde ....
Secrove Information Security Consulting 7
Mobil Dünya
:)
ve bütün hizmetler önümüze geliyor ....
Secrove Information Security Consulting 8
Güvenlik İhtiyacı
Secrove Information Security Consulting 9
Güvenlik İhtiyacı
Secrove Information Security Consulting 10
Uygulama Denetimi
● Ağ Üzerinde Denetim● Statik Kod Analizi● Dinamik Analiz
Secrove Information Security Consulting 11
Uygulama Denetimi
● Ağ Üzerinde Denetim
Internet
Secrove Information Security Consulting 12
Uygulama Denetimi
● Ağ Üzerinde Denetim● Veriler açık olarak mı iletiliyor?● Gizli veri sızdırma mevcut mu?● Veriler manipüle edilebiliryor mu?● Manipülasyon sunucu tarafında zafiyet
oluşturuyor mu?
Secrove Information Security Consulting 13
Uygulama Denetimi
● Statik Kod Analizi
Secrove Information Security Consulting 14
Uygulama Denetimi
● Statik Kod Analizi● Otomatik araçlar ile kod analizi● Uzman insan kaynağı ile kod analizi
Secrove Information Security Consulting 15
Uygulama Denetimi
● Dinamik Analiz
Secrove Information Security Consulting 16
Uygulama Denetimi
● Dinamik Analiz● Uygulamanın çalışması sırasında manipülasyon
yapmamızı sağlar.
● Client-side kontrollerin hepsi by-pass edilebilir.
● Gizlenmiş fonksiyonların çağrılması sağlanabilir.
● Gizlenmiş veriler dump olarak alınabilir.
Secrove Information Security Consulting 17
Uygulama Denetimi
● Dinamik Analiz● Debugger (gdb)● Otool● Class-dump-z● Snoop-it● Cycript
Secrove Information Security Consulting 18
Uygulama Denetimi
● Dinamik Analiz● Debugger (gdb)
Secrove Information Security Consulting 19
Uygulama Denetimi
● Dinamik Analiz● otool
Secrove Information Security Consulting 20
Uygulama Denetimi
● Dinamik Analiz● class-dump-z
Secrove Information Security Consulting 21
Uygulama Denetimi
● Dinamik Analiz● Snoop-it
Secrove Information Security Consulting 22
Uygulama Denetimi
● Dinamik Analiz● cycript
Secrove Information Security Consulting 23
Uygulama Denetimi● Örnek Uygulama
● Cycript
● Görsel özelliklerde işlem yapabiliriz● SpringBoard üzerinde işlemler gerçekleştirmek
● Fonksiyon özelliklerinde işlem yapabiliriz● PhotoVault uygulamasında authentication by-pass gerçekleştirmek
Secrove Information Security Consulting 24
Örnek Uygulama - cycript
● İlk olarak jailbreak yapılmış telefonumuza:● Cycript● Class-dump-z
kurmalıyız.
Secrove Information Security Consulting 25
Örnek Uygulama - cycript
● SSH ile telefona erişip, üzerinde işlem yapacağımız uygulamayı seçeceğiz:
Secrove Information Security Consulting 26
Örnek Uygulama - cycript● Cycript ile, işlem yapacağımız process'e attach olacağız:● Ağaç yapısında uygulama window görsellerine erişeceğiz:
Secrove Information Security Consulting 27
Örnek Uygulama - cycript● Hedefimizde uygulamaların “icon”ları var.● Görsel “subview” özelliklerini kullanarak “SBIconView”a erişeceğiz.
Secrove Information Security Consulting 28
Örnek Uygulama - cycript● Uygulama “icon”larına eriştiğimize göre, işlem yapabiliriz.● Bir uygulama'yi görünmez yapalım.
● İlgili object'in “setHidden”metodunu çağırıyoruz.
● Metod çağırırken komutları[.....] içerisinde kullanıyoruz.
Secrove Information Security Consulting 29
Örnek Uygulama - cycript● Object'ler hiyerarşik olduğu için bir üst subview üzerinde işlem yapalım.
● Eriştiğimiz “subview” icon container olduğu içincontainer içideki bütün “icon”lar kayboldu.
Secrove Information Security Consulting 30
Örnek Uygulama - cycript● Object'lerde daha üste çıktığımızda...
● Artık masaüstünü tamamen gizlemiş olduk.
Secrove Information Security Consulting 31
Örnek Uygulama - cycript● ... ve herşeyi geri getirelim...
● setHidden: NO
Secrove Information Security Consulting 32
Örnek Uygulama - cycript
● Şimdi de PhotoVault uygulamasına bir bakalım.
● Uygulama giriş için parola istiyor...
● Bu ekranı by-pass edebilir miyiz?
Secrove Information Security Consulting 33
Örnek Uygulama - cycript● Cycript ile uygulamaya attach olup, bu ekranı geçmeye ilişkin
fonksiyon çağrısı yapabilirsek, by-pass etmiş olacağız.
● Bunun için “Application Delegate”içerisindeki fonksiyonlara göz atmamız gerekiyor.
● Bu noktada “class-dump-z” kullanacağız.
Secrove Information Security Consulting 34
Örnek Uygulama - cycript● Uygulamaya attach olup, adım adım ilerleyelim...
● Process ID: 4791
● Application Delegate: “AppDelegate”
● Class-dump-z ile uygulamanın class-dump'ını alıpişimize yarayacak fonksiyonlara bakabiliriz.
Secrove Information Security Consulting 35
Örnek Uygulama - cycript
● Uygulamayı dump edip, “AppDelegate” içindeki fonksiyonları inceleyelim.
Secrove Information Security Consulting 36
Örnek Uygulama - cycript● Bu fonksiyonlar içinde
“pinLockControllerDidFinishUnlocking” isminde bir fonksiyon mevcut.Denemeye değer...
Secrove Information Security Consulting 37
Örnek Uygulama - cycript● Cycript içinden “pinLockControllerDidFinishUnlocking” fonksiyonunu call
ediyoruz.
Secrove Information Security Consulting 38
Örnek Uygulama - cycript● Fonksiyon çağrımız işe yarıyor ve authentication ekranını by-pass etmiş
oluyoruz
● Peki başka neler yapabiliriz?
● PhotoVault Uygulamasının “iconBadge”ini değiştirelim.
Secrove Information Security Consulting 39
Örnek Uygulama - cycript
● Uygulamanın belleğinde işlem yapmamıza iman sağlayan “cycript” ile ● Uygulama arayüzüne ilişkin manipülasyonlar● Uygulama içindeki değişkenlere ilişkin manipülasyonlar● Uygulam içindeki fonksiyon çağrılarına ilişkin manipülasyonlar
gerçekleştirilerek, uygulama içerisindeki kontroller by-pass edilebilmektedir.
Secrove Information Security Consulting 40
Teşekkürler !
Top Related