Anda di halaman 1dari 7

Sebuah Pengantar Mobile Security:

Risiko, Desain yang Aman, dan Pengujian


Zaki Akhmad

za at indocisc.com

Penggunaan ponsel untuk tersambung ke Internet di Indonesia saat ini sudah semakin umum.
Penggunaan ponsel untuk melakukan koneksi Internet ini memiliki risiko keamanan yang
tersendiri, risikonya berbeda dengan penggunaan desktop atau laptop untuk koneksi Internet.
Tulisan ini merupakan sebuah pengantar keamanan perangkat mobile. Tulisan ini bertujuan
memberikan gambaran utuh mengenai bidang keamanan perangkat mobile tanpa turun mendetail
hingga ke tataran teknis.

Tulisan ini akan dimulai dengan analisis risiko-risiko keamanan yang dimiliki perangkat mobile.
Analisis risiko meliputi risiko fisik, risiko pada sistem operasi hingga risiko pada aplikasi.
Selanjutnya akan dijabarkan prinsip-prinsip keamanan dalam mendesain aplikasi mobile karena
aplikasi yang aman sebenarnya dimulai dari proses desain. Pada bagian akhir akan dipaparkan
metodologi melakukan pengujian keamanan aplikasi mobile. Dimulai dengan metodologi secara
umum, baru selanjutnya diikuti dengan contoh pengujian spesifik untuk suatu sistem operasi
perangkat mobile tertentu.

Kata Kunci: mobile security, Android, BlackBerry, iPhone

1 Pendahuluan Di sisi lain, pengembangan aplikasi mobile pun


terus bermunculan. Mulai dari aplikasi yang
Jakarta dengan kondisi lalu lintas yang macet sifatnya informasional hingga aplikasi yang
membuat para penduduknya mengakses Internet bersifat transaksional. Untuk aplikasi
dari telepon selular-nya menjadi hal yang transaksional umumnya adalah aplikasi dalam
semakin umum. Harga perangkat dan tarif industri perbankan dan finansial.
Internet yang semakin terjangkau mempercepat
hal ini. Bahkan informasi lalu lintas kini dapat Aplikasi yang bersifat transaksional tentu
dengan mudah diakses via handphone. Informasi disyaratkan memiliki tingkat keamanan yang
yang sangat dibutuhkan bagi para penduduk dapat diterima. Penggunaan aplikasi SMS untuk
Jakarta untuk membantu menentukan rute dan mengirimkan/menerima PIN sangat rawan.
memperkirakan waktu tempuh perjalanan. Bagaimana apabila pemilik ponsel kehilangan
ponselnya lalu orang lain menggunakan PIN
Kondisi kualitas jaringan Internet yang tak selalu tersebut untuk melakukan transaksi?
bagus, membuat perangkat BlackBerry -yang
menawarkan koneksi Internet handal dengan Risiko paling mendasar dari penggunaan ponsel
algoritma kompresinya- laku bak kacang goreng. adalah risiko kehilangan. Apakah para pengguna
Hal ini ditambah lagi dengan budaya masyarakat ponsel sudah siap dan mengerti risiko kehilangan
Indonesia yang senang mengobrol sehingga ponselnya? Penggunaan ponsel ini tak hanya
dengan menggunakan BlackBerry koneksi ke sebatas di kalangan mahasiswa atau karyawan
social media pun jadi lebih mudah. namun juga hingga kalangan eksekutif
perusahaan. Nilai ponsel mahasiswa dan

