- Keamanan Menyeluruh, Disampaikan dengan Tanggung Jawab/
- Insight & Advisori Keamanan/
- API Penetration Testing yang Efektif di Thailand/
API Penetration Testing yang Efektif di Thailand
Daftar isi
Aplikasi sudah lama berhenti menjadi “situs web”. Mereka sekarang adalah API: microservices memanggil microservices, klien mobile di satu ujung dan jalur pembayaran di ujung lainnya. Percakapan keamanan belum sepenuhnya mengejar. Tim masih membeli “penetration test aplikasi web” yang menghabiskan 80% upaya di front end, sementara API di belakangnya, tempat uang dan data benar-benar mengalir, kurang diuji.
Mengapa API membuat scanner menyerah #
Scanner web otomatis dibangun di atas model halaman: merayapi tautan, menemukan formulir, menyuntik payload. API tidak menampilkan halaman. API menampilkan route, method, dan schema, dan perilaku yang menarik hidup dalam logika bisnis di antara semuanya.
Pertimbangkan cacat akses level objek: pengguna mengubah user_id=1024 menjadi user_id=1025 dalam satu request dan membaca catatan orang lain. Tak ada signature yang berbunyi. Tak ada payload jahat. Scanner melihat request normal lalu lanjut. Inilah Broken Object Level Authorisation (BOLA), entri nomor satu di
OWASP API Security Top 10, dan ia tak kasat mata oleh hampir semua tool otomatis.
Itulah argumen inti pengujian API human-led: cacat yang paling merusak adalah cacat desain, dan cacat desain butuh analis yang memahami konteks bisnis untuk menemukannya.
Apa saja yang benar-benar dicakup tes API yang efektif #
Asesmen API bermakna jauh melampaui menjalankan scanner terhadap spesifikasi OpenAPI:
- Autentikasi dan otorisasi: penanganan token, pemeriksaan scope, dan akses level objek di setiap batas peran.
- Logika bisnis: bisakah pengguna memberi harga negatif pada pesanan, memutar ulang callback pembayaran, atau melewati langkah workflow dengan memanggil endpoint berikutnya langsung?
- Paparan data: endpoint mana yang mengembalikan field berlebih, dan mana yang menerima field yang seharusnya tak pernah dikirim klien.
- Rate limiting dan abuse: enumerasi, credential stuffing, dan jalur account takeover yang menyalahgunakan throttling lemah.
- Batas integrasi: webhook, callback pihak ketiga, dan message queue, tempat kepercayaan sering diasumsikan dan tak pernah diverifikasi.
Karena itulah engagement terbaik memadukan tradecraft ofensif manual dengan recon dan fuzzing berbantuan AI: otomatisasi memperluas cakupan, manusia menilai severity dan konteks.
Berkelanjutan, bukan tahunan #
Tes API sekali setahun adalah snapshot titik-waktu atas sistem yang deploy mingguan. Saat laporan selesai ditulis, endpoint sudah berubah. Pendekatan modern memasukkan pemeriksaan keamanan API ke dalam delivery pipeline:
- Shift-left dengan static analysis dan validasi schema di CI.
- Uji per rilisan: review terfokus saat permukaan API berubah.
- Deep-dive tahunan: asesmen penuh human-led untuk jejak audit dan logika bisnis yang tak bisa dinilai pipeline.
PCI DSS Requirement 6 dan Requirement 11.4 sama-sama mendorong arah ini bagi organisasi yang menyentuh data kartu, demikian pula pedoman keamanan kanal digital Bank of Thailand.
Apa yang automated scanner tak bisa lihat #
Penting untuk spesifik soal apa saja yang dilewatkan otomasi, karena celahnya tidak acak: mereka berkumpul tepat di tempat uang mengalir.
BOLA dalam praktik. Scanner menguji endpoint yang ditemukan dan parameter yang ia pahami. Ambil sebuah invoice API: GET /invoices/8842 mengembalikan invoice milik si pemanggil sendiri, scanner mencatat lulus. Tetapi GET /invoices/8843, invoice pelanggan lain, mungkin sama senangnya dikembalikan, dan tak ada scanner yang akan mencobanya, karena paham bahwa 8843 milik orang lain butuh tahu apa artinya kepemilikan dalam bisnis Anda. Setiap object identifier yang melintasi batas tenant adalah potensi BOLA, dan hanya analyst yang mengenumerasi objek lintas account yang akan menemukannya.
Celah logika bisnis. Scanner menguji apakah request berhasil atau gagal; celah logika hidup di request yang berhasil padahal seharusnya tidak. Contoh nyata dari engagement: kode kupon bisa dipakai dua kali karena validasi redemption terjadi setelah capture pembayaran; transfer booking antar akun tanpa re-authorisation; membatalkan pesanan yang sudah dibayar dan terkirim karena endpoint cancel tak pernah memeriksa status fulfillment. Semua mengembalikan HTTP 200. Semua adalah kerugian finansial tanpa pesan error apa pun.
Asumsi trust antar service. Di estate microservices, satu service lazimnya memercayai header, token, atau internal endpoint yang disodorkan “pemanggil”, karena di diagram desain pemanggil selalu service internal juga. Lalu suatu saat satu service dikompromikan, atau satu internal endpoint menjadi reachable dari segmen jaringan yang kurang dipercaya, dan asumsi trust turunan itu menjadi tangga penyerang: authenticate lewat edge service yang lemah dulu, lalu sodorkan identitasnya ke hilir tempat API bernilai tinggi berada. Menemukan pola ini butuh membaca arsitektur sesuai niat desainernya, lalu mengujinya seperti penyerang akan melewatinya.
Tak satu pun dari tiga hal ini muncul di output scanner. Semua muncul di laporan analyst yang meluangkan waktu memahami apa API Anda sebenarnya dibuat untuk.
API & Application Security Review kami memadukan analisis source code manual dengan penetration testing kontekstual dan menyerahkan panduan remediasi yang langsung bisa dipakai developer. Jika yang Anda butuhkan verifikasi lebih luas atas perimeter dan segmentasi, lihat penetration testing human-led.