Pentesting Mobile Application untuk perangkat Android

Sebelum melakukan analisis atas mobile apps untuk Android, tenaga analis harus memahami setidaknya empat komponen (components) fundamental dari aplikasi Android yaitu Activities, Services, Content Providers, dan Receivers. Serta Androd Intents sebagai mekanisme messaging antar komponen untuk dapat berinteraksi atau lebih dikenal sebagai Inter-Process Communication (IPC).

Seperti halnya pentesting mobile apps untuk iDevices (iOS), maka terdapat teknik dan tools untuk perangkat Android.  OWASP telah mengembangkan cheat sheet untuk dapat dijadikan acuan bagi para tenaga analis mobile apps yang tersaji pada URL sbb: https://www.owasp.org/index.php/Android_Testing_Cheat_Sheet

Analis bisa menggunakan beberapa tools untuk melakukan analisis atas mobile apps Android:

a. Androwarn;

Tools ini umumnya digunakan pada static analysis tool.  Androwarn akan membaca file APK dan memberikan laporan terkait potensi malicious behaviour termasuk: akses atas telephony identifier, akses atas device setting parameter, penyalahgunaan geolocation, akses dan manipulasi atas PIM data dan native code execution & filesystem binary execution.

b. Androsim;

Androsim dapat membandingkan 2 file APK untuk mengetahui sejumlah metode/code yang identik, mirip, baru atau dihapus dari kedua file APK tersebut.  Tool ini sangat berguna untuk:

  1. Mengindentifikasi app rip-offs yaitu ketika beberapa pengembang aplikasi memasukkan aplikasi mereka masing-masing pada Play Store yang pada kenyataannya bersumber dari satu aplikasi yang sama;
  2. Mengidentifikasi perbedaan dari 2 aplikasi.  Umumnya digunakan untuk mengidentifikasi perbedaan dari 2 mobile malware yang diduga berasal dari malware family yang sama atau untuk mengetahui 2 versi dari satu aplikasi.

c. Drozer Framework;

Tools ini merupakan client/server framework untuk mengevaluasi aplikasi Android yang terdiri atas Android application agent dan console component dari Windows/Linux.  Dengan tool ini, kita bisa menganalisis lebih jauh dari mekanisme Android IPC, mengetahui jumlah komponen dari aplikasi dan juga melakukan ‘crafting’ atas Intent messages atas services-services tertentu tanpa harus menulis Java code.

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