JP2019 - BinTrace: Analisi di Similarità di codice binario basata sulle tracce di esecuzione

Data inizio
1 ottobre 2020
Durata (mesi) 
12
Dipartimenti
Informatica
Responsabili (o referenti locali)
Dalla Preda Mila
Parole chiave
JOINT PROJECTS, SIMILARITY ANALYSIS, PROGRAM ANALYSIS, COMPUTER SECURITY AND PRIVACY, REVERSE ENGINEERING, INTELLECTUAL PROPERTY, PROGRAMMING LANGUAGES

PREMESSA
L’analisi di similarità del codice costituisce un aspetto centrale in molti ambiti della sicurezza informatica. Infatti, strumenti per l’analisi di similarità vengono utilizzati per l’analisi di grandi collezioni di codice, per l’identificazione di cloni di codice, per l’identificazione di violazioni alla proprietà intellettuale del codice (plagio), per l’identificazione automatica di codice malevolo (malware), per l’analisi degli autori di programmi, etc.

OBIETTIVI
Il progetto BinTrace ha lo scopo di sviluppare una nuova metodologia dinamica per l’analisi della similarità di codice binario.

PROCEDIMENTO
In questi contesti, quando si confrontano porzioni di programmi è importante considerare modifiche dovute all’evoluzione del codice, all’ottimizzazione effettuata in fase di compilazione e alle modifiche dovute all’offuscamento. Queste modifiche generano frammenti di codice semanticamente equivalenti anche se sintatticamente diverse. Negli ultimi anni la ricerca è stata molto attiva in questo ambito e sono stati sviluppati molti strumenti sia statici che dinamici per l’identificazione automatica di frammenti di codice simili. L’offuscamento del codice modifica i programmi al fine di renderne complicata l’analisi, per questo motivo l’analisi di similarità di codice offuscato è particolarmente complicata. E’ noto che l’offuscamento impedisce l’analisi statica, quindi i ricercatori ricorrono ad approcci dinamici in presenza di offuscamento. Le tecniche dinamiche hanno note limitazioni legate alla scalabilità e al code coverage.

RISULTATI
L’idea è di sviluppare una tecnica di analisi che si basa sulla similarità di porzioni di tracce di esecuzione. La similarità tra porzioni di tracce deve poi essere usata per stabilire la similarità dell’intero codice binario. Crediamo che concentrandoci su porzioni di tracce di esecuzione sia possibile sviluppare uno strumento efficiente per l’analisi di similarità.

MAIN PARTNER
Relatech SPA

Enti finanziatori:

RELATECH SPA
Finanziamento: assegnato e gestito dal Dipartimento
Programma: JOINT PROJECTS

Partecipanti al progetto

Mila Dalla Preda
Professore associato
Aree di ricerca coinvolte dal progetto
Ingegneria del Software e Sicurezza
Software and application security

Attività

Strutture