mobil uygulamalarda avcılık - nebi Şenol yılmaz #siberguvenlikkonferansi 14.05.14

40
Mobil Uygulamalarda Güvenlik Denetimi Nebi Şenol YILMAZ Danışman / Yönetici Ortak [email protected] Secrove Information Security Consulting

Upload: siber-guevenlik-dernegi

Post on 08-Jun-2015

651 views

Category:

Technology


6 download

DESCRIPTION

Siber Güvenlik Konferansı'14 etkinliğinde N. Şenol Yılmaz tarafından gerçekleştirilen sunum dosyasıdır.

TRANSCRIPT

Page 1: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Mobil Uygulamalarda Güvenlik Denetimi

Nebi Şenol YILMAZDanışman / Yönetici [email protected]

Secrove Information Security Consulting

Page 2: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 2

Ajanda

● Hakkımızda● Mobil Dünya● Güvenlik İhtiyacı● Uygulama Denetimi● Örnek Uygulama

Page 3: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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ı

Page 4: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 4

Mobil Dünya

●Gözümüz●Kulağımız●Dilimiz

haline geldi...

Page 5: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 5

Mobil Dünya

İşimiz artık parmaklarımızın ucunda, ya da ....

Page 6: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 6

Mobil Dünya

Avucumuzun içinde ....

Page 7: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 7

Mobil Dünya

:)

ve bütün hizmetler önümüze geliyor ....

Page 8: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 8

Güvenlik İhtiyacı

Page 9: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 9

Güvenlik İhtiyacı

Page 10: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 10

Uygulama Denetimi

● Ağ Üzerinde Denetim● Statik Kod Analizi● Dinamik Analiz

Page 11: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 11

Uygulama Denetimi

● Ağ Üzerinde Denetim

Internet

Page 12: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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?

Page 13: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 13

Uygulama Denetimi

● Statik Kod Analizi

Page 14: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 14

Uygulama Denetimi

● Statik Kod Analizi● Otomatik araçlar ile kod analizi● Uzman insan kaynağı ile kod analizi

Page 15: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 15

Uygulama Denetimi

● Dinamik Analiz

Page 16: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 17: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 17

Uygulama Denetimi

● Dinamik Analiz● Debugger (gdb)● Otool● Class-dump-z● Snoop-it● Cycript

Page 18: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 18

Uygulama Denetimi

● Dinamik Analiz● Debugger (gdb)

Page 19: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 19

Uygulama Denetimi

● Dinamik Analiz● otool

Page 20: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 20

Uygulama Denetimi

● Dinamik Analiz● class-dump-z

Page 21: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 21

Uygulama Denetimi

● Dinamik Analiz● Snoop-it

Page 22: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 22

Uygulama Denetimi

● Dinamik Analiz● cycript

Page 23: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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

Page 24: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 24

Örnek Uygulama - cycript

● İlk olarak jailbreak yapılmış telefonumuza:● Cycript● Class-dump-z

kurmalıyız.

Page 25: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 25

Örnek Uygulama - cycript

● SSH ile telefona erişip, üzerinde işlem yapacağımız uygulamayı seçeceğiz:

Page 26: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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:

Page 27: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 27

Örnek Uygulama - cycript● Hedefimizde uygulamaların “icon”ları var.● Görsel “subview” özelliklerini kullanarak “SBIconView”a erişeceğiz.

Page 28: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 29: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 30: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 30

Örnek Uygulama - cycript● Object'lerde daha üste çıktığımızda...

● Artık masaüstünü tamamen gizlemiş olduk.

Page 31: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 31

Örnek Uygulama - cycript● ... ve herşeyi geri getirelim...

● setHidden: NO

Page 32: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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?

Page 33: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 34: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 35: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 35

Örnek Uygulama - cycript

● Uygulamayı dump edip, “AppDelegate” içindeki fonksiyonları inceleyelim.

Page 36: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 36

Örnek Uygulama - cycript● Bu fonksiyonlar içinde

“pinLockControllerDidFinishUnlocking” isminde bir fonksiyon mevcut.Denemeye değer...

Page 37: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 37

Örnek Uygulama - cycript● Cycript içinden “pinLockControllerDidFinishUnlocking” fonksiyonunu call

ediyoruz.

Page 38: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 39: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

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.

Page 40: Mobil Uygulamalarda Avcılık - Nebi Şenol Yılmaz #SiberGuvenlikKonferansi 14.05.14

Secrove Information Security Consulting 40

Teşekkürler !