Kako koristiti YARA za napredno otkrivanje zlonamjernog softvera

Zadnje ažuriranje: 01.02.2024.

  • YARA omogućuje opisivanje obitelji zlonamjernog softvera korištenjem fleksibilnih pravila temeljenih na stringovima, binarnim uzorcima 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 tijekove rada i korporativne alate jača obranu 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

¿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 nezamjenjiv u laboratorijima za odgovor na incidente: YARA, "švicarski nož" za lov na zlonamjerni softverDizajniran za opisivanje obitelji zlonamjernog softvera pomoću tekstualnih i binarnih uzoraka, omogućuje daleko više od jednostavnog podudaranja hash-a.

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 ofenzivne alateU ovom ćemo članku detaljno i praktično istražiti kako koristiti YARA-u za napredno otkrivanje zlonamjernog softvera, kako napisati robusna pravila, kako ih testirati, kako ih integrirati u platforme poput Veeama ili vlastiti analitički tijek rada te koje najbolje prakse slijedi profesionalna zajednica.

Što je YARA i zašto je tako moćna u otkrivanju zlonamjernog softvera?

YARA je kratica za „Još jedan rekurzivni akronim“ i postala je de facto standard u analizi prijetnji jer Omogućuje opisivanje obitelji 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 pregledava datoteku (ili memoriju ili tok podataka) i provjerava je li ispunjen niz uvjeta. uvjeti temeljeni na tekstualnim nizovima, heksadecimalnim nizovima, regularnim izrazima ili svojstvima datotekeAko je uvjet ispunjen, postoji "podudaranje" i možete upozoriti, blokirati ili izvršiti detaljniju analizu.

Ovaj pristup omogućuje sigurnosnim timovima Identificirajte i klasificirajte zlonamjerni softver svih vrsta: klasične viruse, crve, trojance, ransomware, webshellove, kriptominare, zlonamjerne makroe i još mnogo togaNije ograničen na određene ekstenzije ili formate datoteka, pa tako detektira i prikrivenu izvršnu datoteku s ekstenzijom .pdf ili HTML datoteku koja sadrži webshell.

Nadalje, YARA je već integrirana u mnoge ključne usluge i alate ekosustava kibernetičke sigurnosti: VirusTotal, sandboxovi poput Cuckooa, platforme za sigurnosne kopije poput Veeama ili rješenja za lov na prijetnje vrhunskih proizvođačaStoga je savladavanje YARA-e postalo gotovo uvjet za napredne analitičare i istraživače.

Napredni slučajevi upotrebe YARA-e u otkrivanju zlonamjernog softvera

Jedna od YARA-inih snaga je ta što se savršeno prilagođava višestrukim sigurnosnim scenarijima, od SOC-a do laboratorija za zlonamjerni softver. Ista pravila vrijede i za jednokratne lovove i za kontinuirano praćenje..