1/7
eksekutif perusahaan bisa sama, namun tentu nilaidigeletakkan tanpa ada perlindungan keylock.
informasinya akan lebih tinggi ponsel milik Serangan yang dilakukan dapat berupa
seorang direktur perusahaan. Sayangnya, security mengakses data yang tersimpan di MicroSD
awareness kalangan eksekutif tidak selalu tinggi. (misalnya) atau memasukkan malware/trojan.
Bahkan penulis pernah diceritakan bahwa seorangBentuk risiko fisik lainnya adalah shouldering
direksi perusahaan memberikan password email- atau melihat display perangkat mobile oleh
nya kepada sekretaris untuk membantunya penyerang saat berada di dekatnya. Format
membaca/menerima email. pengetikan password di aplikasi mobile yang
URL shortener pun bisa menjadi celah keamanan menampilkan karakter aslinya sebelum
saat dibuka dari ponsel. Misalkan teman Anda menyamarkannya, membuka kemungkinan
menulis di akun twitternya, http://bit.ly/y678l dan penyerang dapat mengetahui password.
mengatakan URL tersebut adalah URL fotonya di Risiko kehilangan sebaiknya dari awal sudah ada
Facebook. Padahal kenyataannya URL ini di pikiran pengguna perangkat mobile saat
mengacu pada situs yang ia buat sendiri, dengan memutuskan menggunakannya. Berbeda dengan
tampilan seperti Facebook. Dengan layar yang server yang bisa diletakkan pada ruangan
lebih kecil & alamat URL yang tak selalu bisa terkunci, tidak ada mekanisme pengamanan akses
dilihat, pengakses situs ini akan lebih sulit fisik untuk perangkat mobile.
membedakan apakah ini situs facebook atau situs
phishing yang mirip facebook. Dengan Jadi, saat mendesain dari awal sudah
melakukan serangan yang dinamakan phishing dipertimbangkan bahwa desain sistem
ini, penyerang akan mendapatkan pasangan memungkinkan akses fisik oleh orang yang tak
userid dan password. berhak.

2.2 Risiko Data Storage


2 Risiko Keamanan Perangkat Kekuatan komputasi laptop tentu tak sama
dengan komputasi ponsel. Saat ini program
Mobile enkripsi data pada ponsel masih belum sematang
Sama dengan aset-aset lainnya, perangkat mobile1 program enkripsi pada laptop. Misal pengguna
memiliki risiko yang melekat dengannya . laptop menggunakan aplikasi truecrypt untuk
Dengan karakteristiknya yang mobile, tentu mengenkripsi data-nya. Apabila laptopnya hilang
perangkat mobile memiliki risiko yang lebih bisa maka ia dapat menerima risikonya karena data-
ster-expose ke pihak luar. Berikut ini adalah nya tetap aman dalam keadaan terenkripsi.
beberapa risiko-risiko keamanan pada perangkat Kemampuan menyimpan data secara aman
mobile: namun tetap memungkinkan bagi aplikasi untuk
mengaksesnya menjadi persyaratan untuk
2.1 Risiko Fisik keamanan perangkat mobile.
Risiko fisik menjadi risiko paling mendasar yang
dimiliki oleh perangkat mobile. Risiko fisik ini 2.3 Risiko Strong Password
mulai dari akses oleh orang yang tak berhak Katakanlah seorang pengguna aplikasi Internet
hingga risiko kehilangan. Banking diharuskan memiliki password yang kuat
Akses oleh orang yang tak berhak pada perangkat yaitu password dengan minimal panjang karakter
mobile dapat berupa: seseorang yang berpura- delapan, kombinasi huruf besar/kecil, berikut
pura mengatakan ingin meminjam melakukan dengan kombinasi alfanumerik dan simbol.
telepon atau mengirim SMS, atau perangkat yang Password ini tentu akan dengan mudah
diketikkan saat ia menggunakan keyboard. Lalu
1Catatan: yang dimaksud sebagai perangkat mobile dalam tulisan
ini adalah ponsel pintar (smart phone) & tablet PC yang bagaimana ia akan mengetikkan delapan karakter
menggunakan sistem operasi mobile: Android, BlackBerry, iOS, password, kombinasi huruf besar huruf kecil,
Windows Phone, Symbian. Laptop walaupun juga bersifat mobile kombinasi alfanumerik dan simbol pada
tidak termasuk definisi perangkat mobile dalam tulisan ini.

