Zero-Click: sebuah "hantu" dalam dunia keamanan siber yang tidak membutuhkan kesalahan pengguna

Apa Itu Serangan Zero-Click?
Dalam serangan siber tradisional (seperti Phishing atau One-Click), peretas membutuhkan interaksi korban—seperti mengklik tautan palsu atau mengunduh lampiran email. Namun, Zero-Click menghilangkan hambatan tersebut.
Zero-Click adalah serangan yang mengeksploitasi celah keamanan pada aplikasi atau sistem operasi sedemikian rupa sehingga infeksi terjadi secara otomatis begitu data yang dimanipulasi diterima oleh perangkat.
Analogi: Jika serangan biasa ibarat perampok yang membujukmu membuka pintu rumah, Zero-Click ibarat gas beracun yang disemprotkan melalui ventilasi udara. Kamu tidak melakukan apa-apa, tapi kamu tetap menjadi korban.
Bagaimana Cara Kerjanya?
Mekanisme Zero-Click biasanya mengincar aplikasi yang memiliki fitur pemrosesan otomatis (background processing). Aplikasi pesan instan seperti WhatsApp, iMessage, atau aplikasi email adalah target favorit.
Berikut adalah tahapan teknis terjadinya serangan:
1. Tahap Pengiriman (The Delivery)
Peretas mengirimkan paket data yang telah dimanipulasi (biasanya disamarkan sebagai file gambar .webp, .gif, atau dokumen PDF) ke nomor atau ID target. Karena ini adalah data aplikasi, sistem akan langsung menerimanya tanpa konfirmasi pengguna.
2. Tahap Parsing (The Processing)
Begitu data sampai, sistem akan mencoba "membaca" data tersebut untuk:
Membuat thumbnail (pratinjau gambar).
Menampilkan notifikasi di layar kunci.
Mengindeks konten untuk fitur pencarian.
3. Tahap Eksploitasi (The Overflow)
Di sinilah "sihir" itu terjadi. Peretas memanfaatkan celah pada library pengolah data (seperti library C/C++ yang menangani grafis). Mereka menyisipkan kode yang menyebabkan Buffer Overflow.
Saat library mencoba membaca ukuran gambar yang tidak masuk akal, memori sistem menjadi "bingung" (corrupted), sehingga peretas bisa menyisipkan instruksi mereka sendiri ke dalam Instruction Pointer prosesor.
Simulasi Kode: Mengapa Ini Terjadi?
Mari kita lihat perbedaan antara kode yang rentan (C++) dan kode yang aman (Rust) dalam menangani data gambar.
Contoh Kode Rentan (C++)
Dalam C++, manajemen memori diserahkan sepenuhnya kepada programmer. Jika programmer lupa melakukan pengecekan, terjadilah bencana.
C++
// Simulasi pembaca metadata gambar yang berbahaya
void process_image_metadata(char* data, int size) {
char buffer[128]; // Laci memori terbatas 128 byte
// Peretas mengirimkan 'data' sebesar 500 byte
// strcpy tidak mengecek apakah 'data' muat di 'buffer'
strcpy(buffer, data);
// Tumpahan data (overflow) akan menimpa alamat return di memori
// dan menjalankan kode peretas.
}
Contoh Kode Aman (Rust)
Rust secara otomatis mencegah penulisan data di luar kapasitas memori.
Rust
fn process_image_metadata(data: &[u8]) {
let mut buffer = [0u8; 128];
// Rust akan mematikan program (panic) jika data > 128
// daripada membiarkan memori dikorupsi.
if data.len() <= buffer.len() {
buffer[..data.len()].copy_from_slice(data);
} else {
println!("Upaya peretasan terdeteksi: Data terlalu besar!");
}
}
Contoh Kasus Nyata: ForcedEntry (Pegasus)
Salah satu kasus Zero-Click paling terkenal adalah ForcedEntry yang digunakan oleh spyware Pegasus.
Vektor: File PDF yang disamarkan sebagai file gambar
.gif.Celah: Mereka mengeksploitasi library pengolah gambar lama milik Apple (CoreGraphics) yang menangani kompresi gambar jadul.
Hasil: Hanya dengan mengirimkan pesan iMessage (yang bahkan tidak memunculkan notifikasi), peretas bisa mengaktifkan mikrofon, kamera, dan mencuri seluruh isi chat korban.
Mengapa Zero-Click Sangat Sulit Dicegah?
Tanpa Jejak: Pesan yang dikirim seringkali langsung menghapus dirinya sendiri setelah berhasil mengeksploitasi sistem.
Enkripsi End-to-End: Enkripsi seperti di WhatsApp justru melindungi peretas karena server penyedia layanan tidak bisa memeriksa isi pesan yang membawa virus tersebut.
Zero-Day Exploit: Peretas menggunakan celah yang belum diketahui oleh pembuat aplikasi (Apple, Google, atau Meta).
Langkah Perlindungan
Meskipun sulit dicegah secara total, berikut adalah lapisan pertahanan yang bisa kita bangun:
Untuk Pengguna:
Matikan Auto-Download: Di WhatsApp atau Telegram, matikan fitur unduh otomatis media (foto/video/GIF).
Lockdown Mode (iOS): Fitur ini secara drastis membatasi pemrosesan pesan otomatis untuk orang-orang yang berisiko tinggi menjadi target.
Update OS Rutin: Celah keamanan ditemukan setiap hari; patch keamanan adalah satu-satunya obat.
Untuk Developer:
Gunakan Bahasa Aman Memori: Mulailah beralih ke Rust untuk bagian-bagian yang menangani pemrosesan data biner.
Sandboxing: Jalankan proses pengolahan gambar (seperti menggunakan library Sharp atau Canvas) di dalam lingkungan terisolasi (Docker atau VM) yang tidak memiliki akses ke sistem utama.
Fuzzing: Lakukan uji coba dengan mengirimkan jutaan data "rusak" ke aplikasimu untuk melihat apakah ada yang bisa menyebabkan crash atau overflow.
Kesimpulan
Zero-Click adalah pengingat bahwa di dunia digital, tidak melakukan kesalahan pun tidak menjamin keamanan 100%. Ini adalah balapan abadi antara pengembang yang menambal celah dan peretas yang mencari celah baru di jutaan baris kode yang kita gunakan setiap hari.





