- YARA permet descriure famílies de codi maliciós (malware) mitjançant regles flexibles basades en cadenes, patrons binaris i propietats d'arxius.
- Les regles ben dissenyades serveixen per detectar des de ransomware i APT fins a webshells i exploits de dia zero a múltiples entorns.
- Integrar YARA en còpies de seguretat, fluxos forenses i eines corporatives reforça la defensa més enllà dels antivirus clàssics.
- La comunitat i els repositoris de regles YARA faciliten compartir intel·ligència i millorar contínuament la detecció.

¿Com utilitzar YARA per detectar codi maliciós de forma avançada? Quan els antivirus tradicionals ja no donen més de si i els atacants es colen per tots els buits possibles, entra en joc una eina que s'ha convertit en imprescindible als laboratoris de resposta davant d'incidents: YARA, el “ganivet suís” per caçar malware. Dissenyada per descriure famílies de programari maliciós mitjançant patrons textuals i binaris, permet anar molt més enllà de la simple confrontació de hashes.
A les mans adequades, YARA no només serveix per localitzar mostres de codi maliciós ja conegudes, sinó també variants noves, exploits de dia zero i fins i tot eines ofensives comercials. En aquest article veurem, amb força profunditat i de forma pràctica, com utilitzar YARA per detectar codi maliciós de forma avançada, com escriure regles sòlides, com provar-les, integrar-les en plataformes com Veeam o el teu propi flux d'anàlisi i quines bones pràctiques segueix la comunitat professional.
Què és YARA i per què és tan potent per detectar malware
YARA significa Yet Another Recursive Acronym i s'ha transformat en un estàndard de facto en anàlisi d'amenaces perquè permet descriure famílies de malware mitjançant regles llegibles, clares i molt flexibles. En lloc de dependre només de firmes estàtiques d'antivirus, YARA treballa amb patrons que tu mateix defineixes.
La idea bàsica és senzilla: una regla YARA examina un fitxer (o memòria, o flux de dades) i comprova si es compleixen una sèrie de condicions basades en cadenes de text, seqüències hexadecimals, expressions regulars o propietats del fitxer. Si la condició es compleix, hi ha “match” i pots alertar, bloquejar o fer anàlisis més profundes.
Aquesta aproximació permet als equips de seguretat identificar i classificar malware de tot tipus: virus clàssics, cucs, troians, ransomware, webshells, cryptominers, macros malicioses i molt més. No es limita a extensions de fitxer ni a formats concrets, de manera que detecta igualment un executable camuflat amb extensió .pdf o un HTML que conté una webshell.
A més, YARA ja s'integra en molts serveis i eines clau de l'ecosistema de ciberseguretat: VirusTotal, sandboxes com Cuckoo, plataformes de backup com Veeam o solucions de caça d'amenaces de fabricants de primer nivell. Per això, dominar YARA ha esdevingut gairebé un requisit per a analistes avançats i investigadors.
Casos d'ús avançats de YARA en detecció de codi maliciós (malware)
Un dels punts forts de YARA és que s'adapta com un guant a múltiples escenaris de seguretat, des del SOC fins al laboratori de codi maliciós (malware). Els mateixos principis de regles serveixen tant per a caces puntuals com per a monitorització contínua.
El cas més directe consisteix a crear regles específiques per a malware concret o famílies completes. Si la vostra organització està sent atacada per una campanya basada en una família coneguda (per exemple, un troià d'accés remot o una amenaça APT), podeu perfilar les cadenes i patrons característics i aixecar regles que identifiquin ràpidament noves mostres relacionades.
Un altre ús clàssic és lenfocament de YARA basada en signatures: regles dissenyades per localitzar hashes, cadenes de text molt concretes, fragments de codi, claus de registre o fins i tot seqüències de bytes específiques que es repeteixen en múltiples variants del mateix codi maliciós. Tot i que recorda que, si només et quedes en cadenes trivials, corres el risc de generar falsos positius.
YARA també brilla quan es tracta de filtrar per tipus d'arxiu o característiques estructurals. És possible fer regles que s'apliquin a executables PE, documents ofimàtics, PDFs o pràcticament qualsevol format, combinant cadenes amb propietats com a mida del fitxer, capçaleres concretes (per exemple, 0x5A4D per a executables PE) o importacions de funcions sospitoses.
En entorns moderns resulta especialment interessant el seu ús lligat a la inteligencia de amenazas. Repositoris públics, informes de recerca i feeds d'IOC es tradueixen a regles YARA que s'integren a SIEM, EDR, plataformes de backup o sandboxes. Amb això, les organitzacions poden detectar ràpidament amenaces emergents que comparteixen trets amb campanyes ja analitzades.
Entenent la sintaxi de les regles YARA
La sintaxi de YARA recorda força la de C, però de forma més simple i focalitzada. Cada regla està formada per un nom, una secció opcional de metadades, una secció de cadenes i, obligatòriament, una secció de condició. A partir d'aquí, la potència és com combines tot això.
Lo primero es el nom de la regla. Ha d'anar just darrere de la paraula clau rule (o regla si documentes en espanyol, encara que la keyword al fitxer serà rule) i ha de ser un identificador vàlid: sense espais, sense començar per número ni per guió baix. És bona idea seguir una convenció clara, per exemple una mica de l'estil Malware_Familia_Variant o APT_Actor_Tool, que et permeti identificar d'una ullada què vol detectar.
Després ve la secció strings, on defineixes els patrons que vols buscar. Aquí pots fer servir tres tipus principals: cadenes de text, seqüències hexadecimals i expressions regulars. Les cadenes de text són ideals per a fragments de codi llegible, URLs, missatges interns, noms de rutes o PDBs. Les hexadecimals us permeten capturar patrons de bytes crus, molt útils quan el codi està ofuscat però conserva certes seqüències constants.
Les expressions regulars aporten flexibilitat quan necessites cobrir petites variacions en una cadena, com ara dominis canviants o parts de codi lleugerament alterades. A més, tant cadenes de text com regex permeten fuites per representar bytes arbitraris, el que obre la porta a patrons híbrids molt precisos.
La sección condition és l'única obligatòria i defineix quan es considera que una regla “fa matx” amb un fitxer. Aquí empres operacions booleanes i aritmètiques (and, or, not, +, -, *, /, any, all, contains, etc.) per expressar lògica de detecció més fina que un simple “si apareix aquesta cadena”.
Per exemple, podeu indicar que la regla sigui vàlida només si el fitxer és menor de certa mida, si apareixen totes les cadenes crítiques, o si almenys una de diverses cadenes és present. També pots combinar condicions de longitud de cadenes, nombre de coincidències, desplaçaments concrets al fitxer o mida del propi fitxer. La creativitat marca aquí la diferència entre regles genèriques i deteccions quirúrgiques.
Finalment, tens la secció opcional meta, ideal per documentar la regla. El més habitual és incloure autor, data de creació, descripció, versió interna, referència a informes o tiquets i, en general, qualsevol informació que ajudi a mantenir el repositori ordenat i comprensible per a altres analistes.
Exemples pràctics de regles YARA avançades
Per aterrar tot això, convé veure com s'estructura una regla senzilla i com es complica quan entren en joc fitxers executables, imports sospitosos o seqüències d'instruccions repetitives. Comencem per una regla de joguina i escalem a poc a poc.
Una regla mínima pot contenir només una cadena i una condició que la faci obligatòria. Per exemple, podríeu cercar una cadena de text concreta o una seqüència de bytes representativa d'un fragment de codi maliciós (malware). La condició, en aquest cas, es limitaria a dir que la regla es compleix si apareix aquesta cadena o aquest patró, sense més filtres.
Tot i això, en entorns reals això es queda curt, perquè les cadenes simples solen generar molts falsos positius. Per això és habitual combinar diverses cadenes (text i hexadecimals) amb restriccions addicionals: que el fitxer no superi certa mida, que contingui capçaleres específiques o que només s'activi si es troba almenys una cadena de cada grup definit.
Un exemple típic en anàlisis d'executables PE consisteix a importar el mòdul pe de YARA, cosa que et permet consultar propietats internes del binari: funcions importades, seccions, timestamps, etc. Una regla avançada podria demanar que el fitxer importi CreateProcess des Kernel32.dll i alguna funció HTTP des wininet.dll, a més de contenir un determinat string indicatiu de comportament maliciós.
Aquest tipus de lògica resulta perfecta per localitzar troians amb capacitats de connexió remota o d'exfiltració, fins i tot quan els noms de fitxers o rutes canvien d'una campanya a una altra. L'important és que et centris en el comportament subjacent: creació de processos, peticions HTTP, xifrat, persistència, etc.
Una altra tècnica molt efectiva és fixar-se en les seqüències d'instruccions que es repeteixen entre mostres de la mateixa família. Encara que els atacants empaquetin o ofusquin el binari, sovint reutilitzen parts de codi que són difícils de canviar. Si després de l'anàlisi estàtica trobeu blocs d'instruccions constants, podeu plantejar una regla amb wildcards en cadenes hexadecimals que capturi aquest patró mantenint certa tolerància.
Amb aquestes regles “basades en comportament de codi” és possible seguir campanyes senceres de codi maliciós com les de PlugX/Korplug o altres famílies APT. No et limites a detectar un hash concret, sinó que vas a buscar l'estil de desenvolupament, per dir-ho així, dels atacants.
Ús de YARA en campanyes reals i amenaces de dia zero
YARA ha demostrat el seu valor especialment al terreny de les amenaces avançades i els exploits de dia zero, on els mecanismes de protecció clàssics arriben tard. Un exemple conegut és l'ús de YARA per localitzar un exploit a Silverlight a partir d'informació mínima d'intel·ligència filtrada.
En aquell cas, a partir de correus electrònics robats a una empresa dedicada al desenvolupament d'eines ofensives, es van deduir prou patrons per construir una regla orientada a un exploit concret. Amb aquesta sola regla, els investigadors van aconseguir rastrejar la mostra entre un oceà d'arxius sospitosos, identificar l'exploit i forçar el seu pegat, evitant danys molt més seriosos.
Aquest tipus d'històries il·lustren com YARA pot funcionar com xarxa de pesca en un mar de fitxers. Imagina que la teva xarxa corporativa és un oceà ple de “peixos” (arxius) de totes les espècies. Les regles són compartiments en una xarxa d'arrossegament: cada compartiment es queda amb els peixos que encaixen amb unes característiques concretes.
Quan acabes l'arrossegament, tens mostres agrupades per similitud amb famílies o grups d'atacants específics: “semblant a Espècie X”, “similar a Espècie Y”, etc. Algunes d'aquestes mostres poden ser completament noves per a tu (nous binaris, noves campanyes), però encaixen en un patró ja conegut, cosa que accelera la seva classificació i resposta.
Per treure tot el suc a YARA en aquest context, moltes organitzacions combinen formació avançada, laboratoris pràctics i entorns d'experimentació controlada. Hi ha cursos molt especialitzats dedicats exclusivament a l'art d'escriure bones regles, sovint basats en casos reals de ciberespionatge, en què els alumnes practiquen amb mostres autèntiques i aprenen a buscar alguna cosa fins i tot quan no saben exactament què estan buscant.
Integrar YARA a plataformes de backup i recuperació
Una àrea on YARA encaixa de meravella, i que sol passar una mica desapercebuda, és la protecció de còpies de seguretat. Si els backups estan contaminats amb malware o ransomware, una restauració pot reiniciar una campanya sencera. Per això, alguns fabricants han incorporat motors YARA directament a les seves solucions.
A plataformes de backup de nova generació es poden llançar sessions d'anàlisi basades en regles YARA sobre punts de restauració. L'objectiu és doble: localitzar l'últim punt “net” anterior a un incident i detectar contingut maliciós ocult en fitxers que potser no han saltat en altres controls.
En aquests entorns el procés típic implica marcar una opció de “escanejar punts de restauració amb una regla YARA" durant la configuració d'un treball d'anàlisi. A continuació, s'especifica la ruta del fitxer de regles (normalment amb extensió .yara o .yar), que sol emmagatzemar-se en una carpeta de configuració pròpia de la solució de còpia de seguretat.
Durant l'execució, el motor recorre els objectes continguts a la còpia, aplica les regles i registra tots els matxos en un log específic d'anàlisi YARA. L'administrador pot consultar aquests registres des de la consola, revisar estadístiques, veure quins fitxers han disparat l'alerta i fins i tot traçar quines màquines ia quina data concreta correspon cada coincidència.
Aquesta integració es complementa amb altres mecanismes com detecció d'anomalies, monitorització de la mida de backups, cerca d'IOCs específics o anàlisi d'eines sospitoses. Però quan es tracta de regles fetes a mida per a una família de ransomware o una campanya concreta, YARA és la millor carta per afinar aquesta cerca.
Com provar i validar regles YARA sense trencar la teva xarxa

Quan comences a escriure regles pròpies, el següent pas crucial és provar bé. Una regla massa agressiva pot generar una allau de falsos positius, mentre que una massa laxa pot deixar passar amenaces reals. Per això la fase de test és tan important com la d'escriptura.
La bona notícia és que no necessites muntar un laboratori ple de codi maliciós funcional i infectar mitja xarxa. Hi ha repositoris i conjunts de dades que ofereixen mostres de codi maliciós conegudes i controlades per a fins de recerca. Podeu descarregar aquestes mostres en un entorn aïllat i utilitzar-les com a banc de proves per a les vostres regles.
El més habitual és començar executant YARA de manera local, des de línia d'ordres, contra un directori amb fitxers sospitosos. Si les teves regles fan match on haurien i tot just salten en fitxers nets, vas per bon camí. Si disparen massa, toca revisar cadenes, refinar condicions o introduir restriccions addicionals (mida, imports, òfsets, etc.).
Un altre punt clau és comprovar que les regles no trenquen el rendiment. Quan escanejes directoris grans, backups complets o col·leccions massives de mostres, les regles mal optimitzades poden alentir anàlisis o consumir més recursos dels desitjables. Per això convé mesurar temps, simplificar expressions complicades i evitar regex excessivament pesades.
Després de passar per aquesta fase de proves al laboratori, podràs promocionar les regles a l'entorn de producció, ja sigui al teu SIEM, als teus sistemes de backup, a servidors de correu o on vulguis integrar-les. I no oblidis mantenir un cicle de revisió contínua: segons evolucionin les campanyes, les teves regles necessitaran ajustaments periòdics.
Eines, programes i flux de treball amb YARA

Més enllà del binari oficial, molts professionals han desenvolupat petits programes i scripts al voltant de YARA per facilitar-ne l'ús diari. Un enfocament típic consisteix a crear una aplicació per muntar el teu propi kit de seguretat que llegiu automàticament totes les regles d'una carpeta i les apliqueu sobre un directori d'anàlisi.
En aquest tipus de ferramentes casolanes se sol treballar amb una estructura senzilla de directoris: una carpeta per a les regles descarregades d'Internet (per exemple, “reglasyar”) i una altra carpeta per als arxius sospitosos que s'analitzaran (per exemple, “malware”). En arrencar el programa es verifica que les dues carpetes existeixen, es llisten les regles en pantalla i se'n prepara l'execució.
En prémer un botó tipus “Iniciar comprovació”, l'aplicació llança per sota l'executable de YARA amb els paràmetres desitjats: escaneig de tots els fitxers de la carpeta, anàlisi recursiva de subdirectoris, sortida d'estadístiques, impressió de metadades... Qualsevol matx es mostra en una finestra de resultats, indicant quin fitxer ha coincidit amb quina regla.
Aquest flux permet, per exemple, detectar en un lot de correus exportats imatges incrustades malicioses, adjunts perillosos o webshells ocultes en arxius aparentment innocus. Moltes investigacions forenses en entorns corporatius es recolzen precisament en aquest tipus de mecanismes.
Pel que fa als paràmetres més útils en invocar YARA, destaquen opcions com -r per cercar recursivament, -S per mostrar estadístiques, -m per treure metadades i -w per ignorar avisos. Combinant aquests flags pots ajustar el comportament al teu cas: des d'una anàlisi ràpida en un directori puntual fins a un escombratge complet d'una estructura complexa de carpetes.
Bones pràctiques en escriure i mantenir regles YARA
Perquè el vostre repositori de regles no es converteixi en un caos immanejable, convé aplicar una sèrie de bones pràctiques. La primera és treballar amb plantilles i convencions de nom coherents, de manera que qualsevol analista entengui una ullada què fa cada regla.
Molts equips adopten un format estàndard que inclou capçalera amb metadades, etiquetes que indiquin tipus d'amenaça, actor o plataforma i una descripció clara del que s'intenta detectar. Això ajuda no només internament, sinó també quan comparteixes regles amb la comunitat o contribueixes a repositoris públics.
Una altra recomanació és recordar sempre que YARA és només una capa més de defensa. No substitueix els antivirus ni els EDR, sinó que els complementa en estratègies per protegir el teu PC amb Windows. L'ideal és encaixar YARA dins de marcs de referència més amplis, com ara el framework del NIST, on s'aborden també la identificació d'actius, la protecció, la detecció, la resposta i la recuperació.
Des del punt de vista tècnic, val la pena dedicar temps a evitar falsos positivos. Això implica fugir de cadenes massa genèriques, combinar diverses condicions, fer servir operadors com all of o any of amb cap i aprofitar propietats estructurals de larxiu. Com més específica sigui la lògica al voltant del comportament del codi maliciós, millor.
Finalment, mantenir una disciplina de versionat i revisió periòdica és fonamental. Les famílies de codi maliciós evolucionen, els indicadors canvien i les regles que avui funcionen poden quedar curtes o tornar-se obsoletes. Revisar i polir el teu set de regles de tant en tant forma part del joc del gat i el ratolí en ciberseguretat.
La comunitat YARA i els recursos disponibles
Un dels grans motius que YARA hagi arribat tan lluny és la força de la seva comunitat. Investigadors, empreses de seguretat i equips de resposta de tot el món comparteixen regles, exemples i documentació de manera contínua, creant un ecosistema molt ric.
El punt de referència principal és el repositori oficial de YARA a GitHub, on trobareu les versions més recents de l'eina, el codi font i enllaços a la documentació. Des d´aquí pots seguir l´evolució del projecte, reportar issues o contribuir amb millores si t´animes.
La documentació oficial, disponible a plataformes com ReadTheDocs, ofereix una guia completa de sintaxi, mòduls disponibles, exemples de regles i referències d'ús. És un recurs imprescindible per treure partit a les funcions més avançades, com ara la inspecció de PE, ELF, regles per a memòria o integracions amb altres eines.
A més, hi ha repositoris comunitaris de regles i firmes YARA on analistes de tot el món publiquen col·leccions llistes per utilitzar o per adaptar a les teves necessitats. Aquests repos solen incloure regles per a famílies de codi maliciós concretes, kits d'exploits, eines de pentesting utilitzades maliciosament, webshells, cryptominers i un llarg etcètera.
En paral·lel, molts fabricants i grups de recerca ofereixen formació específica a YARA, des de nivells bàsics fins a cursos molt avançats, sovint amb laboratoris virtuals i exercicis pràctics basats en casos reals. Algunes d'aquestes iniciatives fins i tot s'ofereixen sense cost per a organitzacions sense ànim de lucre o entitats especialment exposades a atacs dirigits.
Tot aquest ecosistema fa que, amb una mica de dedicació, puguis passar en relativament poc temps d'escriure les primeres regles bàsiques a desenvolupar sets sofisticats capaços de seguir campanyes complexes i detectar amenaces inèdites. I, combinant YARA amb antivirus tradicionals, backup segur i intel·ligència d'amenaces, els poses les coses força més difícils als actors maliciosos que pul·lulen per la xarxa.
Amb tot això, queda clar que YARA és molt més que una simple utilitat de línia d'ordres: és una peça clau en qualsevol estratègia de detecció avançada de codi maliciós (malware), una eina flexible que s'adapta a la teva forma de pensar com a analista i un llenguatge comú que connecta laboratoris, SOC i comunitats de recerca a tot el món, permetent que cada nova regla sumi una capa més de protecció davant de campanyes cada vegada més sofisticades.
Apassionat de la tecnologia des de petitó. M'encanta estar a l'última al sector i sobretot, comunicar-ho. Per això em dedico a la comunicació en webs de tecnologia i videojocs des de ja fa molts anys. Podràs trobar-me escrivint sobre Android, Windows, MacOS, iOS, Nintendo o qualsevol altre tema relacionat que et passi pel cap.