Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • My Media
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
 Login
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Triennale
  3. Informatica [E3102Q - E3101Q]
  4. Insegnamenti
  5. A.A. 2023-2024
  6. 3° anno
  1. Sicurezza ed Affidabilità
  2. Introduzione
Insegnamento Titolo del corso
Sicurezza ed Affidabilità
Codice identificativo del corso
2324-3-E3101Q123
Descrizione del corso SYLLABUS

Syllabus del corso

  • Italiano ‎(it)‎
  • English ‎(en)‎
Esporta

Obiettivi

Il corso ha l'obiettivo di fornire consapevolezza dei problemi di sicurezza e affidabilità delle applicazioni software, e competenza sulle tecniche per affrontarli. In particolare, alla fine del corso lo studente avrà maturato la capacità di analizzare i punti di rischio e criticità nei sistemi informatici, di amministrare gli strumenti di difesa dei sistemi, di comprendere le fasi di un attacco osservato, e di analizzare e progettare soluzioni nei contesti applicativi che richiedono la convalida di affidabilità del software.

Contenuti sintetici

Origine del problema della sicurezza informatica. Eterogeneità delle competenze richieste nel settore sicurezza. Ruoli di attacco e di difesa nei sistemi informatici. Il problema di convalidare l'affidabilità del software. Metodi per il test del software: test funzionale, test strutturale, test basato su modelli. Infrastrutture per l'esecuzione del test. Tecniche di analisi statica e dinamica di programmi.

Programma esteso

  1. Rischi nell'uso dei sistemi informativi, ruoli e competenze

  2. Tecniche e protocolli per la sicurezza:

  • Crittografia, errori di implementazione e attacchi

  • Sicurezza nei sistemi operativi e nelle strutture di rete

  1. Programmazione sicura:
  • Errori di sicurezza nelle applicazioni

  • Analisi di noti programmi che presentano vulnerabilita'

  1. Programmi pericolosi: troiani, back-door, bombe logiche, virus, worm

  2. Convalida di affidabilità del software: dimensioni del problema.

  3. Testing:

  • Test funzionale: fonti di informazione per derivare casi di test, il test funzionale o black-box, vantaggi e svantaggi rispetto ad un approccio random.

  • Test Combinatorio: partizione delle categorie, combinazioni a coppie.

  • Test Strutturale: copertura delle istruzioni, decisioni, condizioni e cammini.

  • Infrastrutture per l'esecuzione dei test: driver, stub e oracoli

  1. Analisi dei programmi:
  • Distinzione fra analisi statica e analisi dinamica

  • Tecniche di analisi statica: analisi simbolica

Prerequisiti

Nessun prerequisito essenziale. E' utile la comprensione di alcuni concetti base trattati negli insegnamenti di Fondamenti dell'informatica, di Programmazione 1, di Programmazione 2, di Reti e Sistemi Operativi, e di Analisi e Progettazione del Software.

Modalità didattica

Lezioni ed esercitazioni in aula. Attività di laboratorio assistita in aula. Lingua di erogazione: italiano.

Materiale didattico

Testi di riferimento

Ross Anderson. Security Engineering. 2 ed, Wiley 2008

Mauro Pezzè, Michal Young. Software Testing and Analysis: Process, Principles and Techniques. John Wiley, 2008

Periodo di erogazione dell'insegnamento

Secondo semestre

Modalità di verifica del profitto e valutazione

La verifica dell'apprendimento comprende una prova scritta e una eventuale colloquio orale.

La prova scritta consiste nella risoluzione di esercizi che richiedono calcolo, esercizi che richiedono sviluppo di una soluzione ad un problema assegnato, domande sulle nozioni presentate, e domande di ragionamento e deduzione. Tutte le domande proposte sono a risposta aperta. Gli esercizi hanno la finalità di controllare le competenze di problem solving acquista durante il corso, e le domande permettono il controllo intensivo delle conoscenze teoriche e sulle capacità di riflessione autonoma su punti critici del programma. Solitamente la prova scritta si compone di 3 esercizi e 5 domande a risposta aperta. Gli esercizi sono valutati in base alla correttezza della soluzione proposta, e le domande aperte in base alla completezza e precisione delle risposte corrispondenti.

Il colloquio orale è opzionale e, se richiesto dallo studente, consiste in un colloquio che verte su tutti i punti del programma. Il risultato del colloquio complementa, in positivo o in negativo, il voto che deriva dalla valutazione della prova scritta.

