Regulile Yara sunt o modalitate de identificare a malware-ului (sau a altor fișiere) prin crearea de reguli care caută anumite caracteristici. YARA a fost inițial dezvoltat de Victor Alvarez de la Virustotal și este utilizat în principal în cercetarea și detectarea malware-ului. Acesta a fost dezvoltat cu ideea de a descrie modele care identifică anumite tulpini sau familii întregi de malware.
sintaxă
fiecare regulă trebuie să înceapă cu regula cuvântului, urmată de nume sau identificator. Identificatorul poate conține orice caracter alfanumeric și caracterul de subliniere, dar primul caracter nu este permis să fie o cifră. Există o listă de cuvinte cheie YARA care nu au voie să fie utilizate ca identificator, deoarece au un sens predefinit.
condiție
regulile sunt compuse din mai multe secțiuni. Secțiunea condiție este singura care este necesară. Această secțiune specifică când rezultatul regulii este adevărat pentru obiectul (fișierul) care este în curs de investigare. Conține o expresie booleană care determină rezultatul. Condițiile sunt prin design expresii booleene și pot conține toți operatorii logici și relaționali obișnuiți. De asemenea, puteți include o altă regulă ca parte a condițiilor dvs.
Strings
pentru a da secțiunea condiție un sens, veți avea nevoie, de asemenea, o secțiune siruri de caractere. Secțiunile siruri de caractere este în cazul în care puteți defini siruri de caractere care vor fi căutate în fișierul. Să ne uităm la un exemplu ușor.
rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}
regula prezentată mai sus se numește furnizor și caută șirurile „nume furnizor” și „nume Alias”. Dacă se găsește oricare dintre aceste șiruri, atunci rezultatul regulii este adevărat.
există mai multe tipuri de siruri de caractere puteți căuta:
- hexazecimal, în combinație cu wild-carduri, salturi, și alternative.
- șiruri de Text, cu modificatori: nocase, fullword, wide și ascii.
- expresii regulate, cu aceiași modificatori ca șiruri de text.
există multe condiții mai avansate pe care le puteți utiliza, dar acestea sunt în afara domeniului de aplicare al acestui post. Dacă doriți să aflați mai multe, îl puteți găsi în documentația YARA.
metadate
metadatele pot fi adăugate pentru a ajuta la identificarea fișierelor care au fost preluate de o anumită regulă. Identificatorii de metadate sunt întotdeauna urmați de un semn egal și de valoarea setată. Valorile atribuite pot fi șiruri, numere întregi sau o valoare booleană. Rețineți că perechile identificator / valoare definite în secțiunea metadate nu pot fi utilizate în secțiunea condiție, singurul lor scop este să stocheze informații suplimentare despre regulă.
rezumat
YARA este un instrument care poate fi utilizat pentru a identifica fișierele care îndeplinesc anumite condiții. Este utilizat în principal de cercetătorii de securitate pentru a clasifica malware-ul.
link-uri
detectare pe bază de semnătură cu YARA
cea mai recentă documentație YARA
YARA: Mod simplu și eficient de disecție Malware
capturi de ecran au fost făcute folosind Yara Editor de Software Adlice
Pieter Arntz