Najizravniji slučaj uključuje stvaranje specifična pravila za određeni zlonamjerni softver ili cijele obiteljiAko vašu organizaciju napada kampanja temeljena na poznatoj obitelji (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.

Druga klasična upotreba je fokus YARA na temelju potpisaOva 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 prema vrste datoteka ili strukturne karakteristikeMoguće je stvoriti pravila koja se primjenjuju na PE izvršne datoteke, Office dokumente, PDF-ove ili gotovo bilo koji format kombiniranjem nizova znakova sa svojstvima kao što su veličina datoteke, specifični zaglavlja (npr. 0x5A4D za PE izvršne datoteke) ili sumnjivi uvozi funkcija.

U modernim okruženjima, njegova upotreba povezana je s inteligencia de amenazasJavni repozitoriji, istraživačka izvješća i IOC feedovi prevode se u YARA pravila koja su integrirana u SIEM, EDR, platforme za sigurnosno kopiranje ili sandbox okruženja. To organizacijama omogućuje 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 sastoji se od imena, opcionalnog dijela metapodataka, dijela niza znakova i, nužno, dijela uvjeta.Od sada nadalje, moć leži u tome kako sve to kombinirate.

Lo primero es el naziv pravilaMora ići odmah nakon ključne riječi rule (o regla Ako dokumentirate na španjolskom, iako će ključna riječ u datoteci biti rulei mora biti valjani identifikator: bez razmaka, bez broja i bez podcrte. Dobra je ideja slijediti jasnu konvenciju, na primjer nešto poput Varijanta_obitelj_zlonamjernog_softvera o APT_Actor_Tool, što vam omogućuje da na prvi pogled prepoznate što se namjerava otkriti.

Ekskluzivan sadržaj - Kliknite ovdje  ¿Cómo vincular mi cuenta de AVG AntiVirus con mi computadora?

Sljedeći je odjeljak stringsgdje definirate obrasce koje želite tražiti. Ovdje možete koristiti tri glavne vrste: tekstualni nizovi, heksadecimalni nizovi i regularni izraziTekstualni nizovi idealni su za isječke koda čitljive ljudima, URL-ove, interne poruke, nazive putanja ili PDB-ove. Heksadecimalni brojevi omogućuju vam snimanje sirovih bajtnih uzoraka, što je vrlo korisno kada je kod maskiran, ali zadržava određene konstantne nizove.

Regularni izrazi pružaju fleksibilnost kada trebate pokriti male varijacije u nizu, poput promjene domena ili neznatno izmijenjenih dijelova koda. Nadalje, i stringovi i regex omogućuju da escape-i predstavljaju proizvoljne bajtove, što otvara vrata vrlo preciznim hibridnim uzorcima.

La sección condition 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.) kako 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 duljina niza, broj podudaranja, specifični pomaci u datoteci ili veličina same datoteke.Kreativnost ovdje čini razliku između generičkih pravila i kirurških detekcija.

Konačno, imate opcionalni odjeljak metaIdealno za dokumentiranje razdoblja. Uobičajeno je uključiti autor, datum stvaranja, opis, interna verzija, referenca na izvješća ili tikete i, općenito, sve informacije koje pomažu u održavanju organizacije i razumljivosti repozitorija za druge analitičare.

Praktični primjeri naprednih YARA pravila

Kako 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ći nizovi instrukcija. Počnimo s igračkim ravnalom i postupno povećavajmo veličinu..

Minimalno pravilo može sadržavati samo niz znakova i uvjet koji ga čini obveznim. Na primjer, možete tražiti određeni tekstualni niz ili niz bajtova koji predstavlja fragment zlonamjernog softvera. U tom slučaju, uvjet bi jednostavno naveo da je pravilo ispunjeno ako se taj niz ili uzorak pojavi., bez daljnjih filtera.

Međutim, u stvarnim uvjetima to nije dovoljno, jer Jednostavni lanci često generiraju mnogo lažno pozitivnih rezultataZato je uobičajeno kombinirati nekoliko nizova (tekstualnih i heksadecimalnih) s dodatnim ograničenjima: da datoteka ne prelazi određenu veličinu, da sadrži određene zaglavlja ili da se aktivira samo ako se pronađe barem jedan niz iz svake definirane skupine.

Tipičan primjer u analizi PE izvršnih datoteka uključuje uvoz modula pe iz YARA-e, što vam omogućuje upit unutarnjih svojstava binarne datoteke: uvezenih funkcija, odjeljaka, vremenskih oznaka itd. Napredno pravilo može zahtijevati uvoz datoteke CreateProcess iz Kernel32.dll i neke HTTP funkcije iz wininet.dll, uz to što sadrži specifičan niz znakova koji ukazuje na zlonamjerno ponašanje.

Ova vrsta logike je savršena za lociranje Trojanci s mogućnostima udaljenog povezivanja ili eksfiltraciječak i kada se nazivi datoteka ili putanje mijenjaju od jedne kampanje do druge. Važno je usredotočiti se na temeljno ponašanje: stvaranje procesa, HTTP zahtjevi, šifriranje, postojanost itd.

Druga vrlo učinkovita tehnika je pogledati na nizovi instrukcija koji se ponavljaju između uzoraka iz iste obitelji. Čak i ako napadači pakiraju ili zamaskiraju binarni kod, često ponovno koriste dijelove koda koje je teško promijeniti. Ako nakon statičke analize pronađete konstantne blokove instrukcija, možete formulirati pravilo s zamjenski znakovi u heksadecimalnim nizovima koji obuhvaća taj uzorak uz održavanje određene tolerancije.

S ovim pravilima "temeljenim na ponašanju koda" moguće je pratiti cijele kampanje zlonamjernog softvera poput onih PlugX/Korplug ili drugih APT obiteljiNe detektirate samo određeni hash, već pratite, da tako kažem, stil razvoja napadača.

Korištenje 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-poruka ukradenih od tvrtke posvećene razvoju ofenzivnih 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.Identificirajte exploit i prisilite ga na ispravljanje zakrpe, sprječavajući mnogo ozbiljniju štetu.

Ove vrste priča ilustriraju kako YARA može funkcionirati kao ribarska mreža u moru dosjeaZamislite svoju korporativnu mrežu kao ocean pun "riba" (datoteka) svih vrsta. Vaša pravila su poput odjeljaka u koći: svaki odjeljak sadrži ribe koje odgovaraju određenim karakteristikama.

Ekskluzivan sadržaj - Kliknite ovdje  ¿Stack App incluye opciones para compartir archivos cifrados?

Kad završiš s povlačenjem, imaš uzorci grupirani prema sličnosti s određenim obiteljima ili skupinama 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.

Kako bi u ovom kontekstu izvukle maksimum iz YARA-e, mnoge organizacije udružuju snage napredna obuka, praktični laboratoriji i kontrolirana eksperimentalna okruženjaPostoje visoko specijalizirani tečajevi posvećeni isključivo umjetnosti pisanja dobrih pravila, često temeljeni na stvarnim slučajevima kibernetičke špijunaže, u kojima studenti vježbaju s autentičnim uzorcima i uče tražiti "nešto" čak i kada ne znaju točno što 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 pomalo nezapaženo, jest zaštita sigurnosnih kopija. Ako su sigurnosne kopije zaražene zlonamjernim softverom ili ransomwareom, vraćanje može ponovno pokrenuti cijelu kampanju.Zato su neki proizvođači izravno ugradili YARA motore u svoja rješenja.

Mogu se pokrenuti platforme za sigurnosno kopiranje sljedeće generacije YARA sesije analize temeljene na pravilima na točkama vraćanjaCilj je dvostruk: locirati posljednju "čistu" točku prije incidenta i otkriti zlonamjerni sadržaj skriven u datotekama koji možda nisu pokrenute drugim provjerama.

U tim okruženjima tipičan proces uključuje odabir opcije "Skenirajte točke vraćanja pomoću YARA ravnala"tijekom konfiguracije analitičkog zadatka. Zatim se navodi put 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."

Tijekom izvršavanja, mehanizam iterira kroz objekte sadržane u kopiji, primjenjuje pravila i Bilježi sve podudarnosti u posebnom YARA analitičkom zapisniku.Administrator može pregledati ove zapisnike iz konzole, pregledati statistiku, vidjeti koje su datoteke pokrenule upozorenje, pa čak i pratiti kojim strojevima i određenom datumu svako podudaranje odgovara.

Ovu integraciju nadopunjuju 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 obitelji ili kampanji ransomwarea, YARA je najbolji alat za preciziranje te pretrage.

Kako testirati i validirati YARA pravila bez narušavanja mreže

Android malware

Nakon što počnete pisati vlastita pravila, sljedeći ključni korak je temeljito ih testirati. Previše agresivno pravilo može generirati poplavu lažno pozitivnih rezultata, dok previše labavo može propustiti stvarne prijetnje.Zato je faza testiranja jednako važna kao i faza pisanja.

Dobra je vijest da ne morate postaviti laboratorij pun funkcionalnog zlonamjernog softvera i zaraziti pola mreže da biste to učinili. Već postoje repozitoriji i skupovi podataka koji nude te 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 svoja pravila.

Uobičajeni pristup je započeti lokalnim pokretanjem YARA-e, iz naredbenog retka, na direktoriju koji sadrži sumnjive datoteke. Ako se vaša pravila podudaraju gdje bi trebala i jedva da se prekidaju u čistim datotekama, na pravom ste putu.Ako previše okidaju, vrijeme je za pregled nizova, poboljšanje uvjeta ili uvođenje dodatnih ograničenja (veličina, uvozi, pomaci itd.).

Druga ključna stvar je osigurati da vaša pravila ne ugrožavaju performanse. Prilikom skeniranja velikih direktorija, punih sigurnosnih kopija ili masovnih kolekcija uzoraka, Loše optimizirana pravila mogu usporiti analizu ili potrošiti više resursa nego što je potrebno.Stoga je preporučljivo mjeriti vremena, pojednostavniti komplicirane 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 sigurnosnim sustavima, poslužiteljima e-pošte ili gdje god ih želite integrirati. I ne zaboravite održavati kontinuirani ciklus pregleda: kako se kampanje razvijaju, vaša će pravila trebati periodične prilagodbe.

Alati, programi i tijek rada s YARA-om

identificirati datoteke bez datoteka

Osim službene binarne datoteke, mnogi su profesionalci razvili male programe i skripte oko YARA-e kako bi olakšali njezinu svakodnevnu upotrebu. Tipičan pristup uključuje izradu 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 postoje li obje mape, prikazuje pravila na zaslonu i priprema se za izvršenje.

Kada pritisnete gumb 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 prikazuju se u prozoru s rezultatima, što pokazuje koja je datoteka odgovarala kojem pravilu.

Ekskluzivan sadržaj - Kliknite ovdje  Como Reconocer Un Billete Falso De 500

Ovaj tijek rada omogućuje, na primjer, otkrivanje problema u seriji izvezenih e-poruka. zlonamjerne ugrađene slike, opasni privitci 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 ignoriranje 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

Kako biste spriječili da vaše spremište pravila postane neupravljiv kaos, preporučljivo je primijeniti niz najboljih praksi. Prvo je rad s dosljednim predlošcima i konvencijama imenovanjatako da svaki analitičar može na prvi pogled razumjeti što svako pravilo radi.

Mnogi timovi usvajaju standardni format koji uključuje zaglavlje s metapodacima, oznakama koje označavaju vrstu prijetnje, aktera ili platformu i jasnim opisom onoga što se otkrivaTo pomaže ne samo interno, već i kada dijelite pravila s zajednicom ili doprinosite javnim repozitorijima.

Još jedna preporuka je da uvijek imate na umu da YARA je samo još jedan sloj obraneNe zamjenjuje antivirusni softver ili EDR, već ih nadopunjuje u strategijama za Zaštitite svoje Windows računaloIdealno bi bilo da se YARA uklopi u šire referentne okvire, poput NIST okvira, koji se također bavi identifikacijom, zaštitom, otkrivanjem, odgovorom i spašavanjem imovine.

S tehničkog gledišta, vrijedi posvetiti vrijeme evitar falsos positivosTo uključuje izbjegavanje previše generičkih nizova znakova, kombiniranje nekoliko uvjeta i korištenje operatora kao što su all of o any of Koristite svoju glavu i iskoristite strukturna svojstva datoteke. Što je specifičnija logika koja okružuje ponašanje zlonamjernog softvera, to bolje.

Konačno, održavajte disciplinu verzioniranje i periodični pregled To je ključno. Obitelji zlonamjernog softvera razvijaju se, pokazatelji se mijenjaju, a pravila koja danas funkcioniraju mogu postati neučinkovita ili zastarjela. Periodično pregledavanje i usavršavanje skupa pravila dio je igre mačke i miša u kibernetičkoj sigurnosti.

YARA zajednica i dostupni resursi

Jedan od glavnih razloga zašto je YARA došla tako daleko je snaga njezine zajednice. Istraživači, sigurnosne tvrtke i timovi za odgovor na krizne situacije iz cijelog svijeta kontinuirano dijele pravila, primjere i dokumentaciju.stvarajući vrlo bogat ekosustav.

Glavna referentna točka je Službeni repozitorij YARA-e na GitHubuTamo ćete pronaći najnovije verzije alata, izvorni kod i poveznice na dokumentaciju. Odatle možete pratiti napredak projekta, prijaviti probleme ili doprinijeti poboljšanjima ako želite.

Službena dokumentacija, dostupna na platformama kao što je ReadTheDocs, nudi cjeloviti vodič za sintaksu, dostupni moduli, primjeri pravila i reference za korištenjeTo je bitan 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 s YARA pravilima i potpisima gdje analitičari iz cijelog svijeta Objavljuju zbirke spremne za korištenje ili zbirke koje se mogu prilagoditi vašim potrebama.Ovi repozitoriji obično uključuju pravila za određene obitelji zlonamjernog softvera, komplete za iskorištavanje, zlonamjerno korištene alate za testiranje penetracije, web-ljuske, kriptorudare i još mnogo toga.

Paralelno s tim, mnogi proizvođači i istraživačke skupine nude Specifična obuka u YARA-i, od osnovnih razina do vrlo naprednih tečajevaOve inicijative često uključuju virtualne laboratorije i praktične vježbe temeljene na scenarijima iz stvarnog svijeta. Neke se čak nude besplatno neprofitnim organizacijama ili subjektima koji su posebno ranjivi na ciljane napade.

Cijeli ovaj ekosustav znači da, uz malo predanosti, 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 kombiniranjem YARA-e s tradicionalnim antivirusom, sigurnom sigurnosnom kopijom i obavještajnim podacima o prijetnjama, znatno otežavate stvari zlonamjernim akterima koji lutaju internetom.

Uz sve navedeno, jasno je da je YARA puno više od jednostavnog uslužnog programa naredbenog retka: to je pieza clave u bilo kojoj naprednoj strategiji otkrivanja zlonamjernog softvera, fleksibilan alat koji se prilagođava vašem načinu razmišljanja kao analitičara i Česti jezik koji povezuje laboratorije, SOC-ove i istraživačke zajednice diljem svijeta, omogućujući svakom novom pravilu da doda još jedan sloj zaštite od sve sofisticiranijih kampanja.

Kako otkriti opasni zlonamjerni softver bez datoteka u sustavu Windows 11
Povezani članak:
Kako otkriti opasni zlonamjerni softver bez datoteka u sustavu Windows 11