iOS App Reverse Engineering (Ebook)

“iOS App Reverse Engineering” adalah sebuah ebook buatan seorang hacker/developer asal China @iOSAppRE yang diperuntukkan bagi orang-orang (terutama hacker/developer) yang ingin mempelajari proses reverse engineering pada iOS/aplikasi iOS dan juga struktur dan masalah keamanan pada iOS secara mendalam.

Meski begitu ebook ini juga layak dibaca untuk pemula terutama yang ingin mengetahui hal-hal yang berhubungan dengan keamanan iOS dan jailbreak.

There are four parts in this book. They are concepts, tools, theories and practices, respectively. The first three parts will introduce the background, knowledge and its associated tools as well as theories. The fourth part consists of four examples so that readers will have a deeper understanding of previous knowledge in a practical way.

Download: iOSAppReverseEngineering.pdf

Daftar isi bisa dilihat di halaman ini.

The Basic Principles of Security

Salah satu prinsip dasar keamanan yang membuat (OS berbasis) Linux dan Windows berbeda:

Any software, hardware, or user should be allowed only to use absolutely necessary system resources — and no more. The least access, the less chance of providing an unexpected entrance for intrusions. This principle is the most widely acknowledged among experts, and applies almost everywhere. A relevant modern example is the use of encryption so that data stored in cloud storage can only be read by the owner, and not the company providing the storage.

Samsung smart fridge leaves Gmail logins open to attack

Dikutip dari The Register:

…While the fridge implements SSL, it fails to validate SSL certificates, thereby enabling man-in-the-middle attacks against most connections.

The internet-connected device is designed to download Gmail Calendar information to an on-screen display. Security shortcomings mean that hackers who manage to jump on to the same network can potentially steal Google login credentials from their neighbours.

*Ke rumah teman*

“Bro, kulkas Samsung mu masih nyala?”

“Masih”

“Konek ke Internet gak?”

“Iya, memangnya kenapa sih kamu tiba-tiba nanya soal kulkas, haus ya?

“Itu… kulkasmu harus diupdate tuh, ada celah ke manan besar yang baru saja diberitakan”

Touch ID vs. anak 7 tahun

Touch ID sangat aman bahkan untuk pencuri atau polisi/FBI sekalipun. Tapi, bagi Harrison (anaknya @matthew_d_green), cara “meng-crack” Touch ID dan mengakses file-file penting seperti Minecraft atau Angry Birds Transformers tidak begitu sulit. Hanya butuh jempol ayahnya yang sedang tidur.

Dikutip dari CNNMoney:

Green owns an iPhone 6 Plus. That means everything on the phone is encrypted until Green — and only he — unlocks it with his finger.

But Tuesday morning at dawn, little Harrison crept into his parents’ bedroom and walked over to his dad’s side of the bed. He quietly reached for his father’s iPhone, grabbed his right hand and pressed his large thumb onto the fingerprint scanner.

Green woke up and couldn’t blame the kid. After all, it was dad who loaded the phone with Minecraft and Angry Birds Transformers.

Anak yang pintar. Mungkin turunan dari ayahnya yang seorang ahli keamanan komputer.

Apps Cydia yang berguna untuk keperluan pentesting

Pentesting? There’s an app for that!

Cydia menyimpan benyak sekali aplikasi yang sangat berguna, baik itu untuk pengguna awam sampai pengguna advance. Khusus untuk penujian keamanan, beberapa aplikasi Cydia berikut ini sangat mendukung keperluan pentest (penetration testing):

  • OpenSSH: Untuk berhubungan dengan iDevice melalui koneksi SSH.
  • Adv-cmds: Untuk mengakses perintah perintah finger, fingerd, last, lsvfs, md, ps, dll.
  • Sqlite3 : Klien database Sqlite.
  • GNU Debugger: Untuk analisa program dan reverse engineering.
  • Syslogd : Untuk mengakses file log pada iDevices.
  • Veency: Memungkinkan kita untuk mengontrol iDevice via VNC.
  • Tcpdump: Untuk analisa jaringan
  • Erica Utilities: Kumpulan program berbasis command-line untuk beragam keperluan.
  • Grep: Untuk pencarian file.
  • Odcctools (Darwin CC tools): otool – object file displaying tool
  • Crackulous: Untuk men-decrypt iOS.
  • Hackulous: Untuk menginstall aplikasi iOS yang telah ter-decrypt.
  • Cycript: Run time analysis & reverse engineering

