Temika

Sertifikat-Pinning-dan-Insecure-Storage

Sertifikat Pinning dan Insecure Storage: Dua Celah yang Paling Sering Diabaikan Developer

Keamanan aplikasi mobile tidak hanya ditentukan oleh bagaimana aplikasi berkomunikasi dengan server. Cara aplikasi memvalidasi koneksi dan menyimpan data di perangkat juga memiliki peran penting. Dua area yang sering luput dalam proses pengembangan adalah certificate pinning dan insecure storage.

Keduanya dapat menjadi bagian dari kerentanan aplikasi mobile apabila tidak dirancang dan diuji dengan tepat. Karena itu, pemeriksaan keamanan aplikasi Android dan iOS sebaiknya tidak hanya berfokus pada API atau autentikasi, tetapi juga mencakup mekanisme komunikasi dan penyimpanan data.

Apa Itu Certificate Pinning?

Certificate pinning merupakan mekanisme yang memungkinkan aplikasi melakukan validasi tambahan terhadap sertifikat atau kunci kriptografi server yang dipercaya. Tujuannya adalah memperkuat perlindungan komunikasi antara aplikasi mobile dan server.

Secara sederhana, aplikasi tidak hanya mengandalkan validasi sertifikat berdasarkan rantai kepercayaan sistem, tetapi juga dapat memiliki informasi mengenai identitas kriptografi server yang diharapkan.

Dengan mekanisme yang dirancang secara tepat, certificate pinning dapat membantu mengurangi risiko tertentu pada komunikasi aplikasi, terutama ketika terdapat upaya intersepsi koneksi.

Mengapa Certificate Pinning Perlu Diuji?

Penerapan certificate pinning tidak otomatis membuat aplikasi aman. Implementasi yang tidak tepat dapat menyebabkan masalah keamanan maupun operasional.

Dalam mobile pentest, pemeriksa dapat mengevaluasi bagaimana aplikasi melakukan validasi koneksi, bagaimana aplikasi menangani perubahan sertifikat, serta apakah mekanisme proteksi tersebut diterapkan secara konsisten pada bagian komunikasi yang relevan.

Pengujian ini penting karena konfigurasi keamanan yang terlihat aktif belum tentu memberikan perlindungan yang diharapkan dalam kondisi tertentu.

Apa Itu Insecure Storage?

Insecure storage terjadi ketika informasi sensitif disimpan pada perangkat dengan perlindungan yang tidak memadai. Data yang tersimpan secara lokal dapat menjadi target apabila perangkat atau lingkungan aplikasi berhasil dikompromikan.

Jenis informasi yang perlu diperhatikan dapat mencakup token autentikasi, informasi sesi, konfigurasi sensitif, atau data lain yang seharusnya mendapatkan perlindungan lebih kuat.

Risikonya bergantung pada jenis data, mekanisme penyimpanan, kontrol akses, sistem operasi, serta konteks aplikasi.

Mengapa Insecure Storage Sering Terlewat?

Developer terkadang lebih fokus pada keamanan komunikasi dengan server daripada bagaimana data dikelola setelah diterima oleh aplikasi.

Padahal, aplikasi mobile dapat menyimpan berbagai artefak selama digunakan. Data tersebut dapat berasal dari proses login, konfigurasi aplikasi, cache, database lokal, atau mekanisme penyimpanan lainnya.

Karena itu, pemeriksaan keamanan perlu melihat data apa yang disimpan, mengapa data tersebut disimpan, berapa lama data disimpan, dan bagaimana perlindungannya.

Certificate Pinning vs Insecure Storage

Aspek Certificate Pinning Insecure Storage
Fokus Keamanan komunikasi Keamanan data lokal
Area pemeriksaan Koneksi aplikasi dan server Penyimpanan pada perangkat
Risiko utama Validasi komunikasi yang tidak memadai Paparan data sensitif
Pengujian Evaluasi implementasi validasi koneksi Evaluasi lokasi dan proteksi data

Keduanya memiliki fokus berbeda, tetapi sama-sama penting dalam penilaian keamanan aplikasi mobile.

Bagaimana Mobile Pentest Menemukan Celah Ini?

Mobile penetration testing menggabungkan pemeriksaan terhadap aplikasi, komunikasi, konfigurasi, dan perilaku aplikasi untuk mengidentifikasi potensi risiko.

Untuk certificate pinning, pengujian dapat berfokus pada mekanisme validasi koneksi dan implementasinya. Sementara itu, pengujian insecure storage dapat mengevaluasi apakah data sensitif tersimpan secara lokal dengan kontrol perlindungan yang sesuai.

Hasil pengujian kemudian dapat dikategorikan berdasarkan tingkat risiko dan konteks bisnis sehingga developer dapat menentukan prioritas perbaikan.

Bagaimana Developer Mengurangi Risikonya?

Beberapa prinsip yang dapat diterapkan developer antara lain:

  • Gunakan mekanisme validasi komunikasi yang sesuai dengan arsitektur aplikasi.
  • Hindari menyimpan informasi sensitif secara lokal tanpa kebutuhan yang jelas.
  • Gunakan mekanisme penyimpanan aman yang tersedia pada platform.
  • Minimalkan masa penyimpanan data sensitif.
  • Lakukan pengujian keamanan sebelum aplikasi dirilis.
  • Uji kembali aplikasi setelah perubahan arsitektur atau mekanisme autentikasi.

Implementasi keamanan sebaiknya tetap mempertimbangkan kebutuhan operasional, kompatibilitas aplikasi, dan proses pemeliharaan.

Kapan Developer Membutuhkan Mobile Pentest?

Pengujian sebaiknya dilakukan sebelum aplikasi digunakan secara luas, terutama untuk aplikasi yang memproses informasi sensitif atau memiliki fungsi bisnis penting.

Mobile pentest juga relevan ketika aplikasi mengalami perubahan besar, seperti perubahan mekanisme autentikasi, integrasi API baru, pembaruan arsitektur, atau penambahan fitur yang memproses data sensitif.

Temika memiliki pengalaman sekitar 8 tahun di bidang keamanan siber dan menerapkan standar ISO 27001, dengan dukungan profesional bersertifikasi seperti OSCP, CRTO, dan CRTP.

Kesimpulan

Certificate pinning dan insecure storage merupakan dua area penting yang perlu diperhatikan dalam keamanan aplikasi mobile. Certificate pinning berkaitan dengan bagaimana aplikasi memvalidasi komunikasi dengan server, sedangkan insecure storage berkaitan dengan perlindungan data yang tersimpan pada perangkat.

Keduanya tidak sebaiknya hanya diperiksa berdasarkan keberadaan fitur keamanan, tetapi melalui pengujian untuk memastikan implementasinya sesuai dengan kebutuhan dan model risiko aplikasi.

Dengan memasukkan pemeriksaan tersebut ke dalam proses mobile pentest, developer dapat memperoleh gambaran yang lebih menyeluruh mengenai kerentanan aplikasi mobile dan menentukan perbaikan yang paling relevan sebelum aplikasi digunakan secara luas.

0 Shares
Share via
Copy link