Jak používat YARA pro pokročilou detekci malwaru

Poslední aktualizace: 01.02.2024

  • YARA umožňuje popisovat rodiny malwaru pomocí flexibilních pravidel založených na řetězcích, binárních vzorcích a vlastnostech souborů.
  • Dobře navržená pravidla dokáží detekovat cokoli od ransomwaru a APT útoků až po webshell a zero-day exploity v různých prostředích.
  • Integrace YARA do záloh, forenzních pracovních postupů a podnikových nástrojů posiluje obranu nad rámec tradičního antivirového softwaru.
  • Komunita a úložiště pravidel YARA usnadňují sdílení informací a neustálé zlepšování detekce.

Jak používat YARA pro pokročilou detekci malwaru

¿Jak používat YARA pro pokročilou detekci malwaru? Když tradiční antivirové programy dosáhnou svých limitů a útočníci se proklouznou všemi možnými škvírami, přichází na řadu nástroj, který se stal nepostradatelným v laboratořích pro reakci na incidenty: YARA, „švýcarský nůž“ pro lov malwaruJe navržen tak, aby popsal rodiny škodlivého softwaru pomocí textových a binárních vzorů a umožňuje jít daleko za rámec jednoduchého porovnávání hašů.

Ve správných rukou YARA neslouží jen k vyhledávání nejen známé vzorky malwaru, ale i nové varianty, zero-day exploity a dokonce i komerční útočné nástrojeV tomto článku se podrobně a prakticky podíváme na to, jak používat YARA pro pokročilou detekci malwaru, jak psát robustní pravidla, jak je testovat, jak je integrovat do platforem jako Veeam nebo do vašeho vlastního analytického pracovního postupu a jaké osvědčené postupy používá profesionální komunita.

Co je YARA a proč je tak účinná v detekci malwaru?

YARA je zkratka pro „Yet Another Recursive Acronym“ (Ještě jedna rekurzivní zkratka) a stala se de facto standardem v analýze hrozeb, protože… Umožňuje popisovat rodiny malwaru pomocí čitelných, jasných a vysoce flexibilních pravidel.Místo spoléhání se pouze na statické antivirové signatury YARA pracuje se vzory, které si sami definujete.

Základní myšlenka je jednoduchá: pravidlo YARA prozkoumá soubor (nebo paměť, nebo datový tok) a zkontroluje, zda je splněna řada podmínek. podmínky založené na textových řetězcích, hexadecimálních sekvencích, regulárních výrazech nebo vlastnostech souborůPokud je podmínka splněna, dojde k „shoda“ a můžete upozornit, zablokovat nebo provést podrobnější analýzu.

Tento přístup umožňuje bezpečnostním týmům Identifikujte a klasifikujte malware všech typů: klasické viry, červy, trojské koně, ransomware, webshell, kryptoměny, škodlivá makra a mnoho dalšíhoNení omezen na konkrétní přípony souborů nebo formáty, takže detekuje i maskovaný spustitelný soubor s příponou .pdf nebo soubor HTML obsahující webshell.

YARA je navíc již integrována do mnoha klíčových služeb a nástrojů ekosystému kybernetické bezpečnosti: VirusTotal, sandboxy jako Cuckoo, zálohovací platformy jako Veeam nebo řešení pro lov hrozeb od předních výrobcůZvládnutí YARA se proto stalo téměř nezbytností pro pokročilé analytiky a výzkumníky.

Pokročilé případy použití YARA v detekci malwaru

Jednou ze silných stránek systému YARA je, že se snadno přizpůsobí různým bezpečnostním scénářům, od SOC až po malwarovou laboratoř. Stejná pravidla platí jak pro jednorázové lovy, tak pro průběžné monitorování..

