Cara Cek PDF dari Virus dan Malware (Tanpa Install Apa Pun)
PDF adalah lampiran email paling sering dipakai penyerang. Pahami isi PDF jahat dan cara memeriksa file apa pun di browser sebelum dibuka.
NewKitApp 9 menit baca
File paling berbahaya di inbox Anda kemungkinan bukan executable dengan nama aneh, melainkan PDF. Lampiran faktur, notifikasi pengiriman, CV, rekening koran: PDF terlihat seperti dokumen, jadi orang membukanya tanpa berpikir, dan refleks itulah yang diandalkan penyerang. Riset keamanan sejak lebih satu dekade lalu terus menemukan hal yang sama: porsi besar lampiran email berbahaya berupa PDF, dan teknik di dalamnya nyaris tidak berubah sejak akhir 2000-an.
Itu kabar baik bagi Anda. Teknik yang stabil adalah teknik yang bisa disaring, tanpa harus jadi analis malware. Panduan ini menjelaskan apa yang sebenarnya sembunyi di dalam PDF jahat, apa yang bisa dan tidak bisa dilihat pemindai, dan cara memeriksa file mencurigakan sendiri dalam sepuluh detik, sepenuhnya di browser.
Kenapa PDF membawa lebih dari teks
PDF bukan gambar datar sebuah dokumen. Ia wadah yang mirip program kecil: bisa membawa skrip, perintah launch, file terlampir, tautan remote, dan multimedia, karena formatnya dirancang untuk dokumen bisnis interaktif, bukan sekadar bacaan. Sering kali fitur itu dorman atau tidak berbahaya. Penyerang hanya butuh satu kali berhasil.
Kanal serangan praktisnya terdokumentasi baik:
JavaScript tersemat. Format PDF mendukung JavaScript, dan skripnya bisa dipasang agar berjalan begitu file dibuka. Skrip bisa mencari celah versi pembaca PDF, mengunduh tahap kedua dari server remote, atau mengumpulkan informasi mesin lalu melaporkannya ke rumah penyerang. Ini komponen paling umum pada PDF berbahaya.
Aksi otomatis. Entri bernama OpenAction menyuruh pembaca melakukan sesuatu begitu dokumen tampil. Dikombinasikan skrip, Anda mendapat kode yang dieksekusi tanpa satu klik pun. Pemicu event bernama additional actions bisa melakukan hal serupa saat halaman dibuka atau ditutup.
Perintah launch dan file yang dijatuhkan. Rantai paling jahat bekerja begini: skrip mengekstrak lampiran executable ke disk Anda, lalu perintah Launch mencoba menjalankannya, dengan teks dialog yang bisa ditulis ulang penyerang agar terdengar meyakinkan ("dokumen ini terlindungi, klik open untuk melihat"). Sudah tua, tetapi masih memakan korban.
Tautan dan eksfiltrasi data. Aksi URI membuat area klik yang membuka URL. Dikombinasikan aksi submit form, dokumen jahat bisa mengirim jawaban yang Anda ketik ke server remote. Domain tiruan, alamat IP mentah, dan tautan pendek adalah samaran standarnya.
Trik struktur. Revisi lama dokumen tetap tinggal di dalam file setelah pembaruan inkremental, data bisa duduk setelah penanda resmi akhir file tempat pemindai sederhana berhenti membaca, dan nama bisa ditulis dengan escape heksadesimal sehingga kata JavaScript dieja J#61vaScript dan lolos dari filter kata kunci naif.
Apa arti "memeriksa PDF"
Tidak ada pemindai jujur yang berkata "file ini malware". Yang dilakukan pemindai statis adalah membaca struktur file tanpa mengeksekusi apa pun, lalu membandingkannya dengan indikator yang selalu ditinggalkan PDF jahat: objek skrip, entri aksi otomatis, perintah launch, lampiran executable, URL terflag, dan anomali struktur. Insinyur keamanan memakai checklist semacam ini bertahun-tahun lewat tool triage baris perintah; indikatornya berasal dari analisis bagaimana maldoc sungguhan dibangun.
Keluarannya adalah penilaian risiko, bukan vonis:
- Tidak ada indikator mencurigakan terdeteksi berarti persis itu: tidak ada apa pun di checklist yang muncul. Ini bukan sertifikat aman.
- Indikator mencurigakan ditemukan berarti ada sesuatu dari checklist, lengkap dengan buktinya supaya Anda bisa menilai apakah wajar untuk dokumen ini. Formulir bank sah memang berisi form; "faktur" satu halaman yang berisi lampiran executable tidak berhak mendapat keraguan sebaliknya.
- Pemindaian tidak lengkap berarti pemindai tidak bisa melihat semuanya, biasanya karena file terkata sandi atau rusak. Tool yang jujur melaporkan celahnya alih-alih menyebut file bersih.
Satu hal yang perlu diulang: pemindaian yang benar mem-parse struktur objek PDF, bukan sekadar mencari kata kunci di byte mentah. Skrip dan lampiran yang disembunyikan di object stream terkompresi tak terlihat oleh pencarian teks biasa, tetapi jelas terlihat oleh parser objek. Pemindai yang baik melakukan keduanya, karena tampilan byte mentah menangkap obfuscation yang dinormalkan oleh parser.
Memeriksa PDF di browser, langkah demi langkah
Anda tidak perlu menginstal apa pun atau mengunggah file ke mana pun. Pemeriksa Keamanan PDF menjalankan seluruh pemindaian secara lokal:
- Buka toolnya dan jatuhkan file. File tetap di perangkat Anda; tidak ada yang dikirim.
- Tekan tombol periksa. Pemindaian membaca grafik objek, mengekstrak setiap URL, menghitung hash SHA-256 sebagai referensi, dan mengembalikan skor risiko 0 sampai 100.
- Baca skor di samping klasifikasinya: rendah, sedang, tinggi, atau kritis. Skor adalah jumlah berbobot indikator yang ditemukan, bukan probabilitas file itu malware.
- Telusuri daftar temuan. Setiap temuan menunjukkan tingkat keparahan, bukti teknisnya (cuplikan kode skrip, nama file terlampir, URL yang terflag), dan langkah berikutnya yang disarankan.
- Jika ada yang berisiko, salin hash SHA-256 atau unduh laporan JSON untuk arsip Anda, lalu tindak lanjuti temuannya sebelum membuka file.
Untuk file yang datang lewat email, konteksnya mengerjakan separuh pekerjaan. Faktur dari pemasok yang memang Anda hubungi, datang saat memang diharapkan, skor bersih? Buka saja. "Dokumen terkunci" dari pengirim tak dikenal yang menyuruh mengaktifkan sesuatu, berisi skrip dan lampiran executable? File itu sudah memberi tahu semua yang perlu Anda tahu.
Sejarah singkat, biar ancamannya masuk akal
Malware PDF bukan ide baru. Gelombang yang membuatnya terkenal datang sekitar 2008 dan 2009, saat eksploit bug pembaca PDF populer dikemas sebagai email berlampiran PDF dan memaksa siklus patch darurat berbulan-bulan. Vendor merespons dengan menyandeng JavaScript, mencopot plugin multimedia, dan mendepresiasi seluruh subsistem, dan era berbasis eksploit itu meredup.
Yang tidak meredup adalah rantai pengantarannya. Penyerang sadar tidak butuh bug korupsi memori ketika formatnya sendiri menyediakan skrip, launch eksternal, dan lampiran. Sejak awal 2010-an, gaya dominan menjadi rantai rekayasa sosial: email yang menciptakan urgensi, PDF yang membawa skrip atau lampiran, dan langkah akhir di mana korban dibujuk menjalankan payload sendiri. Setiap elemen rantai itu terlihat oleh analisis statis, itulah sebabnya pemindaian berbasis indikator tetap berguna melawan kampanye modern.
Ini juga menjelaskan kenapa indikator yang sama itu terus muncul di laporan ancaman tiap tahun. Formatnya tidak menumbuhkan permukaan serangan baru; penyerang terus memakai permukaan lama karena korban terus membuka filenya.
Membaca temuan seperti analis
Bedanya pemindaian yang berguna dan kotak alarm adalah interpretasi. Sebagian temuan layak diabaikan; sebagian menutup percakapan:
Peringatan form pada formulir pemerintah. Formulir interaktif adalah cara dokumen serius bekerja. Indikator form tanpa skrip dan tanpa tautan aneh adalah derau dalam keputusan Anda, bukan sinyal.
Tautan HTTP polos di manual tahun 2011. Dokumen lama menunjuk infrastruktur lama. Satu tautan non-HTTPS adalah tanda usia, bukan niat jahat. Belasan tautan yang separuh menunjuk alamat IP mentah adalah cerita lain.
Skrip yang terpasang pada event dokumen dibuka. Ini temuan dengan penjelasan paling tidak bersih. Perangkat lunak sah jarang memasang skrip ke event open. Jika file juga punya lampiran berekstensi executable, Anda sedang melihat rantai dropper di buku teks, dan tidak ada "tapi ini tampak seperti faktur" yang menyelamatkannya.
File tersemat bernama invoice.pdf.exe. Ekstensi ganda ada karena satu alasan. Karakter setelah titik terakhir adalah satu-satunya yang penting.
Nama dengan escape heksadesimal. Ketika kata JavaScript muncul sebagai J#61vaScript, seseorang sengaja melewati filter kata kunci. Tidak ada alasan polos bagi pembuat dokumen melakukan ini.
Pembaruan inkremental pada file yang Anda terima sebagai "final". Revisi itu wajar untuk dokumen yang diedit langsung, tetapi juga berarti file berisi versi lebih lama yang mungkin dibaca pemindai berbeda dari yang ditampilkan pembaca Anda. Layak dipahami sebelum percaya.
Warna tingkat keparahan pemindai persis merangkum penalaran ini: temuan yang hampir selalu menyertai penggunaan sah duduk di bawah berwarna abu-abu, temuan yang bisa dua arah duduk di tengah, dan temuan yang pada dasarnya hanya muncul di file jahat duduk di atas berwarna merah. Anda tidak diminta percaya skor mentah-mentah; buktinya ada tepat di bawah setiap temuan sehingga Anda bisa menolaknya dengan alasan.
Posisinya di samping antivirus
Pertanyaan yang wajar: bukankah ini pekerjaan antivirus? Tumpang tindih, tetapi tidak identik. Mesin antivirus mencocokkan file dengan signature sampel jahat yang dikenal dan perilaku keluarga jahat; ia kuat mengenali hal yang pernah dilihatnya secara harfiah. Pemindaian indikator membaca struktur dan bertanya apakah file dibangun seperti serangan, terlepas dari apakah file persis itu pernah terlihat di mana pun.
Dalam praktik keduanya saling melengkapi. Pemindaian browser instan, privat, dan berjalan di mesin tempat Anda benar-benar membaca email, sehingga cocok sebagai penyaring pertama. Mesin lengkap menambah kedalaman signature dan deteksi perilaku untuk kasus saat struktur saja tidak cukup. Jika file skor buruk di sini, Anda sudah mempelajari sesuatu yang laporan antivirus tidak jelaskan: bagian bergerak apa saja yang dimiliki file dan untuk apa masing-masing. Kosakata itu terbawa ke setiap lampiran yang Anda periksa selanjutnya.
Apa yang dilakukan dengan file yang gagal
Jangan membukanya "hanya untuk lihat-lihat". Rasa penasaran adalah mekanisme pengantar serangannya.
Jika Anda benar-benar butuh isinya, jinakkan dulu. Sanitize PDF menghapus skrip, aksi otomatis, metadata, dan lampiran sekali jalan sambil menjaga halaman tampak sama: Anda mendapat salinan yang terlihat sama tetapi bagian bergeraknya sudah dicabut. Pindai lagi salinan bersihnya bila ingin konfirmasi apa yang berubah.
Jika file terkata sandi dan Anda punya sandinya, Unlock PDF menghasilkan salinan terbuka yang bisa dibaca penuh pemindai. Bagian terenkripsi adalah fitur sah, tetapi juga tempat persembunyian, karena itu pemindai melaporkan "pemindaian tidak lengkap" alih-alih skor bersih untuk file yang tidak bisa dibacanya.
Dan jika file datang dengan ancaman atau urgensi ("transaksi tidak sah, buka segera"), perlakukan emailnya sebagai insidennya. Hapus filenya, laporkan pesannya, dan jangan berhenti berlangganan dari apa pun yang ditawarkannya. Dokumen yang ingin Anda simpan setelah kejadian semacam ini layak diberi Proteksi PDF dengan kata sandi sungguhan sebelum masuk penyimpanan.
Batasan yang perlu diingat
Pemindaian statis membaca apa yang tertulis; ia tidak menjalankannya. Pilihan itulah yang membuatnya aman diarahkan ke file jahat, dan itu pula yang membatasinya:
- Teknik sangat ter-obfuscate atau baru bisa menghasilkan file dengan sedikit indikator terlihat. Skor bersih dari pemindai statis mana pun, termasuk ini, adalah satu titik data, bukan bukti.
- File terkata sandi dan rusak hanya bisa diperiksa strukturnya. Tool-nya mengatakan itu apa adanya alih-alih menebak.
- Daftar deteksi menua. Indikator di sini mencakup teknik yang terlihat pada mayoritas mutlak maldoc nyata, tetapi daftarnya bukan nubuat.
Gunakan hasil pemindaian sebagai satu masukan di samping pengirim, konteks, dan penilaian Anda sendiri. Untuk file yang benar-benar penting, opini kedua dari mesin antivirus lengkap di mesin yang Anda rela salah tetap jalur yang hati-hati.
Pertanyaan yang sering muncul
Apakah file saya diunggah saat diperiksa? Tidak. Seluruh pemindaian berjalan di browser Anda di thread terpisah; byte file tidak pernah meninggalkan perangkat, dan tidak ada URL yang ditemukan dikunjungi secara otomatis. Satu-satunya keluaran adalah laporan di layar yang bisa Anda unduh sendiri.
Apa arti skor 90? Bahwa dari semua indikator yang diperiksa, hampir tidak ada yang muncul. Mungkin ada satu-dua hal kecil seperti tautan lawas. Skor tinggi bukan jaminan, tetapi skor rendah hampir selalu berarti sesuatu: skrip terpasang otomatis, lampiran executable, atau nama yang sengaja disembunyikan tidak pernah muncul di dokumen sehat.
Bisakah memeriksa file terkunci sandi? Hanya strukturnya. Isi terenkripsi memang tidak terbaca tanpa sandi, dan pemindai yang jujur menuliskan keterbatasan itu alih-alih memberi skor bersih. Kalau Anda punya sandinya, buka kunci salinannya dulu, lalu pindai salinan terbuka itu.
Apakah PDF dari pengirim resmi bisa berbahaya? Bisa, karena alamat pengirim bisa dipalsukan dan akun resmi bisa dibobak. Justru itu alasan memindai semua lampiran tak terduga, termasuk yang tampak resmi, apalagi jika isinya mendesak Anda melakukan sesuatu.
Skor bagus tapi saya masih ragu, apa lagi yang bisa dilakukan? Periksa hash SHA-256 yang ditampilkan laporan: hash yang sama berarti byte yang sama, jadi Anda bisa membandingkan dengan salinan file yang Anda percaya, atau menyerahkan hash itu ke tim keamanan tanpa harus mengirim filenya. Untuk dokumen yang benar-benar krusial, minta pengirim mengirim ulang lewat kanal lain dan bandingkan keduanya.
Kebiasaan lima detik
Orang yang terhindar dari masalah PDF jarang karena punya perangkat lunak terbaik. Mereka punya kebiasaan kecil: lampiran tak terduga, pindai sebelum buka, baca temuannya, putuskan. Butuh waktu kurang dari teguk kopi yang akan Anda ambil juga, berfungsi pada file yang Anda 90 persen yakin, dan menangkap satu-satunya kasus di mana Anda keliru.
Mulailah dari Pemeriksa Keamanan PDF saat berikutnya sesuatu mendarat di inbox tanpa Anda minta. Dan bila Anda rutin menangani dokumen sensitif, pasangkan kebiasaan ini dengan Redact PDF untuk yang Anda kirim dan Proteksi PDF untuk yang Anda simpan: mayoritas risiko dokumen adalah kelalaian biasa, bukan serangan tertarget, dan kedua tool itu selesai di bawah satu menit.