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