ios güvenlik mekanizmaları - unisip siber güvenlik sempozyumu 2014

19
iOS Güvenlik Mekanizmaları Code Signing, ASLR, DEP, Sanboxing, iOS Data Protection API… # UNISIPSiberGüvenlikSempzyumu’14 @OguzhanTopgul

Upload: oguzhantopgul

Post on 16-Jul-2015

782 views

Category:

Mobile


2 download

TRANSCRIPT

Page 1: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Güvenlik MekanizmalarıCode Signing, ASLR, DEP, Sanboxing, iOS Data Protection API…

# UNISIPSiberGüvenlikSempzyumu’14 !

@OguzhanTopgul

Page 2: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

# whoamiOğuzhan Topgü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

Page 3: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Kullanıcı KısıtlamasıEn temelde 2 kullanıcı var:

• root: iOS kernel user ve kernel daemon’ları

• mobile: Kullanıcının çalıştırdığı tüm uygulamalar, bazı temel uygulamalar (SMS, Phone) ve diğer tüm işlemler

Page 4: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Code SigningTüm kütüphane ve binary’ler

Kod parçaları,

HTML dosyaları, resimler, plist dosyaları vs.

Apple tarafından veya Apple Authorized bir sertifika ile imzalanıyor.

JailBreak yapınca Code Signing devre dışı kalıyor.

Page 5: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Data Execution Prevention DEP

Bellekte çalıştırılabilir kod ve data birbirinden ayrılıyor.XDEP bypass için: Return Oriented Programming - ROP ROP: Halihazırdaki kod parçalarının tekrar kullanılarak olağan dışı ve işlemler yapılması. (Reusing code snippets) Bu sayede istenmeyen kötü amaçlı işlemler yaptırılabilir.

Page 6: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Address Space Layout Randomization - ASLR

ROP’un en büyük düşmanı.

ROP’da kullanılacak kodun bellekteki lokasyonunu bilmemiz gerekiyor.

Binary’ler, kütüphaneler, dinamik linker’lar, stack ve heap bellek adresleri randomize ediliyor.

Memory Leak’ler ASLR bypass için kritik öneme sahip.

Page 7: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

SandBoxingKullanıcı Hakları kontrolüne ek güvenlik katmanı

Aynı user haklarıyla çalışsalar dahi, her uygulama kendi sandbox’ında.

SMS App ve Web Browser App: mobile

• SMS, browser cookie’sine erişemez.

• Browser, sms gönderemez.

Uygulamalar aynı hakla çalışıyor: Sandbox’un doğru çalışması gerek

Page 8: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Güvenliği

CODE SIGNINGDEP

SANDBOX

ASLRROP ILE KOD CALISTIR

Page 9: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

DRM korumasıDRM: Digital Rigths Management

Apple DRM = FairPlay

Apple Store’dan indirilen uygulamalar iTunes hesabı ile şifreleniyor.

İki farklı hesaptan aynı uygulamayı indirip kurabilirsin.

Uygulama binary’si Master Key ile şifrelenir.

Master Key, bir random key ile şifrelenir.

Random key iTunes hesabı ile ilişkilendirilip Appe Sunucularından tutulur.

Herhangi bir cihazda iTunes hesabı aktive edildiğinde bütün key’ler AppleStore uygulamasına gönderilir.

Uygulama binary’si cihazda DRM encrypted tutulur. Statik analiz için DRM encryption’un decrypt edilmesi gerekiyor.

Page 10: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Data Protection API Dosya Sistemi Koruması

Hangi dosya ve Keychain elemanları hassas

Hassas elemanlar hangi durumda erişilebilir.

File Key: Dosyanın şifrelendiği anahtar.

Class Key: File Key’i şifreleyen Anahtar

File System Key: Dosya sistemini şifreleyen anahtar

Page 11: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Data Protection API Dosya Sistemi Koruması

UID: Cihaza özel bir numara. Direk olarak erişilemez.

User Passcode: Kullanıcının device lock parolası

File System Key: Cihaz ilk kurulduğunda veya wipe edildiğinde yeniden oluşturulur.

Page 12: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Data Protection API Dosya Sistemi Koruması

Bir dosya oluşturulduğunda bir protection class ile ilişkilendirilir:

NSFileProtectionComplete: Şifre girildiğinde Class Key belleğe alınır. Tekrar lock edildiğinde bellekten silinir.!NSFileProtectionCompleteUntilFirstUserAuthentication: Şifre girildiğinde Class Key belleğe alınır.Cihaz yeniden başlayana kadar bellekte kalır.!NSFileProtectionNone: Class Key sadece UID değerinden üretilir.

Page 13: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Keychain: Parola ve sertifika gibi hassas verilerin tutulduğu bir sqlite veritabanı.

Keychain dosya sisteminde NSFileProtectionNone tipinde.

Keychain güvenliği Keychain Protection Class’lar ile sağlanır.

Her uygulamanın bir app id’si ve Keychain Access grubu var.

Her uygulama kendi id’sinin erişim izni olan elemanlara erişebilir.

Aynı Keychain Access Gruba ait uygulamalar birbirlerinin Keychain elemanlarına erişebilir. (Aynı developera ait app’ler)

XXXThisDeviceOnly : UID + Parola

iOS Data Protection API Keychain Koruması

Page 14: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Data Protection API Keychain Koruması

Page 15: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

JailBreak

Tüm disk partitionlarına w+x hakkı vermek (iOS7 ??)

AFC ile / dizinine erişim hakkı vermek

Code Signing’i devre dışı bırakmak

Shell ve gerekli araçları, programları yüklemek

APR (/usr/lib) APT 0.7 (apt-key) APT 0.7 Strict (lib)

Base Structure Big Boss Icon Set

Bourne-Again SHell bzip2

Core Utilities (/bin) evasi0n 6.0-6.1.2 Untether

Cydia Installer Cydia Translations

Darwin Tools Debian Packager Debian Utilities Tape Archive UI Kit Tools

Diff Utilities Find Utilities

GNU Privacy Guard grep gzip

LZMA Utils New Curses PAM (Apple)

PAM Modules pcre

Profile Directory readline

sed shell-cmds

system-cmds

Page 16: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

iOS Zararlı Yazılımlar

2009 2014

Page 17: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Unflod Baby Panda

Page 18: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Kitaplar ve Kaynaklar

http://images.apple.com/ipad/business/docs/iOS_Security_Feb14.pdfhttp://www.amazon.com/iOS-Hackers-Handbook-Charlie-Miller/dp/1118204123

http://www.amazon.com/Hacking-Securing-iOS-Applications-Hijacking/dp/1449318746http://www.amazon.com/Mac-OS-iOS-Internals-Apples/dp/1118057651

Page 19: iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014

Teşekkürler…OWASP Türkiye Sponsorları