- YARA овозможува опишување на семејствата на малициозен софтвер користејќи флексибилни правила базирани на низи, бинарни шеми и својства на датотеки.
- Добро дизајнираните правила можат да детектираат сè, од ransomware и APT-а до webshells и zero-day експлоатации во повеќе средини.
- Интегрирањето на YARA во резервни копии, форензички работни процеси и корпоративни алатки ја зајакнува одбраната надвор од традиционалниот антивирусен софтвер.
- Заедницата YARA и складиштата на правила го олеснуваат споделувањето на интелигенции и континуирано го подобруваат откривањето.

¿Како да се користи YARA за напредно откривање на малициозен софтвер? Кога традиционалните антивирусни програми ќе ги достигнат своите граници и напаѓачите ќе се протнат низ секоја можна пукнатина, во игра стапува алатка која стана неопходна во лабораториите за одговор на инциденти: YARA, „швајцарскиот нож“ за лов на малициозен софтверДизајниран да ги опише семејствата на малициозен софтвер користејќи текстуални и бинарни шеми, тој овозможува да се оди многу подалеку од едноставното хеш-спојување.
Во вистинските раце, YARA не е само за лоцирање не само познати примероци на малициозен софтвер, туку и нови варијанти, експлоатирања од нулти ден, па дури и комерцијални офанзивни алаткиВо оваа статија, ќе истражиме детално и практично како да се користи YARA за напредно откривање на малициозен софтвер, како да се напишат робусни правила, како да се тестираат, како да се интегрираат во платформи како Veeam или во вашиот сопствен аналитички работен тек и кои најдобри практики ги следи професионалната заедница.
Што е YARA и зошто е толку моќна во откривањето на малициозен софтвер?
YARA е кратенка за „Уште еден рекурзивен акроним“ и стана де факто стандард во анализата на закани бидејќи Овозможува опишување на семејствата на малициозен софтвер користејќи читливи, јасни и многу флексибилни правила.Наместо да се потпира исклучиво на статички антивирусни потписи, YARA работи со шеми што сами ги дефинирате.
Основната идеја е едноставна: YARA правило испитува датотека (или меморија или поток на податоци) и проверува дали се исполнети низа услови. услови базирани на текстуални низи, хексадецимални низи, регуларни изрази или својства на датотекиАко условот е исполнет, постои „совпаѓање“ и можете да алармирате, блокирате или да извршите подетална анализа.
Овој пристап им овозможува на безбедносните тимови Идентификувајте и класифицирајте малициозен софтвер од сите видови: класични вируси, црви, тројанци, рансомвер, веб-шелови, крипто-мајнери, малициозни макроа и многу повеќеНе е ограничено на специфични екстензии или формати на датотеки, па затоа открива и прикриена извршна датотека со екстензија .pdf или HTML-датотека што содржи веб-шел.
Понатаму, YARA е веќе интегрирана во многу клучни услуги и алатки на екосистемот за сајбер безбедност: VirusTotal, песочни кутии како Cuckoo, платформи за резервни копии како Veeam или решенија за лов на закани од врвни производителиЗатоа, совладувањето на YARA стана речиси задолжително за напредните аналитичари и истражувачи.
Напредни случаи на употреба на YARA во откривање на малициозен софтвер
Една од силните страни на YARA е тоа што се прилагодува како ракавица на повеќе безбедносни сценарија, од SOC до лабораторијата за малициозен софтвер. Истите правила важат и за еднократните ловови и за континуираното следење..
Најдиректниот случај вклучува создавање специфични правила за специфичен малициозен софтвер или цели семејстваДоколку вашата организација е нападната од кампања базирана на познато семејство (на пример, тројанец со далечински пристап или APT закана), можете да профилирате карактеристични низи и шеми и да покренете правила што брзо идентификуваат нови поврзани примероци.
Друга класична употреба е фокусот на YARA базирано на потписиОвие правила се дизајнирани да лоцираат хашови, многу специфични текстуални низи, фрагменти од код, клучеви во регистарот, па дури и специфични бајтови низи што се повторуваат во повеќе варијанти на истиот малициозен софтвер. Сепак, имајте на ум дека ако пребарувате само тривијални низи, ризикувате да генерирате лажни позитиви.
YARA исто така блеска кога станува збор за филтрирање преку типови на датотеки или структурни карактеристикиМожно е да се креираат правила што се однесуваат на PE извршни датотеки, канцелариски документи, PDF-датотеки или практично кој било формат, со комбинирање на низи со својства како што се големината на датотеката, специфични заглавија (на пр., 0x5A4D за PE извршни датотеки) или увоз на сомнителни функции.
Во модерните средини, неговата употреба е поврзана со разузнавање за заканиЈавните складишта, истражувачките извештаи и IOC фидовите се преведуваат во YARA правила кои се интегрирани во SIEM, EDR, платформи за резервни копии или sandboxes. Ова им овозможува на организациите да брзо откривање на нови закани кои имаат слични карактеристики со веќе анализираните кампањи.
Разбирање на синтаксата на YARA правилата
Синтаксата на YARA е доста слична на онаа на C, но на поедноставен и пофокусиран начин. Секое правило се состои од име, опционален дел за метаподатоци, дел за стринг и, задолжително, дел за услов.Отсега натаму, моќта лежи во тоа како ќе го комбинирате сето тоа.
Првиот е име на правилоМора да оди веднаш по клучниот збор владее (o владетел Ако документирате на шпански јазик, иако клучниот збор во датотеката ќе биде владееи мора да биде валиден идентификатор: без празни места, без број и без долна црта. Добра идеја е да се следи јасна конвенција, на пример нешто како Malware_Family_Variant o APT_Актор_Алатка, што ви овозможува на прв поглед да идентификувате што е наменето да открие.
Следно доаѓа делот жицикаде што ги дефинирате шемите што сакате да ги пребарувате. Тука можете да користите три главни типа: текстуални низи, хексадецимални низи и регуларни изразиТекстуалните низи се идеални за човечки читливи фрагменти од код, URL-адреси, внатрешни пораки, имиња на патеки или PDB-а. Хексадецималните вредности ви овозможуваат да снимите сурови шаблони на бајти, кои се многу корисни кога кодот е замаглен, но задржува одредени константни низи.
Регуларните изрази обезбедуваат флексибилност кога треба да покриете мали варијации во низа, како што се промена на домени или малку изменети делови од кодот. Понатаму, и низите и регексот дозволуваат escapes да претставуваат произволни бајти., што отвора врата кон многу прецизни хибридни шеми.
Дел состојба Тоа е единственото задолжително правило и дефинира кога се смета дека правилото „се совпаѓа“ со датотека. Таму се користат булови и аритметички операции (и, или, не, +, -, *, /, било кое, сите, содржи, итн.) за да се изрази пофина логика за детекција од едноставното „ако се појави овој стринг“.
На пример, можете да наведете дека правилото е валидно само ако датотеката е помала од одредена големина, ако се појавуваат сите критични низи или ако е присутен барем еден од неколкуте низи. Можете исто така да комбинирате услови како што се должина на низата, број на совпаѓања, специфични поместувања во датотеката или големината на самата датотека.Креативноста тука прави разлика помеѓу генеричките правила и хируршките детекции.
Конечно, го имате опционалниот дел метаИдеално за документирање на периодот. Вообичаено е да се вклучи автор, датум на креирање, опис, внатрешна верзија, референца за извештаи или билети и, генерално, секоја информација што помага складиштето да биде организирано и разбирливо за другите аналитичари.
Практични примери за напредни YARA правила
За да се стави сето погоре во перспектива, корисно е да се види како е структурирано едноставно правило и како станува посложено кога ќе се појават извршни датотеки, сомнителни импорти или повторувачки низи на инструкции. Да почнеме со играчка линијар и постепено да ја зголемуваме големината..
Минималното правило може да содржи само низа и услов што го прави задолжително. На пример, можете да пребарувате специфичен текстуален низ или низа од бајти што претставува фрагмент од малициозен софтвер. Условот, во тој случај, едноставно би навел дека правилото е исполнето ако се појави тој стринг или шема., без дополнителни филтри.
Сепак, во реални услови ова не е доволно, бидејќи Едноставните синџири често генерираат многу лажни позитивиЗатоа е вообичаено да се комбинираат неколку низи (текстуални и хексадецимални) со дополнителни ограничувања: датотеката да не надминува одредена големина, да содржи специфични заглавија или да се активира само ако се најде барем еден низ од секоја дефинирана група.
Типичен пример во анализата на извршна датотека на PE вклучува импортирање на модулот pe од YARA, што ви овозможува да ги побарате внатрешните својства на бинарната датотека: увезени функции, делови, временски ознаки итн. Напредно правило може да бара датотеката да се увезе Креирајпроцес од Kernel32.dll и некоја HTTP функција од wininet.dll, покрај тоа што содржи специфичен стринг што укажува на злонамерно однесување.
Овој тип на логика е совршен за лоцирање Тројанци со можности за далечинско поврзување или ексфилтрацијадури и кога имињата на датотеките или патеките се менуваат од една кампања до друга. Важно е да се фокусирате на основното однесување: креирање процес, HTTP барања, енкрипција, перзистентност итн.
Друга многу ефикасна техника е да се погледне во низи од инструкции што се повторуваат помеѓу примероци од исто семејство. Дури и ако напаѓачите го спакуваат или замаглуваат бинарниот код, тие често ги користат деловите од кодот што е тешко да се променат. Ако, по статичка анализа, најдете константни блокови од инструкции, можете да формулирате правило со џокер-знаци во хексадецимални низи што го доловува тој модел, додека одржува одредена толеранција.
Со овие правила „базирани на однесување на кодот“ е можно следете ги целите кампањи со малициозен софтвер како оние на PlugX/Korplug или други APT семејстваНе само што откривате специфичен хаш, туку го напаѓате стилот на развој, така да се каже, на напаѓачите.
Употреба на YARA во реални кампањи и закани од нулти ден
YARA ја докажа својата вредност, особено во областа на напредните закани и злоупотребите од нулти ден, каде што класичните механизми за заштита пристигнуваат предоцна. Добро познат пример е употребата на YARA за лоцирање на експлоатација во Silverlight од минимални протечени разузнавачки информации..
Во тој случај, од е-пошта украдени од компанија посветена на развој на навредливи алатки, беа извлечени доволно шеми за да се изгради правило ориентирано кон специфичен експлоат. Со тоа единствено правило, истражувачите беа во можност да го пронајдат примерокот низ море од сомнителни датотеки.Идентификувајте го експлоатот и присилете го да се поправи, спречувајќи многу посериозна штета.
Овие типови приказни илустрираат како YARA може да функционира како рибарска мрежа во море од датотекиЗамислете ја вашата корпоративна мрежа како океан полн со „риби“ (датотеки) од сите видови. Вашите правила се како прегради во мрежа за риболов: секој преграда ги чува рибите што одговараат на специфични карактеристики.
Кога ќе завршите со влечењето, имате примероци групирани според сличноста со специфични семејства или групи напаѓачи: „слично на видот X“, „слично на видот Y“ итн. Некои од овие примероци може да ви бидат сосема нови (нови бинарни датотеки, нови кампањи), но тие се вклопуваат во познат образец, што ја забрзува вашата класификација и одговор.
За да се извлече максимумот од YARA во овој контекст, многу организации се комбинираат напредна обука, практични лаборатории и контролирани експериментални срединиПостојат високо специјализирани курсеви посветени исклучиво на уметноста на пишување добри правила, честопати засновани на реални случаи на сајбер шпионажа, во кои студентите вежбаат со автентични примероци и учат да бараат „нешто“ дури и кога не знаат точно што бараат.
Интегрирајте го YARA во платформите за резервна копија и обновување
Една област каде што YARA совршено се вклопува, а која честопати останува незабележана, е заштитата на резервните копии. Ако резервните копии се заразени со малициозен софтвер или рансомвер, враќањето може да ја рестартира целата кампања.Затоа некои производители ги вклучија моторите YARA директно во своите решенија.
Може да се лансираат платформи за резервни копии од следната генерација Сесии за анализа базирани на правила на YARA за точките за враќањеЦелта е двојна: да се лоцира последната „чиста“ точка пред инцидентот и да се открие злонамерна содржина скриена во датотеки што можеби не биле активирани од други проверки.
Во овие средини, типичниот процес вклучува избор на опција од „Скенирајте точки за враќање со линијар YARA"за време на конфигурацијата на аналитичка задача. Потоа, се наведува патеката до датотеката со правила (обично со екстензија .yara или .yar), која обично се чува во папка за конфигурација специфична за решението за резервна копија."
За време на извршувањето, моторот итерира низ објектите содржани во копијата, ги применува правилата и Ги евидентира сите совпаѓања во специфичен дневник за анализа на YARA.Администраторот може да ги прегледа овие логови од конзолата, да ја прегледа статистиката, да види кои датотеки го активирале предупредувањето, па дури и да ги следи машините и специфичниот датум на кој одговара секое совпаѓање.
Оваа интеграција е надополнета со други механизми како што се откривање на аномалии, следење на големината на резервната копија, пребарување на специфични IOC или анализа на сомнителни алаткиНо, кога станува збор за правила прилагодени на специфично семејство или кампања на ransomware, YARA е најдобрата алатка за рафинирање на тоа пребарување.
Како да ги тестирате и потврдите правилата на YARA без да ја нарушите вашата мрежа

Откако ќе почнете да ги пишувате сопствените правила, следниот клучен чекор е темелно да ги тестирате. Премногу агресивно правило може да генерира поплава од лажни позитиви, додека премногу лабаво правило може да дозволи вистинските закани да се протнат.Затоа фазата на тестирање е подеднакво важна како и фазата на пишување.
Добрата вест е дека не треба да поставите лабораторија полна со функционален малициозен софтвер и да инфицирате половина од мрежата за да го направите ова. Веќе постојат репозиториуми и бази на податоци што ги нудат овие информации. познати и контролирани примероци од малициозен софтвер за истражувачки целиМожете да ги преземете тие примероци во изолирана средина и да ги користите како тест платформа за вашите правила.
Вообичаениот пристап е да се започне со стартување на YARA локално, од командната линија, во директориум што содржи сомнителни датотеки. Ако вашите правила се совпаѓаат таму каде што треба и едвај пропаѓаат во чисти датотеки, тогаш сте на вистинскиот пат.Ако тие активираат премногу, време е да се прегледаат низите, да се усовршат условите или да се воведат дополнителни ограничувања (големина, увоз, офсети итн.).
Друга клучна точка е да се осигурате дека вашите правила не ги загрозуваат перформансите. При скенирање големи директориуми, целосни резервни копии или масивни колекции на примероци, Лошо оптимизираните правила можат да ја забават анализата или да потрошат повеќе ресурси од посакуваното.Затоа, препорачливо е да се мерат времињата, да се поедностават комплицираните изрази и да се избегнува претерано тежок регекс.
Откако ќе ја поминете таа фаза на лабораториско тестирање, ќе можете да Промовирајте ги правилата во производствената срединаБез разлика дали е во вашиот SIEM, вашите системи за резервни копии, сервери за е-пошта или каде и да сакате да ги интегрирате. И не заборавајте да одржувате континуиран циклус на преглед: како што се развиваат кампањите, вашите правила ќе треба периодично да се прилагодуваат.
Алатки, програми и работен тек со YARA

Надвор од официјалната бинарна датотека, многу професионалци развија мали програми и скрипти околу YARA за да ја олеснат нејзината секојдневна употреба. Типичен пристап вклучува креирање апликација за составете го вашиот сопствен безбедносен комплет што автоматски ги чита сите правила во папка и ги применува во директориум за анализа.
Овие типови на домашни алатки обично работат со едноставна структура на директориуми: една папка за правила преземени од интернет (на пример, „rulesyar“) и друга папка за сомнителни датотеки што треба да се анализираат (на пример, „малициозен софтвер“). Кога програмата ќе се стартува, таа проверува дали постојат обете папки, ги прикажува правилата на екранот и се подготвува за извршување.
Кога ќе притиснете копче како „Започни верификацијаПотоа апликацијата ја стартува извршната датотека YARA со посакуваните параметри: скенирање на сите датотеки во папката, рекурзивна анализа на поддиректориумите, прикажување статистика, печатење метаподатоци итн. Сите совпаѓања се прикажуваат во прозорецот со резултати, што означува која датотека се совпаѓа со кое правило.
Овој работен тек овозможува, на пример, откривање на проблеми во серија извезени е-пораки. малициозни вградени слики, опасни прилози или веб-школки скриени во навидум безопасни датотекиМногу форензички истраги во корпоративните средини се потпираат токму на овој тип механизам.
Во однос на најкорисните параметри при повикување на YARA, се издвојуваат опции како што се следниве: -r за рекурзивно пребарување, -S за прикажување статистика, -m за извлекување метаподатоци и -w за игнорирање на предупредувањаСо комбинирање на овие знамиња можете да го прилагодите однесувањето на вашиот случај: од брза анализа во одреден директориум до целосно скенирање на сложена структура на папки.
Најдобри практики при пишување и одржување на правилата на YARA
За да спречите вашето складиште со правила да стане неуправлив хаос, препорачливо е да примените низа најдобри практики. Првата е да се работи со конзистентни шаблони и конвенции за именувањетака што секој аналитичар може на прв поглед да разбере што прави секое правило.
Многу тимови усвојуваат стандарден формат кој вклучува заглавие со метаподатоци, ознаки што означуваат тип на закана, актер или платформа и јасен опис на тоа што се детектираОва помага не само интерно, туку и кога споделувате правила со заедницата или придонесувате во јавни складишта.
Друга препорака е секогаш да се има предвид дека YARA е само уште еден слој на одбранаНе го заменува антивирусниот софтвер или EDR, туку ги надополнува во стратегиите за Заштитете го вашиот Windows компјутерИдеално, YARA треба да се вклопи во пошироки референтни рамки, како што е рамката на NIST, која исто така се занимава со идентификација, заштита, откривање, одговор и обновување на средства.
Од техничка гледна точка, вреди да се посвети време на избегнувајте лажни позитивиОва вклучува избегнување на премногу генерички низи, комбинирање на неколку услови и користење на оператори како што се Сите o било кој од Користете ја вашата глава и искористете ги структурните својства на датотеката. Колку е поспецифична логиката околу однесувањето на малициозниот софтвер, толку подобро.
Конечно, одржувајте дисциплина верзии и периодичен преглед Тоа е клучно. Семејствата на малициозен софтвер еволуираат, индикаторите се менуваат, а правилата што функционираат денес може да не бидат доволни или да станат застарени. Периодичното прегледување и усовршување на вашиот сет правила е дел од играта на мачка и глушец во сајбер безбедноста.
Заедницата YARA и достапните ресурси
Една од главните причини зошто YARA стигна толку далеку е силата на нејзината заедница. Истражувачи, безбедносни фирми и тимови за одговор од целиот свет постојано споделуваат правила, примери и документација.создавајќи многу богат екосистем.
Главната референтна точка е Официјалното складиште на YARA на GitHubТаму ќе ги најдете најновите верзии на алатката, изворниот код и линкови до документацијата. Оттаму можете да го следите напредокот на проектот, да пријавувате проблеми или да придонесувате со подобрувања доколку сакате.
Официјалната документација, достапна на платформи како што е ReadTheDocs, нуди комплетен водич за синтакса, достапни модули, примери за правила и референци за употребаТоа е суштински ресурс за искористување на најнапредните функции, како што се PE инспекција, ELF, правила за меморија или интеграции со други алатки.
Покрај тоа, постојат и заеднички репозиториуми на правила и потписи на YARA каде што аналитичари од целиот свет Тие објавуваат готови колекции или колекции што можат да се прилагодат на вашите потреби.Овие репозиториуми обично вклучуваат правила за специфични семејства на малициозен софтвер, комплети за експлоатација, злонамерно користени алатки за пенетрација, веб-шелови, крипто-мајнери и многу повеќе.
Паралелно, многу производители и истражувачки групи нудат Специфична обука во YARA, од основни нивоа до многу напредни курсевиОвие иницијативи често вклучуваат виртуелни лаборатории и практични вежби базирани на сценарија од реалниот свет. Некои дури се нудат бесплатно на непрофитни организации или субјекти кои се особено ранливи на насочени напади.
Целиот овој екосистем значи дека, со малку посветеност, можете да преминете од пишување на вашите први основни правила до развивање на софистицирани пакети способни за следење на сложени кампањи и откривање на невидени заканиИ, со комбинирање на YARA со традиционален антивирус, безбедна резервна копија и интелигенција за закани, значително ги отежнувате работите за злонамерните актери што шетаат на интернет.
Со сето погоре, јасно е дека YARA е многу повеќе од едноставна алатка од командна линија: тоа е клучно парче во која било напредна стратегија за откривање на малициозен софтвер, флексибилна алатка што се прилагодува на вашиот начин на размислување како аналитичар и заеднички јазик што ги поврзува лабораториите, SOC-ите и истражувачките заедници низ целиот свет, дозволувајќи секое ново правило да додаде уште еден слој на заштита од сè пософистицирани кампањи.
Страст за технологијата уште од мал. Сакам да бидам ажуриран во секторот и, пред сè, да го комуницирам. Затоа долги години сум посветен на комуникацијата на веб-страниците за технологија и видео игри. Може да ме најдете како пишувам за Android, Windows, MacOS, iOS, Nintendo или која било друга поврзана тема што ќе ви падне на ум.