Nejpřímějším případem je vytvoření specifická pravidla pro konkrétní malware nebo celé rodinyPokud je vaše organizace napadena kampaní založenou na známé rodině škodlivých kódů (například trojský kůň pro vzdálený přístup nebo hrozba APT), můžete profilovat charakteristické řetězce a vzory a vytvořit pravidla, která rychle identifikují nové související vzorky.

Dalším klasickým využitím je zaměření YARA založená na podpisechTato pravidla jsou navržena tak, aby vyhledávala hashe, velmi specifické textové řetězce, úryvky kódu, klíče registru nebo dokonce specifické bajtové sekvence, které se opakují v různých variantách stejného malwaru. Mějte však na paměti, že pokud hledáte pouze triviální řetězce, riskujete falešně pozitivní výsledky.

YARA také září, pokud jde o filtrování podle typy souborů nebo strukturální charakteristikyJe možné vytvořit pravidla, která platí pro spustitelné soubory PE, kancelářské dokumenty, PDF nebo prakticky jakýkoli formát, kombinací řetězců s vlastnostmi, jako je velikost souboru, specifické záhlaví (např. 0x5A4D pro spustitelné soubory PE) nebo podezřelé importy funkcí.

V moderním prostředí je jeho použití spojeno s inteligencia de amenazasVeřejné repozitáře, výzkumné zprávy a IOC kanály jsou převedeny do pravidel YARA, která jsou integrována do SIEM, EDR, zálohovacích platforem nebo sandboxů. To umožňuje organizacím rychle odhalit nově vznikající hrozby, které sdílejí charakteristiky s již analyzovanými kampaněmi.

Pochopení syntaxe pravidel YARA

Syntaxe jazyka YARA je docela podobná syntaxi jazyka C, ale jednodušší a cílenější. Každé pravidlo se skládá z názvu, volitelné sekce metadat, sekce řetězců a nutně sekce podmínky.Odteď už síla spočívá v tom, jak to všechno zkombinujete.

