Kaspersky Lab ha
reso disponibile in open source un tool creato dai suoi ricercatori per semplificare la ricerca di campioni di malware. Lo strumento è stato chiamato
KLara e deriva da Yara, un altro modulo open source che molti ricercatori già usano per
identificare e classificare automaticamente i potenziali malware.
Yara è, in estrema sintesi, un motore di
pattern matching particolarmente potente che permette di definire regole di identificazione particolarmente complesse e dettagliate. Grazie a questa sua potenza, permette secondo Kaspersky di identificare "
malware, exploit e 0-day che non si potrebbero rilevare in altro modo". Il limite nell'uso di Yara è che, indipendentemente dalla sua potenza, analizzare grandi quantità di campioni di potenziale malware
richiede molto tempo. A maggior ragione quando si applicano al database di campioni più regole di identificazione simultaneamente, magari anche articolate.
I ricercatori Kaspersky hanno aggirato questo limite adottando un
approccio distribuito. KLara è infatti un sistema distribuito scritto in linguaggio Python che permette di applicare a un database di campioni di malware una o più regole Yara.
Idealmente,
spiega Kaspersky, un ricercatore
definisce e testa le regole Yara di identificazione dei malware su un sistema locale e con un database limitato, cosa che non richiede il coinvolgimento di altri nodi di elaborazione. Quando però le regole vengono
usate sul campo, per identificare malware in rete, serve un sistema distribuito che porti la potenza di calcolo necessaria.
KLara adotta un approccio in cui un agente centrale di controllo
distribuisce i job di scansione a più agenti autonomi. Entrambi i moduli sono in Python e quindi installabili su qualsiasi computer Windows o Linux compatibile. Ogni utente di KLara
ha un suo account che, tra l'altro, definisce quanti job di scansione può richiedere ed a quali database di campioni di malware ha accesso. Al termine della scansione, KLara notifica il completamento dell'analisi via mail e attraverso la sua interfaccia web.