Jumat, 15 April 2016

Melacak malware secara manual

Sebagai pengguna Windows tentunya anda menggunakan program antivirus untuk memproteksi PC dari serangan virus/malware. Tapi ada kalanya anda harus meme­riksa sendiri secara manual semua program yang berjalan untuk menganti­sipasi adanya malware yang belum dikenal oleh AV anda. Artikel kali ini akan membahas cara menggunakan Process Explorer untuk melacak malware secara manual.

Pengaturan awal

Untuk memeriksa setiap proses yang berjalan jalankan Process Explorer sebagai administrator. Setelah jendela utama muncul, klik menu View dan kemudian klik Select Co­lumns untuk menampilkan dialog Select Columns seperti pada gambar di bawah ini.

Process Explorer Select Columns Dialog

Klik tab Process Image, kemudian klik untuk memberi tanda cek pada kolom Descrip­tion, Company Name, Verified Signer, dan Image Path. Setelah itu klik tab DLL dan klik untuk memberi tanda cek pada kolom Description, Path, Company Name, Map­ping Type dan Verified Signer.

Bila anda sudah melakukan itu semua, klik OK untuk menyimpan pengaturan dan menutup dialog Select Columns. Kembali pada jendela utama Process Explorer, klik menu Options dan beri tanda cek pada menu item "Verify Image Signatures". Setelah itu tekan Ctrl + D pada keyboard untuk menampilkan daftar DLL (DLL View) yang di-load oleh proses. Susun kolom-kolom pada daftar proses (Process View) dan daftar DLL sehingga anda dapat melihat semua kolom yang anda pilih sebelumnya pada dialog Select Columns, seperti pada gambar di bawah ini.

Process Explorer Main Window

Catatan
Anda dapat menyimpan susunan kolom-kolom yang anda atur sebelumnya menggunakan fitur Save Column Set melalui menu View.

Process Explorer Save Column Set dialog

Cek integritas sistem

Tahap awal dalam memastikan PC anda tidak terkontaminasi oleh malware adalah dengan memeriksa semua proses yang berasal dari sistem operasi Windows.

Semua proses vital dari Windows dijalankan dari direktori %SystemRoot% (umumnya direktori C:\Windows) dan file executable-nya memiliki digital signature yang dapat diverifikasi (Verified). Anda dapat melihatnya pada kolom "Verified Signer" dan "Path" seperti pada gambar di bawah ini.

Process Explorer: Windows processes

Bila anda menemukan proses Windows yang status signature-nya "Not Verified" ma­ka besar kemungkinan file executable dari proses tersebut telah dimodifikasi oleh malware. Untuk memperbaikinya, jalankan Command Prompt sebagai administrator, kemudian jalankan perintah di bawah ini.

sfc /scannow

Sebaliknya, bila anda menemukan proses yang bukan dimiliki oleh sistem operasi Windows dijalankan dari folder %SystemRoot% maka anda harus memastikan bahwa proses itu bukan malware dengan menggunakan cara yang akan dijelaskan nanti.

Cek proses-proses yang berjalan

Ada beberapa karakteristik yang umumnya dimiliki malware yang dapat anda gunakan sebagai pedoman dalam mencari proses-proses yang mencurigakan:
  • Nama file yang sembarangan (random), tidak deskriptif, atau menyerupai nama file yang dimiliki sistem operasi Windows.
  • Tidak ada keterangan nama perusahaan yang membuat program dan keterangan tentang file program itu. Anda dapat melihatnya pada kolom Company Name dan Description. Pada umumnya file executable memiliki dua keterangan ini.
  • Tidak memiliki digital signature.
  • Filenya berada di luar direktori Program Files. 
  • Filenya di-packing untuk menyulitkan proses deteksi antivirus. Process Explorer memberi warna ungu gelap untuk proses yang berasal dari file yang di-packing, seperti pada gambar di bawah ini

Process Explorer packed image color

Bila ada proses yang tidak anda kenal dan memiliki satu atau lebih karakteristik-karakterisitk malware di atas, maka anda harus memastikan proses itu bukan mal­ware. Bila PC anda terkoneksi dengan internet anda dapat mencari informasi me­ngenai file ini di internet dengan cara mengklik kanan proses itu dan klik Search Online pada context menu. Untuk memeriksa secara mendetail, klik 2 kali proses tersebut untuk menampilkan dialog Properties.

Process Explorer Properties dialog

