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:

  • userId di token JWT vs ownerId dari 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.