Vai al contenuto principale
Oggetto:
Oggetto:

Sicurezza delle Reti e dei Sistemi

Oggetto:

Network and System Security

Oggetto:

Anno accademico 2023/2024

Codice attività didattica
INF0352 (vale anche per INF0294)
Docenti
Idilio Drago (Titolare)
Matteo Sereno (Titolare)
Paolo Castagno (Titolare)
Corso di studio
[008515] Laurea magistrale in informatica
Anno
1° anno, 2° anno
Periodo
Secondo semestre
Tipologia
Caratterizzante
Crediti/Valenza
6 CFU - Numero di ore - Number of hours: 32 (in aula) + 16 (in laboratorio)
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Scritto più orale obbligatorio
Prerequisiti
Conoscenza di base di reti, sistemi operativi, architettura degli elaboratori, crittografia e i meccanismi di chiave pubblica e privata. Conoscenza di base dei principali linguaggi di script, come il bash, Python ecc.

Insegnamenti propedeutici (forniscono le competenze attese in ingresso):
  • Architettura degli Elaboratori I (triennale)
  • Reti di Elaboratori o Reti I (triennale)
  • Sistemi Operativi (triennale)
  • Sicurezza (triennale)
Basic knowledge in computer architectures, computer networks and operating systems. Knowledge on cryptography and public/private key mechanisms. Knowledge of script programming languages, such as bash and/or python.

Preparatory courses (providing the expected entry skills):
  • Computer Architecture I (Computer Science Bachelor)
  • Computer networks or Networks I (Computer Science Bachelor)
  • Operating Systems (Computer Science Bachelor)
  • Computer Security (Computer Science Bachelor)
Oggetto:

Sommario insegnamento

Oggetto:

Avvisi

DSA o Disabilità: Sostegno e Accoglienza in UniTO e supporto in sede di Esame
Oggetto:

Obiettivi formativi

In questo corso verranno affrontati sia argomenti introduttivi che avanzati di sicurezza dei sistemi e delle reti. Il corso fornirà le competenze per valutare le potenziali vulnerabilità ad attacchi dei sistemi informatici, per sapere come reagire nel caso in cui si verifichi un incidente di sicurezza, e come proteggere sistemi e reti dagli attacchi più comuni. Il corso fornisce una panoramica delle vulnerabilità e degli attacchi più comuni, tra cui errori di programmazione, configurazioni errate o parziali e rischi legati alla mancanza di meccanismi di protezione di base. Verranno inoltre presentati come casi di studio diverse tipologie di attacchi, le opportune contromisure per mitigarne gli effetti e gli strumenti/tool utilizzati nella realizzazione di tali attacchi. Il corso prevede lo svolgimento di attività di laboratorio in cui gli studenti potranno testare nella pratica i diversi scenari di attacco. Inoltre, le attività in laboratorio e lo sviluppo di un progetto saranno parte integrante della valutazione finale.

Questo insegnamento concorre agli obiettivi formativi dell'ambito delle reti e dei sistemi informatici del Corso di Laurea Magistrale in Informatica.

The course covers both fundamentals and advanced topics on system and network security. It provides students the means to assess whether computing systems are vulnerable to attacks, how to react when security incidents happen and how to defend computer systems and networks against common categories of attacks. The course provides an overview of the main sources of attacks, including typical programming errors, misconfigurations, and the risks related to the lack of basic protection mechanisms. Examples of attacks are explained to provide a high-level overview on why such attacks are possible and how to prevent them. Typical mechanisms to perpetrate attacks are presented, together with tools to assess security and evaluate damages. The course is inherently practical, with lectures and laboratories going side-by-side. Students will practice several attacking scenarios and are expected to develop practical projects and hands-on activities as part of the final evaluation.

Learning network and system security is part of the teaching objectives of the Master's Degree in Computer Science.

 

Oggetto:

Risultati dell'apprendimento attesi

Al termine dell’insegnamento le studentesse e gli studenti sarano in grado di:

  • Comprendere le vulnerabilità di un sistema
  • Valutare le superfici di attacco di un sistema
  • Identificare vulnerabilità in sistemi mediante strumenti atti alla valutazione della sicurezza
  • Implementare misure atte ad evitare gli attacchi e/o a mitigarne gli effetti

At the end of the course, the students will be able to:

  • Understand system vulnerabilities
  • Evaluate attack surfaces
  • Identify vulnerabilities in realistic systems using security assessment tools
  • Implement measures to prevent attacks and/or mitigate their effects
Oggetto:

