KEYWORD |
Sviluppo Model-based di applicazioni security-aware in Java
Parole chiave SICUREZZA, MODELLI, STRUMENTI DI ANALISI, SVILUPPO SOFTWARE
Riferimenti RICCARDO SISTO
Gruppi di ricerca FORMAL METHODS FOR SOFTWARE ENGINEERING GROUP
Tipo tesi RICERCA, INNOVATIVA
Descrizione Un'applicazione è security-aware se comprende esplicitamente la logica per la gestione degli aspetti di security, usando tecniche quali password, crittografia e protocolli crittografici.
La gestione della security è un aspetto critico nella programmazione e svilupparla in modo corretto, cioè senza introdurre falle di sicurezza, è tutt'altro che banale.
Per questo motivo, esistono tecniche di supporto allo sviluppo, che hanno l'obiettivo di innalzare la confidenza nella corretta implementazione. Tra di esse vi è l'approccio model-based, che consiste nel costruire prima un modello astratto dell'applicazione, focalizzato sulle parti rilevanti per la security. Questo modello è sufficientemente semplice da poter essere analizzato automaticamente per verificare che effettivamente raggiunga gli obiettivi di security desiderati.
Dal modello astratto si sviluppa poi l'implementazione in linguaggio di programmazione, avvalendosi di strumenti di generazione automatica del codice.
Uno dei problemi dell'approccio model-based è che i linguaggi di modellazione quali l'UML o altri linguaggi domain-specific sono spesso considerati ostici e non congegnali al programmatore, oltre ad essere non universalmente noti.
L'obiettivo di questa tesi è sperimentare un diverso approccio alla modellazione delle applicazioni security-aware, nel quale il modello astratto viene formulato usando lo stesso linguaggio di programmazione a oggetti Java e il relativo meccanismo delle annotazioni. Questo semplifica la modellazione per i programmatori che già conoscono questo linguaggio.
Il lavoro della tesi consiste nello studiare questo nuovo approccio alla modellazione, già proposto in una tesi precedente, e nell'usarlo per sviluppare implementazioni di protocolli di autenticazione standard quali SSH o SSL. Lo sviluppo arriverà fino alla realizzazione di un'applicazione completa, della quale verrà testata l'interoperabilità con altre implementazioni di terze parti. Una possibilità alternativa è lavorare al framework di sviluppo model based per estenderne le caratteristiche.
In entrambi i casi, la tesi consente di approfondire la programmazione Java e la metodologia di sviluppo model-based, che si sta rapidamente diffondendo in diversi ambiti dello sviluppo di software.
Conoscenze richieste Programmazione Java, sicurezza dei sistemi informatici
Scadenza validita proposta 25/01/2014
PROPONI LA TUA CANDIDATURA