Posted by kecoak on Jan 11, 2009

Ok, it’s unlocked now, so?!

Tergantung bagaimana kita melihatnya, bagi pengguna biasa yang terpenting adalah iPhone 3G telah terunlocked, walaupun hanya bisa menyebutkan workaround-workaround tak menentu yang somehow bisa menghasilkan sinyal 3G terlihat pada iPhone namun itu saja sudah cukup.

Bagi skeptic lainnya, terunlock ataupun tidak sama saja…terlalu terlambat bagi suatu produk yang baru beberapa bulan terakhir membicarakan 3G sementara produk lain sudah melakukan riset tentang 4G, ah ya…they already manufactured it for testing.

Steve job dan Apple ternyata sangat cerdik, entah sengaja atau tidak namun iPhone 2G yang secara hardware sudah tidak bisa terselamatkan dari ‘official locked’ akibat ‘chain of trust’-nya telah terpatahkan oleh exploitasi dev-team menjadi penyempurna iPhone 3G yang hingga saat ini belum bisa terpecahkan metode untuk melakukan permanent unlock. iPhone 3G sendiri pada awalnya akan di rilis proses unlock-nya pada tahun baru 2009 dengan mengandalkan metode exploitasi bugs pada Jerry SIM (baseband 01.45.00) dimana bugs tersebut tidak diperbaiki oleh Apple (bugs telah ada pada versi baseband sebelumnya di iPhone 2G). Dengan baseband versi awal dari iPhone 3G ini, dev-team berencana menurunkan baseband ke versi sebelumnya dan mengeksploitasi baseband tersebut. Dev-team telah menemukan sedikit titik terang utk bugs baseband 02.11.07 (FW 2.1.0) namun sepertinya proses exploitasi masih butuh test lebih lama dan belum reliable. Hingga akhirnya geohot (bocah pertama yang unlock iPhone 2G secara hardware dan software) memberikan attack-vector plus exploit dengan memanfaatkan stack-based buffer overflow pada baseband 02.28.00 (FW 2.2 terbaru), exploit ini melakukan eksploitasi terhadap AT command AT+STKPROF (SimToolKit) dengan menginjeksi deretan karakter kedalam RAM. Dengan proses exploitasi ini maka state-table pada iPhone 3G dapat diubah menjadi unlocked.

yellowsn0w merupakan aplikasi yang akan berjalan setiap iPhone melakukan start-up (reboot), dan aplikasi ini akan melakukan beberapa hal diantaranya mengecek versi baseband (02.28.00), jika versi baseband sesuai akan dibuat buffer-overflow langsung pada RAM yang memanfaatkan command AT+STKPROF, setelah stack overflow paad RAM maka bisa diprediksi bahwa kita bisa sekaligus menyuntikan (injection) command untuk mengubah status ‘locked’ pada iPhone menjadi ‘unlocked’. And yeah, proses ini spesifik pada baseband 02.28.00, ada yg punya jawaban kenapa stack-based buffer overlow umumnya hanya spesifik pada satu versi aplikasi dan attack vector yg sama tidak bisa diberikan pada versi aplikasi yg lain?! anyone? 🙂

Jadi sebetulnya security pada iPhone 3G tidak sepenuhnya rusak seperti pada iPhone 2G, karena chain-of-trust belum benar-benar dipatahkan, hanya memanfaatkan overflow di memory.

Jika kalian sedang punya waktu santai selama 1 jam kedepan, silahkan lihat presentasi dev-team pada 25C3 kemarin dimana mereka memberikan presentasi mengenai teknologi iPhone dan bagaimana proses crack mereka terhadap platform unik ini. Apple tidak sembarangan memproduksi iPhone 3G, mempelajari teknologinya sama ketika saat pertama kali kita mempelajari arsitektur intel x86. Implementasi enkripsi dan kriptografi pada iPhone sungguh luar biasa, mulai dari proses boot hingga, load kernel, hingga load aplikasi semua dilakukan dengan proses digital signature untuk menjaga ‘chain-of-trust’. Design yang luar biasa ketat dan secure untuk sebuah embedded platform, dan untuk mempelajarinya dibutuhkan proses reverse-engineering karena dokumentasi cara kera internalnya tidak diketahui oleh publik.

Post a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *