Bug Bounty Program
Bug bounty adalah program di mana perusahaan mengundang security researchers untuk menemukan dan melaporkan vulnerability di sistem mereka dengan imbalan hadiah. Ini adalah cara yang efektif untuk menemukan vulnerability yang terlewat oleh tim internal.
Platform Bug Bounty Populer
- HackerOne — Platform terbesar, digunakan oleh banyak perusahaan besar
- Bugcrowd — Platform populer dengan managed programs
- Intigriti — Populer di Eropa
- GitHub Security Advisories — Untuk open source projects
Komponen Bug Bounty Program
// security.txt (RFC 9116) — ditempatkan di /.well-known/security.txt
Contact: [email protected]
Preferred-Languages: en, id
Encryption: https://example.com/pgp-key.txt
Policy: https://example.com/security-policy
Acknowledgments: https://example.com/hall-of-fame
Expires: 2025-12-31T00:00:00.000Z
Responsible Disclosure
Responsible disclosure (atau coordinated disclosure) adalah proses melaporkan vulnerability ke vendor secara private, memberikan waktu untuk memperbaiki sebelum dipublikasikan.
Proses Responsible Disclosure
- 1. Temukan vulnerability — Dengan izin (bug bounty program, izin tertulis)
- 2. Dokumentasikan — Tulis laporan detail dengan proof of concept
- 3. Laporkan secara private — Kirim ke security contact, bukan publik
- 4. Tunggu response — Berikan waktu untuk memperbaiki (biasanya 90 hari)
- 5. Koordinasi disclosure — Sepakati timeline untuk publikasi
Menulis Bug Report yang Baik
// Template bug report
## Summary
SQL Injection di endpoint /api/search memungkinkan
pembacaan data dari tabel yang tidak seharusnya diakses.
## Severity
High (data breach potential)
## Steps to Reproduce
1. Kirim request: GET /api/search?q=test' UNION SELECT...
2. Observe bahwa data dari tabel users terekspos di response
## Impact
Penyerang bisa membaca seluruh database termasuk
data pribadi pengguna (email, hashed password).
## Proof of Concept
[Screenshot atau curl command]
## Suggested Fix
Gunakan parameterized queries di SearchController.php line 42.
Sebagai Developer: Menerima Bug Report
- Ucapkan terima kasih — Reporter membantu mengamankan sistem kamu
- Konfirmasi penerimaan — Respons dalam 24-48 jam
- Triage dan prioritaskan — Tentukan severity dan urgency
- Perbaiki — Fix vulnerability secepat mungkin
- Beri update — Informasikan reporter tentang progress
- Berikan credit — Acknowledge reporter di hall of fame atau changelog
Membuat Security Policy
- Definisikan scope — Apa yang boleh di-test
- Tetapkan rules of engagement — Apa yang tidak boleh dilakukan
- Buat response SLA — Berapa lama waktu response
- Tentukan reward tiers berdasarkan severity (gunakan CVSS — Common Vulnerability Scoring System dengan skala 0-10 untuk menilai severity: Low 0.1-3.9, Medium 4.0-6.9, High 7.0-8.9, Critical 9.0-10.0)
- Sediakan safe harbor — Jaminan tidak akan dituntut jika mengikuti aturan