Il corso si divide in due parti, che trattano rispettivamente: i) monitoring, testing, fault injection, anomaly detection, e ii) l'analisi di problematiche e soluzioni basate su deep learning per la costruzione di sistemi critici.
Slides mostrate durante il corso, tutorial e risorse online fornite durante il corso, ed articoli scientifici per approfondimento
Obiettivi Formativi
KNOWLEDGE AND UNDERSTANDING
Gli studenti acquisiranno conoscenze sui seguenti argomenti:
Metrologia e monitoraggio
Black/White Box Testing,
Fault/Error Injection,
Anomaly Detection per rilevare errori e/o intrusioni,
Adversarial attacks verso reti neurali,
Robustezza di reti neurali,
Utilizzo di reti neurali per dati tabellari,
Generazione di attacchi zero-day usando GAN.
APPLYING KNOWLEDGE AND UNDERSTANDING
Alla fine del corso, lo studente dovrebbe essere in grado di pianificare ed implementare un sistema di monitoraggio e installarlo in un sistema obiettivo, pianificare e implementare esperimenti di iniezione di guasti/test di robustezza, analizzare i dati raccolti per il rilevamento di anomalie.
MAKING JUDGEMENTS
Gli studenti saranno in grado di argomentare sull'adeguatezza di uno specifico sistema di monitoraggio e il relativo processo di rilevamento delle anomalie per un compito specifico in un dato sistema.
COMMUNICATION SKILLS
Alla fine del corso, lo studente dovrebbe essere in grado di relazionare su tutta l'attività tecnica alla base dell'installazione di un sistema di monitoraggio e di discutere approfondimenti sui processi di analisi dei dati
LEARNING SKILLS
Il corso fornirà allo studente le conoscenze per esplorare la letteratura su argomenti di monitoraggio e machine learning
Prerequisiti
Basi di Sistemi Operativi, Programmazione e Sistemi affidabili (questo ultimo non è un prerequisito ma aiuta lo studente nella comprensione degli argomenti)
Metodi Didattici
Didattica frontale, lezioni teoriche affiancate da esercitazioni in aula ove ritenuto necessario per migliorare la comprensione dei temi trattati
CFU: 6
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Dott. Tommaso Zoppi,
Su appuntamento. Contattare il docente (tommaso.zoppi@unifi.it).
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Prof. Andrea Ceccarelli,
MARTEDI ore 16.30-17.30
Contattare il docente preventivamente (andrea.ceccarelli@unifi.it).
DiMai, Università di Firenze, Viale Morgagni, 65 - 50134 Firenze
Modalità di verifica apprendimento
Progetto riassuntivo relativo ad uno degli aspetti principali del corso.
Esame Orale (facoltativo): eventualmente per migliorare la votazione ottenuta col progetto
Programma del corso
Il corso approfondirà le applicazioni delle tecniche di Machine Learning (ML) a supporto della progettazione, monitoraggio e validazione di sistemi cyber-fisici che forniscono funzionalità critiche. Gli studenti saranno prima guidati negli attributi principali dei sistemi critici, per introdurre come algoritmi o componenti ML possono consentire di soddisfare i requisiti di sicurezza e/o sicurezza in modo più efficiente o più affidabile rispetto alle tecniche all'avanguardia.
Dopo aver introdotto la necessità di integrare il ML in sistemi critici, il corso si sposterà verso tecniche per misurare gli indicatori di performance di sistemi che diventano caratteristiche degli algoritmi di ML. Pertanto, ricapitoleremo sulla metrologia e approfondiremo il monitoraggio e la raccolta dei dati, presentando strumenti e buone pratiche per estrarre conoscenza da un sistema cyber-fisico (distribuito). Le attività di monitoraggio in genere forniscono dati che sono stati e sono attualmente utilizzati per supportare campagne di fault Injection e Robustness Testing. Nonostante non si basino molto sul machine learning, di solito integrano le attività di monitoraggio e consentono di raccogliere dati etichettati da utilizzare per addestrare algoritmi di machine learning e costituiscono quindi un pilastro importante di questo corso.
Quindi, introdurremo il rilevamento delle anomalie e il loro ruolo per eseguire sia il rilevamento degli errori che la previsione dei guasti, che sono mezzi importanti per raggiungere l'affidabilità. Inizieremo da approcci basati sulle firme, passando ad algoritmi ML supervisionati e non supervisionati, evidenziandone i meccanismi, le famiglie e le differenze principali. Questi algoritmi sono ampiamente applicati per rilevare le intrusioni e proteggere i sistemi implementando classificatori lineari e non lineari. Pertanto riepilogheremo gli attacchi comuni e applicheremo i rilevatori di anomalie per rilevare le intrusioni nei set di dati di attacco pubblici.
Nell'ultima parte del corso, si esamineranno problematiche nell'utilizzo di soluzioni basate su rete neurali profonde (deep neural networks, DNN) in sistemi safety critical. Si studierà l'applicazione di DNN per dati tabellari. Quindi, si studierà la robustezza delle DNNs, con particolare applicazione alla classificazione di immagini nel caso di immagini acquisite non correttamente. Si studierà la costruzione di adversarial attacks verso classificatori di immagini, e le possibili difese. Infine, si studieranno i fallimenti dell'acceleratore grafico (GPU) e si discuteranno i possibili effetti su una rete neurale.