Tampering: Ngoprek Data Seenaknya

2025-04-21

stride

"Data Disentuh? Validitas Hancur."

Bayangin kamu kirim data yang harusnya price=100000, tapi pas sampai ke server, jadi price=100. Dan itu bukan bug. Tapi ada yang sengaja ngoprek di tengah jalan. 😬

Itulah Tampering.

Di STRIDE, tampering adalah saat attacker memodifikasi data — baik saat transit, disimpan, atau diproses.

Dan ini bisa jadi awal dari kerusakan sistem total.

Apa Itu Tampering?

Ilustrasi Tampering STRIDE

Tampering = manipulasi data yang disengaja. Dilakukan oleh attacker supaya sistem berperilaku menyimpang dari yang seharusnya.

Contoh Kasus Tampering

1. "Kayanya Udah Ga Ada" — Form Value Diubah Manual

Contoh: User ubah value price di HTML form sebelum submit pakai DevTools.

Sebab:

  • Harga cuma dikontrol di frontend.

Akibat:

  • User bisa belanja murah meriah.
  • Sistem backend percaya begitu aja.

2. "Masih Banyak Kejadian Kayanya" — URL Parameter Tampering

Contoh: Endpoint /order?id=1234, attacker ubah jadi /order?id=5678 dan bisa akses order orang lain.

Sebab:

  • Tidak ada otorisasi ownership.
  • Sistem percaya ID dari client.

Akibat:

  • Data orang lain bisa dilihat/dimodifikasi.
  • Pelanggaran privasi fatal.

3. "Wah Ini Advance" — JWT Claims Tampering

Contoh: Attacker decode JWT, ubah claim role: user jadi role: admin, lalu encode ulang dan kirim ke server.

Sebab:

  • Token tidak divalidasi signature-nya.
  • Algoritma JWT diset ke none atau HS256 padahal kunci bocor.

Akibat:

  • Attacker dapat akses admin penuh.
  • Sistem jadi terbuka lebar.

🎁 Bonus "Kasus Lucu Tapi Nyata" — Modif Data Checkout Pakai Plugin

Contoh: User install browser plugin yang bisa intercept dan ubah total belanja pas checkout.

Sebab:

  • Total harga dihitung di frontend, bukan server.

Akibat:

  • Transaksi berhasil dengan harga yang dimanipulasi.
  • Laporan keuangan jadi kacau.

Way of Working: Mencegah Tampering

Beberapa langkah simpel tapi krusial:

  • Selalu Validasi di Backend: Jangan percaya data dari client.
  • Gunakan HMAC/Signature: Untuk payload penting.
  • Token Integrity Check: Validasi semua JWT & session.
  • Logging Perubahan Data: Transparansi kalau ada anomali.
  • Minimal Privilege di Client: Biar gak bisa eksplorasi bebas.

Intinya: "Kalau bisa diubah user, pasti akan diubah user." 😅

Kaitan Tampering dengan OWASP Top 10

  • A01:2021 - Broken Access Control: Banyak tampering terjadi karena kontrol akses longgar.
  • A03:2021 - Injection: Data tampered bisa dikombinasikan jadi injection attack.

Tampering itu gak selalu teknikal — kadang sistem kamu terlalu percaya. 💥

Penutup

Tampering itu kayak orang isi formulir, terus diganti manual pas dikirim. Tapi bedanya, ini bukan soal iseng — ini bisa rusak sistem kamu dari dalam.

Validasi data = self defense. Jangan kasih celah buat data seenaknya dioprek!

"STRIDE bukan checklist, tapi mindset." -- harscode.dev

Konten Terkait :

Spoofing: Menyamar Demi Keuntungan