YARA-regler er en måde at identificere skadelige programmer (eller andre filer) ved at oprette regler, der ser efter bestemte egenskaber. YARA blev oprindeligt udviklet af Victor Alvares fra Virustotal og bruges hovedsageligt til forskning og detektion. Det blev udviklet med ideen om at beskrive mønstre, der identificerer bestemte stammer eller hele familier af skadelige programmer.
syntaks
hver regel skal starte med ordreglen efterfulgt af navnet eller identifikatoren. Identifikatoren kan indeholde et alfanumerisk tegn og understregningstegnet, men det første tegn må ikke være et ciffer. Der er en liste over Yara-nøgleord, der ikke må bruges som en identifikator, fordi de har en foruddefineret betydning.
tilstand
regler er sammensat af flere sektioner. Tilstandsafsnittet er det eneste, der kræves. Dette afsnit angiver, hvornår regelresultatet er sandt for det objekt (fil), der undersøges. Den indeholder et boolsk udtryk, der bestemmer resultatet. Betingelser er ved design boolske udtryk og kan indeholde alle de sædvanlige logiske og relationelle operatører. Du kan også medtage en anden regel som en del af dine forhold.
Strings
for at give betingelsesafsnittet en betydning skal du også bruge en strings sektion. Strengene sektioner er, hvor du kan definere de strenge, der vil blive søgt i filen. Lad os se på et let eksempel.
rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}
reglen vist ovenfor er navngivet leverandør og ser efter strengene “leverandørnavn” og “Aliasnavn”. Hvis en af disse strenge findes, er resultatet af reglen sandt.
der er flere typer strenge, du kan kigge efter:
- i kombination med jokertegn, spring og alternativer.
- tekststrenge med modifikatorer: nocase, fuldord, bred og ascii.
- regulære udtryk, med de samme modifikatorer som tekststrenge.
der er mange mere avancerede forhold, du kan bruge, men de er uden for rammerne af dette indlæg. Hvis du gerne vil vide mere, kan du finde det i Yara-dokumentationen.
Metadata
Metadata kan tilføjes for at hjælpe med at identificere de filer, der blev hentet af en bestemt regel. Metadataidentifikatorerne efterfølges altid af et lighedstegn og den indstillede værdi. De tildelte værdier kan være strenge, heltal eller en boolsk værdi. Bemærk, at identifikator / værdipar defineret i metadatasektionen ikke kan bruges i afsnittet betingelse, deres eneste formål er at gemme yderligere oplysninger om reglen.
Resume
YARA er et værktøj, der kan bruges til at identificere filer, der opfylder visse betingelser. Det bruges hovedsageligt af sikkerhedsforskere til at klassificere ondsindet program.
Links
signaturbaseret detektion med YARA
seneste YARA-dokumentation
YARA: Enkel og effektiv måde at dissekere ondsindet program
skærmbilleder blev lavet ved hjælp af Yara Editor af Adlice
Pieter Arnts