- Met YARA kunt u malwarefamilies beschrijven met behulp van flexibele regels op basis van tekenreeksen, binaire patronen en bestandseigenschappen.
- Met goed ontworpen regels kunt u alles detecteren, van ransomware en APT's tot webshells en zero-day-exploits in meerdere omgevingen.
- Door YARA te integreren in back-ups, forensische workflows en bedrijfstools, versterkt u de verdediging die verder gaat dan traditionele antivirussoftware.
- Dankzij de YARA-community en regelopslagplaatsen kunt u eenvoudig informatie delen en de detectie voortdurend verbeteren.

¿Hoe kunt u YARA gebruiken voor geavanceerde malwaredetectie? Wanneer traditionele antivirusprogramma's hun grenzen bereiken en aanvallers door alle mogelijke mazen van het net glippen, komt een hulpmiddel in beeld dat onmisbaar is geworden in incident response labs: YARA, het ‘Zwitserse zakmes’ voor de jacht op malwareHet is ontworpen om families van schadelijke software te beschrijven met behulp van tekstuele en binaire patronen. Hierdoor gaat het veel verder dan simpele hash-matching.
In de juiste handen is YARA niet alleen bedoeld voor het lokaliseren niet alleen bekende malware-samples, maar ook nieuwe varianten, zero-day-exploits en zelfs commerciële aanvalstoolsIn dit artikel gaan we uitgebreid en praktisch in op hoe u YARA kunt gebruiken voor geavanceerde malwaredetectie, hoe u robuuste regels schrijft, hoe u deze test, hoe u deze integreert in platforms zoals Veeam of uw eigen analyseworkflow en welke best practices de professionele community hanteert.
Wat is YARA en waarom is het zo krachtig in het detecteren van malware?
YARA staat voor “Yet Another Recursive Acronym” en is een de facto standaard geworden in dreigingsanalyse omdat Hiermee kunnen malwarefamilies worden beschreven met behulp van leesbare, duidelijke en zeer flexibele regels.In plaats van uitsluitend te vertrouwen op statische antivirushandtekeningen, werkt YARA met patronen die u zelf definieert.
Het basisidee is eenvoudig: een YARA-regel onderzoekt een bestand (of geheugen of gegevensstroom) en controleert of aan een reeks voorwaarden is voldaan. voorwaarden op basis van tekstreeksen, hexadecimale reeksen, reguliere expressies of bestandseigenschappenAls aan de voorwaarde is voldaan, is er een 'match' en kunt u een waarschuwing sturen, blokkeren of een diepgaandere analyse uitvoeren.
Deze aanpak maakt het mogelijk dat beveiligingsteams Identificeer en classificeer malware van alle soorten: klassieke virussen, wormen, Trojaanse paarden, ransomware, webshells, cryptominers, kwaadaardige macro's en nog veel meerHet is niet beperkt tot specifieke bestandsextensies of formaten. Het detecteert ook een gecamoufleerd uitvoerbaar bestand met de extensie .pdf of een HTML-bestand met een webshell.
Bovendien is YARA al geïntegreerd in veel belangrijke diensten en tools van het cybersecurity-ecosysteem: VirusTotal, sandboxes zoals Cuckoo, back-upplatforms zoals Veeam of oplossingen voor het opsporen van bedreigingen van topfabrikantenHet beheersen van YARA is daarom bijna een vereiste geworden voor gevorderde analisten en onderzoekers.
Geavanceerde use cases van YARA bij malwaredetectie
Eén van de sterke punten van YARA is dat het zich naadloos aanpast aan verschillende beveiligingsscenario's, van het SOC tot het malwarelab. Voor eenmalige jachten en doorlopende monitoring gelden dezelfde regels..
Het meest directe geval betreft het creëren specifieke regels voor specifieke malware of hele familiesAls uw organisatie wordt aangevallen door een campagne die is gebaseerd op een bekende familie (bijvoorbeeld een trojan voor externe toegang of een APT-bedreiging), kunt u karakteristieke strings en patronen profileren en regels opstellen waarmee snel nieuwe, gerelateerde samples kunnen worden geïdentificeerd.
Een ander klassiek gebruik is het focussen van YARA op basis van handtekeningenDeze regels zijn ontworpen om hashes, zeer specifieke tekstreeksen, codefragmenten, registersleutels of zelfs specifieke bytereeksen te lokaliseren die in meerdere varianten van dezelfde malware voorkomen. Houd er echter rekening mee dat als u alleen naar triviale reeksen zoekt, u het risico loopt op foutpositieve resultaten.
YARA blinkt ook uit als het gaat om filteren op bestandstypen of structurele kenmerkenU kunt regels maken die van toepassing zijn op PE-uitvoerbare bestanden, Office-documenten, PDF's of vrijwel elk formaat door strings te combineren met eigenschappen zoals bestandsgrootte, specifieke headers (bijvoorbeeld 0x5A4D voor PE-uitvoerbare bestanden) of verdachte functie-importen.
In moderne omgevingen is het gebruik ervan gekoppeld aan de dreigingsinformatieOpenbare repositories, onderzoeksrapporten en IOC-feeds worden vertaald naar YARA-regels die worden geïntegreerd in SIEM, EDR, back-upplatforms of sandboxes. Dit stelt organisaties in staat om snel opkomende bedreigingen detecteren die kenmerken delen met reeds geanalyseerde campagnes.
De syntaxis van YARA-regels begrijpen
De syntaxis van YARA lijkt veel op die van C, maar is eenvoudiger en gerichter. Elke regel bestaat uit een naam, een optionele metadata-sectie, een tekenreekssectie en, noodzakelijkerwijs, een voorwaardesectie.Vanaf nu ligt de kracht in de manier waarop je al deze dingen combineert.
Het eerste is de regelnaamHet moet direct na het trefwoord komen regel (o liniaal Als u in het Spaans documenteert, zal het trefwoord in het bestand weliswaar regelen moet een geldige identificatie zijn: geen spaties, geen cijfer en geen onderstrepingsteken. Het is een goed idee om een duidelijke conventie te volgen, bijvoorbeeld zoiets als Malware_Familie_Variant o APT_Actor_Tool, waardoor u in één oogopslag kunt zien wat het apparaat moet detecteren.
Hierna komt het gedeelte snarenWaar u de patronen definieert waarnaar u wilt zoeken. U kunt hier drie hoofdtypen gebruiken: tekstreeksen, hexadecimale reeksen en reguliere expressiesTekstreeksen zijn ideaal voor voor mensen leesbare codefragmenten, URL's, interne berichten, padnamen of PDB's. Met hexadecimalen kunt u ruwe bytepatronen vastleggen, wat erg handig is wanneer de code verhuld is, maar bepaalde constante reeksen behoudt.
Reguliere expressies bieden flexibiliteit wanneer u kleine variaties in een tekenreeks moet verwerken, zoals veranderende domeinen of licht gewijzigde delen van code. Bovendien staan zowel strings als regex escapes toe om willekeurige bytes weer te geven, wat de deur opent naar zeer precieze hybride patronen.
Het gedeelte voorwaarde Het is de enige verplichte en definieert wanneer een regel als "match" met een bestand wordt beschouwd. Daar gebruikt u Booleaanse en rekenkundige bewerkingen (en, of, niet, +, -, *, /, elke, alle, bevat, etc.) om een fijnere detectielogica uit te drukken dan een simpele "als deze string voorkomt".
U kunt bijvoorbeeld opgeven dat de regel alleen geldig is als het bestand kleiner is dan een bepaalde grootte, als alle kritieke tekenreeksen voorkomen of als er ten minste één van meerdere tekenreeksen aanwezig is. U kunt ook voorwaarden combineren, zoals de tekenreekslengte, het aantal overeenkomsten, specifieke offsets in het bestand of de grootte van het bestand zelf.Creativiteit maakt hier het verschil tussen generieke regels en chirurgische detecties.
Ten slotte heb je het optionele gedeelte doelIdeaal om de periode te documenteren. Het is gebruikelijk om auteur, aanmaakdatum, beschrijving, interne versie, verwijzing naar rapporten of tickets en, in het algemeen, alle informatie die helpt om de repository georganiseerd en begrijpelijk te houden voor andere analisten.
Praktische voorbeelden van geavanceerde YARA-regels
Om het bovenstaande in perspectief te plaatsen, is het handig om te zien hoe een eenvoudige regel is gestructureerd en hoe deze complexer wordt wanneer uitvoerbare bestanden, verdachte imports of repetitieve instructiereeksen een rol spelen. Laten we beginnen met een speelgoedliniaal en deze geleidelijk groter maken..
Een minimale regel kan alleen een tekenreeks en een voorwaarde bevatten die deze verplicht stelt. U kunt bijvoorbeeld zoeken naar een specifieke tekstreeks of een bytereeks die representatief is voor een malwarefragment. De voorwaarde zou in dat geval simpelweg aangeven dat aan de regel wordt voldaan als die string of dat patroon voorkomt., zonder verdere filters.
In de praktijk schiet dit echter tekort, omdat Eenvoudige ketens genereren vaak veel vals-positieve resultatenDaarom is het gebruikelijk om meerdere strings (tekst en hexadecimaal) te combineren met extra beperkingen: het bestand mag een bepaalde grootte niet overschrijden, het mag specifieke headers bevatten of het mag alleen worden geactiveerd als er ten minste één string uit elke gedefinieerde groep wordt gevonden.
Een typisch voorbeeld in PE-uitvoerbare analyse betreft het importeren van de module pe van YARA, waarmee u interne eigenschappen van het binaire bestand kunt opvragen: geïmporteerde functies, secties, tijdstempels, enz. Een geavanceerde regel kan vereisen dat het bestand wordt geïmporteerd AanmakenProces van Kernel32.dll en een aantal HTTP-functies van wininet.dll, en bevat daarnaast een specifieke tekenreeks die wijst op kwaadaardig gedrag.
Dit type logica is perfect voor het lokaliseren Trojans met mogelijkheden voor externe verbindingen of exfiltratieZelfs wanneer bestandsnamen of paden van campagne tot campagne veranderen. Het belangrijkste is om je te concentreren op het onderliggende gedrag: procescreatie, HTTP-verzoeken, encryptie, persistentie, enzovoort.
Een andere zeer effectieve techniek is om naar de reeksen instructies die herhaald worden tussen samples uit dezelfde familie. Zelfs als aanvallers de binaire code verpakken of verduisteren, hergebruiken ze vaak delen van de code die moeilijk te wijzigen zijn. Als je na statische analyse constante blokken instructies vindt, kun je een regel formuleren met jokers in hexadecimale strings die dat patroon vastlegt en toch een zekere tolerantie behoudt.
Met deze op ‘codegedrag gebaseerde’ regels is het mogelijk volledige malwarecampagnes volgen, zoals die van PlugX/Korplug of andere APT-familiesJe detecteert niet alleen een specifieke hash, maar je gaat ook de ontwikkelstijl van de aanvallers na.
Gebruik van YARA in echte campagnes en zero-day-bedreigingen
YARA heeft zijn waarde vooral bewezen op het gebied van geavanceerde bedreigingen en zero-day exploits, waar klassieke beschermingsmechanismen te laat komen. Een bekend voorbeeld is het gebruik van YARA om een exploit in Silverlight te lokaliseren op basis van minimale gelekte informatie..
In dat geval werden uit e-mails die waren gestolen van een bedrijf dat zich toelegde op de ontwikkeling van aanvallende tools, voldoende patronen afgeleid om een regel te maken die gericht was op een specifieke exploit. Met die ene regel konden de onderzoekers het monster traceren in een zee van verdachte bestanden.Identificeer de exploit en zorg ervoor dat deze gepatcht wordt. Zo voorkomt u veel ernstiger schade.
Dit soort verhalen illustreren hoe YARA kan functioneren als visnet in een zee van bestandenStel je je bedrijfsnetwerk voor als een oceaan vol 'vissen' (bestanden) van allerlei soorten. Je regels zijn als de vakjes in een sleepnet: elk vakje bevat de vissen die aan specifieke kenmerken voldoen.
Als je klaar bent met slepen, heb je: monsters gegroepeerd op gelijkenis met specifieke families of groepen aanvallers: "vergelijkbaar met soort X", "vergelijkbaar met soort Y", enz. Sommige van deze voorbeelden zijn misschien helemaal nieuw voor u (nieuwe binaire getallen, nieuwe campagnes), maar ze passen in een bekend patroon, wat uw classificatie en reactie versnelt.
Om in deze context het maximale uit YARA te halen, combineren veel organisaties geavanceerde training, praktische laboratoria en gecontroleerde experimenteeromgevingenEr zijn zeer gespecialiseerde cursussen die zich uitsluitend richten op de kunst van het schrijven van goede regels, vaak gebaseerd op echte gevallen van cyberespionage. In deze cursussen oefenen studenten met authentieke voorbeelden en leren ze om naar 'iets' te zoeken, zelfs als ze niet precies weten wat ze zoeken.
Integreer YARA in back-up- en herstelplatforms
Eén gebied waar YARA perfect bij past, en dat vaak enigszins onder de aandacht blijft, is de beveiliging van back-ups. Als back-ups zijn geïnfecteerd met malware of ransomware, kan een herstelbewerking een hele campagne opnieuw starten.Daarom hebben sommige fabrikanten YARA-motoren rechtstreeks in hun oplossingen geïntegreerd.
Back-upplatforms van de volgende generatie kunnen worden gelanceerd YARA-regelgebaseerde analysesessies op herstelpuntenHet doel is tweeledig: het laatste 'schone' punt vóór een incident vinden en schadelijke inhoud detecteren die verborgen zit in bestanden en die mogelijk niet door andere controles is geactiveerd.
In deze omgevingen omvat het typische proces het selecteren van een optie van "Herstelpunten scannen met een YARA-liniaal"tijdens de configuratie van een analysetaak. Vervolgens wordt het pad naar het regelbestand opgegeven (meestal met de extensie .yara of .yar), dat doorgaans wordt opgeslagen in een configuratiemap die specifiek is voor de back-upoplossing."
Tijdens de uitvoering doorloopt de engine de objecten die in de kopie zijn opgenomen, past de regels toe en Alle overeenkomsten worden vastgelegd in een specifiek YARA-analyselogboek.De beheerder kan deze logboeken bekijken vanaf de console, statistieken bekijken, zien welke bestanden de waarschuwing hebben geactiveerd en zelfs nagaan met welke machines en specifieke datum elke match overeenkomt.
Deze integratie wordt aangevuld door andere mechanismen zoals anomaliedetectie, bewaking van de back-upgrootte, zoeken naar specifieke IOC's of analyse van verdachte toolsMaar als het gaat om regels die zijn toegespitst op een specifieke ransomwarefamilie of campagne, is YARA het beste hulpmiddel om die zoekopdracht te verfijnen.
Hoe u YARA-regels kunt testen en valideren zonder uw netwerk te verstoren

Zodra u begint met het schrijven van uw eigen regels, is de volgende belangrijke stap om ze grondig te testen. Een te agressieve regel kan een stortvloed aan fout-positieve resultaten opleveren, terwijl een te lakse regel ervoor kan zorgen dat echte bedreigingen door de vingers glippen.Daarom is de testfase net zo belangrijk als de schrijffase.
Het goede nieuws is dat je hiervoor geen lab vol werkende malware hoeft op te zetten en de helft van het netwerk hoeft te infecteren. Er bestaan al repositories en datasets die deze informatie bieden. bekende en gecontroleerde malware-samples voor onderzoeksdoeleindenU kunt deze voorbeelden downloaden naar een geïsoleerde omgeving en ze gebruiken als testbed voor uw regels.
De gebruikelijke aanpak is om YARA lokaal uit te voeren vanaf de opdrachtregel, tegen een directory met verdachte bestanden. Als uw regels kloppen en ze nauwelijks werken in schone bestanden, bent u op de goede weg.Als ze te veel triggers genereren, is het tijd om de strings te controleren, de voorwaarden te verfijnen of extra beperkingen in te voeren (grootte, import, offsets, etc.).
Een ander belangrijk punt is ervoor te zorgen dat uw regels de prestaties niet in gevaar brengen. Bij het scannen van grote mappen, volledige back-ups of enorme samplecollecties, Slecht geoptimaliseerde regels kunnen de analyse vertragen of meer bronnen verbruiken dan gewenst.Daarom is het raadzaam om timing te meten, ingewikkelde expressies te vereenvoudigen en overmatig zware regex te vermijden.
Nadat u de laboratoriumtestfase hebt doorlopen, kunt u: Promoot de regels in de productieomgevingOf het nu in uw SIEM, uw back-upsystemen, e-mailservers of waar u ze ook wilt integreren, is. En vergeet niet om een continue beoordelingscyclus te handhaven: naarmate campagnes evolueren, moeten uw regels periodiek worden aangepast.
Hulpmiddelen, programma's en workflow met YARA

Naast de officiële binaire code hebben veel professionals kleine programma's en scripts rondom YARA ontwikkeld om het dagelijks gebruik ervan te vergemakkelijken. Een typische aanpak omvat het maken van een applicatie voor stel je eigen beveiligingskit samen die automatisch alle regels in een map leest en deze toepast op een analysedirectory.
Dit soort zelfgemaakte tools werken meestal met een eenvoudige directorystructuur: één map voor de regels gedownload van internet (bijvoorbeeld "rulesyar") en een andere map voor de verdachte bestanden die geanalyseerd moeten worden (bijvoorbeeld "malware"). Wanneer het programma start, controleert het of beide mappen bestaan, toont het de regels op het scherm en bereidt het zich voor op de uitvoering.
Wanneer u op een knop drukt zoals "Controle startenDe toepassing start vervolgens het uitvoerbare YARA-bestand met de gewenste parameters: alle bestanden in de map scannen, recursieve analyse van submappen, statistieken uitvoeren, metagegevens afdrukken, enzovoort. Alle overeenkomsten worden weergegeven in een resultatenvenster, waarin wordt aangegeven welk bestand aan welke regel voldoet.
Met deze workflow kunt u bijvoorbeeld problemen in een batch geëxporteerde e-mails detecteren. kwaadaardige ingebedde afbeeldingen, gevaarlijke bijlagen of webshells verborgen in ogenschijnlijk onschuldige bestandenVeel forensische onderzoeken in bedrijfsomgevingen zijn juist op dit soort mechanismen gebaseerd.
Wat betreft de meest bruikbare parameters bij het aanroepen van YARA, vallen de volgende opties op: -r om recursief te zoeken, -S om statistieken weer te geven, -m om metagegevens te extraheren en -w om waarschuwingen te negerenDoor deze vlaggen te combineren kunt u het gedrag aanpassen aan uw situatie: van een snelle analyse in een specifieke directory tot een volledige scan van een complexe mappenstructuur.
Best practices bij het schrijven en onderhouden van YARA-regels
Om te voorkomen dat uw regelsrepository een onbeheersbare rommel wordt, raden we u aan een aantal best practices toe te passen. De eerste is om te werken met consistente sjablonen en naamgevingsconventieszodat elke analist in één oogopslag kan zien wat elke regel doet.
Veel teams hanteren een standaardformat dat bestaat uit: header met metadata, tags die het type bedreiging, actor of platform aangeven, en een duidelijke beschrijving van wat er wordt gedetecteerdDit is niet alleen nuttig voor de interne werking, maar ook wanneer u regels deelt met de community of bijdraagt aan openbare repositories.
Een andere aanbeveling is om altijd te onthouden dat YARA is slechts een extra verdedigingslaagHet vervangt antivirus-software of EDR niet, maar vult deze aan in strategieën voor Bescherm uw Windows-pcIdealiter zou YARA moeten passen binnen bredere referentiekaders, zoals het NIST-kader, dat ook betrekking heeft op de identificatie, bescherming, detectie, reactie en terugwinning van activa.
Vanuit technisch oogpunt is het de moeite waard om tijd te besteden aan Vals-positieve resultaten vermijdenDit houdt in dat u al te generieke strings moet vermijden, meerdere voorwaarden moet combineren en operatoren moet gebruiken zoals alle o elk van Gebruik je verstand en profiteer van de structurele eigenschappen van het bestand. Hoe specifieker de logica achter het gedrag van de malware, hoe beter.
Houd ten slotte een discipline aan versiebeheer en periodieke beoordeling Het is cruciaal. Malwarefamilies evolueren, indicatoren veranderen en de regels die vandaag werken, kunnen tekortschieten of verouderd raken. Het periodiek herzien en verfijnen van uw regelset is onderdeel van het kat-en-muisspel van cybersecurity.
De YARA-gemeenschap en beschikbare middelen
Een van de belangrijkste redenen waarom YARA zo ver is gekomen, is de kracht van haar gemeenschap. Onderzoekers, beveiligingsbedrijven en responsteams van over de hele wereld delen voortdurend regels, voorbeelden en documentatie.waardoor een zeer rijk ecosysteem ontstaat.
Het belangrijkste referentiepunt is de YARA's officiële repository op GitHubDaar vindt u de nieuwste versies van de tool, de broncode en links naar de documentatie. Vanaf daar kunt u de voortgang van het project volgen, problemen melden of verbeteringen bijdragen als u dat wilt.
De officiële documentatie, beschikbaar op platforms zoals ReadTheDocs, biedt een complete syntaxisgids, beschikbare modules, regelvoorbeelden en gebruiksreferentiesHet is een essentiële bron om te profiteren van de meest geavanceerde functies, zoals PE-inspectie, ELF, geheugenregels of integraties met andere tools.
Daarnaast zijn er community-repositories met YARA-regels en -handtekeningen waar analisten van over de hele wereld Ze publiceren kant-en-klare collecties of collecties die u naar eigen wens kunt aanpassen.Deze opslagplaatsen bevatten doorgaans regels voor specifieke malwarefamilies, exploitkits, kwaadaardige pentestingtools, webshells, cryptominers en nog veel meer.
Tegelijkertijd bieden veel fabrikanten en onderzoeksgroepen Specifieke opleidingen bij YARA, van basisniveau tot zeer geavanceerde cursussenDeze initiatieven omvatten vaak virtuele labs en praktische oefeningen gebaseerd op praktijkscenario's. Sommige worden zelfs gratis aangeboden aan non-profitorganisaties of entiteiten die bijzonder kwetsbaar zijn voor gerichte aanvallen.
Dit hele ecosysteem betekent dat je met een beetje toewijding van het schrijven van je eerste basisregels naar geavanceerde suites ontwikkelen die complexe campagnes kunnen volgen en ongekende bedreigingen kunnen detecterenEn door YARA te combineren met traditionele antivirussoftware, veilige back-ups en bedreigingsinformatie maakt u het voor kwaadwillende partijen op internet een stuk lastiger.
Met al het bovenstaande is het duidelijk dat YARA veel meer is dan een eenvoudig opdrachtregelprogramma: het is een sleutelstuk in elke geavanceerde malwaredetectiestrategie, een flexibele tool die zich aanpast aan uw manier van denken als analist en een gemeenschappelijke taal die laboratoria, SOC's en onderzoeksgemeenschappen over de hele wereld met elkaar verbindt, zodat elke nieuwe regel een extra beschermingslaag biedt tegen steeds geavanceerdere campagnes.
Gepassioneerd door technologie sinds hij klein was. Ik houd ervan om op de hoogte te zijn van de sector en vooral om deze te communiceren. Daarom houd ik mij al jaren bezig met communicatie op technologie- en videogamewebsites. Je kunt mij vinden als ik schrijf over Android, Windows, MacOS, iOS, Nintendo of elk ander gerelateerd onderwerp dat in je opkomt.