Cara kerja dan mengatasi IDOR

Referensi objek langsung (IDOR) yang tidak aman adalah jenis kerentanan kontrol akses yang muncul saat aplikasi menggunakan input yang disediakan pengguna untuk mengakses objek secara langsung. Istilah IDOR dipopulerkan oleh kemunculannya dalam Sepuluh Besar OWASP 2007. Namun, ini hanyalah satu contoh dari banyak kesalahan implementasi kontrol akses yang dapat menyebabkan pengelakan kontrol akses. Kerentanan IDOR paling sering dikaitkan dengan eskalasi hak istimewa horizontal, tetapi mereka juga dapat muncul dalam kaitannya dengan eskalasi hak istimewa vertikal.

IDOR dan cara mengatasi nya. Insecure Direct Object Reference (IDOR) adalah sebuah kerentanan keamanan yang dapat terjadi pada aplikasi web. Kerentanan ini terjadi ketika sebuah aplikasi web tidak memvalidasi atau memverifikasi dengan benar penggunaan ID objek (seperti nomor ID atau nama file) ketika digunakan sebagai parameter dalam sebuah permintaan ke server.

Bagaimana Kerentanan IDOR Terjadi?

Sebagian besar aplikasi web menggunakan ID sederhana untuk mereferensikan objek. Misalnya, pengguna dalam database biasanya akan dirujuk melalui ID pengguna. ID pengguna yang sama adalah kunci utama ke kolom database yang berisi informasi pengguna dan dibuat secara otomatis. Algoritme pembuatan kunci database sangat sederhana : biasanya menggunakan bilangan bulat yang tersedia berikutnya. Mekanisme pembuatan ID database yang sama digunakan untuk semua jenis catatan database lainnya. Jika perlu untuk mempertahankan pendekatan ini, pengembang setidaknya harus benar-benar memastikan bahwa lebih dari sekadar referensi diperlukan untuk mengakses sumber daya. Misalnya, aplikasi web menampilkan detail transaksi menggunakan URL berikut:

Attacker dapat mencoba mengganti nilai parameter id 74656 dengan nilai serupa lainnya, misalnya :

karena disebabkan Otorisasi hak akses suatu data tidak ada. sehingga Terdapat kebocoran data, karena penyerang dapat memanfaatkan parameter tersebut untuk mengakses data lainnya. rekomendasi Mengimplementasikan access control terhadap suatu data sensitif.

Ketika kerentanan IDOR terjadi, seorang penyerang dapat memanipulasi parameter permintaan untuk mengakses atau memodifikasi data yang seharusnya tidak dapat diakses atau dimodifikasi oleh pengguna biasa. Sebagai contoh, seorang penyerang dapat mengganti nilai parameter ID objek dalam permintaan untuk mengakses data pribadi pengguna lain atau bahkan menghapus data penting.

Untuk mencegah kerentanan IDOR, pengembang aplikasi harus melakukan validasi dan otorisasi dengan benar untuk memastikan bahwa pengguna hanya dapat mengakses dan memodifikasi data yang seharusnya mereka miliki. Salah satu cara untuk melakukan ini adalah dengan menggunakan metode identifikasi yang unik dan tidak mudah diprediksi seperti token, atau dengan menerapkan kontrol akses yang tepat dalam aplikasi.

Cara Mengatasi IDOR

Melakukan penetration testing. Penetration testing atau pentest merupakan serangkaian proses yang dilakukan oleh ahli ethical hacking untuk menguji sistem atau jaringan. Pengujian ini dilakukan untuk memastikan apakah sistem Anda memiliki celah keamanan.

Berikut adalah beberapa cara untuk mengatasi kerentanan Insecure Direct Object Reference (IDOR) dalam aplikasi web :

  • Implementasikan kontrol akses: Pastikan bahwa aplikasi web Anda hanya memberikan akses ke data yang diperlukan untuk setiap pengguna. Ini dapat dicapai dengan menerapkan kontrol akses berdasarkan peran dan hak akses pengguna.
  • Gunakan token unik: Buat token unik untuk setiap objek yang dapat dilihat atau dimodifikasi oleh pengguna. Pastikan token ini sulit ditebak dan tidak dapat diprediksi. Dengan cara ini, hanya pengguna yang memiliki token yang sah yang dapat mengakses atau memodifikasi objek tersebut.
  • Gunakan enkripsi: Enkripsi ID objek yang digunakan dalam permintaan. Ini akan membuat sulit bagi penyerang untuk memanipulasi nilai ID objek dalam permintaan.
  • Validasi parameter permintaan: Validasi setiap parameter permintaan yang dikirim oleh pengguna untuk memastikan bahwa parameter tersebut berada dalam batas yang diizinkan dan sesuai dengan kebijakan akses dan otorisasi.
  • Gunakan pengujian keamanan: Melakukan pengujian keamanan secara teratur dapat membantu mengidentifikasi kerentanan IDOR di aplikasi web Anda. Dalam pengujian keamanan, Anda dapat mencoba mengakses objek yang seharusnya tidak dapat diakses dan memodifikasi objek yang seharusnya tidak dapat dimodifikasi untuk menguji apakah aplikasi web Anda rentan terhadap kerentanan IDOR.

Dengan melakukan pentest maka bug IDOR dapat Anda temukan sehingga perusahaan dapat bertindak cepat dan terhindar dari pelanggaran data.

AIKOM Ternate

“Sebagai pusat unggulan pengembangan pengetahuan, teknologi, berbasis kompetensi dan berwawasan teknologi dalam bidan komputerrisasi”