La verifica dell'apprendimento può inoltre derivare dall'esito di due prove intermedie parziali, svolte in forma scritta con modalità equivalenti alla prova complessiva, ma vertenti sui contenuti di metà del programma ognuna. La prima prova parziale riguarda la parte di programma su convalida di affidabilità, test e analisi del software. La seconda prova parziale riguarda la parte di programma sulla sicurezza informatica. La valutazione finale deriva dalla media delle valutazioni delle due prove parziali, che devono però essere necessariamente entrambe sufficienti.

Orario di ricevimento

Su appuntamento

Sustainable Development Goals

IMPRESE, INNOVAZIONE E INFRASTRUTTURE
Esporta

Aims

This course aims to provide knowledge of the problems of software security and software validation, and competencies on techniques to address these problems. In particular, by the end of this course, the perspective students will be capable of analyzing risks and critical points of an information system, administering tools for defending information systems, understanding the phases of an attack, and analyzing and designing solutions in application contexts that require software validation.

Contents

The problem of information security. Heterogeneity of expertise required in the field of security. Attack and defense roles in information systems. The problem of software validation. Methods of software testing: functional testing, structural testing, model-based testing. Infrastructures for test execution. Static and dynamic analysis of programs.

Detailed program

  1. Risks when using an information system, and related roles and expertise

  2. Techniques and protocols for security

  • Criptography, implementation errors and attacks

  • Security in operating systems and networks

  1. Secure programming
  • Security errors in applications

  • Analysis of known programs that exhibit vulnerabilities

4, Malicious software: troians, back-doors, locgical bombs, viruses, worms

  1. Software validation: dimensions of the problem.

  2. Testing:

  • Functional testing: sources of information to design tests, functional (black-box) testing, pros and cons in comparison to the random approach

  • Combinatorial testing: category partition, pairwise combinations.

  • Structural testing: coverage of statements, branches, conditions and paths.

  • Test infrastructures: driver, stub and oracles

  1. Program analysis:
  • The difference between static and dynamic analysis

  • Static analysis: symbolic analysis

Prerequisites

No essential prerequisite. It can be useful to master the base concepts from the following courses: Fondamenti dell'informatica, Programmazione 1, Programmazione 2, Reti e Sistemi Operativi, Analisi e Progettazione del Software

Teaching form

Lessons in class. Laboratory work in class. Lessons will be given in Italian.

Textbook and teaching resource

Textbooks:

Ross Anderson. Security Engineering. 2 ed, Wiley 2008

Mauro Pezzè, Michal Young. Software Testing and Analysis: Process, Principles and Techniques. John Wiley, 2008

Semester

Second semester

Assessment method

The assessment method consists of a written exam, and possibly of an oral exam.

The written exam consists of exercises that require calculations, exercises that require to solve an assigned problem, questions on the presented notions, and questions that require reasoning and deductions. All questions are open questions. The exercises aim to control the problem solving competencies acquired as a result of the course, and the open questions allow for in-depth control of the theoretical topics and on the capability of the students to autonomously and critically reflect on the critical points of the course programme. Usually the written exam includes 3 exercises and 5 open questions. The exercises are evaluates based on the correctness of the proposed solution, and the open questions based on the completeness and precision of the corresponding answers.

The oral exam is options and, if requested by a student, consists on a discussion on all points of the course programme. The result of the oral exam complements, either positively or negatively, the grade that derives from the evaluation of the written exam.

Furthermore the assessment can be accomplished with two separate partial exams, which are both written exams and evaluated with in the same way as the entire written exam explained above. Each partial exam addresses half of the course programme. The first partial exam focuses and the programme on software validation, test and analysis. The second partial exam focuses on the programme on software security. The final evaluation is the average of the evaluations of the partial exams, which must necessarily be both sufficient.

Office hours

By appointment

Sustainable Development Goals

INDUSTRY, INNOVATION AND INFRASTRUCTURE
Entra

Scheda del corso

Settore disciplinare
INF/01
CFU
8
Periodo
Secondo Semestre
Tipo di attività
Obbligatorio a scelta
Ore
72
Tipologia CdS
Laurea Triennale
Lingua
Italiano

Staff

    Docente

  • Pietro Braione
    Pietro Braione
  • Giovanni Denaro
    Giovanni Denaro
  • LG
    Luca Guglielmo

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale
Iscrizione spontanea (Studente)

Obiettivi di sviluppo sostenibile

IMPRESE, INNOVAZIONE E INFRASTRUTTURE - Costruire una infrastruttura resiliente e promuovere l'innovazione ed una industrializzazione equa, responsabile e sostenibile
IMPRESE, INNOVAZIONE E INFRASTRUTTURE

Non sei collegato. (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche