Salta al contenuto principale
CODICE 101811
ANNO ACCADEMICO 2025/2026
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L'insegnamento mira a sensibilizzare gli sviluppatori sul fatto che i programmi (scritti male) possono essere sfruttati da un attaccante per scopi potenzialmente dannosi, facendo agire i programmi in modi non voluti dagli autori. Questo obiettivo viene raggiunto mostrando come i programmi binari possono essere analizzati e come eventuali vulnerabilità trovate possano essere sfruttate.
Inoltre, il corso descrive come progettare e scrivere software sicuro, cioè privo di tali vulnerabilità.
L'analisi in contesti avversariali, come, l'analisi del malware, verrà inoltre discussa.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Learning how to write secure code, analyze the behavior and assess security properties of source and binary programs, pinpointing and fix their vulnerabilities or apply corrective counter-measures.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso gli studenti saranno in grado di:

  • scrivere codice sicuro
  • valutare le proprietà di sicurezza di programmi in forma sorgente e binaria
  • individuare le vulnerabilità
  • eliminare vulnerabilità o applicare contromisure correttive.

Per il percorso da 9-CFU, gli studenti saranno inoltre in grado di analizzare programmi in contesti avversariali (per esempio, campioni di malware).

PREREQUISITI

Familiarità con la programmazione in C (sopratutto, gestione diretta della memoria, uso di puntatori) e coi concetti di sistemi operativi

MODALITA' DIDATTICHE

Lezioni frontali e attività pratiche.

Alcuni argomenti ed esercizi, esplicitamente marcati nel materiale di supporto, sono opzionali per chi ha la versione da 6 CFU in piano di studi.

PROGRAMMA/CONTENUTO

  • Introduzione
  • Cosa sono i (programmi) binari e come vengono eseguiti
  • Analisi dinamica
  • Analisi statica
  • Scrivere codice sicuro, vulnerabilità comuni
  • Tecniche di anti-analisi e analisi del malware
  • Exploitation

Alcuni argomenti ed esercizi, esplicitamente marcati nel materiale di supporto, sono opzionali per chi ha la versione da 6 CFU in piano di studi.

TESTI/BIBLIOGRAFIA

Il materiale di supporto e la bibliografia suggerita saranno disponibili su AulaWeb.

DOCENTI E COMMISSIONI

Commissione d'esame

GIOVANNI LAGORIO (Presidente)

ALESSANDRO ARMANDO

MAURA CERIOLI (Presidente Supplente)

DAVIDE ANCONA (Supplente)

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Sessione pratica e discussione orale.

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa

 

MODALITA' DI ACCERTAMENTO

L'esame valuterà la capacità di analizzare i programmi per scovare eventuali vulnerabilità, di scrivere semplici "exploit" e applicare misure correttive. Si valuterà la conoscenza dei concetti visti a lezione e la capacità analitica ed espositiva degli studenti.

Agli studenti da 9-CFU potrebbero venir assegnati dei campioni di malware (o simil-malware) da analizzare

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.