Università degli Studi di Verona
Corso di Laurea Magistrale in Ingegneria e Scienze Informatiche
ASP - Analisi Statica e Protezione
Introduzione al corso:
Un aspetto fondamentale della moderna
scienza dei calcolatori è quello di fornire strumenti per poter
ragionare sulle proprietà dei programmi. Le proprietà
più interessanti sono quelle legate alla semantica dei
programmi, ovvero a ciò che i programmi fanno indipendentemente
dalla loro rappresentazione in un dato linguaggio di
programmazione. Ad esempio, nei moderni sistemi distribuiti WWW
è spesso necessario assicurare un corretto e sicuro flusso di
informazioni affinchè non vengano violate privacy o venga
compromessa la sicurezza dei sistemi di elaborazione. Analogamente,
nei compilatori è importante conoscere il flusso delle
informazioni all'interno delle varie strutture del programma (ovvero
la semantica del programma) per potere trasformare questo al fine di
ottenere un programma semanticamente equivalente ma migliore in
prestazioni. Questi problemi hanno assunto risvolti particolarmente importanti
nell'ambito della protezione del codice rispetto a violazioni (es. di copyright
o di funzionalità). La natura indecidibile dei problemi legati
alla semantica dei linguaggi di programmazione impone una necessaria
approssimazione nella fase di analisi e verifica formale, approssimazione
che rappresenta sia una limitazione della potenziale sicurezza di un sistema ma anche
una forza contro attacchi che per loro natura non possono essere invincibili. Questo ruolo
simmetrico dell'analisi di proprietà semantiche come strumento di protezione
del codice ma anche come strumento di attacco al medesimo ed alla integrità di un sistema,
pone il ruolo dell'analisi statica e dinamica come uno degli strumenti fondamentali per comprendere
e misurare la sicurezza e l'affidabilità di un sistema SW complesso. Scopo de corso è quello di legare
questi concetti di fondo della moderna computer scinece and security, proponendo un modello sia
teorico che applicativo per lo studio, lo sviluppo e la protezione di sistemi SW relativamente sicuri ed affidabili.
In particolare, nel corso vengono studiati i principali metodi e tecniche per l'analisi, la trasformazione
e la protezione del codice.
Le metodologie saranno orientate ad applicazioni nell'ambito dell'utilizzo sicuro ed affidabile del SW di qualsiasi
dimensione, con particolare enfasi allo studio di tecniche di protezione rispetto ad attacchi
basati su reverse engineering e malware.
Il Corso:
Programma del Corso
Riferimenti bibliografici di base
H. A. Priestley, "Ordered sets and complete lattices"
PDF
B. A. Davey and H. A. Priestley, "Introduction to Lattices and Order",
Cambridge, 1992