2/7
ponselnya? Tentu akan lebih sulit dilakukan pada sudah diluncurkan. Berikut ini adalah beberapa
keyboard ponsel: model ketik tiga kali ABC, prinsip-prinsip keamanan dalam mendesain
model QWERTY, ataupun keyboard virtual touch aplikasi mobile:
screen;
Akibatnya ia akan memilih untuk tidak 3.1 Identifikasi dan Proteksi Data
menggunakan aplikasi Internet Banking mobile Sensitif pada Perangkat Mobile
saja dan dari sisi bank akan kehilangan
penggunanya. Sebelum mendesain aplikasi mobile, lakukan
identifikasi terhadap semua data yang akan
diproses. Tentukan tingkat sensitivitas data. Data
2.4 Risiko Internet Browsing yang bersifat publik tidak perlu mendapatkan
Layar ponsel tidak sebesar layar laptop. Jadi mekanisme pengamanan. Data yang bersifat
menampilkan URL secara lengkap pada ponsel confidential harus mendapatkan mekanisme
dapat dikatakan nyaris takkan bisa. Hal ini akan pengamanan. Sedapat mungkin, desain aplikasi
membuat serangan phishing semakin mudah. dengan data confidential tidak tersimpan di
Pengguna tidak dapat selalu melihat URL yang perangkat mobile. Jika tidak memungkinkan, data
diaksesnya. Penyerang hanya perlu memancing confidential yang tersimpan pada perangkat
pengguna membuka, misalnya menggunakan mobile harus terlindungi.
URL shortener, untuk mengarahkan ke situs
palsu. 3.2 Pastikan Data Sensitif
Terlindungi Saat Transit
2.5 Risiko Privasi Lokasi Perangkat mobile memiliki beragam mode
Bagi Gayus Tambunan saat kabur dari penjara isu koneksi untuk tersambung ke Internet: apakah
lokasi akan menjadi sangat kritikal. Tentu ia tak BIS, GPRS, Edge, WiFi, dst. Tidak semua mode
mau tertangkap basah saat kabur dari penjara. koneksi ini terenkripsi, contoh paling sederhana
Bagaimana apabila ponsel yang digunakan Gayus adalah public wifi.
selalu mengirimkan posisi koordinat GPS-nya? Untuk itu desain aplikasi mobile dengan
Saat ini isu privasi lokasi menjadi isu yang hangat menggunakan TLS/SSL (Transport Layer
dibicarakan. Ponsel iPhone dan Android Security/Secure Socket Layer) saat
dikabarkan mengirimkan lokasinya. mengirimkan/menerima data sensitif.

2.6 Risiko Sistem Operasi 3.3 Jalankan Aplikasi dengan Hak


Setiap perangkat mobile dengan masing-masing Akses Minimum
sistem operasinya tentu akan memilikinya Desain klien aplikasi mobile yang dapat
risikonya sendiri-sendiri. Baik Android, iPhone, dijalankan dengan hak akses minimum yang
BlackBerry, Symbian, Windows Phone, masing- diperlukan. Contohnya aplikasi cukup bisa
masing memiliki risiko. Risiko sistem operasi ini dijalankan user biasa, tidak harus sebagai
melekat pada perangkat mobile tersebut. Contoh admin/root; jika aplikasi tidak membutuhkan
risiko sistem operasi adalah jailbreak atau akses ke servis kamera, maka tak perlu diberikan
berusaha mendapatkan akses root pada perangkat. akses ke servis kamera. Model hak akses
minimum ini akan meminimalisir risiko akses
yang tak perlu dan memastikan aplikasi bisa
berjalan dengan cara yang paling aman.
3 Mobile Security Secure
Design Principles 3.4 Ikuti Praktik Secure Coding
Keamanan seharusnya diawali dari awal, bukan Kembangkan aplikasi mengikuti praktik secure
didasarkan pada pengujian di akhir saat aplikasi coding misalnya: input validation, output

