Pentesting Mobile Application untuk iDevices (iOS)

Proses analisis atas mobile apps terutama terkait penilaian keamanan aplikasi mulai berkembang saat ini, walaupun terbilang masih terbatas terutama terkait tools yang tersedia.

Secara umum terdapat 2 jenis metode analisis yaitu secara MANUAL dan menggunakan AUTOMATING app analysis dengan menggunakan tools dari pihak ketiga (third party).

Sejauh ini metode manual menghasilkan output yang terbaik dari sisi detil laporan, walaupun membutuhkan waktu pengerjaan yang relatif lama dan membutuhkan skill set yang mencukupi dari tenaga analis. Sedangkan penggunaan tools yang bersifat otomatis lebih mudah dan cepat, walaupun hasilnya relatif masih terbatas.  Analis bisa menggunakan tools ini sebagai pelengkap dari teknik manual.

Analis harus mengetahui keterbatasan dari penggunaan tools tersebut, mengingat sampai saat ini masih belum ada commercial tools yang cukup valid dalam melakukan analisis.  Umumnya, tools yang tersedia saat ini masih bersifat open-source (free projects), sehingga masih memiliki banyak keterbatasan.

Analis dapat menggunakan tools automated tersebut dalam beberapa kondisi sebagai berikut:

a. Evaluasi atas mobile apps yang baru sebelum mendapatkan persetujuan dari pihak internal;

b. Melalukan pen-test atau audit terkait aspek security dari mobile apps;

c. Evaluasi atas malware pada perangkat mobile;

d. Sebagai bagian dari Incident Response jika terjadi insiden pada perangkat mobile.

Salah satu tahapan dalam pengujian keamanan terhadap mobile apps adalah melalui prosedur pentesting atas applikasi tersebut.  Untuk aplikasi yang digunakan pada perangkat iOS atau iDevices terdapat satu referensi yang sangat menarik buat saya saat ini yaitu https://www.owasp.org/index.php/IOS_Application_Security_Testing_Cheat_Sheet.  Dari cheat sheet tersebut, kita bisa menyusun suatu check list yang harus atau akan dilakukan terkait analisis terhadap keamanan satu aplikasi.  Selain itu, dalam page URL tersebut ditampilkan daftar tools yang tersedia yang dapat digunakan.

Salah satu tools yang sering digunakan untuk perangkat iOS adalah snoop-it. Sudah cukup banyak tutorial yang dapat dijadikan acuan dalam menggunakan snoop it, antara lain:

https://reverse.put.as/wp-content/uploads/2011/06/pentestingiosapps-deepsec2012-andreaskurtz.pdf,

http://resources.infosecinstitute.com/ios-application-security-part-9-analyzing-security-of-ios-applications-using-snoop-it/ dan

http://andressjsu.blogspot.co.id/2015/02/snoop-it-setup-ios-pentesting-tool.html

 

Sistem Operasi iOS – Tinjauan Umum

Sistem Operasi iPhone

iOS merupakan sistem operasi yang dikembangkan dan dimiliki oleh Apple untuk produk-produk perangkat mobile mereka.  Pertama kali, Apple memberikan nama iPhone OS untuk kemudian diganti menjadi iOS untuk merefleksikan penggunaan sistem operasi tersebut dalam seluruh perangkat Apple iOS (iDevices) seperti iPhone, iPode Touch, iPad, iWatch dan Apple TV.  Pada dasarkanya iOS menggunakan teknologi inti dari OS X dengan beberapa perbedaan yang signifikan antara lain:

  1. Arsitektur dimana kernel dan binaries dilakukan kompilasi menggunakan ARM-based bukan Intel x86_64;
  2. OS X kernel adalah open source sedangkan iOS kernel tetap tertutup (komersial);
  3. Memory management lebih ketat;
  4. Systemnya juga lebih ketat dengan pembatasan akses atas APIs terkait;
  5. Penggunaan “gesture-based touch interface” pada perangkat iOS;
  6. Pengaturan file-file yang disimpan. Mac OS X menyediakan akses atas file system melalui “Finder”, sedangkan iOS tidak memperlihatkan akses tersebut dan tidak menggunakan pengorganisasi file system seperti dalam OS X.

Tinjuan  iDevices

