- YARA tillater beskrivelse av skadevarefamilier ved hjelp av fleksible regler basert på strenger, binære mønstre og filegenskaper.
- Godt utformede regler kan oppdage alt fra ransomware og APT-er til webshells og nulldagsangrep på tvers av flere miljøer.
- Integrering av YARA i sikkerhetskopier, rettsmedisinske arbeidsflyter og bedriftsverktøy styrker forsvaret utover tradisjonell antivirusprogramvare.
- YARA-fellesskapet og regelarkivene gjør det enkelt å dele informasjon og kontinuerlig forbedre deteksjon.

¿Hvordan bruker man YARA for avansert skadelig programvaredeteksjon? Når tradisjonelle antivirusprogrammer når sine grenser og angripere slipper gjennom alle mulige sprekker, kommer et verktøy som har blitt uunnværlig i hendelsesresponslaboratorier til spill: YARA, den «sveitserkniven» for å jakte på skadevareDen er designet for å beskrive familier av skadelig programvare ved hjelp av tekstlige og binære mønstre, og tillater å gå langt utover enkel hash-matching.
I de rette hendene er YARA ikke bare for å finne ikke bare kjente malware-eksempler, men også nye varianter, nulldagsangrep og til og med kommersielle offensive verktøyI denne artikkelen skal vi utforske i dybden og praktisk hvordan man bruker YARA for avansert deteksjon av skadelig programvare, hvordan man skriver robuste regler, hvordan man tester dem, hvordan man integrerer dem i plattformer som Veeam eller din egen analysearbeidsflyt, og hvilke beste praksiser fagmiljøet følger.
Hva er YARA, og hvorfor er det så kraftig til å oppdage skadelig programvare?
YARA står for «Yet Another Recursive Acronym» og har blitt en de facto standard innen trusselanalyse fordi Det gjør det mulig å beskrive skadevarefamilier ved hjelp av lesbare, klare og svært fleksible regler.I stedet for å utelukkende stole på statiske antivirussignaturer, jobber YARA med mønstre du definerer selv.
Grunnideen er enkel: en YARA-regel undersøker en fil (eller minne eller datastrøm) og sjekker om en rekke betingelser er oppfylt. betingelser basert på tekststrenger, heksadesimale sekvenser, regulære uttrykk eller filegenskaperHvis betingelsen er oppfylt, er det et «samsvar», og du kan varsle, blokkere eller utføre en mer grundig analyse.
Denne tilnærmingen gjør det mulig for sikkerhetsteam Identifiser og klassifiser skadelig programvare av alle typer: klassiske virus, ormer, trojanere, ransomware, webshells, kryptominere, ondsinnede makroer og mye merDen er ikke begrenset til spesifikke filtyper eller formater, så den oppdager også en skjult kjørbar fil med en .pdf-filtype eller en HTML-fil som inneholder et webshell.
Videre er YARA allerede integrert i mange viktige tjenester og verktøy i økosystemet for cybersikkerhet: VirusTotal, sandkasser som Cuckoo, sikkerhetskopieringsplattformer som Veeam eller trusseljaktløsninger fra toppprodusenterDerfor har det å mestre YARA blitt nærmest et krav for avanserte analytikere og forskere.
Avanserte brukstilfeller av YARA i deteksjon av skadelig programvare
En av YARAS styrker er at den tilpasser seg utmerket til flere sikkerhetsscenarier, fra SOC til skadevarelaboratoriet. De samme reglene gjelder for både engangsjakt og kontinuerlig overvåking..
Det mest direkte tilfellet innebærer å opprette spesifikke regler for spesifikk skadelig programvare eller hele familierHvis organisasjonen din blir angrepet av en kampanje basert på en kjent familie (for eksempel en trojaner for ekstern tilgang eller en APT-trussel), kan du profilere karakteristiske strenger og mønstre og opprette regler som raskt identifiserer nye relaterte eksempler.
En annen klassisk bruk er fokuset på YARA basert på signaturerDisse reglene er utformet for å finne hasher, svært spesifikke tekststrenger, kodebiter, registernøkler eller til og med spesifikke bytesekvenser som gjentas i flere varianter av den samme skadelige programvaren. Husk imidlertid at hvis du bare søker etter trivielle strenger, risikerer du å generere falske positiver.
YARA skinner også når det gjelder filtrering etter filtyper eller strukturelle egenskaperDet er mulig å opprette regler som gjelder for PE-kjørbare filer, Office-dokumenter, PDF-er eller praktisk talt alle formater, ved å kombinere strenger med egenskaper som filstørrelse, spesifikke overskrifter (f.eks. 0x5A4D for PE-kjørbare filer) eller import av mistenkelige funksjoner.
I moderne miljøer er bruken knyttet til intelligens av amenazasOffentlige arkiver, forskningsrapporter og IOC-feeder oversettes til YARA-regler som integreres i SIEM, EDR, sikkerhetskopieringsplattformer eller sandkasser. Dette lar organisasjoner raskt oppdage nye trusler som deler egenskaper med kampanjer som allerede er analysert.
Forstå syntaksen til YARA-reglene
YARAs syntaks er ganske lik den i C, men på en enklere og mer fokusert måte. Hver regel består av et navn, en valgfri metadataseksjon, en strengseksjon og nødvendigvis en betingelsesseksjon.Fra nå av ligger kraften i hvordan du kombinerer alt dette.
Den første er regelnavnDet må stå rett etter nøkkelordet herske (o regel Hvis du dokumenterer på spansk, selv om nøkkelordet i filen vil være herskeog må være en gyldig identifikator: ingen mellomrom, ingen tall og ingen understrek. Det er lurt å følge en tydelig konvensjon, for eksempel noe sånt som Variant av skadelig_programvarefamilie o APT_Actor_Tool, som lar deg med et raskt blikk identifisere hva den er ment å oppdage.
Deretter kommer seksjonen strengerder du definerer mønstrene du vil søke etter. Her kan du bruke tre hovedtyper: tekststrenger, heksadesimale sekvenser og regulære uttrykkTekststrenger er ideelle for menneskelig lesbare kodestykker, URL-er, interne meldinger, stinavn eller PDB-er. Heksadesimaler lar deg fange opp rå bytemønstre, noe som er veldig nyttig når koden er obfuskert, men beholder visse konstante sekvenser.
Regulære uttrykk gir fleksibilitet når du trenger å dekke små variasjoner i en streng, for eksempel å endre domener eller litt endrede deler av koden. Videre tillater både strenger og regex at escape-tegn kan representere vilkårlige byte., som åpner døren for svært presise hybridmønstre.
seksjon tilstand Det er den eneste obligatoriske, og den definerer når en regel anses å «samsvare» med en fil. Der bruker du boolske og aritmetiske operasjoner (og, eller, ikke, +, -, *, /, noen, alle, inneholder, osv.) for å uttrykke finere deteksjonslogikk enn en enkel "hvis denne strengen vises".
Du kan for eksempel angi at regelen bare er gyldig hvis filen er mindre enn en viss størrelse, hvis alle kritiske strenger vises, eller hvis minst én av flere strenger er til stede. Du kan også kombinere betingelser som strenglengde, antall treff, spesifikke forskyvninger i filen eller størrelsen på selve filen.Kreativitet her utgjør forskjellen mellom generiske regler og kirurgiske deteksjoner.
Til slutt har du den valgfrie delen metaIdeelt for å dokumentere perioden. Det er vanlig å inkludere forfatter, opprettelsesdato, beskrivelse, intern versjon, referanse til rapporter eller saker og generelt all informasjon som bidrar til å holde arkivet organisert og forståelig for andre analytikere.
Praktiske eksempler på avanserte YARA-regler
For å sette alt det ovennevnte i perspektiv, er det nyttig å se hvordan en enkel regel er strukturert og hvordan den blir mer kompleks når kjørbare filer, mistenkelige importer eller repeterende instruksjonssekvenser kommer inn i bildet. La oss starte med en leketøyslinjal og gradvis øke størrelsen..
En minimalregel kan bare inneholde en streng og en betingelse som gjør den obligatorisk. Du kan for eksempel søke etter en spesifikk tekststreng eller en bytesekvens som representerer et skadelig programvarefragment. Betingelsen ville i så fall ganske enkelt angi at regelen er oppfylt hvis den strengen eller mønsteret vises., uten ytterligere filtre.
I virkeligheten er imidlertid dette mangelfullt, fordi Enkle kjeder genererer ofte mange falske positiverDerfor er det vanlig å kombinere flere strenger (tekst og heksadesimal) med ytterligere begrensninger: at filen ikke overskrider en viss størrelse, at den inneholder spesifikke overskrifter, eller at den bare aktiveres hvis minst én streng fra hver definerte gruppe blir funnet.
Et typisk eksempel i PE-kjørbar analyse innebærer å importere modulen pe fra YARA, som lar deg spørre om interne egenskaper til binærfilen: importerte funksjoner, seksjoner, tidsstempler osv. En avansert regel kan kreve at filen importeres Opprettprosess fra Kernel32.dll og noen HTTP-funksjoner fra wininet.dll, i tillegg til å inneholde en spesifikk streng som indikerer ondsinnet oppførsel.
Denne typen logikk er perfekt for å finne Trojanere med fjerntilkobling eller eksfiltreringsmuligheterselv når filnavn eller stier endres fra en kampanje til en annen. Det viktigste er å fokusere på den underliggende oppførselen: prosessoppretting, HTTP-forespørsler, kryptering, persistens osv.
En annen svært effektiv teknikk er å se på sekvenser av instruksjoner som gjentas mellom prøver fra samme familie. Selv om angripere pakker eller tilslører binærfilen, gjenbruker de ofte deler av koden som er vanskelige å endre. Hvis du etter statisk analyse finner konstante blokker med instruksjoner, kan du formulere en regel med jokertegn i heksadesimale strenger som fanger opp det mønsteret samtidig som det opprettholder en viss toleranse.
Med disse «kodebaserte atferdsbaserte» reglene er det mulig spore hele skadevarekampanjer som de fra PlugX/Korplug eller andre APT-familierDu oppdager ikke bare en spesifikk hash, men du går etter utviklingsstilen, så å si, til angriperne.
Bruk av YARA i virkelige kampanjer og nulldagstrusler
YARA har bevist sin verdi, spesielt innen avanserte trusler og nulldagsangrep, der klassiske beskyttelsesmekanismer kommer for sent. Et kjent eksempel er bruken av YARA for å finne en utnyttelse i Silverlight fra minimal lekkasje av informasjon..
I så fall ble det utledet tilstrekkelige mønstre fra e-poster stjålet fra et selskap dedikert til utvikling av støtende verktøy til å bygge en regel orientert mot et spesifikt angrep. Med den ene regelen kunne forskerne spore prøven gjennom et hav av mistenkelige filer.Identifiser utnyttelsen og fremtving oppdateringen, for å forhindre mye mer alvorlig skade.
Denne typen historier illustrerer hvordan YARA kan fungere som fiskegarn i et hav av filerSe for deg bedriftsnettverket ditt som et hav fullt av «fisk» (filer) av alle slag. Reglene dine er som rom i en trål: hvert rom inneholder fisken som passer til spesifikke egenskaper.
Når du er ferdig med å dra, har du prøver gruppert etter likhet med spesifikke familier eller grupper av angripere: «ligner på Art X», «ligner på Art Y» osv. Noen av disse eksemplene kan være helt nye for deg (nye binærfiler, nye kampanjer), men de passer inn i et kjent mønster, noe som fremskynder klassifiseringen og responsen din.
For å få mest mulig ut av YARA i denne sammenhengen, slår mange organisasjoner seg sammen avansert opplæring, praktiske laboratorier og kontrollerte eksperimenteringsmiljøerDet finnes svært spesialiserte kurs dedikert utelukkende til kunsten å skrive gode regler, ofte basert på reelle tilfeller av cyberspionasje, der studentene øver med autentiske eksempler og lærer å søke etter «noe» selv når de ikke vet nøyaktig hva de leter etter.
Integrer YARA i sikkerhetskopierings- og gjenopprettingsplattformer
Et område der YARA passer perfekt inn, og som ofte går noe ubemerket hen, er beskyttelse av sikkerhetskopier. Hvis sikkerhetskopier er infisert med skadelig programvare eller løsepengevirus, kan en gjenoppretting starte en hel kampanje på nytt.Derfor har noen produsenter integrert YARA-motorer direkte i løsningene sine.
Neste generasjons sikkerhetskopieringsplattformer kan lanseres YARA regelbaserte analyseøkter på gjenopprettingspunkterMålet er todelt: å finne det siste «ryddepunktet» før en hendelse og å oppdage skadelig innhold skjult i filer som kanskje ikke har blitt utløst av andre kontroller.
I disse miljøene innebærer den typiske prosessen å velge et alternativ for «Skann gjenopprettingspunkter med en YARA-linjal"under konfigurasjonen av en analysejobb. Deretter spesifiseres banen til regelfilen (vanligvis med filtypen .yara eller .yar), som vanligvis lagres i en konfigurasjonsmappe som er spesifikk for sikkerhetskopieringsløsningen."
Under kjøringen itererer motoren gjennom objektene i kopien, anvender reglene og Den registrerer alle treff i en spesifikk YARA-analyselogg.Administratoren kan se disse loggene fra konsollen, gjennomgå statistikk, se hvilke filer som utløste varselet, og til og med spore hvilke maskiner og spesifikk dato hvert treff tilsvarer.
Denne integrasjonen kompletteres av andre mekanismer som anomalideteksjon, overvåking av sikkerhetskopiers størrelse, søking etter spesifikke IOC-er eller analyse av mistenkelige verktøyMen når det gjelder regler skreddersydd for en spesifikk ransomware-familie eller -kampanje, er YARA det beste verktøyet for å forbedre søket.
Slik tester og validerer du YARA-regler uten å bryte nettverket ditt

Når du begynner å skrive dine egne regler, er det neste viktige trinnet å teste dem grundig. En altfor aggressiv regel kan generere en flom av falske positiver, mens en altfor slapp regel kan la reelle trusler gli gjennom.Derfor er testfasen like viktig som skrivefasen.
Den gode nyheten er at du ikke trenger å sette opp et laboratorium fullt av fungerende skadevare og infisere halve nettverket for å gjøre dette. Det finnes allerede datalagre og datasett som tilbyr denne informasjonen. kjente og kontrollerte malware-prøver for forskningsformålDu kan laste ned disse eksemplene til et isolert miljø og bruke dem som et testmiljø for reglene dine.
Den vanlige fremgangsmåten er å starte med å kjøre YARA lokalt, fra kommandolinjen, mot en katalog som inneholder mistenkelige filer. Hvis reglene dine stemmer overens der de skal, og knapt brytes i rene filer, er du på rett spor.Hvis de utløser for mye, er det på tide å gjennomgå strenger, forbedre betingelser eller innføre ytterligere restriksjoner (størrelse, import, forskyvninger osv.).
Et annet viktig poeng er å sørge for at reglene dine ikke går på bekostning av ytelsen. Når du skanner store kataloger, fullstendige sikkerhetskopier eller massive eksempelsamlinger, Dårlig optimaliserte regler kan forsinke analysen eller forbruke mer ressurser enn ønsket.Derfor er det tilrådelig å måle timings, forenkle kompliserte uttrykk og unngå for tung regex.
Etter å ha fullført laboratorietestfasen, vil du kunne Fremme reglene i produksjonsmiljøetEnten det er i SIEM-systemet ditt, sikkerhetskopieringssystemene dine, e-postserverne eller hvor du enn vil integrere dem. Og ikke glem å opprettholde en kontinuerlig evalueringssyklus: etter hvert som kampanjene utvikler seg, vil reglene dine trenge periodiske justeringer.
Verktøy, programmer og arbeidsflyt med YARA

Utover den offisielle binærfilen har mange fagfolk utviklet små programmer og skript rundt YARA for å forenkle den daglige bruken. En typisk tilnærming innebærer å opprette en applikasjon for sett sammen ditt eget sikkerhetssett som automatisk leser alle reglene i en mappe og bruker dem i en analysekatalog.
Disse typene hjemmelagde verktøy fungerer vanligvis med en enkel katalogstruktur: én mappe for regler lastet ned fra internett (for eksempel «rulesyar») og en annen mappe for mistenkelige filer som vil bli analysert (for eksempel «skadelig programvare»). Når programmet starter, kontrollerer det at begge mappene finnes, viser reglene på skjermen og forbereder seg til utførelse.
Når du trykker på en knapp som «Start sjekkProgrammet starter deretter YARA-filen med de ønskede parameterne: skanning av alle filer i mappen, rekursiv analyse av underkataloger, utdata av statistikk, utskrift av metadata osv. Eventuelle treff vises i et resultatvindu som indikerer hvilken fil som samsvarte med hvilken regel.
Denne arbeidsflyten tillater for eksempel deteksjon av problemer i en gruppe med eksporterte e-poster. ondsinnede innebygde bilder, farlige vedlegg eller webshells skjult i tilsynelatende uskyldige filerMange rettsmedisinske undersøkelser i bedriftsmiljøer er nettopp avhengige av denne typen mekanisme.
Når det gjelder de mest nyttige parameterne når man aktiverer YARA, skiller alternativer som følgende seg ut: -r for å søke rekursivt, -S for å vise statistikk, -m for å trekke ut metadata og -w for å ignorere advarslerVed å kombinere disse flaggene kan du justere virkemåten til din sak: fra en rask analyse i en bestemt katalog til en fullstendig skanning av en kompleks mappestruktur.
Beste praksis når du skriver og vedlikeholder YARA-regler
For å forhindre at regelarkivet ditt blir et uhåndterlig rot, anbefales det å bruke en rekke beste praksiser. Det første er å jobbe med konsistente maler og navnekonvensjonerslik at enhver analytiker med et raskt blikk kan forstå hva hver regel gjør.
Mange lag bruker et standardformat som inkluderer overskrift med metadata, tagger som indikerer trusseltype, aktør eller plattform, og en tydelig beskrivelse av hva som oppdagesDette hjelper ikke bare internt, men også når du deler regler med fellesskapet eller bidrar til offentlige arkiver.
En annen anbefaling er å alltid huske at YARA er bare enda et lag med forsvarDen erstatter ikke antivirusprogramvare eller EDR, men utfyller dem heller i strategier for Beskytt Windows-PC-en dinIdeelt sett bør YARA passe inn i bredere referanserammeverk, som for eksempel NIST-rammeverket, som også omhandler identifisering, beskyttelse, deteksjon, respons og gjenoppretting av eiendeler.
Fra et teknisk synspunkt er det verdt å sette av tid til unngå falske positiverDette innebærer å unngå altfor generiske strenger, kombinere flere betingelser og bruke operatorer som alle o noe av Bruk hodet og dra nytte av filens strukturelle egenskaper. Jo mer spesifikk logikken rundt skadevarens oppførsel er, desto bedre.
Til slutt, opprettholde en disiplin versjonering og periodisk gjennomgang Det er avgjørende. Skadevarefamilier utvikler seg, indikatorer endres, og reglene som fungerer i dag kan være utilstrekkelige eller bli foreldet. Å gjennomgå og forbedre regelsettet ditt med jevne mellomrom er en del av katt-og-mus-leken innen nettsikkerhet.
YARA-fellesskapet og tilgjengelige ressurser
En av hovedgrunnene til at YARA har kommet så langt er styrken til fellesskapet sitt. Forskere, sikkerhetsfirmaer og responsteam fra hele verden deler kontinuerlig regler, eksempler og dokumentasjon.skaper et veldig rikt økosystem.
Hovedreferansepunktet er YARAS offisielle arkiv på GitHubDer finner du de nyeste versjonene av verktøyet, kildekoden og lenker til dokumentasjonen. Derfra kan du følge prosjektets fremdrift, rapportere problemer eller bidra med forbedringer hvis du ønsker det.
Den offisielle dokumentasjonen, som er tilgjengelig på plattformer som ReadTheDocs, tilbyr en komplett syntaksguide, tilgjengelige moduler, regeleksempler og bruksreferanserDet er en viktig ressurs for å dra nytte av de mest avanserte funksjonene, som PE-inspeksjon, ELF, minneregler eller integrasjoner med andre verktøy.
I tillegg finnes det fellesskapsarkiv med YARA-regler og -signaturer der analytikere fra hele verden De publiserer bruksklare samlinger eller samlinger som kan tilpasses dine behov.Disse lagringsstedene inneholder vanligvis regler for spesifikke skadevarefamilier, utnyttelsessett, ondsinnet brukte penetrasjonstestverktøy, webshells, kryptominere og mye mer.
Parallelt tilbyr mange produsenter og forskningsgrupper Spesifikk opplæring hos YARA, fra grunnleggende nivåer til svært avanserte kursDisse initiativene inkluderer ofte virtuelle laboratorier og praktiske øvelser basert på virkelige scenarioer. Noen tilbys til og med gratis til ideelle organisasjoner eller enheter som er spesielt sårbare for målrettede angrep.
Hele dette økosystemet betyr at du med litt dedikasjon kan gå fra å skrive dine første grunnleggende regler til utvikle sofistikerte pakker som er i stand til å spore komplekse kampanjer og oppdage enestående truslerOg ved å kombinere YARA med tradisjonelt antivirusprogram, sikker sikkerhetskopiering og trusselintelligens, gjør du ting betydelig vanskeligere for ondsinnede aktører som streifer rundt på internett.
Med alt det ovennevnte er det tydelig at YARA er mye mer enn et enkelt kommandolinjeverktøy: det er en nøkkelstykke i enhver avansert strategi for deteksjon av skadelig programvare, et fleksibelt verktøy som tilpasser seg din tankegang som analytiker og felles språk som forbinder laboratorier, SOC-er og forskningsmiljøer over hele verden, slik at hver nye regel gir et nytt lag med beskyttelse mot stadig mer sofistikerte kampanjer.
Lidenskapelig opptatt av teknologi siden han var liten. Jeg elsker å være oppdatert i sektoren og fremfor alt å formidle det. Derfor har jeg vært dedikert til kommunikasjon på teknologi- og videospillnettsteder i mange år. Du kan finne meg skrive om Android, Windows, MacOS, iOS, Nintendo eller andre relaterte emner som du tenker på.