Memahami 10 Risiko Teratas Seluler OWASP dengan Kasus Dunia Nyata
Diterbitkan: 2020-01-28Membawa rekor industri dalam mengembangkan aplikasi bukti peretasan 100% datang dengan tanggung jawab dan jaminan dasar bahwa tidak ada solusi digital yang dikembangkan di bawah nama kami yang akan menghadapi pelanggaran keamanan.
Sebagai cara untuk mencapainya, tim Jaminan Kualitas Appinventiv telah mengetahui semua kemungkinan risiko keamanan yang dapat dihadapi aplikasi. Mengetahui risikonya memudahkan untuk mengabaikan perangkap dan menulis aplikasi yang aman.
Membantu kami menjadi yang teratas dalam hal memastikan keamanan adalah memiliki pengetahuan lengkap tentang praktik pengkodean aman OWASP (Proyek Keamanan Aplikasi Web Terbuka). Ini adalah komunitas online spesialis keamanan yang telah mengembangkan dokumentasi gratis, materi pembelajaran, dan alat untuk membangun aplikasi seluler dan web yang aman.
Selain itu, mereka juga telah menyusun daftar 10 ancaman keamanan teratas OWASP Mobile di aplikasi seluler.
Meskipun dokumen praktik keamanan OWASP cukup jelas, terkadang sulit bagi bisnis untuk menghubungkannya dari kasus dunia nyata.
Dalam artikel ini, kami akan memberi Anda gambaran dasar tentang 10 risiko keamanan seluler teratas dan memberikan contoh kerentanan yang diungkapkan di dunia nyata untuk masing-masing risiko tersebut. Ini akan memberi Anda wawasan tentang apa yang kami persiapkan di Appinventiv saat kami mengerjakan aplikasi Anda.
Sebelum melihat risikonya, mari kita lihat statistiknya.
NowSecure memeriksa aplikasi di Google Play store dan App store mengidentifikasi bahwa lebih dari 85% aplikasi melanggar salah satu risiko.
Dari aplikasi ini, 50% memiliki penyimpanan data yang tidak aman dan di suatu tempat jumlah aplikasi yang sama bekerja dengan risiko komunikasi yang tidak aman . Berikut adalah grafik yang menunjukkan persentase kejadian dari 10 risiko teratas OWASP Seluler
Daftar 10 Ancaman Paling Umum untuk Aplikasi Seluler dan Praktik Terbaik untuk Dihindari
M1: Penggunaan Platform yang Tidak Tepat
Kategori pengujian keamanan OWASP terdiri dari penyalahgunaan fungsionalitas perangkat atau contoh kegagalan saat menggunakan kontrol keamanan platform. Ini dapat mencakup izin platform, maksud Android, penyalahgunaan TouchID, Keychain, dll.
Kasus Dunia Nyata:
Tiga aplikasi iOS : “Aplikasi Keseimbangan Kebugaran”, “Pemantau Detak Jantung”, dan “Aplikasi Pelacak Kalori” muncul karena melewati ID Sentuh Apple. Mereka meminta pengguna untuk menggunakan sidik jari mereka untuk mendapatkan informasi kebugaran, sementara mereka menggunakannya untuk menagih uang dari App Store.
Praktik Terbaik yang Harus Dihindari:
- Pengembang tidak boleh mengizinkan enkripsi Rantai Kunci melalui rute server dan menyimpan kunci hanya di satu perangkat, sehingga tidak mungkin dieksploitasi di server atau perangkat lain.
- Pengembang harus mengamankan aplikasi melalui Keychain untuk menyimpan rahasia aplikasi yang memiliki daftar kontrol akses khusus.
- Pengembang harus mengambil izin untuk membatasi aplikasi mana yang diizinkan untuk berkomunikasi dengan aplikasi mereka.
- Pengembang harus mengontrol yang pertama dari daftar 10 Teratas Seluler OWASP dengan mendefinisikan maksud eksplisit dan dengan demikian memblokir semua komponen lain untuk mengakses informasi yang ada dalam maksud.
M2: Penyimpanan Data Tidak Aman
OWASP menganggapnya sebagai ancaman ketika seseorang mendapatkan akses ke perangkat seluler yang hilang/dicuri atau ketika malware atau aplikasi lain yang dikemas ulang mulai bertindak atas nama musuh dan melakukan tindakan pada perangkat seluler.
Kerentanan penyimpanan data yang tidak aman biasanya menyebabkan risiko berikut:
- Tipuan
- Pencurian identitas
- Kerugian Materi.
- Kerusakan Reputasi
- Pelanggaran Kebijakan Eksternal (PCI)
Kasus Dunia Nyata :
Aplikasi kencan seperti Tinder, OKCupid, dan Bumble berulang kali diteliti karena praktik penyimpanan datanya yang tidak aman. Penyimpangan keamanan yang ada pada aplikasi ini bervariasi sesuai dengan kelayakan dan tingkat keparahan dan kelayakan, dapat mengekspos nama pengguna, detail login, riwayat pesan, dan bahkan lokasi, di samping aktivitas akun pribadi lainnya.
Praktik Terbaik yang Harus Dihindari:
- Untuk iOS, praktik keamanan OWASP merekomendasikan penggunaan aplikasi rentan yang sengaja dibuat seperti iGoat untuk memodelkan kerangka kerja pengembangan dan aplikasi mereka. Ini akan membantu pengembang aplikasi ios memahami bagaimana API menangani proses aplikasi dan aset informasi.
- Pengembang aplikasi Android dapat menggunakan shell Android Debug Bridge untuk memeriksa izin file dari aplikasi yang ditargetkan dan DBMS untuk memeriksa enkripsi database. Mereka juga harus menggunakan Alat Analisis Memori dan Monitor Perangkat Android untuk memastikan memori perangkat tidak memiliki data yang tidak diinginkan.
M3: Komunikasi Tidak Aman
Saat merancang aplikasi seluler, data dipertukarkan dalam model server-klien. Jadi, ketika data ditransmisikan, itu harus terlebih dahulu melintasi jaringan operator perangkat dan internet. Agen ancaman dapat mengeksploitasi kerentanan dan mencegat data sensitif saat bepergian melintasi kabel. Berikut adalah berbagai agen ancaman yang ada:
- Musuh yang berbagi jaringan lokal Anda – Wi-Fi yang disusupi
- Perangkat Jaringan atau Operator – menara seluler, proxy, router, dll.
- Malware di perangkat seluler.
Penyadapan data sensitif melalui saluran komunikasi akan berakhir dengan pelanggaran privasi, yang dapat menyebabkan:
- Pencurian identitas
- Tipuan
- Kerusakan Reputasi.
Kasus Dunia Nyata:
Perusahaan keamanan Rapid7 mengungkapkan beberapa kerentanan yang melekat pada jam tangan pintar anak-anak. Jam tangan tersebut dipasarkan sebagai jam tangan yang digunakan oleh orang tua untuk melacak anak-anak mereka dan mengirimi mereka pesan atau melakukan panggilan di jam tangan pintar mereka.
Jam tangan seharusnya dihubungi oleh nomor kontak yang disetujui melalui mode daftar putih, tetapi perusahaan menemukan bahwa filternya bahkan tidak berfungsi. Jam tangan bahkan menerima perintah konfigurasi melalui pesan teks. Ini berarti bahwa seorang peretas dapat mengubah pengaturan jam tangan dan membahayakan anak-anak.
“Anda dapat mengidentifikasi di mana ponsel atau anak berada, Anda dapat memperoleh akses ke audio, atau melakukan panggilan telepon ke anak-anak,” kata Deral Heiland, pemimpin penelitian IoT di Rapid7.
Praktik Terbaik yang Harus Dihindari:
- Pengembang seharusnya tidak hanya mencari kebocoran lalu lintas yang dikomunikasikan antara aplikasi dan server, tetapi juga perangkat yang menyimpan aplikasi dan perangkat lain atau jaringan lokal.
Menerapkan TLS/SSL untuk memindahkan saluran juga merupakan salah satu praktik terbaik keamanan aplikasi seluler yang perlu dipertimbangkan saat mentransmisikan informasi sensitif dan data sensitif lainnya.
- Gunakan sertifikat yang diberikan oleh verifikasi rantai SSL tepercaya.
- Jangan mengirim data sensitif melalui saluran alternatif seperti MMS, SMS, atau pemberitahuan push.
- Terapkan lapisan enkripsi terpisah ke data sensitif sebelum diberikan ke saluran SSL.
M4: Otentikasi Tidak Aman
Agen ancaman yang mengeksploitasi kerentanan otentikasi melakukannya melalui serangan otomatis yang menggunakan alat yang dibuat khusus atau tersedia.
Dampak bisnis dari M4 dapat berupa:
- Pencurian Informasi
- Kerusakan Reputasi
- Akses Tidak Sah ke Data.
Kasus Dunia Nyata :
Pada tahun 2019, sebuah bank AS diretas oleh penyerang dunia maya yang memanfaatkan kelemahan situs web bank tersebut dan menghindari autentikasi dua faktor yang diterapkan untuk melindungi akun.
Penyerang masuk ke sistem melalui kredensial korban yang dicuri dan setelah mencapai halaman di mana PIN atau jawaban keamanan harus dimasukkan, penyerang menggunakan string yang dimanipulasi di URL Web, yang telah menetapkan komputer sebagai yang dikenali. Ini memungkinkan dia untuk melintasi panggung dan memulai transfer kawat.