Selain Search Online, anda juga dapat memeriksa file dari proses tersebut dengan menggunakan VirusTotal, layanan scanner antivirus online yang menggunakan ba­nyak produk antivirus dalam pemindaiannya. Klik Submit pada bagian VirusTotal untuk meng-upload sampel file dari proses tersebut ke situs VirusTotal. Pada dialog di atas, hasil scan menun­juk­kan angka 0/54 yang berarti dari 54 antivirus yang digu­nakan VirusTotal, tak satupun yang mendeteksi file tersebut sebagai malware. Anda dapat mengklik angka tersebut untuk melihat hasil scanning secara mendetail pada halaman situsnya.

Bila proses ini dijalankan secara otomatis oleh sistem maka pada bagian Autostart Location akan berisi lokasi autostart yang digunakan oleh sistem untuk menjalankan proses itu (autostart menyimpan path name dari file proses tersebut). Bila anda men­curigai proses ini sebagai malware, anda dapat men-disable atau menghapus auto­start proses ini dengan menggunakan program Autoruns. Selain itu anda juga dapat mematikan proses ini dengan mengklik tombol Kill Process. Untuk mengetahui letak file dari proses ini, klik Explore pada bagian Path.

Cek DLL yang di-load oleh tiap-tiap proses

Salah satu teknik yang digunakan pembuat malware untuk menyembunyikan mal­ware adalah dengan mengeksploitasi Dynamic Link Libraries (DLL) menggunakan cara-cara seperti DLL injection. Anda tidak dapat menggunakan Task Manager untuk mendeteksi malware tipe ini karena Task Manager tidak menampilkan daftar DLL yang di-load oleh proses.

Sebagai contoh, anda dapat melihat dua gambar di bawah ini. Dalam dua gambar tersebut, proses yang di-highlight adalah proses yang berasal dari file executable Windows yang status digital signaturenya valid (verified). Namun bila anda lihat pada daftar DLL, kedua proses itu me-load DLL yang mencurigakan (tidak memilki digital signature). Selain itu anda dapat juga melihat dari command line proses tersebut pada tooltip yang muncul pada saat menggerakan posisi mouse di atas proses tersebut.

Process Explorer - svchost.exe
Process Explorer - rundll32.exe

Dengan menggunakan Process Explorer, anda dapat memeriksa semua DLL yang di-load oleh sebuah proses melalui daftar DLL. Tidak semua yang ada di daftar tersebut adalah file executable (file yang berisi kode yang dapat dijalankan), ini dapat anda li­hat pada kolom Mapping. Hanya file yang me­miliki tipe mapping Image saja yang u­mumnya merupakan file executable, sedangkan yang bertipe Data hanya berisi data saja, se­hingga anda hanya perlu memeriksa file DLL yang bertipe Image saja.

Process Explorer DLL Mapping Type

Dalam memeriksa setiap file DLL, gunakan pedoman yang sama ketika anda meme­riksa file .exe dari proses-proses yang berjalan. Pastikan semua file DLL yang berasal dari Windows (yang berada pada direktori %SystemRoot%\System32) mempunyai di­gital signature yang terverifikasi. Sedangkan untuk DLL dari pihak ketiga, pastikan file­nya berada dalam direk­tori Program Files (umumnya filenya berada dalam direk­tori program yang me-loadnya). Gunakan fitur Search Online dan VirusTotal untuk setiap file yang anda curigai.

Dari semua proses yang berjalan, ada 3 proses khusus yang termasuk dalam kategori "pseudo process", yaitu System (PID 4), System Idle Process (PID 0) dan Interrupts (PID n/a). Proses-proses ini disebut "pseudo process" karena tidak seperti proses lainnya, proses-proses ini tidak memiliki private virtual address space, tidak memiliki file executable dan hanya berjalan di kernel mode. Dari ketiga proses ini, hanya pro­ses System yang mempunyai daftar DLL, namun "DLL" yang ada dalam daftar ini se­benarnya adalah driver-driver yang di-load oleh sistem. Umumnya file drivernya berada dalam direktori %SystemRoot%\System32 dan %SystemRoot%\System32\drivers. Lakukan cek secara online untuk file driver yang berada di luar direktori ter­sebut dan juga untuk file driver yang tidak memiliki digital signature yang terverifikasi.

Process Explorer Drivers List

Penutup

Masih ada lagi tipe malware lain yang tidak terlacak menggunakan teknik ini yang akan dibahas pada artikel selanjutnya, namun dengan menggunakan teknik ini anda dapat melacak sebagian besar malware yang menyerang Windows. Happy Hunting!

Tidak ada komentar:

Posting Komentar