3/7
encoding. Pengembang perlu melakukan static dengan cara fingerprinting.
analysis dalam proses SDLC untuk mengetahui Dengan melakukan penguraian aplikasi
keamanan source code. dapat dilakukan analisis terhadap desain
Lainnya, tanda tangani aplikasi saat akan dan arsitektur aplikasi mobile ini.
mengupload (signed application) untuk menjaga Komponen server apa saja yang terlibat
integritas aplikasi. berikut bagaimana aplikasi mobile
didistribusikan.
3. Mengembangkan skenario serangan
(Developing attack scenarios)
4 Mobile Security Testing
Susun skenario serangan-serangan yang
Pada bagian ini akan dijelaskan metodologi mungkin dilakukan berikut penjelasan
pengujian keamanan aplikasi mobile. Pada bagian kondisi yang diperlukan untuk melakukan
pertama akan disampaikan metodologi secara serangan tersebut. Faktor kemungkinan
umum tanpa melihat sistem operasi mobile. dan dampak dari serangan juga perlu
Selanjutnya pada bagian kedua akan disampaikan dijelaskan agar risiko setiap serangan
secara spesifik contoh pengujian keamanan dapat terlihat dengan jelas.
aplikasi mobile untuk beberapa sistem operasi,
berikut penjelasan tools yang digunakan dalam Misalnya dari hasil penguraian aplikasi
pengujian. . diketahui bahwa terdapat 2 server yang
terlibat berikut aplikasi mobile. Skenario
serangan pertama adalah melakukan
4.1 Metodologi Umum serangan pada sisi server misalnya dengan
Berikut ini adalah metodologi umum dalam melakukan: penetration testing,
melakukan pengujian aplikasi mobile. vulnerability assessment, web application
testing, dst. Selanjutnya diikuti dengan
1. Memahami proses bisnis aplikasi
skenario kedua yaitu mobile application
(Understanding application business
assessment.
process)
4. Menentukan prioritas risiko (Prioritizing
Langkah pertama yang perlu dilakukan
risks)
dan akan menjadi pondasi dalam
melakukan pengujian adalah dengan Umumnya pengujian dilakukan dengan
memahami proses bisnis aplikasi. batasan waktu. Tentu tak semua skenario
Misalnya dengan mengetahui karakteristik dapat dilakukan. Oleh karena itu perlu
aplikasi apakah berupa aplikasi ditentukan skenario yang menjadi
transaksional atau aplikasi informasional. prioritas.
Aplikasi yang bersifat transaksional akan 5. Melakukan pengujian (Conducting tests)
memiliki risiko finansial sementara
aplikasi informasional akan memiliki Skenario dieksekusi dengan prioritas.
risiko integritas data. Apabila penyerang adalah skenario yang memiliki risiko
memiliki motif ekonomi dalam tertinggi. Perhitungan risiko dihitung dari
melakukan penyerangan maka aplikasi perkalian kemungkinan dengan dampak
transaksional akan dipilih untuk diserang. dari setiap skenario serangan.
2. Menguraikan aplikasi (Decomposing 6. Menganalisis hasil pengujian (Analyzing
application) test results)
Setelah memahami proses bisnis Selanjutnya hasil pengujian dianalisis,
dilanjutkan dengan menguraikan skenario serangan yang menghasilkan
komponen penyusun aplikasi. Apabila temuan.
pengujian dilakukan dengan cara black 7. Merekomendasikan perbaikan
box maka penguraian aplikasi dilakukan (Recommending fixes).

4/7
Menyusun rekomendasi perbaikan dari apabila dilakukan oleh mereka yang
temuan yang ditemukan. tak memiliki akses pada source code.
3. Melakukan reverse engineering
4.2 Mobile Security Assessment 4. Melakukan dissassembling
Mobile security assessment dapat dilakukan
dengan melakukan pengujian pada aplikasi yang
sedang dijalankan atau pada aplikasi yang sedang
tidak dijalankan. 5 Contoh Pengujian Mobile
Berikut ini adalah metodologi pengujian aplikasi Security
mobile dari sudut pandang pengujian dinamis
atau statis. 5.1 Pengujian dengan Analisis
Dinamis
4.2.1 Analisis Dinamik
Pengujian dengan metode analisis dinamis
(Dynamic Analysis) berlaku umum tanpa melihat sistem operasi
Pada pengujian dinamis, pengujian perangkat mobile. Untuk dapat menganalisis
dilakukan pada aplikasi yang sedang network traffic disusun skenario berikut: gunakan
berjalan. Pengujian dinamis dapat intercepting proxy untuk melakukan analisis
dilakukan dengan cara: terhadap network traffic aplikasi mobile dengan
servernya.
a. Melakukan debugging pada aplikasi.
Debugging dapat dilakukan langsung pada Konfigurasikan koneksi perangkat mobile agar
perangkat ataupun pada emulator. melalui interepting proxy terlebih dahulu sebelum
menuju server. Lakukan analisis terhadap traffic
b. Melakukan analisis network traffic
yang lalu-lalang. Perhatikan apakah data sensitif
c. Melakukan analisis remote services yang terkirim dalam keadaan tak terenkripsi.
seperti HTTP/SOAP/dll
Perhatikan webservices yang dieksekusi. Lakukan
d. Menganalisis request & respond scan/fuzz, jika intercepting proxy yang digunakan
menggunakan intercepting proxy. memiliki fitur scan/fuzz. Intercepting proxy yang
dapat digunakan antara lain: Paros Proxy,
4.2.2 Analisis Statis (Static OWASP ZAP Proxy, Burp Proxy.
Analysis)
5.2 Pengujian dengan Analisis
Pada pengujian statis, pengujian
dilakukan dengan kondisi aplikasi tidak Statis
dijalankan. Pengujian statis dilakukan Pengujian dengan metode analisis statis dilakukan
dengan menganalisis source code aplikasi. dengan menganalisis source code. Pada binary
Pengujian statis dilakukan dengan cara aplikasi dilakukan reversing code untuk
sebagai berikut: mendapatkan source code aplikasi tersebut.
1. Ekstrak aplikasi dari perangkat atau
dapatkan paket aplikasi dari 5.2.1 Android
pengembang
Jack Maninno dalam blognya menulis bagaimana
2. Melakukan source code review. cara melakukan reversing code aplikasi Android.
Jika source code memang tersedia Kebocoran dan terlalu banyak data yang
maka tak perlu melakukan reverse terungkap seperti: kredensial, kunci enkripsi,
engineering ataupun disassembling sumber daya pada sisi server; pada sisi klien
namun keduanya tetap boleh merupakan hal yang berpotensi menjadi risiko.
dilakukan untuk mengetahui risiko Dengan melakukan reversing code aplikasi akan

