Apa itu Virus Signature (virus definition)?
Virus Signature, juga dikenal sebagai virus definition, adalah sebuah potongan kode dengan pola biner unik yang mengidentifikasi virus komputer atau keluarga virus tertentu. Tanda tangan ini memberikan sidik jari digital dari virus, yang dapat digunakan untuk mendeteksi keberadaan virus dalam file atau aliran data. Perangkat lunak antivirus dan sistem deteksi pelanggaran menggunakan definisi virus saat memindai komputer dan jaringan untuk mendeteksi malware.
Perangkat lunak antimalware telah lama mengandalkan definisi virus untuk mendeteksi virus. Untuk menghadapi ancaman terbaru, perangkat lunak ini harus secara terus-menerus mengunduh Virus Signature terbaru dari penyedia dan mengintegrasikannya ke dalam platform. Perangkat lunak yang menggunakan tanda tangan yang usang dapat meningkatkan risiko terhadap komputer dan jaringan.
Pada masanya, produk antimalware sangat bergantung pada Virus Signature untuk melindungi sistem, tetapi tanda tangan hanya dapat melindungi terhadap virus yang sudah dikenal dan jenis malware tradisional, tidak terhadap virus yang belum diketahui atau malware yang lebih canggih saat ini. Misalnya, virus metamorfik dan polimorfik mengubah kodenya saat menyebar melalui sistem, memungkinkan untuk menyembunyikan bagian berbahaya dari proses pemindaian konvensional yang bergantung pada definisi virus.
Banyak produk antimalware kini menggabungkan analisis heuristik atau teknik canggih lainnya untuk mengidentifikasi potensi malware. Sebagai contoh, produk berbasis heuristik dapat menggunakan algoritma untuk mendeteksi pola perilaku yang menunjukkan malware, bukan hanya mengandalkan definisi virus. Heuristik yang kuat semakin penting karena adanya ancaman persisten tingkat lanjut yang menggunakan enkripsi untuk menyembunyikan diri dan menghindari deteksi oleh pemindaian biasa.
Meskipun ada peralihan ke heuristik dan teknologi canggih lainnya, banyak produk antimalware tetap menggunakan Virus Signature sebagai bagian dari strategi perlindungan mereka.
Bagaimana Virus Signature dibuat?
Peneliti di perusahaan malware dan organisasi lainnya membuat Virus Signature dengan terlebih dahulu mempelajari virus yang sudah dikenal. Mereka dengan sengaja mengunduh virus dari internet dan kemudian memeriksa serta mengujinya untuk melihat cara kerjanya, bekerja di lingkungan terisolasi seperti mesin virtual atau komputer yang terisolasi fisik.
Sebagai bagian dari penelitian mereka, peneliti menganalisis perilaku dan fungsionalitas virus, serta kodenya sendiri, dengan memeriksa hash, nama file, string data, fungsi, alamat IP, data header, dan karakteristik lainnya. Peneliti mungkin menggunakan proses otomatis maupun manual dalam menganalisis malware.
Dari analisis mereka, peneliti akan membuat Virus Signature unik yang mengidentifikasi malware. Tanda tangan ini berisi satu atau lebih urutan byte yang sesuai dengan kode malware. Perangkat lunak antimalware kemudian dapat menggunakan tanda tangan tersebut untuk menentukan apakah file atau aliran data mengandung urutan ini.
Para peneliti menggunakan pendekatan yang berbeda untuk membuat dan memformat Virus Signature. Salah satu pendekatan populer adalah berdasarkan standar YARA, yang mendefinisikan tanda tangan melalui aturan. Sebuah aturan adalah file teks yang mengidentifikasi urutan byte unik yang sesuai dengan virus. File YARA berisi satu atau lebih bagian berikut:
- Meta. Bagian ini menentukan metadata yang ingin disertakan oleh penulis dalam aturan, seperti deskripsi atau tanggal pembuatan tanda tangan. Bagian ini bersifat opsional.
- Strings. Bagian berikutnya mendefinisikan satu atau lebih urutan byte dan menetapkan masing-masing ke variabel yang dapat dirujuk dalam bagian kondisi. Bagian ini bersifat opsional.
- Condition. Bagian terakhir mendefinisikan ekspresi Boolean yang menentukan logika bagaimana file atau aliran data harus dievaluasi terhadap virus. Bagian ini wajib dan biasanya merujuk pada variabel yang didefinisikan dalam bagian string.
Kode berikut memberikan contoh sederhana bagaimana aturan YARA mungkin terlihat untuk virus fiktif:
rule virus_def1
{
meta:
author = “J. Smith”
description = “Ini adalah contoh. “
date = “10 Feb 2024”
strings:
$a = { 6F 74 20 35 20 30 20 52 0A 2F 54 79 70 65 20 2F }
$b = { 50 61 67 65 4C 61 79 6F 75 74 20 2F 4F 6E 65 43 }
$c = { 2E 30 29 0A 2F 53 6F 75 72 63 65 4D 6F 64 69 66 }
$d = { 3F 78 70 61 63 6B 65 74 20 62 65 67 69 6E 3D 22 }
condition:
($a or $b) and ($c or $d)
}
Sebuah aturan YARA dimulai dengan kata kunci rule, diikuti oleh nama aturan, yang dalam kasus ini adalah virus_def1. Sisa kode tertutup dalam satu set kurung kurawal yang mencakup satu atau lebih dari tiga bagian:
- Bagian meta menyediakan tiga informasi metadata tentang aturan — penulis definisi, deskripsi definisi, dan tanggal pembuatan aturan.
- Bagian strings mendefinisikan empat urutan byte. Untuk contoh ini, urutan tersebut adalah string heksadesimal, tetapi juga dapat berupa string teks atau ekspresi reguler.
- Bagian condition menentukan bagaimana variabel harus diterapkan saat mencari virus. String pertama atau kedua harus cocok dan string ketiga atau keempat harus cocok.
Sistem lain mengambil pendekatan berbeda untuk membangun definisi virus, tetapi konsepnya umumnya sama. Definisi memungkinkan untuk mengidentifikasi malware yang dikenal dengan mencocokkan urutan byte dalam Virus Signature dengan yang ada dalam file atau aliran data.