Referensi
OWASP Top 10: Penjelasan Tiap Kategori dan Cara Mitigasinya
OWASP Top 10 bukan daftar alat, melainkan daftar kategori risiko. Berguna sebagai kerangka audit, asalkan tiap kategori diterjemahkan jadi pemeriksaan yang konkret.
Program perkenalan
Audit keamanan gratis
Kami mengerjakan satu audit penuh tanpa biaya — standar dan kedalaman yang sama seperti engagement berbayar. Sebagai gantinya kami meminta satu hal: recognition, berupa izin mencantumkan engagement ini sebagai referensi portofolio cyberagent.id. Identitas kamu boleh tetap anonim.
A01: Kontrol akses yang rusak
Pengguna bisa membuka data atau fungsi yang bukan haknya, biasanya dengan mengganti ID di URL atau isi request, atau dengan memanggil endpoint yang seharusnya khusus admin.
Mitigasi: periksa hak akses di sisi server untuk setiap permintaan, bukan hanya menyembunyikan tombol di tampilan. Tolak secara default, dan beri izin satu per satu.
A02: Kegagalan kriptografi
Data sensitif tersimpan atau berpindah tanpa perlindungan yang memadai: HTTPS tidak dipaksa, data pribadi disimpan tanpa enkripsi, password di-hash dengan algoritma yang lemah.
Mitigasi: paksa HTTPS termasuk header HSTS, pakai algoritma hashing password yang memang dirancang untuk itu, dan jangan pernah menyimpan kunci rahasia di dalam kode atau repositori.
A03: Injeksi
Masukan pengguna diperlakukan sebagai perintah: SQL, perintah sistem operasi, atau template.
Mitigasi: gunakan query berparameter, hindari menyusun perintah lewat penggabungan teks, dan validasi masukan sesuai bentuk yang diharapkan, bukan sekadar menyaring karakter tertentu.
A04: Desain yang tidak aman
Masalahnya ada di rancangan, bukan di kode: alur pemulihan akun yang bisa dilewati, batas pemakaian kupon yang tidak jelas, atau tidak ada pembatasan jumlah percobaan login sejak awal.
Mitigasi: tulis skenario penyalahgunaan sebelum menulis kode, lalu uji setiap batasnya. Minta satu orang yang tidak mengerjakan fitur itu untuk mencoba merusaknya.
A05: Konfigurasi keamanan yang salah
Akun bawaan masih aktif, direktori bisa didaftar isinya, pesan error menampilkan detail sistem, header keamanan tidak dipasang, atau panel admin terbuka ke internet tanpa pembatasan.
Mitigasi: jadikan konfigurasi sebagai bagian dari proses rilis, periksa ulang setiap kali lingkungan berubah, dan matikan fitur yang tidak dipakai.
A06: Komponen yang usang dan rentan
Pustaka, kerangka kerja, dan plugin yang sudah lama tidak diperbarui. Satu komponen kecil yang tertinggal bisa membuka seluruh sistem.
Mitigasi: catat semua dependensi beserta versinya, pantau pengumuman keamanan, dan tetapkan tenggat perbaikan untuk komponen yang dipakai di jalur produksi.
A07: Kegagalan identifikasi dan autentikasi
Percobaan login tidak dibatasi, sesi tidak dimatikan saat logout, token tidak pernah kedaluwarsa, dan proses pemulihan akun lebih lemah daripada proses login.
Mitigasi: batasi percobaan login, matikan sesi di sisi server, gunakan autentikasi dua faktor untuk peran yang sensitif, dan pastikan token pemulihan hanya bisa dipakai sekali.
A08: Kegagalan integritas perangkat lunak dan data
Pembaruan diambil dari sumber yang tidak diverifikasi, atau data penting bisa diubah tanpa jejak.
Mitigasi: verifikasi tanda tangan paket, kunci akses ke saluran rilis, dan simpan jejak audit untuk perubahan data yang penting.
A09: Kegagalan pencatatan dan pemantauan
Serangan tidak terdeteksi karena tidak ada log, atau lognya ada tetapi tidak pernah dibaca. Banyak insiden baru diketahui setelah data keluar.
Mitigasi: catat peristiwa penting seperti login, perubahan hak akses, dan kegagalan otorisasi. Pastikan log tidak bisa diubah dari dalam aplikasi, dan tetapkan siapa yang memeriksanya.
A10: Server-side request forgery
Aplikasi mengambil alamat dari masukan pengguna tanpa pembatasan, sehingga penyerang bisa memakainya untuk menjangkau jaringan internal atau layanan metadata penyedia cloud.
Mitigasi: batasi tujuan yang boleh diakses dengan daftar izin, tolak alamat internal dan alamat privat, dan jalankan pengambilan berkas di lingkungan terpisah.
Cara memakai daftar ini dengan benar
Jangan memeriksa kategori secara berurutan lalu berhenti setelah menemukan satu temuan. Untuk setiap kategori, catat bukti, tingkat dampak, dan siapa pemilik perbaikannya. Daftar ini kerangka kerja, bukan sertifikat: sistem bisa lolos semua kategori dan tetap punya masalah pada alur bisnisnya.
Pertanyaan yang sering muncul
Apakah OWASP Top 10 wajib dipatuhi?
Bukan aturan resmi, melainkan kerangka kerja yang disusun dari pola risiko yang paling sering ditemukan. Banyak standar audit memakainya sebagai acuan, sehingga berguna untuk menyelaraskan pemeriksaan teknis dengan kebutuhan kepatuhan.
Berapa sering daftarnya diperbarui?
Daftar ini diperbarui secara berkala mengikuti pola serangan yang berubah, jadi kategori dan penekanannya bisa bergeser antar versi. Yang tidak berubah adalah prinsipnya: periksa otorisasi, perlakukan masukan sebagai data, dan pastikan perubahan penting tercatat.
Cukupkah memperbaiki sepuluh kategori itu untuk membuat sistem aman?
Tidak. Sepuluh kategori itu pintu masuk yang paling sering, bukan daftar lengkap celah yang mungkin ada. Pengujian tetap perlu dilakukan pada alur bisnis dan integrasi pihak ketiga.
Baca juga
Butuh bantuan untuk kasus kamu? Lihat Jasa Audit API atau kirim daftar aset yang ingin diuji ke founder@cyberagent.id.