Apa itu Software and Data Integrity Failures?
Software and Data Integrity Failures adalah kondisi di mana sistem gagal memverifikasi integritas software, data, atau kode sebelum menggunakannya — memungkinkan penyerang untuk menyisipkan kode berbahaya, memanipulasi update, atau mengeksekusi payload yang tidak sah melalui pipeline yang seharusnya tepercaya.
Kategori ini adalah pengembangan dari "Insecure Deserialization" di edisi 2017 — memperluas konsep dari sekadar masalah serialisasi ke seluruh spektrum kegagalan integritas: dari update mekanisme yang tidak diverifikasi, pipeline CI/CD yang tidak diamankan, hingga insecure deserialization yang dapat memicu eksekusi kode arbitrer.
Dalam bahasa bisnis: ini adalah kondisi di mana sistem tidak memverifikasi bahwa apa yang akan dieksekusi adalah benar-benar apa yang seharusnya dieksekusi — membuka peluang bagi penyerang untuk mengganti, memodifikasi, atau menyisipkan kode melalui jalur yang dianggap tepercaya.
Dua Pilar Utama Kategori Ini
Pilar 1: Software Integrity — Verifikasi Keaslian Kode dan Artifact
Setiap artifact software yang masuk ke dalam sistem — library, update, plugin, container image, paket instalasi — berpotensi telah dimanipulasi sebelum sampai ke tangan Anda. Tanpa mekanisme verifikasi integritas yang kuat, sistem tidak dapat membedakan antara software yang sah dan software yang telah dikompromikan.
Skenario risiko:
Library yang diunduh dari registry publik yang telah diganti dengan versi berbahaya
Update software yang dimanipulasi dalam proses distribusi
Container image yang mengandung komponen yang dikompromikan
Build artifacts yang dimodifikasi dalam pipeline CI/CD yang tidak aman
Pilar 2: Data Integrity — Kepercayaan pada Data yang Diproses
Sistem yang memproses data yang datang dari luar — objek yang di-deserialize, konfigurasi yang dimuat dari storage eksternal, pesan dari queue — harus memverifikasi bahwa data tersebut tidak dimanipulasi dan berasal dari sumber yang tepercaya.
Skenario risiko:
Objek yang di-deserialize mengandung payload berbahaya yang dieksekusi saat deserialization
Konfigurasi yang di-load dari lokasi yang dapat dikontrol penyerang
Pesan antrian yang dimanipulasi untuk mengubah logika bisnis
Jenis-Jenis Utama Software and Data Integrity Failures
1. Insecure Deserialization
Deserialization adalah proses mengubah data yang tersimpan (dalam format JSON, XML, binary, YAML, dll.) kembali menjadi objek dalam memori. Ketika data yang di-deserialize berasal dari sumber yang tidak tepercaya dan tidak divalidasi, penyerang dapat membuat payload serialized yang mengeksekusi kode arbitrer saat di-deserialize.