Praktik Terbaik yang Harus Dihindari:
- Tim keamanan aplikasi harus mempelajari autentikasi aplikasi dan mengujinya melalui serangan biner dalam mode offline untuk menentukan apakah itu dapat dieksploitasi.
- Protokol keamanan pengujian aplikasi web OWASP harus cocok dengan aplikasi seluler.
- Gunakan metode otentikasi online sebanyak mungkin, seperti halnya pada browser web.
- Jangan aktifkan pemuatan data aplikasi hingga server mengautentikasi sesi pengguna.
- Tempat di mana data lokal kami akhirnya, memastikan bahwa itu dienkripsi melalui kunci terenkripsi yang berasal dari kredensial login pengguna.
- Permintaan otentikasi persisten juga harus disimpan di server.
- Tim keamanan harus berhati-hati dengan token otorisasi yang berpusat pada perangkat di aplikasi, karena jika perangkat dicuri, aplikasi bisa menjadi rentan.
- Karena akses fisik perangkat yang tidak sah adalah umum, tim keamanan harus menerapkan otentikasi kredensial pengguna reguler dari ujung server.
M5: Risiko Kriptografi Tidak Memadai
Agen ancaman dalam hal ini adalah mereka yang memiliki akses fisik data yang dienkripsi secara salah. Atau di mana malware bertindak atas nama musuh.
Kriptografi yang rusak umumnya menghasilkan kasus-kasus berikut:
- Pencurian Informasi
- Pencurian Kekayaan Intelektual
- Pencurian Kode
- Pelanggaran Privasi
- Kerusakan Reputasi.
Kasus Dunia Nyata :
Terkadang, peringatan dari Tim Tanggap Darurat Siber Sistem Kontrol Industri DHS dan penasihat Philips memperingatkan pengguna tentang kemungkinan kerentanan di aplikasi Android Philips HealthSuite Health .
Masalah yang dilacak kembali ke kekuatan enkripsi yang tidak memadai, membuka aplikasi untuk peretas yang bisa mendapatkan akses ke aktivitas detak jantung pengguna, tekanan darah, kondisi tidur, berat badan dan analisis komposisi tubuh, dll.
Praktik Terbaik yang Harus Dihindari:
- Untuk mengatasi salah satu risiko OWASP Top 10 Seluler yang paling umum terjadi ini , pengembang harus memilih algoritme enkripsi modern untuk mengenkripsi aplikasi mereka. Pilihan algoritma menangani kerentanan untuk sebagian besar.
- Jika pengembang bukan ahli keamanan, mereka harus menahan diri untuk tidak membuat kode enkripsi sendiri.
M6: Risiko Otorisasi Tidak Aman
Dalam hal ini, agen ancaman dapat mengakses aplikasi orang lain biasanya melalui serangan otomatis yang menggunakan alat yang dibuat khusus atau tersedia.
Ini dapat menyebabkan masalah berikut:
- Pencurian Informasi
- Kerusakan Reputasi
- Tipuan
Kasus Dunia Nyata :
Pakar keamanan informasi di Pen Test Partners meretas Pandora , sistem alarm mobil pintar. Secara teori, aplikasi tersebut digunakan untuk melacak mobil, mematikan mesin jika dicuri dan menguncinya hingga polisi datang.
Di sisi lain, seorang peretas dapat membajak akun dan mendapatkan akses ke semua data dan fungsi alarm pintar. Selain itu, mereka dapat:
- Lacak pergerakan kendaraan
- Aktifkan dan nonaktifkan sistem alarm
- Mengunci dan membuka kunci pintu mobil
- Potong mesinnya
- Dalam kasus Pandora, peretas mendapat akses ke semua yang dibicarakan di dalam mobil melalui mikrofon sistem anti-pencurian.
Praktik Terbaik yang Harus Dihindari:
- Tim QA harus secara teratur menguji hak pengguna dengan menjalankan token sesi hak istimewa rendah untuk perintah sensitif.
- Pengembang harus mencatat bahwa skema otorisasi pengguna salah dalam mode offline.
- Cara terbaik untuk mencegah risiko ini adalah dengan menjalankan pemeriksaan otorisasi untuk izin dan peran pengguna yang diautentikasi di server, alih-alih perangkat seluler.
M7: Risiko Kualitas Kode Buruk
Dalam kasus ini, input yang tidak tepercaya diteruskan oleh entitas ke pemanggilan metode yang dibuat dalam kode seluler. Efek dari hal ini dapat berupa masalah teknis yang dapat menyebabkan penurunan kinerja, penggunaan memori yang berat, dan arsitektur front-end yang tidak berfungsi dengan baik.
Kasus Dunia Nyata :
WhatsApp tahun lalu menambal kerentanan yang dimanfaatkan peretas untuk memasang malware pengawasan yang disebut Pegasus Spyware di ponsel cerdas. Yang harus mereka lakukan hanyalah melakukan panggilan audio WhatsApp ke nomor telepon yang ditargetkan.
Dalam beberapa langkah sederhana, peretas dapat masuk ke perangkat pengguna dan mengaksesnya dari jarak jauh.
Praktik Terbaik yang Harus Dihindari:
- Menurut praktik pengkodean aman OWASP , kode harus ditulis ulang di perangkat seluler alih-alih memperbaikinya di sisi server. Pengembang harus mencatat bahwa pengkodean yang buruk di sisi server sangat berbeda dari pengkodean yang buruk di tingkat klien. Artinya, kontrol sisi server yang lemah dan kontrol sisi klien harus diberi perhatian terpisah.
- Pengembang harus menggunakan alat pihak ketiga untuk analisis statis guna mengidentifikasi buffer overflows dan kebocoran memori.
- Tim harus membuat daftar pustaka pihak ketiga dan memeriksanya untuk versi yang lebih baru secara berkala.
- Pengembang harus melihat semua masukan klien sebagai tidak tepercaya dan memvalidasinya terlepas dari apakah itu berasal dari pengguna atau aplikasi.
M8: Risiko Pelanggaran Kode
Biasanya, dalam kasus ini, penyerang mengeksploitasi modifikasi kode melalui bentuk berbahaya dari aplikasi yang dihosting di toko aplikasi pihak ketiga. Mereka mungkin juga mengelabui pengguna agar menginstal aplikasi melalui serangan phishing.
Praktik Terbaik yang Harus Dihindari:
- Pengembang harus memastikan bahwa aplikasi dapat mendeteksi perubahan kode saat runtime.
- File build.prop harus diperiksa keberadaan ROM tidak resmi di Android dan untuk mengetahui apakah perangkat telah di-root.
- Pengembang harus menggunakan checksum dan mengevaluasi tanda tangan digital untuk melihat apakah file telah dirusak.
- Pembuat kode dapat memastikan bahwa kunci aplikasi, kode, dan data dihapus setelah ditemukan gangguan.
M9: Risiko Rekayasa Terbalik
Penyerang biasanya mengunduh aplikasi yang ditargetkan dari toko aplikasi dan menganalisisnya di dalam lingkungan lokal mereka dengan serangkaian alat yang berbeda. Setelah itu, mereka dapat mengubah kode dan membuat fungsi aplikasi berbeda.
Kasus Dunia Nyata :
Pokemon Go baru-baru ini menghadapi pandangan pelanggaran keamanan ketika ditemukan bahwa pengguna telah merekayasa balik aplikasi untuk mengetahui sekitar Pokemon dan menangkapnya dalam hitungan menit.
Praktik Terbaik yang Harus Dihindari:
- Cara terbaik untuk melindungi aplikasi dari risiko, menurut keamanan seluler OWASP , adalah dengan menggunakan alat yang sama seperti yang digunakan peretas untuk rekayasa balik.
- Pengembang juga harus mengaburkan kode sumber sehingga sulit dibaca dan kemudian direkayasa ulang.
M10: Risiko Fungsionalitas Asing
Biasanya, seorang peretas melihat fungsionalitas asing di dalam aplikasi seluler untuk menemukan fungsionalitas tersembunyi di sistem backend. Penyerang akan mengeksploitasi fungsionalitas asing dari sistem mereka sendiri tanpa keterlibatan pengguna akhir.
Kasus Dunia Nyata :
Ide dari aplikasi Wifi File Transfer adalah untuk membuka port di Android dan mengizinkan koneksi dari komputer. Masalahnya ? Tidak adanya otentikasi seperti kata sandi, artinya, siapa pun dapat terhubung ke perangkat dan mendapatkan akses penuhnya.
Praktik Terbaik yang Harus Dihindari:
- Pastikan tidak ada kode pengujian di versi final
- Pastikan tidak ada sakelar tersembunyi di pengaturan konfigurasi
- Log tidak boleh berisi deskripsi proses server backend
- Pastikan bahwa log sistem lengkap tidak diekspos ke aplikasi oleh OEM
- Titik akhir API harus didokumentasikan dengan baik.