Information Disclosure: Bocorin Data Tanpa Sadar

2025-04-24

stride

"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?

Ilustrasi Information Disclosure STRIDE

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

Konten Terkait :

Repudiation: Bukan Saya, Pak!