Statik Analiz Dinamik Analiz Açık Kutu Testleri



Benzer belgeler
Sertan Kolat



Kişisel Hazırlık/Yeterlilik TestYapılan Ortamlardaki Problemler Denetimin Planlanması Metodoloji Bilgi Toplama/Keşif Zaafiyet Tespiti ve Penetrasyon

Bilgi güvenliği konusunda farkındalık yaratmak. Mobil cihazlardaki riskleri anlatmak. Mobil uygulamaların bilgi güvenliği açısından incelemek 2

İÇİNDEKİLER VII İÇİNDEKİLER

Mobil Uygulamalarda Güvenlik Denetimi

AirPrint Kılavuzu. Sürüm 0 TUR

Web Uygulama Güvenliği Kontrol Listesi 2010

Android Uygulamalarında Güvenlik Testi

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu şu modeller içindir:

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Bilgisayar Ağları ve Ağ Güvenliği DR. ÖĞR. ÜYESİ KENAN GENÇOL HİTİT ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK MÜH.

WEB SUNUCU GÜVENLİĞİ: Web Siteleri Neden Hacklenir?

EFe Event Management System

Metasploit Framework ile Güvenlik Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı fatih.ozavci at gamasec.net

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu şu modeller içindir:

Icerik filtreleme sistemlerini atlatmak icin kullanacağımız yöntem SSH Tünelleme(SSH in SOCKS proxy ozelligini kullanacagiz).

IPCop ile Ağ Güvenliği ve Yönlendirme. Kerem Can Karakaş.

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği

MATRİKS E-BROKER ELEKTRONİK İŞLEM PLATFORMU MATRİKS TRADER VE JAVA MATRİKS ENTEGRASYONLARI

GoPro APP Nedir ve Yazılım Nasıl Güncellenir?

Özgür Yazılımlar ile VoIP Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak

AirPrint Kılavuzu. Bu Kullanıcı Kılavuzu aşağıdaki modeller için geçerlidir: MFC-J3520/J3720. Sürüm 0 TUR

Qlik Sense için sistem gereksinimleri. Qlik Sense June 2017 Copyright QlikTech International AB. Tüm hakları saklıdır.

BİLGİSAYAR VE AĞ GÜVENLİĞİ ÖĞR. GÖR. MUSTAFA ÇETİNKAYA DERS 2 > AĞ VE UYGULAMA GÜVENLİĞİ

BLIND SQL INJECTION SALDIRILARI

AirPrint Kılavuzu. Bu Kullanım Kılavuzu aşağıdaki modeller için geçerlidir: MFC-J2320/J2720. Sürüm 0 TUR

Mobile Sistemler ve Uygulama Güvenliği

CAN TECİM HEDEF DENEYİM. Tecrübe bütün öğretmenlerin en iyisidir. Publilus Syrus

Mobil Güvenlik Eğitimi Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

FINDIK Herkese Açık Filtre

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

Linux ve Windows Üzerinde C ve C++ Kullanımı

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

Yerel Okul Sunucusu Uygulama Yazılımları Prototipi

SÜRE BAŞLAMA TARİHİ : 19/12/2018 BİTİŞ TARİHİ : 20/02/2019 KURS SÜRESİ : 144 Saat KURS NO :

Exploit Geliştirme Altyapıları. Fatih Özavcı Bilgi Güvenliği Danışmanı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Açık Kaynak Kodlu Yazılım

YAZILIM GÜVENLİK TESTLERİ. H A L D U N T E R A M A N h a l d u n t e r a m a g m a i l. c o m

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.2 Telif Hakkı QlikTech International AB. Tüm hakları saklıdır.

BİLGİLENDİRİCİ REHBER. Mobil Uygulama İncelemesi

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.1 Copyright QlikTech International AB. Tüm hakları saklıdır.

Fiery Command WorkStation 5.8 ile Fiery Extended Applications 4.4

Computer and Network Security Cemalettin Kaya Güz Dönemi

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

Yandex mail ve disk kullanım rehberi

ÖZGÜR YAZILIMLAR İLE J2EE

PAPERWORK TEKNİK MİMARİ

KURUMSAL BİLGİ TEKNOLOJİLERİNDE PROFESYONEL ÇÖZÜMLER. i-gate E-DEFTER UYGULAMASI Bilgi Teknolojileri

