Pengantar
Di era aplikasi berbasis layanan dan microservices, API menjadi tulang punggung komunikasi antara klien dan server. API memungkinkan pertukaran data secara cepat dan efisien, tetapi juga membuka berbagai celah keamanan jika tidak dikonfigurasi dengan cermat.
Salah satu celah keamanan yang paling sering ditemukan dan dieksploitasi peretas pada API modern adalah Broken Object Level Authorization (BOLA). Celah ini memungkinkan penyerang mengakses, memodifikasi, atau bahkan menghapus data milik pengguna lain hanya dengan memanipulasi parameter permintaan API — tanpa harus melewati autentikasi yang kompleks.
Apa Itu Broken Object Level Authorization (BOLA)?
Definisi Dasar
Broken Object Level Authorization atau BOLA adalah kerentanan API yang terjadi ketika sebuah API gagal memverifikasi apakah pengguna yang sudah terautentikasi benar-benar memiliki izin untuk mengakses sumber daya tertentu atau objek data yang diminta.
Berbeda dengan masalah autentikasi, di mana server memastikan identitas pengguna, BOLA adalah masalah otorisasi — server mengenali siapa pengguna itu, tetapi tidak mengecek apakah pengguna tersebut berhak mengakses objek tertentu.
Bagaimana BOLA Dieksploitasi
Manipulasi Identifikasi Objek
Mengubah Parameter ID
API yang menerima parameter objek (misalnya orderId, userId, atau invoiceId) tanpa melakukan validasi akses dapat mengekspos data pengguna lain. Penyerang cukup mengubah nilai ID tersebut untuk mencoba mengakses sumber daya lain yang tidak seharusnya bisa diakses.
Misalnya, seorang pengguna yang berada di /api/orders/1001 dapat mengubah parameter itu menjadi 1002 dan melihat data milik pengguna lain jika tidak ada pemeriksaan otorisasi yang kuat (dikutip dari panterslab).
baca juga : RAM Forensics: Teknik Menemukan Malware yang Bersembunyi di Memori Tanpa Jejak di Hard Drive
Enumerasi dan Guessing
Dengan ID yang mudah ditebak (sequential), penyerang bisa melakukan enumeration — mencoba nilai ID satu per satu sampai menemukan data yang tidak dilindungi dengan benar. Karena ini menggunakan endpoint yang sah dengan kredensial yang valid, aktivitas seperti ini sering lolos dari deteksi firewall atau pemindai kerentanan standar.
Dampak Keamanan Broken Object Level Authorization
1. Kebocoran Data Sensitif
Akses Tidak Sah ke Informasi Pengguna
Jika BOLA tidak diperbaiki, peretas dapat mengakses informasi seperti:
-
Data profil lainnya
-
Detail transaksi
-
Riwayat aktivitas pengguna
yang semuanya seharusnya bersifat privat.
2. Modifikasi atau Penghapusan Data
Akses Tidak Sah terhadap Operasi CRUD
Lebih buruk lagi, eksploitasi BOLA tidak hanya menampilkan data. Penyerang dapat:
-
Mengubah aset yang bukan miliknya
-
Menghapus informasi penting
-
Merusak integritas data
yang bisa berujung pada gangguan layanan atau pencurian reputasi.
baca juga : Man-in-the-Browser: Mengapa HTTPS Saja Tidak Cukup untuk Melindungi Data Pengguna
3. Eskalasi Privilege Horisontal
Akses ke Rekan Selevel (Peer User)
Karena API hanya memeriksa identitas, bukan akses objek, peretas bisa mengakses data pengguna lain dengan level akses yang sama, tanpa perlu mengelevasi hak istimewa ke admin.
Mengapa BOLA Sering Terjadi pada API?
1. Ekosistem API yang Kompleks
API modern sering dibangun dengan banyak layanan microservices yang berbeda, sehingga logika otorisasi bisa tersebar dan tidak konsisten.
2. Reliance pada ID yang Diberikan Klien
Banyak API bergantung langsung pada ID yang disuplai klien — baik melalui URL, parameter, atau badan permintaan — tanpa validasi tambahan apakah pemilik token autentikasi benar-benar berhak mengakses objek tersebut.
3. Fokus pada Autentikasi, Bukan Otorisasi
Tim pengembang sering memberikan perhatian lebih kepada mekanisme login dan autentikasi, tetapi mengabaikan otorisasi tingkat objek, yang seharusnya memeriksa baik identitas pengguna maupun pemilik sumber daya.
Strategi Pencegahan BOLA
1. Validasi Akses Berdasarkan Kepemilikan Objek
Server harus selalu memastikan bahwa pengguna yang meminta objek benar-benar berhak mengakses objek tersebut, misalnya melalui pemeriksaan:
-
userIddi token JWT vsownerIddari objek di database
2. Gunakan Identifikasi Objek yang Sulit Ditebak
UUID atau token acak jauh lebih sulit ditebak dibandingkan angka berurutan, meskipun ini bukan pengganti validasi otorisasi.
3. Terapkan Kontrol Akses yang Ketat
Implementasikan logika ACL (Access Control List) atau RBAC (Role-Based Access Control) yang secara eksplisit memeriksa hak pengguna terhadap setiap objek.
4. Otomatisasi dan Monitoring
Audit dan log setiap permintaan API yang mencurigakan, terutama yang mencoba mengakses atau memodifikasi objek milik pengguna lain.
baca juga : Deobfuscation: Seni Membedah Kode Malware yang Sengaja Disamarkan oleh Peretas
Kesimpulan
Broken Object Level Authorization (BOLA) merupakan salah satu celah keamanan API yang paling sering dieksploitasi oleh peretas karena mudah dieksploitasi dan sulit dideteksi dengan tools otomatis. Meskipun pengguna telah terautentikasi, tanpa otorisasi yang tepat pada tingkat objek, API dapat secara tidak sengaja memberikan akses ke data yang seharusnya bersifat privat.
Pencegahan BOLA memerlukan strategi keamanan yang matang, termasuk pemeriksaan otorisasi berbasis kepemilikan objek, penggunaan identifier yang tidak mudah ditebak, dan implementasi kontrol akses yang konsisten. Dalam ekosistem API yang semakin meluas, konsistensi otorisasi adalah kunci untuk melindungi data sensitif dari eksploitasi yang merugikan.



1 Comment
SQL Triggers: Automasi Data atau Backdoor Tersembunyi? - buletinsiber.com
3 days ago[…] baca juga : Broken Object Level Authorization (BOLA): Celah API yang Paling Sering Dieksploitasi Peretas […]