Selayaknya setiap examiner dalam melakukan iOS Forensics memahami komponen-komponen internal dan bagaimana komponen tersebut bekerja. Sehingga dengan pemahaman tersebut, examiner dapat mengetahui semua aspek kritikal dalam iOS Forensics terutama dalam mengindentifikasi seluruh data yang dapat diekstrak, dimana data tersebut tersimpan dan metode apa yang dapat digunakan untuk mengekstrak data tersebut.  Pembahasan pada bab ini berpusat pada perangkat iPhone dan teknik atau metode forensics yang digunakan-teknik yang sama mungkin dapat diterapkan pada iDevices yang lain seperti iPod Touch, iPad dan Apple TV.

File system yang digunakan berbasis HFSX atau dapat dikatakan mirip dengan HFS. Data disimpan dalam file databases SQLite dan Plist.  Seperti halnya Android, iOS juga menggunakan application sandbox untuk alasan keamanan.  Hal ini memberikan keuntungan bagi examiner, karena penggunaan sandbox membuat data tersimpan dalam file cache database.

Pada tabel ditunjukkan daftar dari iPhone sejak pertama kali dipasarkan pada tahun 2007 hingga bulan April 2016.  Selain iPhone, terdapat produk-produk dari Apple yang menggunakan iOS (iDevice) seperti iPad, iPad Mini, iPod Touch, Apple TV dan Apple Watch.  Informasi lebih lengkap atas seluruh produk iDevice dapat dilihat pada https://www.theiphonewiki.com/wiki/Models dan https://en.wikipedia.org/wiki/List_of_iOS_devices.

Tabel 7- 1: Daftar Model iOS Devices

Name Perangkat Nomor Model Nama Internal Identifier Tahun Kapasitas (GB)
iPhone SE A1662-A1723A-1724 N69AP, N69uAP iPhone 8,4 2016 16, 64
iPhone 6s Plus A1634-A1687-A1699-A1690 N66A9, N66mAP iPhone 8,2 2015 16, 64, 128
iPhone 6s A1633-A1688-A1700-A1691 N71AP, N71mAP iPhone 8,1 2015 16, 64, 128
iPhone 6 Plus A1522-A1524-A1593 N56AP iPhone 7,1 2014 16, 64, 128
iPhone 6 A1549-A1586-A1589 N61AP iPhone 7,2 2014 16, 64, 128
iPhone 5S CDMA A1457-A1518-A1528-A1530 N53AP iPhone 6,2 2013 16, 32
iPhone 5S GSM A1433-A1533 N51AP iPhone 6,1 2013 16, 32, 64
iPhone 5C CDMA A1507-A1516-A1526-A1529 N49AP iPhone 5,4 2013 16, 32
iPhone 5C GSM A1456-A1532 N48AP iPhone 5,3 2013 16, 32
iPhone 5 rev.2 A1429-A1442 N42AP iPhone 5,2 2012 16, 32, 64
iPhone 5 A1428 N41AP iPhone 5,1 2012 16, 32, 64
iPhone 4s (China) A1431 N94AP iPhone 4,1 2011 8, 16, 32, 64
iPhone 4S A1387 N94AP iPhone 4,1 2011 8, 16, 32, 64
iPhone 4 CDMA A1349 N92AP iPhone 3,2 2011 8, 16, 32
iPhone 4 GSM A1332 N90AP iPhone 3,1 2010 8, 16, 32
iPhone 3GS (China) A1325 N88AP iPhone 2,1 2009 8, 16, 32
iPhone 3GS A1303 N88AP iPhone 2,1 2009 8, 16, 32
iPhone 3G (China) A1324 N82AP iPhone 1,2 2009 8, 16
iPhone 3G A1241 N82AP iPhone 1,2 2008 8, 16
iPhone 2G A1203 M68AP iPhone 1,1 2007 4, 8, 16

Sebelum melakukan investigasi, examiner harus dapat mengidentifikasi model hardware dan versi firmware yang digunakan oleh perangkat.  Informasi atas detil dari iPhone membantu examiner dalam memahami kritikalitas dan setiap kemungkinan yang ada dalam mengekstrak data.  Sebagai contoh, dalam banyak kasus, penggunaan passcode dari perangkat dibutuhkan untuk mengekstrak lojikal, file system atau fisikal image.  Bergantung pada versi iOS, model perangkat, dan kompleksitas, masih terdapat kemungkinan untuk meng-crack passcode dengan teknik brute-force attack.

Terdapat berbagai cara untuk mengidentifikasi perangkat keras (hardware) iPhone.  Cara yang paling singkat adalah dengan melihat nomor model dari belakang casing.  Selanjutnya, examiner dapat mengetahui detil informasi dari model tersebut (A1303) melalui link https://support.apple.com/kb/SP565?locale=en_US.