YARA-regels zijn een manier om malware (of andere bestanden) te identificeren door regels te maken die bepaalde kenmerken zoeken. YARA werd oorspronkelijk ontwikkeld door Victor Alvarez van Virustotal en wordt voornamelijk gebruikt in malware onderzoek en detectie. Het werd ontwikkeld met het idee om patronen te beschrijven die bepaalde stammen of hele families van malware identificeren.
syntaxis
elke regel moet beginnen met de woordregel, gevolgd door de naam of identifier. De identifier kan elk alfanumeriek teken en het underscore teken bevatten, maar het eerste teken mag geen cijfer zijn. Er is een lijst met Yara-trefwoorden die niet mogen worden gebruikt als een identifier omdat ze een vooraf gedefinieerde betekenis hebben.
voorwaarde
regels bestaan uit verschillende secties. De voorwaarde sectie is de enige die nodig is. In deze sectie wordt aangegeven wanneer het regelresultaat waar is voor het object (bestand) dat wordt onderzocht. Het bevat een Booleaanse uitdrukking die het resultaat bepaalt. Voorwaarden zijn door het ontwerp Booleaanse uitdrukkingen en kunnen alle gebruikelijke logische en relationele operatoren bevatten. U kunt ook een andere regel opnemen als onderdeel van uw voorwaarden.
Strings
om de condition sectie Een betekenis te geven heeft u ook een strings sectie nodig. De strings secties is waar je de strings kunt definiëren waarnaar gezocht wordt in het bestand. Laten we eens kijken naar een eenvoudig voorbeeld.
rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}
de hierboven getoonde regel is genaamd vendor en zoekt naar de strings ” Vendor name “en”Alias name”. Als een van deze strings wordt gevonden, dan is het resultaat van de regel waar.
er zijn verschillende soorten tekenreeksen die u kunt zoeken:
- hexadecimaal, in combinatie met wild-cards, sprongen en alternatieven.
- tekstreeksen, met modifiers: nocase, fullword, wide en ascii.
- reguliere expressies, met dezelfde modifiers als tekstreeksen.
er zijn veel meer geavanceerde voorwaarden die u kunt gebruiken, maar ze vallen buiten het bereik van dit bericht. Als je meer wilt weten kun je het vinden in de Yara documentatie.
metagegevens
metagegevens kunnen worden toegevoegd om de bestanden te identificeren die met een bepaalde regel zijn opgehaald. De metadata-identifiers worden altijd gevolgd door een gelijkteken en de ingestelde waarde. De toegewezen waarden kunnen tekenreeksen, gehele getallen of een Booleaanse waarde zijn. Merk op dat identifier/waarde paren gedefinieerd in de metagegevens sectie niet kunnen worden gebruikt in de voorwaarde sectie, hun enige doel is om extra informatie over de regel op te slaan.
samenvatting
YARA is een hulpmiddel dat kan worden gebruikt om bestanden te identificeren die aan bepaalde voorwaarden voldoen. Het wordt voornamelijk gebruikt door security onderzoekers om malware te classificeren.
Links
Signature-Based Detection With YARA
Laatste Yara-documentatie
YARA: Eenvoudige en effectieve manier om Malware te ontleden
schermafbeeldingen werden gemaakt met behulp van Yara Editor door Adlice Software
Pieter Arntz