Project Description

Learning objectives

The course, positioned in the first year of the undergraduate programme, aims to introduce the student to ICT technologies and infrastructures from the point of view of their security.In addition to illustrating the main architectural and cryptographic solutions, the course includes an introduction to either the main threats and attacks, as well as the basic techniques for the relevant defense. The course also includes practical exercises and laboratory activities focused on the acquisition of practical skills in the protection of ICT systems (firewall, vulnerability analysis, network scan, etc).

At the end of the course, the student will have acquired skills related to the main cryptographic techniques for user authentication and for the protection, authentication and secure storage of data. He/She will also be able to understand present (and emerging) vulnerabilities in modern computer architectures and in network systems and services.

Once the skills described above will be acquired, the student will be able to analyze architectural and system-level vulnerabilities present in an ICT infrastructure both in the relevant devices as well as in the network. The student will also be able to identify and apply solutions and techniques for the mitigation of these vulnerabilities.

The course will allow the student to verify and assess the security level of an ICT infrastructure, and will provide the student with the concepts, technologies, and basic tools necessary for the design of secure ICT infrastructures.

At the end of the course the students will master the terminology related to the security of ICT infrastructures, and will be able to use an appropriate and actual technical language in their presentations and arguments.

The course will stimulate the student to stay up to date via self-learning – a necessity in this field given the rapid obsolescence of the technologies and solutions here at stake – providing numerous examples and pointers to external information sources both for technological and methodological aspects.


The course is logically structured in three parts.

Part 1. Computer Architecture security. Basic elements of computer architecture. Processes and communication between processes. Services. User authentication. Practical analysis and scanning tools (exercises with Kali Linux). Vulnerability analysis at the operating system level. Types of malware and their detection. Log analysis and correlation. Vulnerability analysis at the micro architectural level. Side channel attacks.

Part 2. Network security. Introduction to the internet network infrastructure: protocols, protocol architecture, operation. Attacks to resolution protocols (DNS spoofing, ARP poisoning). Traffic monitoring and analysis. Detection of anomalies. Protection and filtering: perimetral security and firewall, intrusion detection systems, lateral movements, a brief introduction to APT (advanced Persistent Threat).

Part 3. Data security. Integrity vs. confidentiality versus other security services. Basics of elementary cryptography: stream ciphers, block ciphers and relevant “modes” (CBC, CTR), vulnerabilities, references to traditional algorithms (RC4, DES) and current (AES). Data integrity, hash functions, HMAC. Brief intro to authenticated encryption (AEAD in general + AES-CCM / AES-GCM examples). Asymmetric cryptography, PKI, certificates. Cryptographic tecniques for user authentication. Secure storage infrastructures: hash chains, merkle trees, basic building blocks of current blockchain infrastructures. Overview of extended validation of certificates through certificate transparency.

However, the temporal organization of the course will not necessarily follow this logical organization, but, whenever necessary to understand the rest, we will anticipate selected topics related to cryptographic techniques and internet protocols.

0 credits
120 hours
0 year
Bachelor Degree
0 semester