The term malware refers to different types of malicious programs such as viruses, worms, and trojans. Attackers exploit malware capabilities to perform otherwise prohibited actions, like, for example, stealing sensitive information, spying on a system, or taking control of it. Malware analysis refers to the study of the behavior of malware to understand how malware works and how it can be detected. The primary reason behind performing malware analysis is to retrieve data and important information from a malware sample, which can be used as an aid to responding to future malware incidents. Recognizing malware in the most time-efficient way possible is of the utmost importance in malware analysis because it helps reduce the duration of exposure of a system to threats. In this thesis, we propose YBoost, which is an end-to-end framework that exploits hardware acceleration to identify malware samples by matching YARA rules, which are descriptors of fingerprints of malware families based on binary or textual patterns. In particular, it converts YARA rules into regular expressions to make use of the FPGA as the hardware to perform pattern matching evaluations. Despite the difficulties that arise from converting a Turing complete language into a regular one, YBoost has a coverage of conversion that reaches up to 89% of all writeable YARA rules. From the experiments conducted, YBoost performs from x2.47 to x3.44 times faster on a general-purpose processor and from x25.39 to x26.63 times faster on an embedded processor. Additionally, comparing the evaluation times of YBoost on FPGA with the evaluation times of the YARA framework on a general-purpose processor, YBoost performs from x10.46 to x27.69 times faster.

Con il termine generale malware vengono identificati diversi tipi di software malevoli od invasivi, come virus, worms, trojan, ransomware e spyware. I malware possono essere utilizzati da persone malintenzionate per compiere atti illeciti, come per esempio prendere il controllo di un sistema informatico o recuperare informazioni riservate. L’analisi del malware studia il comportamento di essi per comprendere come sia possibile identificarli e capire il loro funzionamento. Questo studio è fondamentale per poter recuperare informazioni significative che possono essere utilizzate per poter rispondere ad un eventuale e futuro attacco malware. L’analisi statica è una tecnica di analisi del malware che analizza binari malevoli senza eseguirli. I dati recuperati dall’analisi statica possono essere utilizzati successivamente per eseguire una tecnica denominata "fingerprint matching", che si occupa di determinare quali e quanti pattern malevoli appartenenti ad un insieme di partenza sono presenti in un determinato file binario. Negli ultimi anni, diversi studi hanno concentrato le loro attenzioni verso nuovi modi di effettuare l’analisi del malware, con lo scopo di poter aumentare l’efficienza temporale nel riuscire a riconoscere istruzioni malevoli, permettendo in un secondo luogo di migliorare i tempi di risposta di un sistema da quando un file malevolo entra in esso a quando un’adeguata risposta alla minaccia viene effettuata. YARA è un tool utilizzato da alcuni ricercatori di malware per identificare e classificare i malware. YARA sfrutta le cosiddette YARA rules, ossia regole che descrivono il comportamento di alcune famiglie di malware basandosi su pattern testuali o binari noti. Allo stato attuale, la valutazione delle YARA rules viene effettuata utilizzando come calcolatori dei processori a scopo generico (CPU). Una pratica denominata "accelerazione hardware" consiste nel liberare il processore di una macchina da carichi di lavoro per assegnarli a calcolatori ed elaboratori che si specializzano nella risoluzioni di determinati processi. In questa tesi proponiamo YBoost, ossia un framework end-to-end in grado di identificare e classificare i malware che sfrutta l’accelerazione hardware per poter ottenere dei tempi di risposta migliori. L’approccio è formato da una singola pipeline che accetta come parametri un insieme di regole YARA e un insieme di file potenzialmente malevoli. YBoost fornisce come risposta il numero di volte che una certa regola è stata riscontrata nell’insieme di file potenzialmente malevoli. Nello specifico, il framework converte le regole YARA in espressioni regolari per poter utilizzare Alveare, che è un programma che accelera i tempi di valutazione delle espressioni regolari tramite FPGA. Nonostante le difficoltà che incombono nella conversione da un linguaggio Turing completo (regole YARA) ad un linguaggio regolare (espressioni regolari), YBoost è in grado di convertire fino all’89% di tutte le regole YARA scrivibili. Dagli esperimenti effettuati, YBoost è in grado di identificare e classificare i malware dalle x2.47 alle x3.44 volte più velocemente utilizzando un processore ad uso generico e dalle x25.39 alle x26.63 volte più velocemente utilizzando un processore embedded. Inoltre, confrontando i tempi di valutazione di YBoost su FPGA con i tempi di valutazione del framework YARA su CPU, abbiamo riscontrato che YBoost è in grado di ottenere dei tempi di risposta dalle x10.46 alle x27.69 volte migliori.

YBoost : a framework to accelerate YARA rules pattern matching using FPGAs

Furlan, Andrea
2020/2021

Abstract

