This page contains the material of (new) undergraduate course Sicurezza held by Prof. Riccardo Focardi . Course is taught in Italian but this page and all the material is in English.

IMPORTANT NOTE: In this course you will learn attack techniques. Remember that trying attacks on real systems is against law and you might be prosecuted. Always do experiments with test hosts and users.

On-line classes and exams

  • due to Coronavirus emergency classes will be taught both in class and online through the official Moodle page
  • the exact form of the written test will be announced during the semester

Exam and optional assignments (challenges)

The exam consists of a written test that aims at verifying the knowledge of the different topics of the course. Assignments are optional and consist of a problem (challenge) to solve, giving an extra score with respect to the the mark of the written test.


Course is strongly based on on-line material since there exists no textbook covering practical security in a satisfactory way. All slides, links and extra material will be made available in this page. For program exploitation it is possible to refer to the (not so recent) book: J. Erickson, Hacking, the art of exploitation, No starch press, 2008.

Useful links

Program and on-line material

Background e TOOLS

Program analysis

Program exploitation

  • [08/10/2020] Buffer overflow (slides, class-first part, ex. solution)
  • [14/10/2020] Stack overflow (slides, class)
  • [15/10/2020] Lab on stack protector (on-line lab)
  • [21/10/2020] Format strings (slides, class)
  • [22/10/2020] Secure coding (slides ,class)
  • [28/10/2020] Challenge 2: Program Exploitation (challenge)

    System and network security

  • [29/10/2020] Identification (slides, class)
  • [04/11/2020] Access control (slides, class)
  • [05/11/2020] Firewalls (slides, class)
  • [11/11/2020] Challenge 3: Identification (challenge, we meet on slack)

    web security (server)

  • [12/11/2020] Web attacks – server side  (slides, class)
  • [18/11/2020] Web attacks and defences – server side (slides, class)
  • [19/11/2020] Lab on server side web attacks (on-line lab, we do not meet at any specific time for this class)
  • [25/11/2020] Side channels (Blind SQLi) (slides, class)
  • [26/11/2020] Challenge 4: SQL injections (challenge, we meet on slack)

    WEB SECURITY (client)

  • [02/12/2020] Client side security (slides, class)
  • [03/12/2020] Client side attacks (XSS and CSRF) (slides, class, examples)