Rilevamento basato sulla firma con YARA

In un post precedente, ho parlato di come è possibile utilizzare STIX, TAXII e CybOX per condividere threat intelligence.

Uno degli elementi chiave per mettere le informazioni cyberthreat a buon uso richiede che le informazioni sono fruibili, o almeno utilizzabile. Le informazioni condivise devono essere accurate, complete e pertinenti per il tuo ambiente.

CybOX fornisce una struttura comune per rappresentare gli osservabili informatici tra e tra le aree operative della sicurezza informatica aziendale. CybOX può contenere hash, stringhe o chiavi di registro. Le informazioni fornite tramite il sistema possono essere utilizzate per verificare la presenza di malware all’interno dell’ambiente. YARA è una delle alternative all’utilizzo di CyBOX, ma i due non si escludono a vicenda.

Che cos’è YARA?

YARA è uno strumento progettato per aiutare i ricercatori di malware a identificare e classificare i campioni di malware. E ‘ stato chiamato il modello-matching coltellino svizzero per i ricercatori di sicurezza (e tutti gli altri). E ‘ multipiattaforma e può essere utilizzato sia dalla sua interfaccia a riga di comando o attraverso i propri script Python.

Lo strumento consente di condurre il rilevamento basato sulla firma di malware, qualcosa di simile a ciò che le soluzioni antivirus possono fare per voi.

Come si usa?

Per utilizzare questo metodo, è necessario una regola e un file che si desidera controllare. Ad esempio, per eseguirlo dalla riga di comando, dovresti usare:
Questo verrà emesso se la regola data corrisponde al file fornito. Se non vedi l’output e non hai usato l’opzione nega, significa che nessuna regola ha trovato corrispondenza.

È possibile avviarlo con un numero di switch di configurazione; questi sono i due più importanti :

  • -n: Stampa solo regole non soddisfatte (nega).
  • – r: ricerca ricorsiva attraverso le directory.

Regole

Una regola è un insieme di stringhe e una qualche forma di logica, scritta in espressioni booleane.

C’è il supporto per tre diversi tipi di stringhe:

  • Stringhe esadecimali, utili per definire byte grezzi;
  • Stringhe di testo;
  • Espressioni regolari.

Le condizioni sono espressioni booleane che riconoscerai dai normali linguaggi di programmazione. Essi possono lavorare su una qualsiasi delle stringhe date, ma anche su speciali variabili built-in, come la dimensione del file, o su variabili esterne che si definiscono al di fuori della regola. C’è anche il supporto per l’uso di moduli, come Cuckoo, per estendere le funzionalità che è possibile utilizzare nelle condizioni.

Trarrai il massimo beneficio da YARA se fornisci un buon set di regole. Puoi scrivere le tue regole o ottenerle da un altro provider.

Scrivi le tue regole

Scrivere le tue regole non è così difficile se prendi in considerazione queste linee guida:

  • I criteri utilizzati per la corrispondenza devono essere una parte necessaria del comportamento del malware.
  • I criteri dovrebbero essere sufficienti per distinguere la famiglia di malware testata da altre famiglie di malware.
  • I criteri devono essere qualcosa che è comune tra diversi campioni.

Dopo aver analizzato il malware ed estratto dati utili e riconoscibili da esso, è possibile trasformare le informazioni in stringhe YARA e combinarle con una qualche forma di logica.

Ottieni regole da fonti esterne

Poiché YARA utilizza firme simili a soluzioni antivirus, avrebbe senso riutilizzare queste firme come database di regola. Con l’uso dello script clamav_to_yara.py, Lei può convertire il database di firma di ClamAV al suo proprio set di regole.

Un’altra fonte per le regole è il repository Github YaraRules. Questo è un set di regole sotto la licenza GNU-GPLv2 mantenuto da un gruppo di ricercatori di sicurezza IT. Le regole sono memorizzate in diverse categorie: regole volte a rilevare tecniche anti-debug e anti-visualizzazione, documenti dannosi, packer, ecc. – e aggiornato di frequente. Puoi ottenerli clonando il repository Github.

Alcune piattaforme di condivisione delle informazioni sulle minacce, come MISP e ThreatConnect, supportano anche YARA. Ciò consente di creare regole in base alle informazioni sulle minacce raccolte.

Genera automaticamente regole

Con l’uso del generatore di regole di Joe Sandbox, è possibile creare firme per Windows basate su dati di comportamento statici e dinamici. Si noti che si applicano le stesse regole di quando si utilizzano sandbox di analisi malware online gratuiti. Stai caricando i tuoi file su un servizio cloud esterno, che non dovrebbe essere fatto con file sensibili o dati contenenti qualsiasi forma di credenziali utente.

Casi d’uso aggiuntivi

Ho già detto che è possibile convertire il database ClamAV in un set di regole utilizzabile. Va anche il contrario. Supponiamo di avere una serie di regole dettagliate. È possibile configurare ClamAV per estendere il suo set di funzionalità con le regole fornite e supportare YARA. Ciò consente di abbinare le regole sui file compressi o compressi. L’API privata VirusTotal ha anche una funzione con cui è possibile inserire le proprie regole e attivarle quando viene caricato un campione corrispondente.

La protezione basata sulla firma non è sufficiente

Solo affidarsi alla protezione basata sulla firma non è più sufficiente. Gli aggressori hanno sviluppato contromisure che possono utilizzare per bypassare questo metodo. Con l’uso di vari servizi di crittografia, packer e polimorfismo, possono facilmente generare malware abbastanza diversi da non corrispondere più alle firme esistenti. Ci vuole un po ‘ di tempo prima che il nuovo sapore venga raccolto e che venga condivisa una firma.

Questi inconvenienti non rendono obsoleto il rilevamento basato sulle firme. La comunità della sicurezza è forte nel condividere nuovi indicatori di minaccia, quindi questi tipi di strumenti si dimostreranno ancora una risorsa importante per il tuo arsenale.

Conclusione

Sebbene il rilevamento basato sulla firma con YARA abbia i suoi limiti, è un modo facile da usare e abbastanza semplice per rilevare malware nel tuo ambiente. Non sarebbe saggio fare affidamento su di esso come l’unica misura di protezione dalle minacce, ma dato l’uso diretto, perdere questo strumento non sarebbe una buona idea.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.