Pentest Black Box, Grey Box, White Box, Apa Bedanya?
Perbedaan pentest black box, grey box, dan white box dari sisi informasi, kedalaman, waktu, dan hasil, plus cara memilih yang sesuai kebutuhan bisnismu.
Jawaban singkat
Bedanya ada pada seberapa banyak informasi yang diberikan ke penguji. Black box tanpa informasi meniru penyerang luar, grey box memberi akun dan sebagian dokumentasi, white box memberi akses kode dan arsitektur. Untuk kebanyakan aplikasi bisnis, grey box memberi keseimbangan terbaik.
Daftar isi
Black box, grey box, dan white box adalah tiga pendekatan penetration test yang dibedakan dari seberapa banyak informasi yang diberikan kepada penguji sebelum pengujian dimulai. Pada black box, penguji tidak tahu apa-apa selain target. Pada white box, penguji melihat hampir semuanya, termasuk kode sumber. Grey box berada di tengah.
Pilihan ini bukan soal gaya. Pendekatan yang salah bisa membuat anggaran pentest habis untuk hal yang kurang penting: penguji black box menghabiskan sebagian besar waktunya untuk menebak cara masuk, sementara celah serius di area setelah login tidak sempat diperiksa. Sebaliknya, white box untuk aplikasi sederhana bisa berlebihan.
Apa arti masing-masing pendekatan?
Black box
Penguji hanya diberi nama domain, alamat IP, atau nama aplikasi. Ia harus mencari sendiri subdomain, port terbuka, teknologi yang dipakai, dan cara masuk, persis seperti penyerang luar yang belum punya akses.
Kelebihannya, hasilnya menggambarkan apa yang bisa dilihat dan dicapai orang asing dari internet. Kekurangannya, waktu pengujian yang terbatas banyak terpakai untuk pengintaian. Fitur di balik login, panel admin, atau alur pembayaran bisa jadi tidak terjangkau sama sekali bila penguji tidak menemukan jalan masuk.
Grey box
Penguji diberi sebagian informasi, biasanya akun uji dengan beberapa peran (misalnya pelanggan dan admin), daftar URL atau dokumentasi API, dan gambaran arsitektur umum. Ia tidak membaca kode sumber.
Pendekatan ini meniru penyerang yang sudah punya akun, misalnya pelanggan nakal, mitra, atau penyerang yang berhasil mencuri kredensial karyawan. Celah otorisasi seperti "pelanggan A bisa melihat pesanan pelanggan B" jauh lebih mudah ditemukan dengan cara ini.
White box
Penguji mendapat akses penuh: kode sumber, konfigurasi, diagram arsitektur, dan kadang akses langsung ke server atau diskusi dengan developer. Pengujian bisa menggabungkan tinjauan kode dengan uji langsung.
White box paling mungkin menemukan celah yang tersembunyi, seperti logika kriptografi yang salah, kunci rahasia di repositori, atau jalur kode yang jarang dipakai. Konsekuensinya, butuh penguji yang paham bahasa pemrograman yang dipakai, waktu lebih panjang, dan kesiapan berbagi kode dengan pihak luar.
Perbandingan ketiganya dalam satu tabel
| Aspek | Black box | Grey box | White box |
|---|---|---|---|
| Informasi untuk penguji | Hanya target | Akun uji, dokumentasi sebagian | Kode sumber, arsitektur, konfigurasi |
| Meniru siapa | Penyerang luar tanpa akses | Pengguna atau orang dalam berakses terbatas | Penyerang yang tahu segalanya |
| Fokus waktu | Pengintaian dan mencari pintu masuk | Fitur, otorisasi, dan logika bisnis | Kode, logika, dan konfigurasi |
| Kedalaman temuan | Terbatas pada yang terlihat dari luar | Sedang sampai dalam | Paling dalam |
| Kebutuhan persiapan | Paling sedikit | Sedang (akun dan dokumentasi) | Paling banyak (akses kode, sesi dengan developer) |
| Cocok untuk | Permukaan internet, infrastruktur, uji kesiapan deteksi | Aplikasi web, mobile, dan API bisnis | Aplikasi kritis, fitur keuangan, kode buatan sendiri |
Panduan pengujian seperti OWASP Web Security Testing Guide membahas pengujian dengan maupun tanpa informasi internal. Tidak ada satu pendekatan yang selalu benar. Yang penting, tujuan pengujian disepakati di awal.
Kapan memilih black box, kapan grey box, kapan white box?
Pilih black box bila pertanyaanmu adalah "apa yang bisa dilihat orang asing dari internet?". Contohnya memeriksa server, layanan yang terbuka, subdomain lama, dan halaman login yang terekspos. Black box juga berguna untuk menguji apakah tim pemantauan atau SOC menyadari ada aktivitas mencurigakan.
Pilih grey box untuk sebagian besar aplikasi bisnis: toko online, portal pelanggan, aplikasi mobile, dan API. Kebanyakan celah berdampak besar di aplikasi seperti ini ada di balik login, dan grey box memastikan area itu benar-benar diuji dalam waktu yang sama.
Pilih white box bila aplikasinya menangani uang, data sensitif, atau logika yang rumit, dan kamu punya akses penuh ke kodenya. White box juga masuk akal sebelum rilis besar aplikasi buatan sendiri, karena perbaikan di tahap ini lebih murah.
Banyak organisasi menggabungkannya. Misalnya, black box singkat untuk infrastruktur, lalu grey box untuk aplikasi utama. Gabungan ini sering memberi gambaran paling utuh dengan anggaran yang sama.
Contoh memilih untuk satu toko online
Misalkan kamu menjalankan toko online dengan aplikasi mobile, panel admin, dan API untuk mitra pengiriman. Pertanyaan utamamu: apakah data pelanggan dan pesanan aman? Black box saja kemungkinan besar hanya memeriksa halaman yang terlihat dari luar, seperti halaman login dan katalog. Grey box dengan akun pelanggan, akun admin, dan dokumentasi API akan menguji apakah pelanggan bisa melihat pesanan orang lain, apakah akun mitra bisa mengubah status pesanan yang bukan miliknya, dan apakah panel admin terlindungi dengan baik. Bila fitur pembayaran dibuat sendiri, bagian itu layak diuji white box dengan akses ke kodenya.
Apa yang perlu disepakati sebelum pengujian?
Apa pun pendekatannya, tuliskan dalam dokumen lingkup: target yang boleh diuji, target yang dilarang, jendela waktu pengujian, kontak darurat bila layanan terganggu, dan apakah pengujian dilakukan di produksi atau staging. Untuk grey box, siapkan akun uji yang terpisah dari akun pelanggan asli. Untuk white box, tentukan bagaimana kode dibagikan dan kapan aksesnya dicabut.
Laporan hasil pengujian sebaiknya menyebut pendekatan yang dipakai, supaya pembaca paham batas temuannya. Cara membacanya dibahas di isi laporan pentest dan cara membacanya. Bila kamu masih menimbang antara pentest dan pemindaian otomatis, mulai dari SOC, vulnerability scan, dan pentest.
Pertanyaan yang sering diajukan
Mana yang paling murah?
Biaya bergantung pada lingkup dan durasi, bukan semata pendekatan. White box cenderung butuh waktu lebih lama karena ada tinjauan kode, tetapi black box dengan durasi sama bisa menghasilkan temuan lebih sedikit.
Apakah grey box cukup untuk memenuhi permintaan audit klien?
Biasanya cukup, selama lingkupnya mencakup sistem yang diminta. Cek persyaratan tertulis dari klien atau standar yang dirujuk.
Apakah white box sama dengan code review?
Tidak persis. Code review fokus membaca kode, sedangkan white box pentest menggabungkan informasi dari kode dengan uji serangan langsung ke aplikasi yang berjalan.
Apakah pengujian black box bisa mengganggu layanan?
Semua jenis pentest berisiko kecil mengganggu layanan, terutama pemindaian agresif. Karena itu jendela waktu dan kontak darurat perlu disepakati sebelum mulai.