The term malware refers to different types of malicious programs such as viruses, worms, and trojans. Attackers exploit malware capabilities to perform otherwise prohibited actions, like, for example, stealing sensitive information, spying on a system, or taking control of it. Malware analysis refers to the study of the behavior of malware to understand how malware works and how it can be detected. The primary reason behind performing malware analysis is to retrieve data and important information from a malware sample, which can be used as an aid to responding to future malware incidents. Recognizing malware in the most time-efficient way possible is of the utmost importance in malware analysis because it helps reduce the duration of exposure of a system to threats. In this thesis, we propose YBoost, which is an end-to-end framework that exploits hardware acceleration to identify malware samples by matching YARA rules, which are descriptors of fingerprints of malware families based on binary or textual patterns. In particular, it converts YARA rules into regular expressions to make use of the FPGA as the hardware to perform pattern matching evaluations. Despite the difficulties that arise from converting a Turing complete language into a regular one, YBoost has a coverage of conversion that reaches up to 89% of all writeable YARA rules. From the experiments conducted, YBoost performs from x2.47 to x3.44 times faster on a general-purpose processor and from x25.39 to x26.63 times faster on an embedded processor. Additionally, comparing the evaluation times of YBoost on FPGA with the evaluation times of the YARA framework on a general-purpose processor, YBoost performs from x10.46 to x27.69 times faster.
CARMINATI, MICHELE
CONFICCONI, DAVIDE
POLINO, MARIO
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2022
2020/2021
Con il termine generale malware vengono identificati diversi tipi di software malevoli od invasivi, come virus, worms, trojan, ransomware e spyware. I malware possono essere utilizzati da persone malintenzionate per compiere atti illeciti, come per esempio prendere il controllo di un sistema informatico o recuperare informazioni riservate. L’analisi del malware studia il comportamento di essi per comprendere come sia possibile identificarli e capire il loro funzionamento. Questo studio è fondamentale per poter recuperare informazioni significative che possono essere utilizzate per poter rispondere ad un eventuale e futuro attacco malware. L’analisi statica è una tecnica di analisi del malware che analizza binari malevoli senza eseguirli. I dati recuperati dall’analisi statica possono essere utilizzati successivamente per eseguire una tecnica denominata "fingerprint matching", che si occupa di determinare quali e quanti pattern malevoli appartenenti ad un insieme di partenza sono presenti in un determinato file binario. Negli ultimi anni, diversi studi hanno concentrato le loro attenzioni verso nuovi modi di effettuare l’analisi del malware, con lo scopo di poter aumentare l’efficienza temporale nel riuscire a riconoscere istruzioni malevoli, permettendo in un secondo luogo di migliorare i tempi di risposta di un sistema da quando un file malevolo entra in esso a quando un’adeguata risposta alla minaccia viene effettuata. YARA è un tool utilizzato da alcuni ricercatori di malware per identificare e classificare i malware. YARA sfrutta le cosiddette YARA rules, ossia regole che descrivono il comportamento di alcune famiglie di malware basandosi su pattern testuali o binari noti. Allo stato attuale, la valutazione delle YARA rules viene effettuata utilizzando come calcolatori dei processori a scopo generico (CPU). Una pratica denominata "accelerazione hardware" consiste nel liberare il processore di una macchina da carichi di lavoro per assegnarli a calcolatori ed elaboratori che si specializzano nella risoluzioni di determinati processi. In questa tesi proponiamo YBoost, ossia un framework end-to-end in grado di identificare e classificare i malware che sfrutta l’accelerazione hardware per poter ottenere dei tempi di risposta migliori. L’approccio è formato da una singola pipeline che accetta come parametri un insieme di regole YARA e un insieme di file potenzialmente malevoli. YBoost fornisce come risposta il numero di volte che una certa regola è stata riscontrata nell’insieme di file potenzialmente malevoli. Nello specifico, il framework converte le regole YARA in espressioni regolari per poter utilizzare Alveare, che è un programma che accelera i tempi di valutazione delle espressioni regolari tramite FPGA. Nonostante le difficoltà che incombono nella conversione da un linguaggio Turing completo (regole YARA) ad un linguaggio regolare (espressioni regolari), YBoost è in grado di convertire fino all’89% di tutte le regole YARA scrivibili. Dagli esperimenti effettuati, YBoost è in grado di identificare e classificare i malware dalle x2.47 alle x3.44 volte più velocemente utilizzando un processore ad uso generico e dalle x25.39 alle x26.63 volte più velocemente utilizzando un processore embedded. Inoltre, confrontando i tempi di valutazione di YBoost su FPGA con i tempi di valutazione del framework YARA su CPU, abbiamo riscontrato che YBoost è in grado di ottenere dei tempi di risposta dalle x10.46 alle x27.69 volte migliori.
File allegati
File Dimensione Formato  
thesis_furlan_andrea.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis
Dimensione 1.07 MB
Formato Adobe PDF
1.07 MB Adobe PDF   Visualizza/Apri
executive_summary_furlan_andrea.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Executive Summary
Dimensione 370.91 kB
Formato Adobe PDF
370.91 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/186020