Pada Februari 2024, kami membandingkan Website Vulnerability Scanner kami dengan beberapa nama besar di bidang Dynamic Web Application Security Testing (DAST), baik yang komersial maupun open-source: Burp Scanner, Acunetix, Qualys, Rapid7 InsightAppSec, dan ZAP.
Mengapa Kami Melakukan Ini?
Kami masih relatif baru di pasar. Scanner kami dibangun ulang dari awal pada musim gugur 2020. Setelah 4 tahun dan lebih dari 2,5 juta website dipindai, kami ingin melihat bagaimana performa kami dibandingkan dengan alat lain di pasar.
Sebagai spesialis keamanan web, biasanya tidak ada cara standar untuk membandingkan produk melalui benchmark resmi atau informasi vendor. Yang ada hanyalah review acak di internet. Pilihan Anda: mempercayai review itu, atau membuat laboratorium pengujian web security sendiri dan mengujinya secara konsisten.
Kami memilih pendekatan kedua, dengan tujuan tidak untuk membanggakan scanner kami, tapi untuk melihat secara jujur apa yang kami lakukan dengan baik, apa yang perlu diperbaiki, dan apa yang bisa dipelajari dari alat lain.
Cara Kami Membangun Benchmark Scanner Web
Seorang engineer keamanan aplikasi biasanya peduli pada tiga hal:
- Kemampuan crawler: Seberapa luas scanner bisa menjelajahi aplikasi. Jika endpoint tidak ter-crawl, scanner tidak bisa menemukan kerentanan.
- Jenis dan jumlah kerentanan yang bisa ditemukan.
- Tingkat keakuratan laporan kerentanan: False positive = waktu terbuang.
Untuk itu, aplikasi uji yang digunakan harus:
- Memiliki berbagai fungsi yang mewakili sebagian besar aplikasi web nyata.
- Dibangun menggunakan tech stack yang sesuai tren industri.
- Transparan: kita tahu semua kerentanan yang seharusnya ditemukan.
Fokus benchmark ini hanya pada deteksi kerentanan: membandingkan laporan scanner dengan kondisi nyata target.
Kami mengukur:
- True positive rate → berapa kerentanan yang benar-benar ada dan terdeteksi.
- False positive rate → berapa kerentanan yang dilaporkan tapi tidak ada.
- False negative rate → berapa kerentanan yang ada tapi tidak terdeteksi.
Untuk objektivitas, testbed tidak dibuat oleh perusahaan pembuat scanner agar tidak ada scanner yang mendapat keuntungan.
Target yang Digunakan: Broken Crystals dan DVWA
Broken Crystals:
- Menggunakan React → menantang crawler.
- Memiliki REST dan GraphQL API → beberapa kerentanan hanya bisa dideteksi jika scanner paham teknologi ini.
- Memiliki berbagai kerentanan: XSS, SQL injection, JWT, dan GraphQL.
DVWA (Damn Vulnerable Web Application):
- Aplikasi klasik, non-single page.
- Banyak digunakan sebagai tolok ukur kemampuan scanner mendeteksi hampir 100% kerentanan.
Kekurangan Benchmark Scanner Web
- False positive sering muncul, meski scanner bagus di benchmark, belum tentu sama di dunia nyata.
- Kami berusaha meminimalkan ini dengan memudahkan pengguna melaporkan masalah scan, serta menjalankan scanner secara terus-menerus pada program bug bounty.
Cara Pengaturan Testbed
- Kedua aplikasi dijalankan di VPS cloud menggunakan Docker.
- Setiap scanner dipakai secara terpisah, dan aplikasi di-reset setelah scan agar tidak saling mempengaruhi.
- Digunakan versi stabil terbaru per Februari 2024.
- Scanner dikonfigurasi untuk crawling paling komprehensif dan semua modul deteksi kerentanan.
- Untuk API, jika memungkinkan, kami memasukkan REST swagger files dan endpoint GraphQL.
- Scanner juga diatur agar autentikasi berhasil sebisa mungkin.
Hasil Benchmark Broken Crystals
- Acunetix menduduki peringkat pertama.
- Website Vulnerability Scanner kami berada di peringkat kedua, setara dengan Burp Suite.
- ZAP mengejutkan dengan mengungguli Qualys dan Rapid7, berada di peringkat keempat.
False positives: Semua scanner mendeteksi beberapa false positives, tapi tidak ada yang menonjol secara negatif.
Hasil Benchmark DVWA
- Burp Suite pertama: mendeteksi 29 dari 39 kerentanan.
- Scanner kami kedua terbanyak mendeteksi kerentanan.
- Rapid7 19 vulns, Acunetix 18 vulns.
Masalah utama:
- XSS: Scanner kami hanya mendeteksi 4/12, Burp 11/12. Penyebab: bug spidering dan aturan kami hanya melaporkan XSS jika payload dijalankan di headless browser.
- Spider memiliki bug di edge cases, sehingga beberapa endpoint tidak tercrawl.
- Passive Scanner kami masih kurang modul deteksi untuk IP, path, SQL statement. Fokus dua tahun terakhir lebih ke Active Scanner.
False positives: Mirip Broken Crystals, tapi ZAP mengeluarkan 88 SQL injection palsu, salah satu alasan kami membangun scanner sendiri pada 2020.
Cara Kami Menggunakan Hasil Ini
Beberapa hal yang akan kami perbaiki:
- Meningkatkan Spider: Simulasi interaksi pengguna lebih baik di Single Page Application. Misal klik submenu untuk mengakses halaman yang DOM-nya berubah dinamis.
- Integrasi REST dan GraphQL Scanner: Memberikan fleksibilitas scan spesifik atau all-in-one.
- Detektor Active Scanner pada variabel GraphQL: Bisa mendeteksi kerentanan server-side klasik pada query/mutation GraphQL.
- Benchmark berkelanjutan: Menjalankan scanner secara terus-menerus di target nyata (bug bounty) → mengurangi false positive dan mungkin false negative.
Hasil ini memberi kami pandangan objektif dan subjektif untuk meningkatkan scanner kami. Nantikan artikel lanjutan dari proses ini!
Infrastruktur IT yang kuat adalah kunci produktivitas perusahaan. Dengan pentest indonesia, Anda bisa mendapatkan solusi IT lengkap yang sesuai dengan kebutuhan Anda. iLogo Indonesia sebagai mitra terpercaya siap mengintegrasikan semuanya agar bisnis Anda tetap berjalan lancar dan aman.
Hubungi kami sekarang atau kunjungi pentestindonesia.com untuk informasi lebih lanjut!
