"Data Bocor, Padahal Gak Ada yang Ngeh"
Bayangin kamu deploy aplikasi, semua berjalan baik.
Tapi tiba-tiba... kredensial, email user, atau error stacktrace muncul di mana-mana. 😨
Padahal gak ada yang nge-hack.
Kita sendiri yang gak sengaja bocorin.
Inilah ancaman Information Disclosure dalam STRIDE.
Apa Itu Information Disclosure?
Information Disclosure = kebocoran informasi yang tidak seharusnya terlihat oleh user.
Biasanya terjadi karena:
- Stacktrace error dilempar ke user
- Konfigurasi debug nyala di production
- Data sensitif dikirim via frontend/API
Contoh Kasus Information Disclosure
1. "Kayanya Udah Ga Ada" — Stacktrace di Browser
Contoh:
User nemu error dan dapet full stacktrace lengkap dengan file, path, dan line number.
Sebab:
- Config error handling gak dibedain antara dev & production.
Akibat:
- Attack surface jadi kelihatan jelas.
- Info internal terbuka lebar.
2. "Masih Banyak Kejadian Kayanya" — Data Sensitif di JSON Response
Contoh:
API login berhasil tapi response-nya ngirim data email
, role
, bahkan password_hash
.
Sebab:
- Serialisasi model tanpa filter field.
Akibat:
- Data yang gak relevan ikut terbuka ke client.
- Potensi penyalahgunaan data tinggi.
3. "Wah Ini Advance" — Metadata & Token di URL
Contoh:
URL mengandung access_token
, session_id
, atau debug info sebagai query param.
Sebab:
- Pemakaian token via URL (bukan header).
- Log server atau history browser bisa bocorin token.
Akibat:
- Session bisa dicuri lewat log atau referer.
- Akses tanpa otentikasi bisa terjadi.
🎁 Bonus "Kasus Lucu Tapi Nyata" — Screenshot Bug Kirim Data Sensitif
Contoh:
QA atau user ngelapor bug lewat screenshot...
tanpa sadar ada API key
, token, atau data sensitif nongol di situ. 😭
Sebab:
- Data sensitif ditampilkan di UI.
- Tidak ada masking atau redaksi otomatis.
Akibat:
- Data bocor cuma gara-gara... screenshot. 😅
Way of Working: Mencegah Info Disclosure
Langkah-langkah penting yang sering dilupain:
- Pisahkan Log Dev & Prod
- Gunakan Masking untuk Field Sensitif
- Hapus Field Tidak Relevan di Response
- Jangan Kirim Token di URL
- Matikan Debug Mode di Production
Intinya: "Bukan soal diserang, tapi kamu yang nggak sadar ngebocorin." 🙃
Kaitan dengan OWASP Top 10
- A01:2021 - Broken Access Control (kalau data sensitif dibuka ke yang gak berhak)
- A09:2021 - Security Logging and Monitoring Failures (kalau log terlalu verbose)
- A06:2021 - Vulnerable and Outdated Components (kadang bawaan library ikut bocor)
Penutup
Information Disclosure itu kadang gak ketahuan...
Sampai datanya udah nyebar ke mana-mana.
Lindungi data user kamu, bahkan dari diri sendiri.
Karena kadang, yang bikin data bocor... ya developer-nya. 😬
"STRIDE bukan checklist, tapi mindset."
-- harscode.dev