Skip to content
Poeta
Go back

Validasi Tanpa Provenance: Basis Data yang Menyangkal Isi Dirinya Sendiri

Ada satu jenis denial yang secara teknis terdengar sangat rapi: bukan “kami tidak dibobol”, melainkan “field-nya tidak pernah kami simpan”. Kalimat kedua itu jauh lebih kuat secara retoris, karena ia tidak membantah adanya insiden. Ia membantah validitas objeknya. Dalam istilah infrastruktur, ini seperti menolak sebuah paket bukan karena paketnya salah kirim, tetapi karena header-nya tidak cocok dengan skema yang Anda yakini sedang berjalan.

Awal pekan ini, klaim kebocoran data dari Direktorat Jenderal Pajak dan Kementerian Ketenagakerjaan beredar lewat kanal yang sudah jadi rute standar distribusi kebocoran domestik. Responsnya datang cepat. DJP menyatakan telah melakukan pemeriksaan dan validasi internal, dan salah satu argumennya adalah keberadaan user serta password dalam bentuk plain text pada sampel yang beredar — sesuatu yang, menurut mereka, bukan berasal dari sistem basis data instansi tersebut. Kemnaker memilih kalimat yang lebih pendek: “Kami cek ya.”

Dua respons, satu pola. Yang pertama menyerahkan beban pembuktian ke struktur data. Yang kedua menyerahkan beban pembuktian ke waktu. Keduanya sah secara prosedural, dan keduanya tidak menjawab pertanyaan yang sebenarnya sedang diajukan publik.

Validasi Internal Sebagai Health Check, Bukan Audit

Perlu dibedakan dua operasi yang sering disatukan dalam satu kata: validation dan audit. Validasi bertanya, apakah data ini sesuai dengan bentuk yang kita harapkan. Audit bertanya, dari mana data ini berasal, dan siapa yang punya akses ke jalur itu.

Validasi internal yang dilakukan di dalam dinding organisasi punya satu kelemahan struktural yang tidak bisa ditutup dengan niat baik: ia mengukur realitas terhadap skema yang sedang berlaku, bukan terhadap riwayat skema. Basis data yang sudah beroperasi bertahun-tahun dengan migrasi bertahap, penambahan kolom ad-hoc, dan skrip legacy yang tidak terdokumentasi akan selalu punya selisih antara apa yang tertulis di diagram arsitektur dan apa yang benar-benar ada di disk. Setiap organisasi dengan sistem warisan tahu hal ini. Yang tidak selalu diakui adalah bahwa selisih itulah yang sering bocor lebih dulu.

Dalam arsitektur sistem, ini disebut configuration drift, dan ia tidak muncul di papan tulis. Ia muncul di produksi, biasanya pada jam yang tidak nyaman.

Plain Text Sebagai Tanda Tangan yang Mudah Dipalsukan

Argumen plain text password menarik karena terdengar seperti bukti forensik, padahal ia lebih mirip heuristic. Logikanya: sistem modern melakukan hashing, maka sistem kami tidak akan menyimpan plain text, maka sampel ini bukan milik kami.

Rantai itu punya dua titik lemah. Pertama, ia mengasumsikan pelaku kebocoran mengunggah sampel yang bersih. Tidak ada alasan untuk asumsi itu. Sebuah dataset yang dilempar ke forum gelap justru sering menjadi campuran — sebagian data lama, sebagian dari dump lain, sebagian disisipkan sebagai penguat nilai jual. Pengotoran sampel bukan anomali; ia bagian dari ekonomi pasar data ilegal. Kedua, ia mengasumsikan tidak ada subsistem apa pun di luar basis data utama yang menyimpan kredensial dengan cara sederhana. Sistem tiket, panel internal, aplikasi pihak ketiga, basis data pengujian yang pernah dikoneksikan ke data produksi — semuanya bisa menjadi titik masuk yang sama sekali tidak terlihat dari diagram arsitektur resmi.

Menolak validitas kebocoran berdasarkan satu atribut yang tidak cocok adalah bentuk sampling bias yang cukup klasik. Anda tidak memeriksa seluruh populasi; Anda memeriksa satu titik dan menggeneralisasi ke seluruh klaim.

Provenance dan Ketiadaan Checksum Sosial

Industri perangkat lunak sudah menyelesaikan sebagian masalah ini, setidaknya di level artefak. Anda menandatangani build, Anda menyimpan hash, Anda mencatat siapa yang melakukan push, kapan, di commit mana. Kalau ada yang mengklaim Anda merilis versi yang tidak pernah dirilis, Anda bisa membuka log dan menunjukkannya. Pertanyaan “apakah ini milik kami” punya jawaban yang bisa diverifikasi pihak ketiga tanpa harus percaya pada pernyataan internal.

Untuk data pribadi, alat setara itu praktis tidak ada. Tidak ada checksum publik, tidak ada append-only ledger yang mencatat setiap pembacaan massal di luar jalur resmi. Yang ada adalah pernyataan pers, dan pernyataan pers tidak bisa di-git blame.

