Cyber Security Academy · Lezione

A cosa serve YARA

Ricerca di pattern nei file e nella memoria.

Lezione 1 di 413 passaggi

A cosa serve YARA è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.

Pattern matching per il malware

YARA è uno strumento e un linguaggio per regole che consentono di identificare e classificare file e memoria in base ai pattern. Gli analisti lo definiscono il coltellino svizzero del pattern matching nella ricerca sul malware.

Una regola YARA descrive pattern testuali o binari e una condizione logica; il motore analizza i target e segnala le corrispondenze. Colma il divario tra le scoperte di un analista e un rilevamento riutilizzabile e automatizzato.

Firme dei file e firme di rete

YARA integra gli IDS di rete, anziché sostituirli.

  • Snort/Suricata analizzano il traffico sulla rete.
  • YARA analizza i contenuti a riposo o in memoria: file su disco, memoria dei processi, allegati e-mail e contenuti degli archivi.

Un IDS può rilevare un download durante il transito; YARA rileva la stessa famiglia in un campione messo in quarantena, in un'immagine forense o in un processo in esecuzione, anche se non ha mai attraversato un collegamento monitorato.

Classificare le famiglie di malware

Un caso d'uso fondamentale di YARA è la classificazione delle famiglie. Gli autori di malware riutilizzano codice, stringhe, chiavi di cifratura e mutex tra diverse build. Una regola YARA cattura queste caratteristiche comuni, in modo che tutte le varianti di una famiglia corrispondano a una sola regola, anche se gli hash cambiano a ogni ricompilazione.

Questo rende YARA resistente nei casi in cui il rilevamento basato sugli hash fallisce: una modifica di un solo byte rende diverso un hash, ma non inganna una regola basata su pattern ben scritta.

Ricerca nella memoria

Il malware packed e offuscato nasconde il codice reale su disco, ma deve essere decompresso in memoria per funzionare. L'analisi con YARA della memoria dei processi attivi o di un dump della memoria rivela stringhe e strutture invisibili nel file packed.

Per questo i responder agli incidenti analizzano la RAM con YARA: la configurazione decifrata, gli indirizzi C2 e il payload compaiono in memoria anche quando il campione su disco è completamente offuscato.

Dove viene eseguito YARA

YARA si integra in diversi livelli dello stack di sicurezza:

  • Gli agenti EDR analizzano gli endpoint con set di regole condivisi
  • Le sandbox (Cuckoo, CAPE) classificano i campioni sottoposti a detonazione
  • I gateway di posta e web analizzano allegati e download
  • Le piattaforme di threat intelligence eseguono ricerche nei repository di campioni
  • Gli strumenti forensi analizzano immagini disco e dump della memoria

Un unico formato di regole e molti punti di applicazione: è proprio il valore della portabilità apprezzato dagli ingegneri del rilevamento.

Retrohunting

Piattaforme come VirusTotal consentono di eseguire una regola YARA sul loro corpus storico, una pratica chiamata retrohunting. Scrivete una regola per una famiglia appena scoperta, eseguite il retrohunting e fate emergere campioni più vecchi, varianti correlate e la cronologia della campagna.

In questo modo un singolo campione si trasforma in informazioni sulla storia degli strumenti di un attore e sul riutilizzo della sua infrastruttura.

Eseguire un'analisi

Nella forma più semplice, la CLI di YARA riceve un file di regole e un target. Stampa il nome della regola e il file corrispondente per ogni rilevamento.

# Scan a directory recursively
yara -r rules/apt_family.yar /samples/

# Scan a running process by PID
yara rules/cobaltstrike.yar 4821

Regole buone e regole cattive

La potenza di YARA richiede disciplina. Una regola scritta male causa problemi su larga scala.

  • Troppo ampia -> i falsi positivi sommergono gli analisti e possono mettere in quarantena file legittimi
  • Troppo specifica -> corrisponde a un solo campione e non rileva la famiglia
  • Troppo lenta -> espressioni regolari pesanti o atomi troppo piccoli rallentano le scansioni sull'intero ambiente

L'obiettivo è creare regole abbastanza specifiche da essere affidabili, abbastanza generali da rilevare le varianti e abbastanza efficienti da essere eseguite ovunque.

Scegliere indicatori duraturi

Cercate caratteristiche che l'autore difficilmente può o vuole modificare a basso costo:

  • Routine di cifratura personalizzate e costanti univoche
  • Stub di codice distintivi e logica di unpacking
  • Nomi di mutex, user-agent o percorsi PDB hardcoded
  • Anomalie strutturali nel formato del file

Evitate di cercare stringhe di librerie generiche o artefatti del compilatore condivisi da migliaia di programmi legittimi; producono rumore e possono essere modificati facilmente.

Condivisione e set di regole standard

La portabilità di YARA rende le regole una valuta comune tra i difensori. Le raccolte pubbliche e commerciali curate vi offrono un punto di partenza, invece di costringervi a scrivere ogni regola da zero.

  • Il repository della community YARA-Rules e i blog di ricerca dei vendor
  • Il signature-base di Florian Roth, ampiamente utilizzato nell'IR
  • Feed degli ISAC e dei vendor con regole per famiglie e APT

Verificate le regole di terze parti prima di distribuirle: controllate il rischio di falsi positivi, assegnate loro uno spazio dei nomi per evitare collisioni e testatele sul vostro corpus di software legittimo, poiché una regola esterna non verificata può produrre rumore nel vostro ambiente.

I limiti di YARA

YARA non è una soluzione universale.

  • Corrisponde ai pattern, non al comportamento; non esegue il campione
  • Un packing o una cifratura pesanti sul disco possono nascondere ogni elemento finché non viene analizzata la memoria
  • Il codice polimorfico e metamorfico può eludere le stringhe statiche
  • Gli avversari che ottengono le vostre regole possono aggirarle appositamente

Utilizzate YARA come un livello tra gli altri, insieme al rilevamento comportamentale, alla sandboxing e al monitoraggio della rete, non come difesa autonoma.

Verifica rapida

Scegliete lo strumento giusto per il compito.

Riepilogo

YARA esegue il pattern matching su file e memoria:

  • Classifica e identifica i contenuti a riposo o in memoria, integrando gli IDS di rete
  • Rileva le famiglie di malware in base alle caratteristiche comuni, resistendo alle modifiche degli hash
  • La scansione della memoria rivela il codice decompresso che l'analisi statica non riesce a individuare
  • Viene eseguito in EDR, sandbox, gateway e strumenti forensi
  • Il retrohunting trasforma un singolo campione in informazioni sulla campagna
  • Le buone regole sono specifiche, generali ed efficienti; cercate indicatori duraturi
  • YARA rileva i pattern, non il comportamento, quindi utilizzatelo come un solo livello di difesa

Prossimo argomento: la sintassi delle regole.

Gratis per iniziare

Impara Cyber Security Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
76
Lezioni
303

Domande Frequenti

La lezione «A cosa serve YARA» è gratuita?

Sì — il testo completo di «A cosa serve YARA» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.

Cosa imparerò in «A cosa serve YARA»?

Ricerca di pattern nei file e nella memoria. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cyber Security Academy?

Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «A cosa serve YARA»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?

Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. A cosa serve YARA
  2. Sintassi delle regole YARA
  3. Threat hunting con stringhe ed esadecimali
  4. Scalare e automatizzare le scansioni
← Torna a Cyber Security Academy