SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
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

Más contenido relacionado

Más de idsecconf

Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfAli - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfidsecconf
 
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...idsecconf
 
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfRama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfidsecconf
 
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...idsecconf
 
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfNosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfidsecconf
 
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...idsecconf
 
Utian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfUtian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfidsecconf
 
Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...idsecconf
 
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika TriwidadaPerkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidadaidsecconf
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullahidsecconf
 
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaHacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaidsecconf
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...idsecconf
 
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi DwiantoDevsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwiantoidsecconf
 
Stream crime
Stream crime Stream crime
Stream crime idsecconf
 
(Paper) Mips botnet worm with open wrt sdk toolchains
(Paper) Mips botnet worm with open wrt sdk toolchains(Paper) Mips botnet worm with open wrt sdk toolchains
(Paper) Mips botnet worm with open wrt sdk toolchainsidsecconf
 
Mips router targeted worm botnet
Mips router targeted worm botnetMips router targeted worm botnet
Mips router targeted worm botnetidsecconf
 
The achilles heel of GPN Card implementation
The achilles heel of GPN Card implementationThe achilles heel of GPN Card implementation
The achilles heel of GPN Card implementationidsecconf
 
iot hacking, smartlockpick
 iot hacking, smartlockpick iot hacking, smartlockpick
iot hacking, smartlockpickidsecconf
 
Paper - semi-automated information gathering tools for subdomain enumeration ...
Paper - semi-automated information gathering tools for subdomain enumeration ...Paper - semi-automated information gathering tools for subdomain enumeration ...
Paper - semi-automated information gathering tools for subdomain enumeration ...idsecconf
 
Reconnaissance not always about resources
Reconnaissance not always about resourcesReconnaissance not always about resources
Reconnaissance not always about resourcesidsecconf
 

Más de idsecconf (20)

Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfAli - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
 
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
 
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfRama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
 
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
 
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfNosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
 
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
 
Utian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfUtian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdf
 
Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...
 
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika TriwidadaPerkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullah
 
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaHacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi DwiantoDevsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
 
Stream crime
Stream crime Stream crime
Stream crime
 
(Paper) Mips botnet worm with open wrt sdk toolchains
(Paper) Mips botnet worm with open wrt sdk toolchains(Paper) Mips botnet worm with open wrt sdk toolchains
(Paper) Mips botnet worm with open wrt sdk toolchains
 
Mips router targeted worm botnet
Mips router targeted worm botnetMips router targeted worm botnet
Mips router targeted worm botnet
 
The achilles heel of GPN Card implementation
The achilles heel of GPN Card implementationThe achilles heel of GPN Card implementation
The achilles heel of GPN Card implementation
 
iot hacking, smartlockpick
 iot hacking, smartlockpick iot hacking, smartlockpick
iot hacking, smartlockpick
 
Paper - semi-automated information gathering tools for subdomain enumeration ...
Paper - semi-automated information gathering tools for subdomain enumeration ...Paper - semi-automated information gathering tools for subdomain enumeration ...
Paper - semi-automated information gathering tools for subdomain enumeration ...
 
Reconnaissance not always about resources
Reconnaissance not always about resourcesReconnaissance not always about resources
Reconnaissance not always about resources
 

Mobile security v3(paper)-zakiakhmad

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 8 Penulis Zaki Akhmad, bekerja sebagai analis di perusahaan konsultan keamanan informasi, indocisc. 7/7