Lo primero es el název pravidlaMusí to být hned za klíčovým slovem rule (o regla Pokud dokumentujete ve španělštině, ačkoli klíčové slovo v souboru bude rulea musí být platným identifikátorem: žádné mezery, žádná čísla a žádná podtržítka. Je vhodné dodržovat jasnou konvenci, například něco jako Varianta rodiny malwaru o Nástroj APT_Actor, což vám umožní na první pohled identifikovat, co má detekovat.

Exkluzivní obsah – klikněte zde  ¿Cómo vincular mi cuenta de AVG AntiVirus con mi computadora?

Dále následuje sekce stringskde definujete vzory, které chcete hledat. Zde můžete použít tři hlavní typy: textové řetězce, hexadecimální sekvence a regulární výrazyTextové řetězce jsou ideální pro lidsky čitelné úryvky kódu, URL adresy, interní zprávy, názvy cest nebo PDB. Hexadecimální čísla umožňují zachytit nezpracované bajtové vzory, což je velmi užitečné, když je kód obfusovaný, ale zachovává určité konstantní sekvence.

Regulární výrazy poskytují flexibilitu, když potřebujete pokrýt malé odchylky v řetězci, jako je změna domény nebo mírně pozměněné části kódu. Navíc jak řetězce, tak regulární výrazy umožňují escape symboly reprezentovat libovolné bajty., což otevírá dveře k velmi přesným hybridním vzorům.

La sección condition Je to jediný povinný a definuje, kdy se pravidlo považuje za „odpovídající“ souboru. V něm se používají booleovské a aritmetické operace (a, nebo, ne, +, -, *, /, libovolný, vše, obsahuje atd.) pro vyjádření jemnější logiky detekce než jednoduché „pokud se tento řetězec objeví“.

Můžete například určit, že pravidlo je platné pouze v případě, že je soubor menší než určitá velikost, pokud se objeví všechny kritické řetězce nebo pokud je přítomen alespoň jeden z několika řetězců. Můžete také kombinovat podmínky, jako je délka řetězce, počet shod, specifické offsety v souboru nebo velikost samotného souboru.Kreativita zde rozhoduje o rozdílu mezi generickými pravidly a chirurgickými detekcemi.

Nakonec máte volitelnou sekci metaIdeální pro dokumentaci daného období. Je běžné zahrnout autor, datum vytvoření, popis, interní verze, odkaz na reporty nebo tikety a obecně jakékoli informace, které pomáhají udržovat repozitář organizovaný a srozumitelný pro ostatní analytiky.

Praktické příklady pokročilých pravidel YARA

Abychom uvedli všechny výše uvedené skutečnosti do perspektivy, je užitečné vidět, jak je jednoduché pravidlo strukturováno a jak se stává složitějším, když se do hry zapojí spustitelné soubory, podezřelý import nebo opakující se sekvence instrukcí. Začněme s hračkovým pravítkem a postupně zvětšujeme velikost..

Minimální pravidlo může obsahovat pouze řetězec a podmínku, která ho činí povinným. Můžete například vyhledat konkrétní textový řetězec nebo bajtovou sekvenci reprezentující fragment malwaru. Podmínka by v takovém případě jednoduše uváděla, že pravidlo je splněno, pokud se daný řetězec nebo vzor objeví., bez dalších filtrů.

V reálných podmínkách to však nestačí, protože Jednoduché řetězce často generují mnoho falešně pozitivních výsledků.Proto je běžné kombinovat několik řetězců (textových a hexadecimálních) s dalšími omezeními: aby soubor nepřekročil určitou velikost, aby obsahoval specifické záhlaví nebo aby byl aktivován pouze v případě, že je nalezen alespoň jeden řetězec z každé definované skupiny.

Typickým příkladem analýzy spustitelných souborů PE je import modulu pe z YARA, což umožňuje dotazovat se na interní vlastnosti binárního souboru: importované funkce, sekce, časová razítka atd. Pokročilé pravidlo může vyžadovat import souboru. CreateProcess desde Kernel32.dll a některé HTTP funkce z Soubor wininet.dll, a navíc obsahuje specifický řetězec indikující škodlivé chování.

Tento typ logiky je ideální pro lokalizaci Trojské koně se schopností vzdáleného připojení nebo exfiltracei když se názvy souborů nebo cesty mění z jedné kampaně na druhou. Důležité je zaměřit se na základní chování: vytváření procesů, HTTP požadavky, šifrování, perzistence atd.

Další velmi účinnou technikou je podívat se na sekvence instrukcí, které se opakují mezi vzorky ze stejné rodiny. I když útočníci binární soubor zabalí nebo znejasní, často znovu použijí části kódu, které je obtížné změnit. Pokud po statické analýze najdete konstantní bloky instrukcí, můžete formulovat pravidlo s zástupné znaky v hexadecimálních řetězcích který zachycuje daný vzorec a zároveň si zachovává určitou toleranci.

S těmito pravidly „založenými na chování kódu“ je možné sledovat celé malwarové kampaně, jako jsou kampaně PlugX/Korplug nebo jiných rodin APTNejenže detekujete konkrétní hash, ale také se zaměřujete na vývojový styl útočníků, abych tak řekl.

Využití YARA v reálných kampaních a u zero-day hrozeb

YARA se osvědčila zejména v oblasti pokročilých hrozeb a zero-day exploitů, kde klasické ochranné mechanismy dorazí příliš pozdě. Známým příkladem je použití YARA k lokalizaci exploitu v Silverlightu na základě minimálních uniklých informací..

V tomto případě byly z e-mailů ukradených od společnosti zabývající se vývojem útočných nástrojů odvozeny dostatečné vzorce k vytvoření pravidla zaměřeného na konkrétní zneužití. Díky tomuto jedinému pravidlu byli vědci schopni vzorek vystopovat v moři podezřelých souborů.Identifikujte zneužití a vynuťte jeho opravu, čímž zabráníte mnohem vážnějším škodám.

Tyto typy příběhů ilustrují, jak může YARA fungovat jako rybářská síť v moři souborůPředstavte si svou firemní síť jako oceán plný „ryb“ (souborů) všeho druhu. Vaše pravidla jsou jako přihrádky v vlečné síti: každá přihrádka uchovává ryby, které splňují specifické charakteristiky.

Exkluzivní obsah – klikněte zde  ¿Stack App incluye opciones para compartir archivos cifrados?

Když dokončíte tažení, máte vzorky seskupené podle podobnosti s konkrétními rodinami nebo skupinami útočníků„podobný druhu X“, „podobný druhu Y“ atd. Některé z těchto vzorků pro vás mohou být zcela nové (nové binární soubory, nové kampaně), ale zapadají do známého vzoru, což urychluje vaši klasifikaci a odpověď.

Aby v tomto kontextu vytěžily maximum z YARA, mnoho organizací spojuje síly pokročilé školení, praktické laboratoře a prostředí pro řízené experimentyExistují vysoce specializované kurzy věnované výhradně umění psaní dobrých pravidel, často založených na skutečných případech kybernetické špionáže, v nichž studenti procvičují autentické ukázky a učí se hledat „něco“, i když přesně nevědí, co hledají.

Integrace YARA do platforem pro zálohování a obnovu

Jednou z oblastí, kam YARA dokonale zapadá a která často zůstává poněkud bez povšimnutí, je ochrana záloh. Pokud jsou zálohy napadeny malwarem nebo ransomwarem, může obnova restartovat celou kampaň.Proto někteří výrobci začlenili motory YARA přímo do svých řešení.

Mohou být spuštěny zálohovací platformy nové generace Analýza bodů obnovení založená na pravidlech YARACíl je dvojí: lokalizovat poslední „čistý“ bod před incidentem a odhalit škodlivý obsah skrytý v souborech, který nemusel být spuštěn jinými kontrolami.

V těchto prostředích typický proces zahrnuje výběr možnosti „Naskenujte body obnovení pomocí pravítka YARA„během konfigurace analytické úlohy. Dále se zadá cesta k souboru s pravidly (obvykle s příponou .yara nebo .yar), který je obvykle uložen v konfigurační složce specifické pro dané zálohovací řešení.“

Během provádění engine iteruje objekty obsažené v kopii, aplikuje pravidla a Zaznamenává všechny shody do specifického protokolu analýzy YARA.Správce si může tyto protokoly prohlížet z konzole, prohlížet statistiky, zjistit, které soubory spustily upozornění, a dokonce sledovat, kterým počítačům a konkrétnímu datu každá shoda odpovídá.

Tuto integraci doplňují další mechanismy, jako např. detekce anomálií, monitorování velikosti záloh, vyhledávání konkrétních IOC nebo analýza podezřelých nástrojůPokud jde ale o pravidla přizpůsobená konkrétní rodině ransomwaru nebo kampani, YARA je nejlepším nástrojem pro zpřesnění tohoto vyhledávání.

Jak testovat a validovat pravidla YARA bez narušení vaší sítě

Android malware

Jakmile začnete psát vlastní pravidla, dalším klíčovým krokem je jejich důkladné otestování. Příliš agresivní pravidlo může generovat záplavu falešně pozitivních výsledků, zatímco příliš laxní pravidlo může nechat skutečné hrozby proklouznout.Proto je fáze testování stejně důležitá jako fáze psaní.

Dobrou zprávou je, že k tomu nemusíte zřídit laboratoř plnou funkčního malwaru a infikovat polovinu sítě. Repozitáře a datové sady, které tyto informace nabízejí, již existují. známé a kontrolované vzorky malwaru pro výzkumné účelyTyto vzorky si můžete stáhnout do izolovaného prostředí a použít je jako testovací prostředí pro vaše pravidla.

Obvyklý přístup je začít spuštěním YARA lokálně, z příkazového řádku, proti adresáři obsahujícímu podezřelé soubory. Pokud se vaše pravidla shodují tam, kde by měla, a v čistých souborech se sotva porušují, jste na správné cestě.Pokud spouštějí příliš mnoho, je čas zkontrolovat řetězce, upřesnit podmínky nebo zavést další omezení (velikost, importy, offsety atd.).

Dalším klíčovým bodem je zajistit, aby vaše pravidla neohrozila výkon. Při skenování velkých adresářů, úplných záloh nebo masivních kolekcí vzorků Špatně optimalizovaná pravidla mohou zpomalit analýzu nebo spotřebovat více zdrojů, než je nutné.Proto je vhodné měřit časování, zjednodušovat složité výrazy a vyhýbat se nadměrně těžkým regulárním výrazům.

Po absolvování této fáze laboratorních testů budete schopni Propagujte pravidla do produkčního prostředíAť už je to ve vašem SIEM, zálohovacích systémech, e-mailových serverech nebo kdekoli, kam je chcete integrovat. A nezapomeňte na neustálý cyklus kontroly: s vývojem kampaní budou vaše pravidla potřebovat pravidelné úpravy.

Nástroje, programy a pracovní postupy s YARA

identifikovat soubory bez souborů

Kromě oficiálního binárního souboru vyvinulo mnoho profesionálů malé programy a skripty pro YARA, které usnadňují jeho každodenní používání. Typický přístup zahrnuje vytvoření aplikace pro sestavte si vlastní bezpečnostní sadu který automaticky načte všechna pravidla ve složce a aplikuje je na analytický adresář.

Tyto typy domácích nástrojů obvykle fungují s jednoduchou adresářovou strukturou: jedna složka pro pravidla stažená z internetu (například „rulesyar“) a další složku pro podezřelé soubory k analýze (například „malware“). Po spuštění programu se zkontroluje, zda obě složky existují, zobrazí se seznam pravidel na obrazovce a připraví se ke spuštění.

Když stisknete tlačítko jako „Spusťte kontroluAplikace poté spustí spustitelný soubor YARA s požadovanými parametry: prohledávání všech souborů ve složce, rekurzivní analýza podadresářů, výstup statistik, tisk metadat atd. Veškeré shody se zobrazí v okně s výsledky, které indikují, který soubor odpovídá kterému pravidlu.

Exkluzivní obsah – klikněte zde  Como Reconocer Un Billete Falso De 500

Tento pracovní postup umožňuje například detekci problémů v dávce exportovaných e-mailů. škodlivé vložené obrázky, nebezpečné přílohy nebo webové shelly skryté ve zdánlivě neškodných souborechMnoho forenzních vyšetřování v korporátním prostředí se spoléhá právě na tento typ mechanismu.

Pokud jde o nejužitečnější parametry při volání YARA, vynikají například následující možnosti: -r pro rekurzivní vyhledávání, -S pro zobrazení statistik, -m pro extrakci metadat a -w pro ignorování varování.Kombinací těchto příznaků můžete přizpůsobit chování vašemu případu: od rychlé analýzy v konkrétním adresáři až po kompletní prohledání složité struktury složek.

Nejlepší postupy při psaní a údržbě pravidel YARA

Abyste zabránili tomu, aby se vaše úložiště pravidel stalo nezvladatelným chaosem, je vhodné aplikovat řadu osvědčených postupů. Prvním je práce s konzistentními šablonami a konvencemi pojmenováníaby každý analytik mohl na první pohled pochopit, co každé pravidlo dělá.

Mnoho týmů používá standardní formát, který zahrnuje záhlaví s metadaty, tagy označujícími typ hrozby, aktéra nebo platformu a jasný popis toho, co je detekovánoTo pomáhá nejen interně, ale také když sdílíte pravidla s komunitou nebo přispíváte do veřejných repozitářů.

Dalším doporučením je vždy si pamatovat, že YARA je jen další vrstva obranyNenahrazuje antivirový software ani EDR, ale spíše je doplňuje ve strategiích pro Chraňte svůj počítač s WindowsV ideálním případě by YARA měla zapadat do širších referenčních rámců, jako je rámec NIST, který se také zabývá identifikací, ochranou, detekcí, reakcí a obnovou aktiv.

Z technického hlediska se vyplatí věnovat tomu čas evitar falsos positivosTo zahrnuje vyhýbání se příliš obecným řetězcům, kombinování několika podmínek a používání operátorů, jako například all of o any of Použijte hlavu a využijte strukturální vlastnosti souboru. Čím konkrétnější je logika chování malwaru, tím lépe.

A konečně, udržujte si disciplínu verzování a pravidelná kontrola Je to klíčové. Rodiny malwaru se vyvíjejí, indikátory se mění a pravidla, která fungují dnes, mohou selhat nebo se stát zastaralými. Pravidelná kontrola a vylepšování sady pravidel je součástí hry na kočku a myš v kybernetické bezpečnosti.

Komunita YARA a dostupné zdroje

Jedním z hlavních důvodů, proč YARA dosáhla takového úspěchu, je síla její komunity. Výzkumníci, bezpečnostní firmy a zásahové týmy z celého světa neustále sdílejí pravidla, příklady a dokumentaci.čímž vzniká velmi bohatý ekosystém.

Hlavním referenčním bodem je Oficiální repozitář YARA na GitHubuNajdete tam nejnovější verze nástroje, zdrojový kód a odkazy na dokumentaci. Zde můžete sledovat průběh projektu, hlásit problémy nebo v případě potřeby přispívat k vylepšením.

Oficiální dokumentace, dostupná na platformách, jako je ReadTheDocs, nabízí kompletní průvodce syntaxí, dostupné moduly, příklady pravidel a reference použitíJe to nezbytný zdroj pro využití nejpokročilejších funkcí, jako je inspekce PE, ELF, paměťová pravidla nebo integrace s dalšími nástroji.

Kromě toho existují komunitní repozitáře pravidel a podpisů YARA, kde analytici z celého světa... Publikují kolekce připravené k použití nebo kolekce, které lze přizpůsobit vašim potřebám.Tyto repozitáře obvykle obsahují pravidla pro konkrétní rodiny malwaru, exploit kity, škodlivě používané nástroje pro penetrační testování, webshell, kryptoměnové těžaře a mnoho dalšího.

Souběžně mnoho výrobců a výzkumných skupin nabízí Specifické školení v YARA, od základních úrovní až po velmi pokročilé kurzyTyto iniciativy často zahrnují virtuální laboratoře a praktická cvičení založená na reálných scénářích. Některé jsou dokonce nabízeny zdarma neziskovým organizacím nebo subjektům, které jsou obzvláště zranitelné vůči cíleným útokům.

Celý tento ekosystém znamená, že s trochou úsilí se můžete dostat od napsání prvních základních pravidel k vyvíjet sofistikované sady schopné sledovat komplexní kampaně a detekovat bezprecedentní hrozbyA kombinací YARA s tradičním antivirem, bezpečným zálohováním a analýzou hrozeb značně ztížíte život zlomyslným aktérům, kteří se potulují po internetu.

Ze všeho výše uvedeného je jasné, že YARA je mnohem víc než jen jednoduchý nástroj příkazového řádku: je to pieza clave v jakékoli pokročilé strategii detekce malwaru, flexibilní nástroj, který se přizpůsobí vašemu způsobu myšlení jako analytika a společný jazyk která propojuje laboratoře, SOC a výzkumné komunity po celém světě a umožňuje každému novému pravidlu přidat další vrstvu ochrany před stále sofistikovanějšími kampaněmi.

Jak detekovat nebezpečný malware bez souborů ve Windows 11
Související článek:
Jak detekovat nebezpečný malware bez souborů ve Windows 11