Panduan VirusTotal Hunting & Livehunt API untuk Analisis Ancaman

VirusTotal Hunting dan Livehunt API adalah fitur tingkat lanjut dari platform VirusTotal Enterprise yang dirancang untuk peneliti keamanan siber, tim Security Operations Center (SOC), dan pemburu ancaman (threat hunters). Fitur ini memungkinkan pengguna untuk memantau unggahan file baru secara real-time dan mencocokkannya dengan aturan (rules) kustom berbasis bahasa YARA, sehingga infrastruktur keamanan dapat mendeteksi varian malware baru sebelum menyebar luas.

Untuk memanfaatkan layanan ini secara optimal, pengguna memerlukan akun VirusTotal Enterprise yang memiliki akses API v3 serta kuota pencarian (quota) yang memadai. Livehunt bekerja secara asinkron dengan memindai setiap file baru yang masuk ke mesin VirusTotal menggunakan YARA rules yang Anda daftarkan, sementara Hunting API memungkinkan pencarian historis pada dataset korpus file masa lalu.

Perbedaan Utama VirusTotal Hunting dan Livehunt

Meskipun keduanya menggunakan basis aturan YARA, cara kerja dan peruntukan kedua layanan ini memiliki perbedaan mendasar yang perlu dipahami oleh pengembang maupun analis keamanan.

Fitur VirusTotal Hunting (Retrohunt) VirusTotal Livehunt
Cara Kerja Memindai file historis yang sudah ada di database VirusTotal. Memindai file baru yang masuk secara real-time.
Pemicu (Trigger) Eksekusi manual melalui API atau web interface. Otomatis saat file baru diunggah ke platform.
Notifikasi Hasil dikembalikan setelah pemindaian arsip selesai. Webhook atau API polling saat ada kecocokan (match).
Kasus Penggunaan Menguji aturan YARA baru terhadap arsip malware masa lalu. Deteksi dini ancaman baru (zero-day / APT campaigns).

Contoh Implementasi YARA Rule untuk Livehunt

Sebelum menggunakan Livehunt API, Anda harus menyiapkan aturan YARA yang valid. Berikut adalah contoh struktur aturan YARA sederhana untuk mendeteksi pola string mencurigakan pada file PE (Portable Executable).

rule Detect_Suspicious_Strings {
    meta:
        description = "Deteksi string indikator loader berbahaya"
        author = "Threat Hunter"
        date = "2026-03-30"
    strings:
        $a = "powershell -enc" nocase
        $b = "VirtualAlloc" 
        $c = "CreateRemoteThread"
    condition:
        uint16(0) == 0x5A4D and all of them
}

Langkah Teknis Menggunakan Livehunt API v3

Integrasi Livehunt API dilakukan melalui endpoint resmi VirusTotal v3 menggunakan bahasa pemrograman seperti Python. Berikut adalah tahapan teknis untuk mengelola aturan YARA melalui API:

  1. Autentikasi API: Sediakan X-Apikey pada header HTTP setiap permintaan (request) ke server VirusTotal.
  2. Unggah YARA Rules: Kirimkan payload berisi aturan YARA ke endpoint https://www.virustotal.com/api/v3/livehunt/rules menggunakan metode POST.
  3. Konfigurasi Notifikasi (Webhook): Atur URL webhook Anda agar sistem VirusTotal dapat mengirimkan data otomatis ketika aturan Anda mendeteksi file yang cocok.
  4. Kelola Aturan: Lakukan pembaruan, pengaktifan, atau penghapusan aturan secara berkala melalui endpoint GET, PATCH, dan DELETE yang tersedia.

Contoh Skrip Python untuk Menambahkan Aturan Livehunt

Berikut adalah contoh kode Python menggunakan pustaka requests untuk mengunggah aturan YARA ke Livehunt API.

import requests

url = "https://www.virustotal.com/api/v3/livehunt/rules"

headers = {
    "x-apikey": "YOUR_VIRUSTOTAL_API_KEY",
    "content-type": "application/json"
}

yara_rule_content = """
rule Sample_Rule {
    strings:
        $malware_sig = "BadPayload"
    condition:
        $malware_sig
}
"""

payload = {
    "data": {
        "type": "livehunt_rule",
        "attributes": {
            "name": "Sample Rule Detection",
            "ruleset": yara_rule_content,
            "enabled": True
        }
    }
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

Tips Keamanan dan Praktik Terbaik Lapangan

Dalam mengoperasikan VirusTotal Hunting dan Livehunt API, efisiensi penggunaan aturan sangat menentukan tingkat keberhasilan deteksi tanpa memicu alarm palsu (false positives). Pastikan aturan YARA Anda spesifik dengan menyertakan kondisi unik seperti ukuran file, header spesifik, atau kombinasi string yang jarang ditemukan pada aplikasi sah (legitimate software). Selain itu, batasi akses API key Anda hanya pada lingkungan server yang aman dan terenkripsi.