PROGRAMMAZIONE SICURA

Barbara MASUCCI PROGRAMMAZIONE SICURA

0522500065
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2017/2018

ANNO CORSO 2
ANNO ORDINAMENTO 2016
SECONDO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE
L’INSEGNAMENTO INTRODUCE I PRINCIPI E LE PRATICHE DELLA PROGRAMMAZIONE SICURA.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
L'INSEGNAMENTO SI PREFIGGE I SEGUENTI OBIETTIVI FORMATIVI:
-ACUIRE LA SENSIBILITÀ AI RISCHI INSITI IN APPLICAZIONI NON SICURE;
-SAPER VALUTARE IL GRADO DI SICUREZZA DI UNA APPLICAZIONE ESISTENTE;
-SAPER PROGETTARE EX-NOVO UN SOFTWARE CON CARATTERISTICHE DI SICUREZZA (SECURITY/SAFETY/PRIVACY BY DESIGN).
Prerequisiti
CONOSCENZA DELLE CARATTERISTICHE DI BASE DEI SISTEMI OPERATIVI E DEI LINGUAGGI DI PROGRAMMAZIONE.
Contenuti
INTRODUZIONE ALLA PROGRAMMAZIONE SICURA E CENNI STORICI.
PANORAMICA SULLE CARATTERISTICHE DI SICUREZZA DI LINUX E UNIX.
PROGETTAZIONE DI APPLICAZIONI SICURE MEDIANTE:
-VALIDAZIONE DEGLI INPUT;
-ELIMINAZIONE DI ATTACCHI TIPO BUFFER OVERFLOW;
-UTILIZZO CONSAPEVOLE DI CHIAMATA AD ALTRE RISORSE;
-CONTROLLO DELL’OUTPUT ED UTILIZZO DI LIBRERIE NON OBSOLETE;
-UTILIZZO DI STRUMENTI PER L'ANALISI DEL SOFTWARE.
Metodi Didattici
IL CORSO PREVEDE LEZIONI A CARATTERE TEORICO PER IL TRASFERIMENTO DELLE CONOSCENZE NECESSARIE PER LA COMPRENSIONE DEGLI ARGOMENTI TRATTATI. INOLTRE, SONO PREVISTE ANCHE LEZIONI DAL CONTENUTO PRATICO, IN CUI SARANNO ILLUSTRATI ALCUNI STRUMENTI PER LA PROGETTAZIONE, LO SVILUPPO E L’ANALISI DI SOFTWARE SICURO.
Verifica dell'apprendimento
LL RAGGIUNGIMENTO DEGLI OBIETTIVI DELL’INSEGNAMENTO È CERTIFICATO MEDIANTE IL SUPERAMENTO DI UN ESAME ORALE, CHE CONSISTE IN UN COLLOQUIO CON DOMANDE E DISCUSSIONE SUI CONTENUTI TEORICI E METODOLOGICI INDICATI NEL PROGRAMMA DELL’INSEGNAMENTO. TALE COLLOQUIO È FINALIZZATO AD ACCERTARE IL LIVELLO DI CONOSCENZA E LA CAPACITÀ DI COMPRENSIONE RAGGIUNTA DALLO STUDENTE. IN DETTAGLIO, L'ESAME SI COMPONE DI UN COLLOQUIO ORALE COSTITUITO DA TRE DOMANDE, DOVE CIASCUNA DOMANDA CONTRIBUISCE CON UN MASSIMO DI 10 PUNTI AL VOTO FINALE. IN CASO DI ESITO BRILLANTE (TUTTE E TRE LE DOMANDE RISPOSTE CORRETTAMENTE), IL DOCENTE PUÒ PROPORRE UN’ULTERIORE DOMANDA PER OTTENERE LA LODE. TALE DOMANDA AVRÀ UN GRADO DI DIFFICOLTÀ SUPERIORE A QUELLO DELLE DOMANDE USUALI. IN CASO DI RISPOSTA SODDISFACENTE, LO STUDENTE CONSEGUIRÀ UNA VOTAZIONE PARI A 30 E LODE. IN CASO DI ERRORE, IL VOTO FINALE SARÀ DECREMENTATO IN BASE ALLE IMPRECISIONI COMMESSE DURANTE L'ESPOSIZIONE.

È CONDIZIONE ESSENZIALE PER IL RAGGIUNGIMENTO DELLA SUFFICIENZA LA CONOSCENZA DELLE BEST PRACTICES RELATIVE ALLA PROGETTAZIONE, ALLO SVILUPPO ED AL TESTING DI SOFTWARE SICURO, LA CAPACITÀ DI INDIVIDUARE E RISOLVERE LE PROBLEMATICHE DI SICUREZZA CHE POSSONO MANIFESTARSI IN APPLICAZIONI SOFTWARE COMPLESSE, LA CAPACITÀ DI COMPRENDERE I RISCHI DERIVANTI DALL’UTILIZZO DI APPLICAZIONI NON SICURE.
LO STUDENTE RAGGIUNGE IL LIVELLO DI ECCELLENZA SE SI RIVELA IN GRADO DI AFFRONTARE CON CONSAPEVOLEZZA PROBLEMI INCONSUETI O NON ESPRESSAMENTE TRATTATI A LEZIONE. LA VOTAZIONE DIPENDERÀ DAL GRADO DI MATURITÀ ACQUISITO SUI CONTENUTI E GLI STRUMENTI METODOLOGICI ESPOSTI DEL CORSO, TENENDO CONTO ANCHE DELLA QUALITÀ DELL'ESPOSIZIONE E DELL'AUTONOMIA DI GIUDIZIO DIMOSTRATA.
Testi
TESTO DI RIFERIMENTO:

DAVID WHEELER
SECURE PROGRAMMING HOWTO - CREATING SECURE SOFTWARE
HTTPS://WWW.DWHEELER.COM/SECURE-PROGRAMS/

ALTRI TESTI CONSIGLIATI:

MICHAEL HOWARD, DAVID LEBLANC
WRITING SECURE CODE: PRACTICAL STRATEGIES AND PROVEN TECHNIQUES FOR BUILDING SECURE APPLICATIONS IN A NETWORKED WORLD
MICROSOFT PRESS, 2002
ISBN: 0735617228

MICHAEL HOWARD, DAVID LEBLANC, JOHN VIEGA
24 DEADLY SINS OF SOFTWARE SECURITY: PROGRAMMING FLAWS AND HOW TO FIX THEM
MCGRAW HILL, 2009 ISBN: 0071626751
Altre Informazioni
MATERIALE AGGIUNTIVO: SLIDE E DISPENSE FORNITE DAL DOCENTE MEDIANTE IL SITO WEB DEL CORSO.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-05-14]