Cyber Security Academy · Lezione

Regole YARA per il rilevamento del malware

Scrivete regole YARA basate su stringhe, sequenze di byte e struttura dei file per rilevare famiglie di malware.

Lezione 4 di 413 passaggi

Regole YARA per il rilevamento del malware è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Che cos'è YARA?

YARA è uno strumento di pattern matching progettato per la classificazione dei malware. Le regole descrivono le famiglie combinando pattern di stringhe, sequenze di byte e condizioni booleane. YARA analizza file, processi o memoria e segnala le corrispondenze.

Struttura di una regola YARA

Una regola ha tre sezioni: meta (metadati come autore e data), strings (pattern da cercare) e condition (logica booleana che combina le stringhe). Le regole vengono compilate in uno scanner per eseguire rapidamente scansioni del file system.

rule ExampleRule {
  meta:
    author = "analyst"
  strings:
    $a = "malicious_string"
    $b = { 4D 5A 90 00 }
  condition:
    $a and $b
}

Pattern di stringhe

YARA supporta tre tipi di stringhe: stringhe di testo semplice (con i modificatori nocase e wide), pattern esadecimali con caratteri jolly ({ 4D 5A ?? ?? }) ed espressioni regolari (/pattern/). wide gestisce le stringhe UTF-16 comuni nei malware Windows.

Pattern esadecimali e caratteri jolly

Utilizzi ?? per i caratteri jolly a singolo byte e [n-m] per i salti di lunghezza variabile nei pattern esadecimali. Esempio: { 60 89 E5 31 C0 [4-8] 5D C3 } corrisponde a uno stub di shellcode indipendentemente dalle sezioni variabili.

Logica delle condizioni

Le condizioni combinano le stringhe con and, or e not. Utilizzi any of them, all of them o 2 of ($a*) per ottenere corrispondenze flessibili. Le condizioni con soglia, come 5 of ($s*), riducono i falsi positivi causati dalle stringhe generiche.

Condizioni sulle proprietà dei file

YARA può verificare la dimensione del file (filesize < 1MB), le proprietà dell'intestazione PE (pe.imphash()) e i byte dell'entry point (uint16(0) == 0x5A4D). Le condizioni del modulo PE rilevano specifici artefatti del compilatore e metadati del linker.

Scrittura di regole dall'analisi comportamentale

Utilizzi come stringhe delle regole quelle estratte durante l'analisi statica o dinamica. Un URL C2, un nome di mutex univoco, uno specifico messaggio di errore o una sequenza di byte dello stub di shellcode possono costituire stringhe YARA efficaci e con pochi falsi positivi.

Test delle regole YARA

Esegua i test con yara rule.yar /path/to/sample. Convalidi le regole su una raccolta di file puliti per misurare il tasso di falsi positivi. Utilizzi --no-warnings per un output silenzioso e -r per le scansioni ricorsive delle directory.

yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/null

YARA nei prodotti di sicurezza

Le regole YARA vengono eseguite all'interno di ClamAV, OSSEC, Velociraptor, Splunk e delle piattaforme EDR. Centralizzi le regole in un repository Git, ne gestisca le versioni, le sottoponga a peer review prima della distribuzione e tenga traccia delle statistiche dei rilevamenti per ritirare quelle di scarso valore.

Come evitare le insidie più comuni

Le stringhe eccessivamente generiche causano falsi positivi. I pattern esadecimali molto brevi corrispondono al rumore. Esegua sempre il profiling delle regole su campioni puliti rappresentativi prima della distribuzione. Utilizzi all of them invece di any of them quando possibile, per migliorare la precisione.

Risorse della community YARA

YARA-Forge raccoglie regole della community di alta qualità. I repository di malware come MalwareBazaar forniscono campioni per i test. I repository GitHub dei vendor (Mandiant, Kaspersky) pubblicano regole di livello professionale che può studiare e adattare.

Verifica delle conoscenze

Che cosa significa la condizione YARA 2 of ($s*)?

Riepilogo

Le regole YARA combinano pattern di stringhe, sequenze di byte e condizioni booleane per classificare le famiglie di malware. La creazione di regole basate sui risultati dell'analisi comportamentale, i test su raccolte di file puliti e la distribuzione tramite piattaforme di sicurezza creano una copertura di rilevamento scalabile.

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 «Regole YARA per il rilevamento del malware» è gratuita?

Sì — il testo completo di «Regole YARA per il rilevamento del malware» è 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 «Regole YARA per il rilevamento del malware»?

Scrivete regole YARA basate su stringhe, sequenze di byte e struttura dei file per rilevare famiglie di malware. 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 4 di 4.

Quanto tempo richiede la lezione «Regole YARA per il rilevamento del malware»?

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. Analisi statica: stringhe, hash e intestazioni PE
  2. Analisi dinamica in una sandbox
  3. IOC comportamentali: registro, rete e artefatti dei file
  4. Regole YARA per il rilevamento del malware
← Torna a Cyber Security Academy