Mengapa jailbreak?

Orang-orang menjailbreak iDevice mereka karena beberapa alasan. Beberapa diantaranya menginginkan platform yang lebih terbuka sehingga mereka dapat mengembangkan software, yang lainnya karena menginginkan kontrol penuh atas perangkat mereka sendiri. Ada pula yang butuh jailbreak untuk dapat menginstall software seperti ultrasn0w sehingga mereka dapat mem-bypass operator yang mengunci iDevice mereka. Dan ada pula tipe orang yang melakukan jailbreak untuk dapat menginstall aplikasi bajakan.
Continue reading “Mengapa jailbreak?”

Memahami arsitektur keamanan iOS

Jailbreaking
Jailbreakin’ by Oliver Quinlan

Artikel ini membahas bagaimana iDevice dibuat untuk menahan jenis serangan.

Mengurangi daerah serangan

Apple telah mengurangi daerah yang berpotensi menjadi titik serangan pada iOS dibandingkan dengan Mac OS X (dan platform lain) sebisa mungkin. Sebagai contoh, suka atau tidak, Java dan Flash tidak tersedia di iOS. Kedua aplikasi tersebut memiliki sejarah kerentanan keamanan dan dengan tidak memasukkannya ke iOS itu membuat penyerang semakin sulit menemukan kecacatan yang bisa dimanfaatkan. Demikian pula iOS tidak akan memproses beberapa jenis file, tetapi Mac OS X akan memprosesnya. Satu contoh adalah file .PSD. Jenis file ini bisa ditangani di Safari tetapi tidak pada MobileSafari.
Continue reading “Memahami arsitektur keamanan iOS”

Bagaimana Apple melindungi App Store

Salah satu hal yang membuat iDevice begitu hebat adalah banyaknya jumlah aplikasi atau apps yang tersedia untuk dijalankan. Aplikasi tersebut bisa ditemukan di App Store.

App Store

Aplikasi dikembangkan menggunakan Xcode dan SDK iOS pada komputer bersistem operasi Mac OS X. Aplikasi yang dibuat bisa dijalankan dalam sebuah simulator iOS atau bisa langsung diinstall pada perangkat asli untuk keperluan uji coba. Aplikasi tersebut dikirim ke Apple untuk di review. Jika diterima, aplikasi-aplikasi tersebut akan ditanda-tangani (secara digital) oleh kunci private milik Apple dan diluncurkan ke App Store agar bisa didownload oleh pengguna lain. Aplikasi harus ditanda-tangani oleh pihak terpercaya, misalnya Apple, atau aplikasi-aplikasi tersebut tidak akan berjalan pada perangkat karena iOS membutuhkan Mandatory Code-Signing. Perusahaan juga bisa mendistribusikan aplikasi kepada karyawan mereka dengan sistem yang sama, tetapi perangkat milik karyawan tersebut harus dikonfigurasi terlebih dahulu untuk dapat menginstall aplikasi yang ditanda-tangani oleh perusahaan tersebut.

Dan tentu saja, setelah Anda dapat mendownload aplikasi baru ke iDevice, itu akan membuka kesempatan untuk malware. Namun, Apple telah berusahan untuk mengurangi resiko tersebut dengan code signing dan proses review Apple yang cukup ketat. Sebagai tambahan, aplikasi App Store berjalan dalam sandbox pada level privilege yang rendah untuk mengurangi kerusakan yang bisa saja terjadi.