- YARA omogućava opisivanje porodica zlonamjernog softvera korištenjem fleksibilnih pravila zasnovanih na stringovima, binarnim obrascima i svojstvima datoteka.
- Dobro osmišljena pravila mogu otkriti sve, od ransomwarea i APT-ova do webshell-ova i zero-day exploita u više okruženja.
- Integracija YARA-e u sigurnosne kopije, forenzičke tokove rada i korporativne alate jača odbranu izvan tradicionalnog antivirusnog softvera.
- YARA zajednica i repozitoriji pravila olakšavaju dijeljenje obavještajnih podataka i kontinuirano poboljšavaju detekciju.

¿Kako koristiti YARA za napredno otkrivanje zlonamjernog softvera? Kada tradicionalni antivirusni programi dosegnu svoje granice i napadači se provuku kroz svaku moguću pukotinu, na scenu stupa alat koji je postao neophodan u laboratorijama za odgovor na incidente: YARA, "švicarski nož" za lov na zlonamjerni softverDizajniran za opisivanje porodica zlonamjernog softvera korištenjem tekstualnih i binarnih obrazaca, omogućava ići daleko dalje od jednostavnog podudaranja hešova.
U pravim rukama, YARA nije samo za lociranje ne samo poznate uzorke zlonamjernog softvera, već i nove varijante, zero-day exploite, pa čak i komercijalne ofanzivne alateU ovom članku ćemo detaljno i praktično istražiti kako koristiti YARA za napredno otkrivanje zlonamjernog softvera, kako napisati robusna pravila, kako ih testirati, kako ih integrirati u platforme poput Veeama ili vlastiti analitički tok rada, te koje najbolje prakse slijedi profesionalna zajednica.
Šta je YARA i zašto je toliko moćna u otkrivanju zlonamjernog softvera?
YARA je skraćenica za „Još jedan rekurzivni akronim“ i postala je de facto standard u analizi prijetnji jer Omogućava opisivanje porodica zlonamjernog softvera korištenjem čitljivih, jasnih i vrlo fleksibilnih pravila.Umjesto oslanjanja isključivo na statičke antivirusne potpise, YARA radi s obrascima koje sami definirate.
Osnovna ideja je jednostavna: YARA pravilo ispituje datoteku (ili memoriju, ili tok podataka) i provjerava da li je ispunjen niz uslova. uslovi zasnovani na tekstualnim nizovima, heksadecimalnim nizovima, regularnim izrazima ili svojstvima datotekeAko je uslov ispunjen, postoji "podudaranje" i možete upozoriti, blokirati ili izvršiti detaljniju analizu.
Ovaj pristup omogućava sigurnosnim timovima Identifikujte i klasifikujte zlonamjerni softver svih vrsta: klasične viruse, crve, trojance, ransomware, webshell-ove, cryptominere, zlonamjerne makroe i još mnogo togaNije ograničen na određene ekstenzije ili formate datoteka, tako da detektuje i prikrivenu izvršnu datoteku sa .pdf ekstenzijom ili HTML datoteku koja sadrži webshell.
Nadalje, YARA je već integrirana u mnoge ključne usluge i alate ekosistema kibernetičke sigurnosti: VirusTotal, sandbox okruženja poput Cuckoo-a, platforme za sigurnosno kopiranje poput Veeam-a ili rješenja za lov na prijetnje vrhunskih proizvođačaStoga je savladavanje YARA-e postalo gotovo obavezno za napredne analitičare i istraživače.
Napredni slučajevi upotrebe YARA-e u detekciji zlonamjernog softvera
Jedna od YARA-inih prednosti je ta što se savršeno prilagođava višestrukim sigurnosnim scenarijima, od SOC-a do laboratorija za zlonamjerni softver. Ista pravila važe i za jednokratne lovove i za kontinuirano praćenje..
Najdirektniji slučaj uključuje stvaranje specifična pravila za određeni zlonamjerni softver ili cijele porodiceAko vašu organizaciju napada kampanja zasnovana na poznatoj porodici virusa (na primjer, trojanac za udaljeni pristup ili APT prijetnja), možete profilirati karakteristične nizove i obrasce te pokrenuti pravila koja brzo identificiraju nove povezane uzorke.
Još jedna klasična upotreba je fokus YARA zasnovana na potpisimaOva pravila su osmišljena za lociranje hashova, vrlo specifičnih tekstualnih nizova, isječaka koda, ključeva registra ili čak specifičnih nizova bajtova koji se ponavljaju u više varijanti istog zlonamjernog softvera. Međutim, imajte na umu da ako tražite samo trivijalne nizove, riskirate generiranje lažno pozitivnih rezultata.
YARA također blista kada je u pitanju filtriranje po tipovi datoteka ili strukturne karakteristikeMoguće je kreirati pravila koja se primjenjuju na PE izvršne datoteke, Office dokumente, PDF-ove ili gotovo bilo koji format, kombiniranjem stringova sa svojstvima kao što su veličina datoteke, specifični zaglavlja (npr. 0x5A4D za PE izvršne datoteke) ili sumnjivi uvozi funkcija.
U modernom okruženju, njegova upotreba je povezana sa obavještajne podatke o prijetnjamaJavni repozitoriji, istraživački izvještaji i IOC feedovi se prevode u YARA pravila koja su integrirana u SIEM, EDR, platforme za sigurnosne kopije ili sandbox okruženja. Ovo omogućava organizacijama da brzo otkrivanje novih prijetnji koje dijele karakteristike s već analiziranim kampanjama.
Razumijevanje sintakse YARA pravila
Sintaksa YARA-e je prilično slična onoj u C-u, ali na jednostavniji i fokusiraniji način. Svako pravilo se sastoji od imena, opcionalnog dijela metapodataka, dijela stringa i, obavezno, dijela uvjeta.Od sada nadalje, moć leži u tome kako sve to kombinujete.
Prva je naziv pravilaMora ići odmah nakon ključne riječi pravilo (o pravilo Ako dokumentujete na španskom, iako će ključna riječ u datoteci biti praviloi mora biti važeći identifikator: bez razmaka, bez broja i bez podvlake. Dobra je ideja slijediti jasnu konvenciju, na primjer nešto poput Varijanta porodice_zlonamjernog_softvera o APT_Actor_Tool, što vam omogućava da na prvi pogled identifikujete šta je namijenjeno detekciji.
Sljedeći je odjeljak stringsgdje definirate obrasce koje želite pretraživati. Ovdje možete koristiti tri glavna tipa: tekstualni nizovi, heksadecimalni nizovi i regularni izraziTekstualni nizovi su idealni za dijelove koda čitljive ljudima, URL-ove, interne poruke, nazive putanja ili PDB-ove. Heksadecimalni brojevi vam omogućavaju da uhvatite sirove bajtne obrasce, što je vrlo korisno kada je kod maskiran, ali zadržava određene konstantne sekvence.
Regularni izrazi pružaju fleksibilnost kada je potrebno pokriti male varijacije u nizu, kao što su promjene domena ili neznatno izmijenjeni dijelovi koda. Nadalje, i stringovi i regex dozvoljavaju da escape-i predstavljaju proizvoljne bajtove, što otvara vrata vrlo preciznim hibridnim uzorcima.
Odeljak stanje To je jedino obavezno pravilo i definira kada se pravilo smatra "podudarajućim" s datotekom. Tamo koristite logičke i aritmetičke operacije (i, ili, ne, +, -, *, /, bilo koji, sve, sadrži, itd.) da bi se izrazila finija logika detekcije od jednostavnog "ako se ovaj niz pojavi".
Na primjer, možete odrediti da pravilo vrijedi samo ako je datoteka manja od određene veličine, ako se pojavljuju svi kritični nizovi ili ako je prisutan barem jedan od nekoliko nizova. Također možete kombinirati uvjete kao što su dužina niza, broj podudaranja, specifični pomaci u datoteci ili veličina same datoteke.Kreativnost ovdje čini razliku između generičkih pravila i hirurških detekcija.
Konačno, imate opcionalni dio MetaIdealno za dokumentiranje perioda. Uobičajeno je uključiti autor, datum kreiranja, opis, interna verzija, referenca na izvještaje ili tikete i, općenito, sve informacije koje pomažu u održavanju organizacije repozitorija i njegovom razumljivošću za druge analitičare.
Praktični primjeri naprednih YARA pravila
Da bismo sve navedeno stavili u perspektivu, korisno je vidjeti kako je strukturirano jednostavno pravilo i kako postaje složenije kada se pojave izvršne datoteke, sumnjivi uvozi ili ponavljajuće sekvence instrukcija. Počnimo s igračkim ravnalom i postepeno povećavajmo veličinu..
Minimalno pravilo može sadržavati samo niz znakova i uvjet koji ga čini obaveznim. Na primjer, možete tražiti određeni tekstualni niz ili niz bajtova koji predstavlja fragment zlonamjernog softvera. U tom slučaju, uslov bi jednostavno naveo da je pravilo ispunjeno ako se taj niz ili obrazac pojavi., bez dodatnih filtera.
Međutim, u stvarnim okruženjima ovo nije dovoljno, jer Jednostavni lanci često generiraju mnogo lažno pozitivnih rezultataZato je uobičajeno kombinirati nekoliko stringova (tekstualnih i heksadecimalnih) s dodatnim ograničenjima: da datoteka ne prelazi određenu veličinu, da sadrži specifične zaglavlja ili da se aktivira samo ako se pronađe barem jedan string iz svake definirane grupe.
Tipičan primjer u analizi PE izvršnih datoteka uključuje uvoz modula pe iz YARA-e, što vam omogućava da pretražite interna svojstva binarne datoteke: uvezene funkcije, sekcije, vremenske oznake itd. Napredno pravilo može zahtijevati uvoz datoteke CreateProcess od Kernel32.dll i neke HTTP funkcije iz wininet.dll, pored toga što sadrži specifičan niz znakova koji ukazuje na zlonamjerno ponašanje.
Ova vrsta logike je savršena za lociranje Trojanci sa mogućnostima udaljenog povezivanja ili eksfiltraciječak i kada se nazivi datoteka ili putanje mijenjaju od jedne kampanje do druge. Važno je fokusirati se na osnovno ponašanje: kreiranje procesa, HTTP zahtjevi, šifriranje, perzistentnost itd.
Još jedna vrlo efikasna tehnika je pogledati na nizovi instrukcija koji se ponavljaju između uzoraka iz iste porodice. Čak i ako napadači pakuju ili obfusciraju binarni fajl, često ponovo koriste dijelove koda koje je teško promijeniti. Ako nakon statičke analize pronađete konstantne blokove instrukcija, možete formulisati pravilo sa džoker znakovi u heksadecimalnim nizovima koji obuhvata taj obrazac uz održavanje određene tolerancije.
S ovim pravilima "zasnovanim na ponašanju koda" moguće je pratiti cijele kampanje zlonamjernog softvera poput onih PlugX/Korplug ili drugih APT porodicaNe detektujete samo određeni heš, već i pratite, da tako kažem, stil razvoja napadača.
Upotreba YARA-e u stvarnim kampanjama i zero-day prijetnjama
YARA je dokazala svoju vrijednost posebno u području naprednih prijetnji i zero-day exploita, gdje klasični mehanizmi zaštite stižu prekasno. Dobro poznati primjer je korištenje YARA-e za lociranje exploita u Silverlightu na temelju minimalnih procurjelih obavještajnih podataka..
U tom slučaju, iz e-mailova ukradenih od kompanije posvećene razvoju ofanzivnih alata, izvedeno je dovoljno obrazaca za izgradnju pravila usmjerenog na određeni iskorištavanje. Pomoću tog jednog pravila, istraživači su uspjeli pratiti uzorak kroz more sumnjivih datoteka.Identifikujte exploit i prisilite ga da ga ispravi, sprečavajući mnogo ozbiljniju štetu.
Ove vrste priča ilustruju kako YARA može funkcionisati kao ribarska mreža u moru dosijeaZamislite svoju korporativnu mrežu kao okean pun "riba" (datoteka) svih vrsta. Vaša pravila su poput odjeljaka u koćari: svaki odjeljak sadrži ribe koje odgovaraju specifičnim karakteristikama.
Kada završiš s povlačenjem, imaš uzorci grupirani po sličnosti sa određenim porodicama ili grupama napadača: „slično vrsti X“, „slično vrsti Y“ itd. Neki od ovih uzoraka mogu vam biti potpuno novi (novi binarni fajlovi, nove kampanje), ali se uklapaju u poznati obrazac, što ubrzava vašu klasifikaciju i odgovor.
Da bi u ovom kontekstu izvukle maksimum iz YARA-e, mnoge organizacije se udružuju napredna obuka, praktične laboratorije i kontrolirana eksperimentalna okruženjaPostoje visoko specijalizovani kursevi posvećeni isključivo umjetnosti pisanja dobrih pravila, često zasnovani na stvarnim slučajevima sajber špijunaže, u kojima studenti vježbaju s autentičnim uzorcima i uče da traže "nešto" čak i kada ne znaju tačno šta traže.
Integrirajte YARA-u u platforme za sigurnosno kopiranje i oporavak
Jedno područje gdje se YARA savršeno uklapa, a koje često prolazi donekle nezapaženo, jeste zaštita sigurnosnih kopija. Ako su sigurnosne kopije zaražene zlonamjernim softverom ili ransomwareom, vraćanje podataka može ponovo pokrenuti cijelu kampanju.Zato su neki proizvođači direktno ugradili YARA motore u svoja rješenja.
Moguće je lansiranje platformi za pravljenje sigurnosnih kopija sljedeće generacije YARA sesije analize zasnovane na pravilima na tačkama vraćanjaCilj je dvostruk: locirati posljednju "čistu" tačku prije incidenta i otkriti zlonamjerni sadržaj skriven u datotekama koji možda nije bio pokrenut drugim provjerama.
U ovim okruženjima tipičan proces uključuje odabir opcije "Skenirajte tačke vraćanja pomoću YARA ravnala"tokom konfiguracije analitičkog zadatka. Zatim se navodi putanja do datoteke s pravilima (obično s ekstenzijom .yara ili .yar), koja se obično pohranjuje u konfiguracijskoj mapi specifičnoj za rješenje za sigurnosno kopiranje."
Tokom izvršavanja, mehanizam iterira kroz objekte sadržane u kopiji, primjenjuje pravila i Bilježi sva podudaranja u posebnom YARA analitičkom dnevniku.Administrator može pregledati ove logove iz konzole, pregledati statistiku, vidjeti koje su datoteke pokrenule upozorenje, pa čak i pratiti kojim mašinama i određenom datumu svako podudaranje odgovara.
Ovu integraciju dopunjuju i drugi mehanizmi, kao što su otkrivanje anomalija, praćenje veličine sigurnosne kopije, traženje određenih IOC-ova ili analiza sumnjivih alataAli kada su u pitanju pravila prilagođena određenoj porodici ili kampanji ransomwarea, YARA je najbolji alat za preciziranje te pretrage.
Kako testirati i validirati YARA pravila bez narušavanja vaše mreže

Kada počnete pisati vlastita pravila, sljedeći ključni korak je da ih temeljito testirate. Previše agresivno pravilo može generirati poplavu lažno pozitivnih rezultata, dok previše labavo može dozvoliti da stvarne prijetnje prođu.Zato je faza testiranja jednako važna kao i faza pisanja.
Dobra vijest je da ne morate postaviti laboratoriju punu funkcionalnog zlonamjernog softvera i zaraziti pola mreže da biste to učinili. Već postoje repozitoriji i skupovi podataka koji nude ove informacije. poznati i kontrolirani uzorci zlonamjernog softvera u istraživačke svrheTe uzorke možete preuzeti u izolirano okruženje i koristiti ih kao testnu platformu za vaša pravila.
Uobičajeni pristup je započeti lokalnim pokretanjem YARA-e, iz komandne linije, na direktoriju koji sadrži sumnjive datoteke. Ako se vaša pravila poklapaju gdje bi trebala i jedva da se poklapaju u čistim datotekama, na pravom ste putu.Ako previše okidaju, vrijeme je za pregled stringova, poboljšanje uvjeta ili uvođenje dodatnih ograničenja (veličina, uvoz, pomaci itd.).
Još jedna ključna stvar je osigurati da vaša pravila ne ugrožavaju performanse. Prilikom skeniranja velikih direktorija, potpunih sigurnosnih kopija ili masovnih kolekcija uzoraka, Loše optimizirana pravila mogu usporiti analizu ili potrošiti više resursa nego što je poželjno.Stoga je preporučljivo mjeriti vremena, pojednostaviti složene izraze i izbjegavati pretjerano teške regex izraze.
Nakon što prođete tu fazu laboratorijskog testiranja, moći ćete Promovirajte pravila u produkcijskom okruženjuBilo da se radi o vašem SIEM-u, vašim sistemima za sigurnosne kopije, email serverima ili gdje god ih želite integrirati. I ne zaboravite održavati kontinuirani ciklus pregleda: kako se kampanje razvijaju, vaša pravila će zahtijevati periodična prilagođavanja.
Alati, programi i tijek rada s YARA-om

Pored službene binarne datoteke, mnogi profesionalci su razvili male programe i skripte vezane za YARA-u kako bi olakšali njenu svakodnevnu upotrebu. Tipičan pristup uključuje kreiranje aplikacije za sastavite vlastiti sigurnosni komplet koji automatski čita sva pravila u mapi i primjenjuje ih na direktorij za analizu.
Ove vrste domaćih alata obično rade s jednostavnom strukturom direktorija: jedna mapa za pravila preuzeta s interneta (na primjer, „rulesyar“) i drugu mapu za sumnjive datoteke koje treba analizirati (na primjer, „zlonamjerni softver“). Kada se program pokrene, provjerava da li obje mape postoje, prikazuje pravila na ekranu i priprema se za izvršenje.
Kada pritisnete dugme poput "Započni provjeruAplikacija zatim pokreće izvršnu datoteku YARA sa željenim parametrima: skeniranje svih datoteka u mapi, rekurzivna analiza poddirektorija, ispis statistike, ispis metapodataka itd. Sva podudaranja se prikazuju u prozoru s rezultatima, što ukazuje na to koja datoteka odgovara kojem pravilu.
Ovaj tijek rada omogućava, na primjer, otkrivanje problema u seriji izvezenih e-poruka. zlonamjerne ugrađene slike, opasni prilozi ili web ljuske skrivene u naizgled bezopasnim datotekamaMnoge forenzičke istrage u korporativnim okruženjima oslanjaju se upravo na ovu vrstu mehanizma.
Što se tiče najkorisnijih parametara prilikom pozivanja YARA-e, ističu se opcije poput sljedećih: -r za rekurzivno pretraživanje, -S za prikaz statistike, -m za izdvajanje metapodataka i -w za ignorisanje upozorenjaKombiniranjem ovih zastavica možete prilagoditi ponašanje svom slučaju: od brze analize u određenom direktoriju do potpunog skeniranja složene strukture mapa.
Najbolje prakse pri pisanju i održavanju YARA pravila
Da biste spriječili da vaše spremište pravila postane neupravljiv nered, preporučljivo je primijeniti niz najboljih praksi. Prvo je rad s konzistentnim predlošcima i konvencijama imenovanjatako da svaki analitičar može na prvi pogled razumjeti šta svako pravilo radi.
Mnogi timovi usvajaju standardni format koji uključuje zaglavlje s metapodacima, oznakama koje ukazuju na vrstu prijetnje, aktera ili platformu i jasnim opisom onoga što se otkrivaOvo pomaže ne samo interno, već i kada dijelite pravila sa zajednicom ili doprinosite javnim repozitorijima.
Još jedna preporuka je da uvijek imate na umu da YARA je samo još jedan sloj odbraneNe zamjenjuje antivirusni softver ili EDR, već ih dopunjuje u strategijama za Zaštitite svoj Windows računarIdealno bi bilo da se YARA uklopi u šire referentne okvire, kao što je NIST okvir, koji se također bavi identifikacijom, zaštitom, detekcijom, odgovorom i oporavkom imovine.
Sa tehničke tačke gledišta, vrijedi posvetiti vrijeme izbjegavajte lažne pozitivne rezultateOvo uključuje izbjegavanje previše generičkih stringova, kombinovanje nekoliko uslova i korištenje operatora kao što su sve o bilo koji od Koristite svoju glavu i iskoristite strukturna svojstva datoteke. Što je logika koja prati ponašanje zlonamjernog softvera specifičnija, to bolje.
Konačno, održavajte disciplinu verzioniranje i periodični pregled To je ključno. Porodice zlonamjernog softvera se razvijaju, indikatori se mijenjaju, a pravila koja danas funkcionišu mogu biti nedovoljna ili zastarjela. Periodično pregledavanje i usavršavanje vašeg skupa pravila dio je igre mačke i miša u sajber sigurnosti.
YARA zajednica i dostupni resursi
Jedan od glavnih razloga zašto je YARA stigla tako daleko je snaga njene zajednice. Istraživači, sigurnosne firme i timovi za odgovor na krizne situacije iz cijelog svijeta kontinuirano dijele pravila, primjere i dokumentaciju.stvarajući veoma bogat ekosistem.
Glavna referentna tačka je Zvanični repozitorij YARA-e na GitHub-uTamo ćete pronaći najnovije verzije alata, izvorni kod i linkove do dokumentacije. Odatle možete pratiti napredak projekta, prijaviti probleme ili doprinijeti poboljšanjima ako želite.
Zvanična dokumentacija, dostupna na platformama kao što je ReadTheDocs, nudi kompletan vodič za sintaksu, dostupni moduli, primjeri pravila i reference za korištenjeTo je neophodan resurs za iskorištavanje najnaprednijih funkcija, kao što su PE inspekcija, ELF, pravila memorije ili integracije s drugim alatima.
Osim toga, postoje i repozitoriji zajednice za YARA pravila i potpise gdje analitičari iz cijelog svijeta... Objavljuju kolekcije spremne za upotrebu ili kolekcije koje se mogu prilagoditi vašim potrebama.Ovi repozitoriji obično uključuju pravila za određene porodice zlonamjernog softvera, komplete za iskorištavanje, zlonamjerno korištene alate za testiranje penetracije, webshell-ove, kriptorudare i još mnogo toga.
Paralelno s tim, mnogi proizvođači i istraživačke grupe nude Specifična obuka u YARA-i, od osnovnih nivoa do vrlo naprednih kursevaOve inicijative često uključuju virtuelne laboratorije i praktične vježbe zasnovane na scenarijima iz stvarnog svijeta. Neke se čak nude besplatno neprofitnim organizacijama ili subjektima koji su posebno ranjivi na ciljane napade.
Cijeli ovaj ekosistem znači da, uz malo posvećenosti, možete prijeći put od pisanja prvih osnovnih pravila do razviti sofisticirane pakete sposobne za praćenje složenih kampanja i otkrivanje neviđenih prijetnjiA kombinovanjem YARA-e sa tradicionalnim antivirusom, sigurnom sigurnosnom kopijom i obavještajnim podacima o prijetnjama, znatno otežavate stvari zlonamjernim akterima koji lutaju internetom.
Uzimajući u obzir sve navedeno, jasno je da je YARA mnogo više od jednostavnog uslužnog programa komandne linije: to je ključni komad U bilo kojoj naprednoj strategiji za otkrivanje zlonamjernog softvera, fleksibilan alat koji se prilagođava vašem načinu razmišljanja kao analitičara i zajednički jezik koji povezuje laboratorije, SOC-ove i istraživačke zajednice širom svijeta, omogućavajući svakom novom pravilu da doda još jedan sloj zaštite od sve sofisticiranijih kampanja.
Strastven za tehnologiju od malih nogu. Volim da budem u toku u sektoru i, iznad svega, da ga komuniciram. Zato sam već dugi niz godina posvećen komunikaciji na web stranicama o tehnologiji i video igricama. Možete me pronaći kako pišem o Androidu, Windowsu, MacOS-u, iOS-u, Nintendo-u ili bilo kojoj drugoj srodnoj temi koja vam padne na pamet.