Repudiation: Bukan Saya, Pak!

2025-04-23

stride

"Saya Nggak Pernah Klik Itu, Pak."

Kamu pasti pernah denger user bilang: "Saya gak pernah hapus data itu, sumpah." 😇

Tapi waktu dicek... gak ada log, gak ada jejak, gak bisa buktiin.

Inilah Repudiation dalam STRIDE.

Masalahnya bukan soal siapa yang salah, tapi apakah sistem bisa membuktikan siapa yang ngelakuin apa.

Apa Itu Repudiation?

Ilustrasi Repudiation STRIDE

Repudiation = penyangkalan. Seseorang bisa menyangkal bahwa dia pernah melakukan suatu aksi... ...dan sistem tidak bisa membuktikan sebaliknya.

Biasanya karena:

  • Tidak ada logging
  • Logging bisa dihapus
  • Tidak ada audit trail

Contoh Kasus Repudiation

1. "Kayanya Udah Ga Ada" — Tidak Ada Audit Log

Contoh: User menghapus data penting, tapi sistem gak nyimpen log siapa yang melakukannya.

Sebab:

  • Tidak ada sistem audit trail.

Akibat:

  • Tidak bisa buktiin siapa pelakunya.
  • Susah investigasi insiden.

2. "Masih Banyak Kejadian Kayanya" — Log Bisa Dihapus User

Contoh: User dengan role admin bisa akses dan hapus log aktivitas mereka sendiri.

Sebab:

  • Tidak ada separation of duty.
  • Tidak ada proteksi untuk log.

Akibat:

  • Pelaku bisa bersihin jejak sendiri.
  • Sistem kehilangan bukti.

3. "Wah Ini Advance" — Log Tidak Tersinkron dengan Event Nyata

Contoh: Log mencatat aktivitas, tapi timestamp dan payloadnya bisa dimanipulasi lewat konfigurasi lokal.

Sebab:

  • Log tidak immutable.
  • Tidak ada centralized logging.

Akibat:

  • Data log tidak bisa dipercaya.
  • Bukti digital jadi tidak valid.

🎁 Bonus "Kasus Lucu Tapi Nyata" — Email Approve Tapi Dibilang Belum Pernah Klik

Contoh: User approve permintaan via email link. Tapi saat dimintai pertanggungjawaban, jawabnya: "Saya cuma klik buat lihat-lihat kok, bukan approve."

Sebab:

  • Tidak ada tracking IP/device.
  • Tidak ada confirmation screen.

Akibat:

  • Decision yang valid jadi bisa disangkal.
  • Sistem disalahin user.

Way of Working: Mencegah Repudiation

Langkah-langkah krusial agar sistem punya jejak digital:

  • Audit Trail di Semua Aksi Penting
  • Immutable Log: Tidak bisa diedit user.
  • Tulis Log Secara Asinkron dan Terpusat
  • Catat IP, Timestamp, UserID, Device Info
  • Pisahkan Role Logging dan Role Operasional

Intinya: "Bukan saya, Pak" = valid... kalau sistem kamu gak bisa buktiin. 😅

Kaitan Repudiation dengan OWASP Top 10

  • A09:2021 - Security Logging and Monitoring Failures
  • A01:2021 - Broken Access Control (kalau user bisa hapus log mereka sendiri)

Kalau kamu gak bisa ngelog... jangan berharap bisa membela sistemmu. 💥

Penutup

Repudiation itu kayak user yang bilang “saya gak pernah kirim itu,” tapi kamu juga gak punya bukti kalau dia yang ngirim.

Jadi bukan soal siapa yang jahat... tapi siapa yang punya log. 🕵️‍♂️

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

Konten Terkait :

Tampering: Ngoprek Data Seenaknya