Temel Bilgi Teknlolojileri 1. Ders notları 2. Öğr.Gör. Hüseyin Bilal MACİT 2017

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

MOBIL UYGULAMA GELIŞTIRME

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Veritabanı. Ders 2 VERİTABANI

2. dönem itibariyle ben de Zararlı Yazılım Analizi 101 dersi vererek bu programa katkıda bulunacağım.

Yeni Nesil Ağ Güvenliği

HAZIRLAYAN BEDRİ SERTKAYA Sistem Uzmanı CEH EĞİTMENİ

Qlik Sense için sistem gereksinimleri. Qlik Sense 3.0 Copyright QlikTech International AB. Tüm hakları saklıdır.

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Güvenlik Java ve Web Uygulama Güvenliği

Ders İ zlencesi. Ders Başlığı. Dersin amacı. Önceden sahip olunması gereken beceri ve bilgiler. Önceden alınması gereken ders veya dersler

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak adresine gidiyoruz.

EMC Forum Yazılım Temelli Veri Depolama Moro Hekim Sistem Mühendisi

Millî Savunma Bakanlığında Pardus Kullanımı 1/32

Papercut ile TÜKETİMİ AZALTIN, BASKILARI TAKİP EDİN & TASARRUF EDİN.

Gökhan AKIN İTÜ/BİDB Ağ Grubu Başkanı - ULAK/CSIRT

Java Temel Özellikleri

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

AirPrint Kılavuzu. Bu Kullanım Kılavuzu aşağıdaki modeller için geçerlidir: DCP-J105, MFC-J200. Sürüm 0 TUR

Kurulum ve Başlangıç Kılavuzu. DataPage için

HP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU. Levent Gönenç GÜLSOY

Özgür Yazılımlar ile VoIP Denetimi. Fatih Özavcı Bilgi Güveniği Danışmanı

Windows İşletim Sistemi

İşletim Sistemi Nedir?

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

Trend Micro Worry-Free Business Security 8.0 İlk Kez Kurulumla İlgili İpuçları ve Püf Noktaları

MUDDYWATER / PROXYRAT SİSTEM SIKILAŞTIRMA ÖNERİLERİ

PHP 1. Hafta 2.Sunum

BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

MCR02-AE Ethernet Temassız Kart Okuyucu

BEYOND: Two Souls BEYOND Touch Uygulaması

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Özgür Yazılımlar ile VoIP Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı

Oracle MiniCluster S7-2

Zope Uygulama Sunucusu

Üst Düzey Programlama

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Transkript:

Sertan Kolat

ios İşletim Sistemi Donanım ve Mimari Bilgisi ios Güvenlik Özellikleri ios Uygulamaları ve Bileşenleri ios Uygulama Denetimi Araç Kiti Kapalı Kutu Testleri Statik Analiz Dinamik Analiz Açık Kutu Testleri

Sertan Kolat Security Beast Avanteg Güvenlik Denetimi & Servisler Yöneticisi Güvenlik TV Yapımcı ve Sunucu CISSP, CISA, OSCP Blogger SertanKolat.com AutomatedScanning.blogspot.com

iphone OS - > ios!= Cisco IOS OS X ten türetilme iphone, ipod touch, ipad, Apple TV Sadece Apple donanımlarında kullanılıyor

* http://en.wikipedia.org/wiki/ios

İşlemci Mimari Jenerasyonu ARM7TDMI ARMv4 ipod Kullanılan Cihaz ARM9E ARMv5 Airport Extreme N basesta<on ARM 1176JZ(F)- S ARMv6 iphone, iphone 3G, ipod touch ARM Cortex- A8 ARMv7 iphone 3GS Apple A4 (ARM Cortex- A8 CPU + PowerVR GPU) Apple A5 (dual- core ARM Cortex- A9 MPCore CPU, NEON SIMD accelerator + dual core PowerVR SGX543MP2 GPU) Apple A5X (dual- core CPU + quad- core PowerVR SGX543MP4 GPU) ARMv7 ARMv7 ARMv7 ipad, iphone 4, ipod touch (4th gen), Apple TV (2nd gen) ipad 2, iphone 4S, Apple TV (3rd gen) ipad 3

