Malware (2018/2019)

Course code
Roberto Giacobazzi
Academic sector
Language of instruction
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 4 II semestre Roberto Giacobazzi

Go to lesson schedule

Laboratorio 2 II semestre Federica Maria Francesca Paci

Go to lesson schedule

Learning outcomes

The course aims to provide the theoretical and practical bases of the malevolent code. In particular, the course proposes techniques for the definition and classification of malicious code, analysis of malicious code and risk management.

At the end of the course, the student will have the necessary knowledge to understand the nature and evolution of the malicious code, anti-detection techniques and risk profiles. Furthermore, it will be able to perform reverse engineering of malicious code, identifying its essential components.

This knowledge will allow the student to classify the threats and their evolution deriving from malicious code based attacks.

The student will then be able to continue his/her studies autonomously in the field of computer security, studying new malicious codes and the respective countermeasures to mitigate their effects.


Malware definitions, Taxonomy, theoretical virology, Malware life cycle, polymorphism and metamorphism, code similarity and similarity analysis, android malware, bot net, logic bomb, worms.

Assessment methods and criteria

The students will be asked to produce home-works during the course and the reverse engineering of a given malware or the design of a new malware. Malware reverse engineering or the new malware design will be made by groups of at least 2 students and no more than 3 students. Students may freely choose which project do within the list proposed at the end of the course.

Reference books
Activity Author Title Publisher Year ISBN Note
Laboratorio Michael Sikorski and Andrew Honig Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software