My #hacktrickconf presentation about Joshua Drake's Stagefright vulnerability.
This is the English version of my presentation:
http://www.slideshare.net/oguzhantopgul/androidin-yeni-kabusu-medya-dosyalari-media-files-androids-new-nightmare-52578473
I tried to explain the details of CVE-2015-1538, P0004, Google Stagefright ‘stts’ MP4 Atom Integer Overflow Remote Code Execution vulnerability
My #hacktrickconf presentation about Joshua Drake's Stagefright vulnerability.
This is the English version of my presentation:
http://www.slideshare.net/oguzhantopgul/androidin-yeni-kabusu-medya-dosyalari-media-files-androids-new-nightmare-52578473
I tried to explain the details of CVE-2015-1538, P0004, Google Stagefright ‘stts’ MP4 Atom Integer Overflow Remote Code Execution vulnerability
Sunumda Ransomware tehditlerinin teknik analizleri ve farklı bir koruma yöntemi ile bu zararlılara karşı dokümanların nasıl korunabileceği anlatılmaktadır.
Devfest istanbul'14 - Web Application Attacks and Trusting FrameworksMehmet Ince
Frameworks are undeniably one of the most important elements of frameworks. As we continue to witness a significant increase in number of framework-based attacks towards web applications each day, usage of Frameworks without considering security-related aspects continue to be the most drastic problem that developers face. Throughout the presentation; Mr. İnce will analyze one of the most commonly-used PHP web frameworks by highlighting important security considerations; followed by a real-time exploitation of discovered vulnerability in LAB environment.
More Related Content
Similar to iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014
Sunumda Ransomware tehditlerinin teknik analizleri ve farklı bir koruma yöntemi ile bu zararlılara karşı dokümanların nasıl korunabileceği anlatılmaktadır.
Devfest istanbul'14 - Web Application Attacks and Trusting FrameworksMehmet Ince
Frameworks are undeniably one of the most important elements of frameworks. As we continue to witness a significant increase in number of framework-based attacks towards web applications each day, usage of Frameworks without considering security-related aspects continue to be the most drastic problem that developers face. Throughout the presentation; Mr. İnce will analyze one of the most commonly-used PHP web frameworks by highlighting important security considerations; followed by a real-time exploitation of discovered vulnerability in LAB environment.
Similar to iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014 (18)
Devfest istanbul'14 - Web Application Attacks and Trusting Frameworks
iOS Güvenlik Mekanizmaları - UNISIP Siber Güvenlik Sempozyumu 2014
1. iOS Güvenlik Mekanizmaları
Code Signing, ASLR, DEP, Sanboxing, iOS Data Protection API…
# UNISIPSiberGüvenlikSempzyumu’14
!
@OguzhanTopgul
2. # whoami
Oğ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
3. 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
4. Code Signing
Tü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.
5. Data Execution Prevention
DEP
Bellekte çalıştırılabilir kod ve data birbirinden ayrılıyor.X
DEP 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.
6. 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.
7. SandBoxing
Kullanı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
9. 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.
10. 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
11. 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.
12. 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.
13. 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ı
15. 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