Programma

  • Principi della cybersecurity
  • Valutazione delle vulnerabilità
    • Debuggers, deassemblers, decompilers
    • Software reverse engineering
    • Scansione dei servizi
    • Penetration test
  • Sicurezza del software
    • Reverse shell
    • Stack e heap overflow
    • Contromisure, ASLR, execution vs data space
    • Return to libc, ROP
    • Format string attack 
    • Racing conditions
    • Isolamento e sandboxing
  • Sicurezza di rete
    • Sicurezza dei protocolli Internet
    • Sniffing, spoofing, man-in-the-middle
    • Poisoning attacks
    • Amplificazione, DoS, botnet
    • Tunneling e firewall, evasioni
    • Il darkweb
    • Honeypot, OSINT
    • Ingegneria sociale e attacchi via email, phishing, squatting, baiting

  • Cybersecurity principles
  • Vulnerability assessment
    • Debuggers, deassemblers, decompilers
    • Reverse engineering and binary analysis
    • Scanning for vulnerable services
    • Penetration test
  • Software security
    • Reverse shell
    • Stack and heap overflows
    • Counter-measures, ASLR, execution vs data space
    • Return to libc, ROP
    • String format attacks
    • Racing conditions
    • Isolation and sandboxing
  • Network security
    • Internet protocol security
    • Sniffing, spoofing, man-in-the-middle
    • Poisoning attacks
    • Amplification, DoS, botnets
    • Tunnelling and firewall, evasions
    • The darkweb
    • Honeypots, information gathering, OSINT
    • Social engineering and mail attacks, phishing, squatting, baiting

 

Oggetto:

Modalità di insegnamento

L’insegnamento è diviso in una parte di teoria e una di laboratorio. Per la parte di teoria sono previste 32 ore di lezioni frontali, integrate da esempi e da esercitazioni. Per la parte di laboratorio sono previste 16 ore di attività in laboratorio in cui si svolgono esercizi. La frequenza è facoltativa, consigliata, e la prova finale sarà uguale per frequentanti e non.

The course is divided into a theoretical part and a laboratory part. For the theoretical part, 32 hours of frontal lectures are scheduled, supplemented by examples and exercises. For the laboratory part, 16 hours of laboratory activities are scheduled. Attendance is optional but recommended, and the final exam will be the same for all students.

Oggetto:

Modalità di verifica dell'apprendimento

L'esame si comporrà di una prova orale di teoria (18 punti), la discussione di un progetto pratico (8 punti) e la consegna delle soluzioni degli esercizi proposti durante il corso (6 punti). Tutte le parti dell’esame devono essere superate e contribuiscono a determinare il voto finale. L'esecuzione del progetto e la consegna degli esercizi sono condizioni necessarie per accedere all'esame orale.

Progetto: Il progetto finale consiste nell’analisi di un sistema (applicazione/servizio/ecc.) volta all’individuazione ed all'exploitation delle vulnerabilità e degli errori di configurazione presenti utilizzando le tecniche apprese durante il corso. Il progetto deve essere completato compilando una relazione in cui vengono descritti il problema affrontato, le osservazioni effettuate, il metodo di analisi utilizzato e la discussione dei risultati.

Esercizi: Durante lo svolgimento del corso verranno assegnati degli esercizi di laboratorio che dovranno essere consegnati entro le scadenze previste. La consegna degli esercizi al di fuori delle scadenze determina una riduzione del punteggio ottenibile (-2 punti).

The exam will consist of an oral test (18 points), the discussion of a practical project (8 points), and the delivery of solutions to exercises proposed during the course (6 points). All parts of the exam must be passed and contribute to determining the final grade. The execution of the project and the delivery of exercises are necessary conditions to access the oral exam.

Project: The final project consists of analyzing a system (application/service/etc.) to identify and exploit vulnerabilities and configuration errors using the techniques learned during the course. The project must be completed by compiling a report describing the problem addressed, the observations made, the analysis method used, and the discussion of the results.

Exercises: During the course, laboratory exercises will be assigned and must be delivered within the scheduled deadlines. The delivery of exercises outside the deadlines results in a reduction of the achievable score (-2 points).

Testi consigliati e bibliografia



Oggetto:
Libro
Titolo:  
Computer Security: A Hands-on Approach
Anno pubblicazione:  
2017
Editore:  
Du, Wenliang
Autore:  
Du, Wenliang
Note testo:  
3rd ed.
Obbligatorio:  
No


Oggetto:
Ultimo aggiornamento: 10/10/2023 13:26
Location: https://magistrale.informatica.unito.it/robots.html
Non cliccare qui!