5/7
didapatkan source code aplikasi. Selanjutnya dari 5.2.3 iPhone
source code ini dilakukan analisis untuk mencari
celah keamanan aplikasi. Aplikasi untuk iPhone ditulis menggunakan
bahasa objective-C. Untuk melakukan reversing
Tools yang perlu digunakan untuk melakukan code pada aplikasi iPhone dapat menggunakan
reversing code aplikasi Android adalah: tool otool atau class-dump-x.
• Android SDK
• dex2jar
• apktool 6 Penutup
• JD (Java Decompiler) Tulisan ini merupakan pengantar keamanan
perangkat mobile. Diharapkan dengan pengantar
Langkah pertama adalah melakukan pull berkas ini dapat memberikan gambaran secara utuh
APK aplikasi Android. mengenai keamanan perangkat mobile. Pada
adb pull apk_file destination_directory tulisan ini tidak dilakukan pembahasan mendalam
secara teknis pada suatu proses (misalnya
Berkas APK merupakan berkas dengan kompresi. reversing code) karena memang tujuan tulisan
Berkas APK menggunakan standar kompresi ZIP, adalah memberikan gambaran secara utuh topik
jadi untuk mengekstraknya dapat menggunakan keamanan perangkat mobile.
program untuk mengekstrak berkas ZIP.
Tulisan ini dibuat dengan mengacu pada
Setelah mengekstrak berkas APK, perhatikan referensi-referensi yang ada di bawah ini, untuk
berkas manifest dan berkas DEX. Pada berkas kemudian dipilah, dianalisis, dan disintesis
manifest terdapat beragam informasi seperti: menjadi satu bentuk tulisan yang utuh.
permission, intent filters.
Gunakan dex2jar untuk mengkonversi berkas
dengan format DEX menjadi JAR. Selanjutnya,
buka kompresi file hasil konvers dex2jar. 7 Referensi
Langkah terakhir gunakan java decompiler untuk Bolsen. Coddec.
mendapatkan source code aplikasi. http://drbolsen.wordpress.com/2008/07/14/codde
Tool lain untuk melakukan pengujian keamanan c-released/
aplikasi Android adalah c-ray. C-ray adalah http://code.google.com/p/c-ray/
scanner security untuk aplikasi Android. Hasil
analisis c-ray akan menunjukkan tingkat Dwivedi, Himanshu. “Mobile Application
keamanan interface aplikasi Android. Security, Mc Graw Hill, 2010.
Denim Group merilis program Open Web Application Security Project
smartphonedumbapps yang berisi script perl (OWASP). “Mobile Security Project”,
untuk melakukan reversing code mobile https://www.owasp.org/index.php/OWASP_Mobi
application secara otomatis. Versi saat ini sudah le_Security_Project
mendukung aplikasi Android dan iPhone. Maninno, Jack. Reversing Android Apps,
http://jack-
5.2.2 BlackBerry mannino.blogspot.com/2010/09/reversing-
android-apps-101.html
Dr Olsen telah merilis program coddec untuk
melakukan reversing code aplikasi BlackBerry. Shah, Kunjan. “Penetration Testing Android
Coddec merupakan kependekan dari cod Applications”, Foundstone Whitepaper.
decompiler. Cod adalah ekstensi berkas aplikasi Shah, Kunjan. “Penetration Testing for
BlackBerry. iPhone/iPad Applications”, Foundstone
Whitepaper.

6/7
8 Penulis
Zaki Akhmad, bekerja sebagai analis di
perusahaan konsultan keamanan informasi,
indocisc.

7/7

Anda mungkin juga menyukai