Ini bukan kegagalan moral satu-dua institusi. Ini konsekuensi dari cara kita membangun sistem pelayanan publik: kita mengoptimalkan throughput layanan dan response time formulir, sementara observabilitas pada lapisan akses data diperlakukan seperti beban tambahan yang memperlambat semuanya. Ketika insiden terjadi, biaya inferensinya jatuh ke warga yang tidak punya cara apa pun untuk memverifikasi klaim mana yang benar.

Angka yang Sudah Lama Tidak Lagi Mengejutkan

Konteksnya tidak dua minggu terakhir. Laporan Indonesian Cyber Security Forum menempatkan lebih dari 2,3 miliar data pribadi yang diduga milik warga Indonesia beredar di forum gelap dalam tiga tahun. Sebagian besar pola pengumpulan itu berlangsung tanpa kenaikan level panik yang proporsional di ruang publik, karena kita sudah menaruh kebocoran sebagai background noise — sebuah kondisi yang berbahaya justru karena tidak lagi menghasilkan alarm.

Data Lembaga Studi dan Advokasi Masyarakat pada awal 2024 menyebut 668 juta data pribadi tersebar dari enam platform digital besar, mencakup nomor identitas, kartu keluarga, riwayat transaksi, hingga biometrik. Rentetannya sebelum itu cukup dikenal: BPJS Kesehatan, PLN Mobile, sejumlah platform e-commerce, dan layanan imigrasi.

Yang membuat rangkaian ini terasa aneh bukan volumenya, melainkan lembaga pengawas yang sejak awal diamanatkan untuk mengawasinya masih belum ada. Undang-Undang Perlindungan Data Pribadi mulai berlaku penuh pada Oktober 2024. Lebih dari setahun setelahnya, otoritas pengawas independen yang seharusnya menjadi tempat mengadu masih berupa rencana. Dalam istilah infrastruktur, ini seperti menggelar layanan produksi dengan SLA yang dijanjikan, tanpa monitoring dan tanpa tim yang bisa dipanggil saat jam tiga pagi.

Imbauan Sebagai Middleware Komunikasi Krisis

Perhatikan bagian akhir dari hampir semua pernyataan resmi semacam ini: imbauan kepada masyarakat untuk mengaktifkan autentikasi dua langkah, waspada terhadap tautan mencurigakan, dan menjaga kerahasiaan data pribadi.

Secara operasional, imbauan itu memindahkan kontrol ke titik yang paling akhir dan paling tersebar — endpoint pengguna. Padahal jalur kebocoran hampir selalu berada jauh di belakang: di arsip yang tidak pernah dihapus, di staging yang memakai data asli, di service account dengan hak akses lebih lebar dari yang dibutuhkan, di kotak masuk yang isinya diteruskan ke alamat pribadi.

Meminta pengguna mengaktifkan dua faktor di platform yang sedang dipersoalkan tetap masuk akal sebagai langkah cepat. Tapi ia bukan mitigasi atas vektor yang kita bicarakan. Ia middleware komunikasi: sesuatu yang disisipkan agar proses bisa dilanjutkan tanpa harus memperbaiki sumbernya.

Beban Inferensi dan Pihak yang Menanggungnya

Petugas pajak dan tenaga kerja bukan nama-nama abstrak. Mereka orang yang gajinya tercatat di sistem, yang datanya mungkin ada atau mungkin tidak ada di berkas yang beredar. Yang mereka terima dari seluruh episode ini bukan jawaban, melainkan dua pernyataan yang tidak bisa digabungkan: klaim kebocoran yang beredar bebas, dan sanggahan yang hanya bisa dipercaya atas dasar kepercayaan.

Dari lokalitas terbatas di mana komunikasi masih mengandalkan kanal tidak resmi dan kecepatan menyebar lebih tinggi dari kemampuan verifikasi, celah informasi ini tidak netral. Ia menguntungkan mereka yang menjual kekhawatiran, dan merugikan institusi yang memilih membantah tanpa membuka alat ukurnya.

Satu-satunya jalan keluar dari lingkaran ini adalah membuat provenance menjadi komoditas rutin, bukan bahan persidangan. Log akses yang bisa diaudit pihak ketiga. Retensi data yang dijadwalkan, bukan dibiarkan menumpuk karena lupa. Skema versi yang tercatat. Dan tentu, satu lembaga yang bisa dipanggil saat semuanya gagal.

Log ditutup. Sanggahan tanpa instrumen pemeriksaan hanya memindahkan ketidakpastian, bukan menghapusnya. Dan sistem yang tidak bisa membuktikan isi dirinya sendiri akan selalu kalah oleh siapa pun yang mengklaim lebih dulu.



Previous Post
Parallel Run Tanpa Cutover: Dua Sistem Pajak, Dua Sumber Kebenaran, Satu Wajib Pajak
Next Post
Empat Puluh Tujuh Indikator Dipangkas Menjadi Dua Puluh: Kepuasan Pengguna sebagai Metrik yang Menanggung Semua Kegagalan