İşlemci Mimari Jenerasyonu ARM7TDMI ARMv4 ipod Kullanılan Cihaz ARM9E ARMv5 Airport Extreme N basesta<on ARM 1176JZ(F)- S ARMv6 iphone, iphone 3G, ipod touch ARM Cortex- A8 ARMv7 iphone 3GS Apple A4 (ARM Cortex- A8 CPU + PowerVR GPU) Apple A5 (dual- core ARM Cortex- A9 MPCore CPU, NEON SIMD accelerator + dual core PowerVR SGX543MP2 GPU) Apple A5X (dual- core CPU + quad- core PowerVR SGX543MP4 GPU) ARMv7 ARMv7 ARMv7 ipad, iphone 4, ipod touch (4th gen), Apple TV (2nd gen) ipad 2, iphone 4S, Apple TV (3rd gen) ipad 3

Code Signing Stack canaries Nonexecutable memory ASLR (full ASLR için uygulama PIE desteği ile derlenmeli) Sandboxing Data at rest encryption * Apple IOS 4 Security Evaluation - http://www.trailoeits.com/ resources/ios4_security_evaluation_slides.pdf

550.000 in üzerinde ios uygulaması, toplamda 25 milyarın üzerinde indirilmiş Xcode IDE kullanılarak geliştiriliyor Objective C geliştirme dili Bir çok geliştiricinin Java veya C# geçmişi var ios uygulama geliştiricilerinin bir çoğu C kökenli olmadığından, C 'de yapılan hatalardan bir haber Özetle her yeni platformda eski hatalar yapılıyor Ancak Apple tarafından sağlanan kütüphanelerin kullanımı ve ios güvenlik önlemleri, geliştirici hatasıyla oluşabilecek problemleri engelliyor(?) Tipik bir ios uygulaması Kullanıcının cihazında kurulu Kullanıcıyla etkileşim, Uygulama sunucusu ve/veya Internet le iletişim içerisinde

IPA paket formatı (ios Package Format) Sıkıştırılmış ZIP arşivi Paket İçeriği itunesartwork itunesmetadata.plist Payload/ Uygulama.App/ SC_Info/ Info.plist

Klasör yapısı ve dosyalar Kullanıcı klasörü /private/var/mobile (/User, /var/mobile alias) Varsayılan uygulamalar /Applications altında Kullanıcı tarafindan kurulan uygulamalar /User/Applications içerisine kuruluyor Uygulama klasörü /User/Applications/<app GUID>/<appname.app>

Kapalı kutu testleri (Blackbox testing) Statik Analiz Dinamik Analiz Açık kutu testleri (Whitebox testing) Kaynak Kodu Analizi

Jailbreak li cihaz otool, nm plutil sqlite3 veya favori SQLite görüntüleyici class- dump, class- dump- z cycript GNU Debugger Hex editor Favori intercepting proxy yazılımınız Xcode

Uygulama nerede kurulu? find /User/Applications iname <AppName> /User/Applications/<App GUID>/AppName.app/AppName AppName.app/ klasörü uygulamanın kendisi ve çalışması için gereken bileşenler Ek olarak Documents/ ve Library/Preferences/ dizinlerindeki dosyalar mutlaka incelenmeli Diğer dizinlerdeki cache dosyaları incelenebilir

Ayarlar ve program verilerinin saklandığı dosyalar SQLite Veritabanı sqlite3 komutu veya çeşitli SQLite görüntüleyicileri sqlite>.tables (veritabanındaki tabloları listele) sqlite> select * from tablo; Property Lists (plist) Property list utility, plutil plutil show dosya.plist (İçeriğini görüntüle) plutil convert xml1 dosya.plist (XML formatına çevir) Diğer dosyalar file * komutuyla klasördeki dosya tipleri görülebilir

Neler bulunabilir? Uygulama bileşenlerini daha iyi anlama Uygulamaya ait özel veritabanları, bilgiler Uygulamaya gömülü şifreler vb. Kullanıcılara ait hassas bilgiler

Fat binary

Mach- O (Mach object) dosya formatı (Standart OS X program ve kütüphaneleri) Temel olarak 3 ana bölümü bulunuyor Header structure (dosya tipi, hedef mimari vs) Load commands Data http://bit.ly/mach- o

Full ASLR desteği var mı?

Şifrelenmiş Binary ler İndirilen uygulamalar şifrelenmiş olduğu için, nm, class- dump- z gibi uygulamalarla analizi mümkün olmuyor. Çözüm? Şifrelemeyi iptal etme Araç kiti: Jailbroken device otool GNU Debugger dd Hex Editor

