logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 089165 - COMPUTER SECURITY
Docente Carminati Michele
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing - Civ (Mag.)(ord. 270) - MI (495) GEOINFORMATICS ENGINEERING - INGEGNERIA GEOINFORMATICA*AZZZZ095900 - COMPUTING INFRASTRUCTURES AND COMPUTER SECURITY
089165 - COMPUTER SECURITY
Ing Ind - Inf (Mag.)(ord. 270) - CR (263) MUSIC AND ACOUSTIC ENGINEERING*MZZZZ089165 - COMPUTER SECURITY
Ing Ind - Inf (Mag.)(ord. 270) - MI (471) BIOMEDICAL ENGINEERING - INGEGNERIA BIOMEDICA*MZZZZ089165 - COMPUTER SECURITY
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*MZZZZ089165 - COMPUTER SECURITY
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*MZZZZ089165 - COMPUTER SECURITY

Obiettivi dell'insegnamento

Modern computer systems routinely handle high-value information such as financial data, economic transactions, and various forms of valuable intellectual property. Moreover, information systems are becoming pervasive, always-on and increasingly interconnected. Ensuring information security in this landscape is an extremely challenging task.

Designing and building secure information systems is a complex, interdisciplinary problem mixing elements of cryptography, software engineering, secure networking, as well as political and social challenges.

This course is an extensive introduction to the challenges of security engineering and to the methodology to build, validate, and (ethically) bypass security systems with the goal of learning how to secure them properly.

During the lectures, we will analyze the various building blocks of a computer and information system, including their security subsystems. We will constructively analyze their vulnerabilities, see how these can be exploited, and deductively learn what was wrong and how to avoid repeating such engineering mistakes.

The course has a strong "hands-on" philosophy. Practical exercises will be conducted for all the topics marked with a (*) in the following syllabus. A "virtual hacking lab" will be available, where students can practice how to bypass and secure computer applications.

 


Risultati di apprendimento attesi

At the end of the course, students will have developed the skills needed to assess the basic security issues of systems and networks. They will know a rudimentary risk assessment methodology. They will have a broad knowledge of basic security technologies and of their fallacies and issues.


Argomenti trattati

1) Introduction to information security

- What is information security: examples

- Vulnerabilities, Risks, Exploits, Attackers: definitions

- Security as risk management

- Development of an enterprise security policy

 

2) A short introduction to cryptography

- Basic concepts: cypher, transposition, substitution

- Symmetric and asymmetric ciphers

- Hash functions, digital signatures and PKI

- Vulnerabilities in digital signature schemes and in PKI

- Why all of the above is almost useless as a security defense

 

3) Authentication

- The three ways of authentication

- Multifactor authentication

- Authentication technologies evaluation; bypassing authentication control (*)

 

4) Authorization and access control

- Discretionary (DAC) and mandatory (MAC) access control policies

- Multilevel security and its applications: military secrets management

 

5) Software vulnerabilities

- Design, implementation and configuration bugs

- Typical memory errors: buffer overflow and format string bugs

- Exploiting applications and local privilege escalation (*)

- Web application security: introduction

- Typical code-injection vulnerabilities: cross-site scripting and SQL injections

- Hacking real web applications (*)

- Code review and fuzzing: finding bugs in real world applications

 

6) Secure networking architectures

- Network protocol attacks: sniffing, denial of service, spoofing, DNS poisoning, ARP poisoning

- Firewall: taxonomy and technologies

- Secure network architectures (DMZ and multi-zone networks)

- Virtual private networks (VPN)

- Secure connections and transactions: the tale of SSL and SET and their weaknesses

- Wireless security protocols (WEP, EAP, 802.1X, WPA)

 

7) Malicious software

- The evolution of malicious software: from the Morris worms to modern malware

- Mobile malware: the case of malicious Android apps

- Botnets and underground economy

- Malware analysis and honeypots


The course is complementary and not alternative to cryptography courses such as "095947 CRYPTOGRAPHY AND ARCHITECTURES FOR COMPUTER SECURITY". The overlap with such courses is minimal.


Prerequisiti

Students will need a basic knowledge of the following topics:

  • Network protocols (in particular the TCP/IP suite and HTTP)
  • Web applications and their 3-tier architecture
  • C
  • basic knowledge of operating systems, memory allocation and assembly language (this will be refreshed during the course)

Modalità di valutazione

The exam is a written test (Italian students can, if they so wish, answer in Italian). The grade can be integrated with points available during the year with specific "assignments", such as breaking into applications made available in the virtual hacking lab, or solving specific problems handed out during classes.


Bibliografia
Risorsa bibliografica facoltativaRoss Anderson, Security Engineering, Editore: Wiley, ISBN: 0-471-38922-6 http://www.cl.cam.ac.uk/~rja14/book.html
Risorsa bibliografica facoltativaDieter Gollmann, Computer Security - 3rd edition, Editore: Wiley, Anno edizione: 2011, ISBN: 978-0-470-74115-3
Note:

It is vital that you get the 3rd edition if you choose this book!


Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
30:00
45:00
Esercitazione
20:00
30:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.8.2 / 1.8.2
Area Servizi ICT
07/06/2023