- YARA memungkinkan penggambaran keluarga malware menggunakan aturan fleksibel berdasarkan string, pola biner, dan properti file.
- Aturan yang dirancang dengan baik dapat mendeteksi semuanya mulai dari ransomware dan APT hingga webshell dan eksploitasi zero-day di berbagai lingkungan.
- Mengintegrasikan YARA ke dalam pencadangan, alur kerja forensik, dan peralatan perusahaan memperkuat pertahanan melampaui perangkat lunak antivirus tradisional.
- Komunitas YARA dan repositori aturan memudahkan berbagi intelijen dan terus meningkatkan deteksi.

¿Bagaimana cara menggunakan YARA untuk deteksi malware tingkat lanjut? Ketika program antivirus tradisional mencapai batasnya dan penyerang berhasil lolos melalui setiap celah yang memungkinkan, sebuah alat yang kini menjadi sangat penting dalam lab respons insiden mulai berperan: YARA, “pisau Swiss” untuk memburu malwareDirancang untuk mendeskripsikan keluarga perangkat lunak berbahaya menggunakan pola tekstual dan biner, alat ini memungkinkan dilakukannya pencocokan hash yang jauh lebih sederhana.
Di tangan yang tepat, YARA bukan hanya untuk mencari tidak hanya sampel malware yang diketahui, tetapi juga varian baru, eksploitasi zero-day, dan bahkan alat ofensif komersialDalam artikel ini, kita akan mengupas secara mendalam dan praktis cara menggunakan YARA untuk deteksi malware tingkat lanjut, cara menulis aturan yang kuat, cara mengujinya, cara mengintegrasikannya ke dalam platform seperti Veeam atau alur kerja analisis Anda sendiri, serta praktik terbaik apa yang diikuti oleh komunitas profesional.
Apa itu YARA dan mengapa begitu hebat dalam mendeteksi malware?
YARA adalah singkatan dari “Yet Another Recursive Acronym” dan telah menjadi standar de facto dalam analisis ancaman karena Ini memungkinkan penggambaran keluarga malware menggunakan aturan yang dapat dibaca, jelas, dan sangat fleksibel.Alih-alih hanya mengandalkan tanda tangan antivirus statis, YARA bekerja dengan pola yang Anda tentukan sendiri.
Ide dasarnya sederhana: aturan YARA memeriksa berkas (atau memori, atau aliran data) dan memeriksa apakah serangkaian kondisi terpenuhi. kondisi berdasarkan string teks, urutan heksadesimal, ekspresi reguler, atau properti fileJika kondisinya terpenuhi, ada "kecocokan" dan Anda dapat memberi peringatan, memblokir, atau melakukan analisis lebih mendalam.
Pendekatan ini memungkinkan tim keamanan Identifikasi dan klasifikasikan malware dari semua jenis: virus klasik, worm, Trojan, ransomware, webshell, cryptominer, makro berbahaya, dan banyak lagiTidak terbatas pada ekstensi atau format file tertentu, tetapi juga mendeteksi file yang dapat dieksekusi yang disamarkan dengan ekstensi .pdf atau file HTML yang berisi webshell.
Selain itu, YARA sudah terintegrasi ke dalam banyak layanan dan alat utama ekosistem keamanan siber: VirusTotal, kotak pasir seperti Cuckoo, platform cadangan seperti Veeam, atau solusi perburuan ancaman dari produsen papan atasOleh karena itu, penguasaan YARA hampir menjadi persyaratan bagi analis dan peneliti tingkat lanjut.
Kasus penggunaan lanjutan YARA dalam deteksi malware
Salah satu kelebihan YARA adalah kemampuannya beradaptasi sempurna pada berbagai skenario keamanan, dari SOC hingga lab malware. Aturan yang sama berlaku untuk perburuan satu kali dan pemantauan berkelanjutan..
Kasus paling langsung melibatkan penciptaan aturan khusus untuk malware tertentu atau seluruh keluargaJika organisasi Anda diserang oleh kampanye berdasarkan keluarga yang diketahui (misalnya, trojan akses jarak jauh atau ancaman APT), Anda dapat membuat profil rangkaian dan pola karakteristik dan membuat aturan yang dengan cepat mengidentifikasi sampel terkait yang baru.
Penggunaan klasik lainnya adalah fokus YARA berdasarkan tanda tanganAturan-aturan ini dirancang untuk menemukan hash, string teks yang sangat spesifik, cuplikan kode, kunci registri, atau bahkan rangkaian byte tertentu yang berulang dalam beberapa varian malware yang sama. Namun, perlu diingat bahwa jika Anda hanya mencari string sepele, Anda berisiko menghasilkan hasil positif palsu.
YARA juga bersinar dalam hal penyaringan berdasarkan jenis file atau karakteristik strukturalDimungkinkan untuk membuat aturan yang berlaku untuk file yang dapat dieksekusi PE, dokumen kantor, PDF, atau hampir semua format, dengan menggabungkan string dengan properti seperti ukuran file, header tertentu (misalnya, 0x5A4D untuk file yang dapat dieksekusi PE), atau impor fungsi yang mencurigakan.
Dalam lingkungan modern, penggunaannya terkait dengan intelijensi ancamanRepositori publik, laporan penelitian, dan umpan IOC diterjemahkan menjadi aturan YARA yang terintegrasi ke dalam SIEM, EDR, platform cadangan, atau sandbox. Hal ini memungkinkan organisasi untuk mendeteksi dengan cepat ancaman yang muncul yang memiliki karakteristik yang sama dengan kampanye yang sudah dianalisis.
Memahami sintaksis aturan YARA
Sintaks YARA cukup mirip dengan C, tetapi dengan cara yang lebih sederhana dan lebih terfokus. Setiap aturan terdiri dari nama, bagian metadata opsional, bagian string, dan, tentu saja, bagian kondisi.Dari sini, kekuatannya terletak pada bagaimana Anda menggabungkan semua itu.
Yang pertama adalah nama aturanItu harus diletakkan tepat setelah kata kunci memerintah (o penguasa Jika Anda mendokumentasikan dalam bahasa Spanyol, meskipun kata kunci dalam file akan memerintahdan harus berupa pengenal yang valid: tanpa spasi, tanpa angka, dan tanpa garis bawah. Sebaiknya ikuti konvensi yang jelas, misalnya seperti Varian_Keluarga_Malware o APT_Actor_Tool, yang memungkinkan Anda mengidentifikasi sekilas apa yang ingin dideteksi.
Berikutnya adalah bagian stringtempat Anda menentukan pola yang ingin dicari. Di sini, Anda dapat menggunakan tiga jenis utama: string teks, urutan heksadesimal, dan ekspresi regulerString teks ideal untuk cuplikan kode yang dapat dibaca manusia, URL, pesan internal, nama jalur, atau PDB. Heksadesimal memungkinkan Anda menangkap pola byte mentah, yang sangat berguna ketika kode dikaburkan tetapi tetap mempertahankan urutan konstanta tertentu.
Ekspresi reguler memberikan fleksibilitas saat Anda perlu menutupi variasi kecil dalam suatu string, seperti perubahan domain atau bagian kode yang sedikit berubah. Selain itu, string dan regex memungkinkan escape untuk mewakili byte yang sembarangan, yang membuka pintu menuju pola hibrida yang sangat tepat.
Bagian kondisi Ini adalah satu-satunya yang wajib dan menentukan kapan suatu aturan dianggap "cocok" dengan suatu berkas. Di sana Anda menggunakan operasi Boolean dan aritmatika (dan, atau, tidak, +, -, *, /, apa pun, semua, berisi, dsb.) untuk mengekspresikan logika deteksi yang lebih halus daripada sekadar "jika string ini muncul".
Misalnya, Anda dapat menentukan bahwa aturan hanya berlaku jika ukuran berkas lebih kecil dari ukuran tertentu, jika semua string penting muncul, atau jika setidaknya satu dari beberapa string hadir. Anda juga dapat menggabungkan kondisi seperti panjang string, jumlah kecocokan, offset tertentu dalam berkas, atau ukuran berkas itu sendiri.Kreativitas di sini membuat perbedaan antara aturan umum dan deteksi bedah.
Terakhir, Anda memiliki bagian opsional metaIdeal untuk mendokumentasikan periode tersebut. Umumnya disertakan penulis, tanggal pembuatan, deskripsi, versi internal, referensi ke laporan atau tiket dan, secara umum, informasi apa pun yang membantu menjaga repositori tetap teratur dan mudah dipahami oleh analis lain.
Contoh praktis aturan YARA tingkat lanjut
Untuk melihat semua hal di atas dalam perspektif, ada baiknya untuk melihat bagaimana aturan sederhana disusun dan bagaimana aturan tersebut menjadi lebih rumit ketika ada file yang dapat dieksekusi, impor yang mencurigakan, atau rangkaian instruksi berulang yang ikut berperan. Mari kita mulai dengan penggaris mainan dan secara bertahap tingkatkan ukurannya..
Aturan minimal hanya dapat berisi string dan kondisi yang mewajibkannya. Misalnya, Anda dapat mencari string teks tertentu atau urutan byte yang mewakili fragmen malware. Kondisinya, dalam kasus tersebut, akan menyatakan bahwa aturan terpenuhi jika string atau pola tersebut muncul., tanpa filter lebih lanjut.
Namun, dalam dunia nyata hal ini kurang efektif, karena Rantai sederhana sering kali menghasilkan banyak positif palsuItulah sebabnya mengapa lazim menggabungkan beberapa string (teks dan heksadesimal) dengan batasan tambahan: bahwa berkas tidak melebihi ukuran tertentu, bahwa berkas berisi header tertentu, atau bahwa berkas hanya diaktifkan jika setidaknya satu string dari setiap grup yang ditentukan ditemukan.
Contoh khas dalam analisis eksekusi PE melibatkan pengimporan modul pe dari YARA, yang memungkinkan Anda untuk menanyakan properti internal biner: fungsi yang diimpor, bagian, stempel waktu, dll. Aturan lanjutan dapat mengharuskan file untuk diimpor Proses Pembuatan dari Kernel32.dll dan beberapa fungsi HTTP dari wininet.dll, selain berisi rangkaian spesifik yang menunjukkan perilaku jahat.
Jenis logika ini sangat cocok untuk menemukan Trojan dengan kemampuan koneksi jarak jauh atau eksfiltrasibahkan ketika nama berkas atau jalur berubah dari satu kampanye ke kampanye lainnya. Yang penting adalah fokus pada perilaku yang mendasarinya: pembuatan proses, permintaan HTTP, enkripsi, persistensi, dll.
Teknik lain yang sangat efektif adalah dengan melihat urutan instruksi yang diulang antar sampel dari keluarga yang sama. Bahkan jika penyerang mengemas atau mengaburkan biner, mereka sering menggunakan kembali bagian kode yang sulit diubah. Jika, setelah analisis statis, Anda menemukan blok instruksi yang konstan, Anda dapat merumuskan aturan dengan karakter pengganti dalam string heksadesimal yang menangkap pola tersebut sambil mempertahankan toleransi tertentu.
Dengan aturan “berbasis perilaku kode” ini, dimungkinkan melacak seluruh kampanye malware seperti PlugX/Korplug atau keluarga APT lainnyaAnda tidak sekadar mendeteksi hash tertentu, tetapi Anda juga mengejar gaya pengembangan, atau bisa dikatakan, dari penyerang.
Penggunaan YARA dalam kampanye nyata dan ancaman zero-day
YARA telah membuktikan kehebatannya terutama di bidang ancaman tingkat lanjut dan eksploitasi zero-day, di mana mekanisme perlindungan klasik datang terlambat. Contoh yang terkenal adalah penggunaan YARA untuk menemukan eksploitasi di Silverlight dari intelijen yang bocor minimal..
Dalam kasus tersebut, dari email yang dicuri dari perusahaan yang didedikasikan untuk pengembangan alat-alat ofensif, pola yang cukup disimpulkan untuk membangun aturan yang berorientasi pada eksploitasi tertentu. Dengan aturan tunggal itu, para peneliti mampu melacak sampel melalui lautan berkas yang mencurigakan.Identifikasi eksploitasi dan paksa perbaikannya, untuk mencegah kerusakan yang lebih serius.
Jenis cerita ini menggambarkan bagaimana YARA dapat berfungsi sebagai jaring ikan di lautan fileBayangkan jaringan perusahaan Anda sebagai lautan yang penuh dengan "ikan" (berkas) berbagai jenis. Aturan Anda seperti kompartemen dalam jaring pukat: setiap kompartemen berisi ikan yang sesuai dengan karakteristik tertentu.
Ketika Anda menyelesaikan drag, Anda memiliki sampel dikelompokkan berdasarkan kesamaan dengan keluarga atau kelompok penyerang tertentu: “mirip dengan Spesies X”, “mirip dengan Spesies Y”, dst. Beberapa sampel ini mungkin benar-benar baru bagi Anda (biner baru, kampanye baru), tetapi sampel tersebut sesuai dengan pola yang sudah diketahui, yang mempercepat klasifikasi dan respons Anda.
Untuk mendapatkan manfaat maksimal dari YARA dalam konteks ini, banyak organisasi menggabungkan pelatihan lanjutan, laboratorium praktis dan lingkungan eksperimen terkendaliAda kursus yang sangat terspesialisasi yang didedikasikan secara eksklusif untuk seni menulis aturan yang baik, sering kali berdasarkan kasus nyata spionase dunia maya, di mana siswa berlatih dengan sampel autentik dan belajar mencari "sesuatu" bahkan ketika mereka tidak tahu persis apa yang mereka cari.
Integrasikan YARA ke dalam platform pencadangan dan pemulihan
Satu area di mana YARA sangat cocok, dan yang sering kali luput dari perhatian, adalah perlindungan cadangan. Jika cadangan terinfeksi malware atau ransomware, pemulihan dapat memulai kembali seluruh kampanye.Itulah sebabnya beberapa produsen telah menggabungkan mesin YARA langsung ke dalam solusi mereka.
Platform cadangan generasi berikutnya dapat diluncurkan Sesi analisis berbasis aturan YARA pada titik pemulihanSasarannya ada dua: untuk menemukan titik "bersih" terakhir sebelum insiden dan untuk mendeteksi konten berbahaya yang tersembunyi dalam file yang mungkin tidak dipicu oleh pemeriksaan lain.
Dalam lingkungan ini, proses tipikal melibatkan pemilihan opsi “Memindai titik pemulihan dengan penggaris YARA"selama konfigurasi pekerjaan analisis. Selanjutnya, jalur ke berkas aturan ditentukan (biasanya dengan ekstensi .yara atau .yar), yang biasanya disimpan dalam folder konfigurasi khusus untuk solusi cadangan."
Selama eksekusi, mesin mengulangi objek yang terdapat dalam salinan, menerapkan aturan, dan Ini mencatat semua kecocokan dalam log analisis YARA yang spesifik.Administrator dapat melihat log ini dari konsol, meninjau statistik, melihat file mana yang memicu peringatan, dan bahkan melacak mesin mana dan tanggal spesifik setiap kecocokan.
Integrasi ini dilengkapi dengan mekanisme lain seperti deteksi anomali, pemantauan ukuran cadangan, pencarian IOC tertentu, atau analisis alat yang mencurigakanNamun, jika menyangkut aturan yang disesuaikan dengan keluarga atau kampanye ransomware tertentu, YARA merupakan alat terbaik untuk menyempurnakan pencarian tersebut.
Cara menguji dan memvalidasi aturan YARA tanpa merusak jaringan Anda

Setelah Anda mulai menulis aturan Anda sendiri, langkah penting berikutnya adalah mengujinya secara menyeluruh. Aturan yang terlalu agresif dapat menimbulkan banyak hasil positif palsu, sedangkan aturan yang terlalu longgar dapat membiarkan ancaman nyata lolos.Itulah sebabnya fase pengujian sama pentingnya dengan fase penulisan.
Kabar baiknya adalah Anda tidak perlu menyiapkan lab yang penuh dengan malware yang berfungsi dan menginfeksi separuh jaringan untuk melakukan ini. Repositori dan kumpulan data sudah tersedia yang menyediakan informasi ini. sampel malware yang diketahui dan dikendalikan untuk tujuan penelitianAnda dapat mengunduh sampel tersebut ke lingkungan yang terisolasi dan menggunakannya sebagai tempat uji coba untuk aturan Anda.
Pendekatan yang biasa dilakukan adalah memulai dengan menjalankan YARA secara lokal, dari baris perintah, terhadap direktori yang berisi file yang mencurigakan. Jika aturan Anda sesuai dengan yang seharusnya dan hampir tidak ada yang rusak dalam berkas yang bersih, Anda berada di jalur yang benar.Jika pemicunya terlalu banyak, saatnya meninjau string, menyempurnakan kondisi, atau memperkenalkan batasan tambahan (ukuran, impor, offset, dll.).
Poin penting lainnya adalah memastikan aturan Anda tidak mengorbankan kinerja. Saat memindai direktori besar, pencadangan penuh, atau koleksi sampel besar, Aturan yang tidak dioptimalkan dengan baik dapat memperlambat analisis atau menghabiskan lebih banyak sumber daya daripada yang diinginkan.Oleh karena itu, disarankan untuk mengukur pengaturan waktu, menyederhanakan ekspresi yang rumit, dan menghindari regex yang terlalu berat.
Setelah melewati fase pengujian laboratorium tersebut, Anda akan dapat Promosikan aturan ke lingkungan produksiBaik itu di SIEM Anda, sistem cadangan, server email, atau di mana pun Anda ingin mengintegrasikannya. Dan jangan lupa untuk mempertahankan siklus peninjauan yang berkelanjutan: seiring perkembangan kampanye, aturan Anda akan memerlukan penyesuaian berkala.
Alat, program, dan alur kerja dengan YARA

Di luar biner resmi, banyak profesional telah mengembangkan program dan skrip kecil di sekitar YARA untuk memfasilitasi penggunaan sehari-harinya. Pendekatan yang umum melibatkan pembuatan aplikasi untuk rakit perlengkapan keamanan Anda sendiri yang secara otomatis membaca semua aturan dalam folder dan menerapkannya ke direktori analisis.
Jenis alat buatan sendiri ini biasanya bekerja dengan struktur direktori sederhana: satu folder untuk aturan yang diunduh dari Internet (misalnya, “rulesyar”) dan folder lain untuk file mencurigakan yang akan dianalisis (misalnya, "malware"). Saat program dimulai, ia akan memeriksa keberadaan kedua folder, menampilkan aturan di layar, dan bersiap untuk dieksekusi.
Ketika Anda menekan tombol seperti “Mulai periksaAplikasi kemudian meluncurkan YARA yang dapat dieksekusi dengan parameter yang diinginkan: memindai semua file dalam folder, analisis rekursif subdirektori, mengeluarkan statistik, mencetak metadata, dll. Setiap kecocokan ditampilkan di jendela hasil, yang menunjukkan file mana yang cocok dengan aturan mana.
Alur kerja ini memungkinkan, misalnya, pendeteksian masalah dalam sekumpulan email yang diekspor. gambar tertanam yang berbahaya, lampiran berbahaya, atau webshell yang tersembunyi dalam file yang tampaknya tidak berbahayaBanyak investigasi forensik di lingkungan perusahaan bergantung pada mekanisme jenis ini.
Mengenai parameter yang paling berguna saat memanggil YARA, opsi seperti berikut ini menonjol: -r untuk mencari secara rekursif, -S untuk menampilkan statistik, -m untuk mengekstrak metadata, dan -w untuk mengabaikan peringatanDengan menggabungkan tanda-tanda ini, Anda dapat menyesuaikan perilaku dengan kasus Anda: dari analisis cepat dalam direktori tertentu hingga pemindaian lengkap terhadap struktur folder yang kompleks.
Praktik terbaik saat menulis dan memelihara aturan YARA
Untuk mencegah repositori aturan Anda menjadi berantakan dan tak terkelola, sebaiknya terapkan serangkaian praktik terbaik. Yang pertama adalah bekerja dengan templat dan konvensi penamaan yang konsistensehingga setiap analis dapat memahami sekilas apa yang dilakukan setiap aturan.
Banyak tim mengadopsi format standar yang mencakup header dengan metadata, tag yang menunjukkan jenis ancaman, aktor atau platform, dan deskripsi yang jelas tentang apa yang terdeteksiIni membantu tidak hanya secara internal, tetapi juga saat Anda berbagi aturan dengan komunitas atau berkontribusi pada repositori publik.
Rekomendasi lainnya adalah untuk selalu mengingat bahwa YARA hanyalah satu lapisan pertahanan lagiIni tidak menggantikan perangkat lunak antivirus atau EDR, tetapi melengkapinya dalam strategi untuk Lindungi PC Windows AndaIdealnya, YARA harus sesuai dengan kerangka referensi yang lebih luas, seperti kerangka NIST, yang juga membahas identifikasi aset, perlindungan, deteksi, respons, dan pemulihan.
Dari sudut pandang teknis, ada baiknya meluangkan waktu untuk menghindari positif palsuHal ini melibatkan menghindari string yang terlalu generik, menggabungkan beberapa kondisi, dan menggunakan operator seperti semua o salah satu Gunakan akal sehat Anda dan manfaatkan properti struktural berkas tersebut. Semakin spesifik logika di balik perilaku malware, semakin baik.
Terakhir, pertahankan disiplin versi dan tinjauan berkala Ini krusial. Keluarga malware terus berevolusi, indikatornya berubah, dan aturan yang berlaku saat ini mungkin tidak lagi efektif atau bahkan usang. Meninjau dan menyempurnakan aturan Anda secara berkala adalah bagian dari permainan kucing-kucingan keamanan siber.
Komunitas YARA dan sumber daya yang tersedia
Salah satu alasan utama YARA berkembang sejauh ini adalah kekuatan komunitasnya. Para peneliti, firma keamanan, dan tim respons dari seluruh dunia terus berbagi aturan, contoh, dan dokumentasi.menciptakan ekosistem yang sangat kaya.
Titik referensi utama adalah Repositori resmi YARA di GitHubDi sana Anda akan menemukan versi terbaru alat, kode sumber, dan tautan ke dokumentasinya. Dari sana, Anda dapat memantau perkembangan proyek, melaporkan masalah, atau berkontribusi untuk perbaikan jika diinginkan.
Dokumentasi resmi, tersedia di platform seperti ReadTheDocs, menawarkan panduan sintaksis lengkap, modul yang tersedia, contoh aturan, dan referensi penggunaanIni adalah sumber daya penting untuk memanfaatkan fungsi paling canggih, seperti inspeksi PE, ELF, aturan memori, atau integrasi dengan alat lain.
Selain itu, ada repositori komunitas aturan dan tanda tangan YARA di mana analis dari seluruh dunia Mereka menerbitkan koleksi siap pakai atau koleksi yang dapat disesuaikan dengan kebutuhan Anda.Repositori ini biasanya menyertakan aturan untuk keluarga malware tertentu, perangkat eksploitasi, alat pengujian penetrasi yang digunakan secara jahat, webshell, penambang kripto, dan masih banyak lagi.
Secara paralel, banyak produsen dan kelompok penelitian menawarkan Pelatihan khusus di YARA, dari tingkat dasar hingga kursus yang sangat majuInisiatif-inisiatif ini sering kali mencakup laboratorium virtual dan latihan langsung berdasarkan skenario dunia nyata. Beberapa bahkan ditawarkan secara gratis kepada organisasi nirlaba atau entitas yang rentan terhadap serangan tertarget.
Seluruh ekosistem ini berarti bahwa, dengan sedikit dedikasi, Anda dapat beralih dari menulis aturan dasar pertama Anda hingga mengembangkan rangkaian canggih yang mampu melacak kampanye kompleks dan mendeteksi ancaman yang belum pernah terjadi sebelumnyaDan, dengan menggabungkan YARA dengan antivirus tradisional, pencadangan aman, dan intelijen ancaman, Anda membuat segalanya jauh lebih sulit bagi pelaku jahat yang berkeliaran di internet.
Dengan semua hal di atas, jelas bahwa YARA lebih dari sekadar utilitas baris perintah sederhana: ini adalah potongan kunci dalam strategi deteksi malware tingkat lanjut, alat fleksibel yang beradaptasi dengan cara berpikir Anda sebagai analis dan bahasa umum yang menghubungkan laboratorium, SOC, dan komunitas penelitian di seluruh dunia, yang memungkinkan setiap aturan baru menambahkan lapisan perlindungan lain terhadap kampanye yang semakin canggih.
Bergairah tentang teknologi sejak dia masih kecil. Saya senang mengetahui perkembangan terkini di sektor ini dan, yang terpenting, mengomunikasikannya. Itulah sebabnya saya telah mendedikasikan diri pada komunikasi di situs web teknologi dan video game selama bertahun-tahun. Anda dapat menemukan saya menulis tentang Android, Windows, MacOS, iOS, Nintendo, atau topik terkait lainnya yang terlintas dalam pikiran Anda.