Deşifre edilmiş uygulama # otool - l MyApplication grep cry cryptoff 4096 cryptsize 520192 cryptid 0

GNU Debugger ile çalışan uygulama analizi otool (- tv, - tv) veya IDA Pro ile disassemble Uygulamaya gömülü şifreler, anahtarlar var mı? Kötü niyetli aktivite yapan kod bulunuyor mu? Cycript ile runtime manipulasyonu Çalışan uygulamaya attach edip, mevcut metodlar değiştirilebilir, varolan metodlar çağırılabilir

Hedef Uygulama: Dot Lock Photo Özel fotoğraflarınızı belirlediğiniz pattern ile şifreliyor Doğru pattern girildiğinde gizli albümlerinizi açıyor

Hedef Uygulama: Dot Lock Photo Özel fotoğraflarınızı belirlediğiniz pattern ile şifreliyor Doğru pattern girildiğinde gizli albümlerinizi açıyor

Hedef Uygulama: Dot Lock Photo (Deşifre edilmiş binary için class- dump- z çıktısından bir bölüm) @interface SecurePhotoAppDelegate : NSObject <UIApplicationDelegate, DotLockPasscodeViewControllerDelegate> { int wrongattempt; int runmode; int loginpasscodetype; (kesilmiştir) - (BOOL)doSaveNewPasscode:(unsigned)passcode; - (BOOL)doCancelPasscode; - (BOOL)isCorrectOldPasscode:(unsigned)passcode; - (void)initnormalwindow; - (void)initdecoywindow;

Hedef Uygulama: Dot Lock Photo # ps - ef grep - i dotlock grep - v grep 501 1674 1 0 0:00.95?? 0:03.42 /var/mobile/ Applications/5B27EAD5-9646- 48EA- 99FB- 1C2701349765/ SecureDotLockPhotoLite.app/SecureDotLockPhotoLite # cycript - p 1674 cy# cy# var app = [ UIApplication sharedapplication ] "<UIApplication: 0x1a64d0>" cy# [ app.delegate docancelpasscode ] 1 cy#

Bu bölümdeki video lu, anlatım sunumdan çıkartılmıştır

Uygulama özel verileri dışarıya gönderiyor mu? İzinsiz gizlilik ihlali var mı? Değiştirilen paketler uygulama ve uygulama sunucusu tarafında ne gibi problemler yaratıyor? Veriler güvenli kanallar üzerinden mi gönderiliyor? Uygulamaya hizmet veren servislerin kontrolü Test edilen uygulamaların çoğu web servisi ile haberleşiyor Klasik web uygulamalarında yapılan hatalara devam kullanıcı verileri değiştiremez zannedildiğinden daha az önemseniyor Web sunucularında unutulmuş geçici dosyalar çoğunlukta Uygulamalar mantıksal saldırılara, veya diğer kullanıcının yerine geçme durumlarına açık

Wireshark, tcpdump vb sniffer ile trafik analizi Driftnet: TCP bağlantılarından imaj ayıklama http://www.ex- parrot.com/~chris/driftnet/ Burp Suite HTTP/S intercepting proxy yazılımı http://portswigger.net/burp/ Canape gibi hazır veya özel yazılmış protokol spesifik proxy yazılımları ile paket değiştirme http://www.contextis.com/research/tools/ canape/

Burp Suite ve cihaz proxy ayarları

Burp Suite ve cihaz proxy ayarları

Burp Suite ve cihaz proxy ayarları

Mantıksal Saldırılar

Mantıksal Saldırılar

Statik analiz yazılımlarının ios uygulama desteği henüz yok Kaynak kodunun birebir incelenmesi (manuel) Xcode IDE içerisinde bulunan static analyzer kullanılabilir (Clang Analyzer) http://bit.ly/xcode- static

Statik analiz yazılımlarının ios uygulama desteği henüz yok Manuel analiz Xcode IDE içerisinde bulunan static analyzer kullanılabilir http://bit.ly/xcode- static

Statik analiz yazılımlarının ios uygulama desteği henüz yok Manuel analiz Xcode IDE içerisinde bulunan static analyzer kullanılabilir http://bit.ly/xcode- static

İletişim Sertan Kolat sertan@gmail.com sertankolat.com twitter: @warex