IT Security (MSc major specialization in the Computer Engineering program)
The IT Security major specialization introduces the main security problems of IT systems and the approaches, methods, and tools used to solve those problems. We put the emphasis on practical applications, while students also get familiar with the security analysis techniques and design principles through the analysis of different security solutions. Those who complete the IT Security major specialization are able to identify security problems in practical IT systems, analyze and understand such problems, and design and develop appropriate security solutions. The students also learn when and how to apply cryptography to practical security problems.
The IT Security major specialization consists of four courses (Software Security (VIHIMA21), Computer and Network Security (VIHIMA23), Cryptographic Protocols (VIHIMB08), Security of Machine Learning (VIHIMB09)) and two lab exercises (Software Security Laboratory (VIHIMA22), Computer and Network Security Laboratory (VIHIMB07)). We also supervise student semester and diploma projects.
In the past: IT Security (MSc minor specialization in the Computer Science program)
We offer semester and diploma projects that are related to the research activities in the lab, or proposed by our industrial partners, therefore, they provide the opportunity for the students to join our research and development projects, or collaborate with our industrial partners.
If you are a student interested in any of our current project proposals, please, get in touch with the given contact person of the project before officially applying. The contact person will let you know the necessary steps for taking the project officially.
This course introduces security problems in software development: students will learn the most common mistakes in software development and how attackers exploit those mistakes (offensive security). Then, students get to know how to mitigate attacks and write secure applications.
Topics: secure software development lifecycle; security testing; web security; secure API design; secure coding in Java & C#; iOS security; Android security; secure coding in C/C++; machine learning in software development
This laboratory extends and deepens the knowledge and skills obtained in the Software Security course by solving practical, hands-on exercises in real, or close-to-real environments.
Topics: secure software development lifecycle; security testing; web security; secure API design; secure coding in Java & C#; iOS security; Android security; secure coding in C/C++; machine learning in software development
The course introduces security problems in computing and networked systems, as well as the principles, practical mechanisms, and tools used to solve them. The course covers physical security and OS level security of computers, and the problem of malicious software (malware). It also covers issues related to secure operation of networks in practice. Students get theoretical knowledge and practical skills to assess security risks, understand threats and vulnerabilities. The course also serves as a basis for obtaining skills in penetration testing and ethical hacking of networks.
Topics: operating systems security; malware techniques, detection, and analysis; security of mobile platforms; virtualization security; incident response and digital forensics; tamper resistance and physical security; network penetration testing; firewalls; intrusion detection/prevention systems, SIEMs; honeypots; network infrastructure security (e.g., DNSSEC); spam filtering; industrial control network security
This laboratory extends and deepens the knowledge and skills obtained in the Computer and Network Security course by solving practical, hands-on exercises in real, or close-to-real environments.
Topics: firewalls; virtual private networks; access control; network penetration testing; virtualization security; incident response and digital forensics; industrial control network security
This course gives an introduction to the basics of cryptography, explains how basic cryptographic building blocks work, and demonstrates how secure systems can be engineered by properly using and combining these building blocks. Besides the theoretical background, we use lot of illustrative examples and show practical applications. In addition, classroom exercises, home work assignments, and an implementation project deepen the knowledge of students and provide opportunities to acquire practical skills in the field of cryptographic engineering.
Topics: symmetric and asymmetric key ciphers, hash functions, MAC functions, digital signature schemes, authenticated encryption and secure channels, key exchange, key generation and derivation, management of public keys, TLS protocol and its attacks, Wifi security protocols and their attacks, secure storage, electronic signature and PKI, blockchain and crypto currencies, other applications, post-quantum cryptography
In the rapidly evolving landscape of artificial intelligence, the integration of machine learning brings unprecedented opportunities but also introduces new security and privacy challenges. This MSc course gives an overview of adversarial machine learning that focuses on potential threats and vulnerabilities that may compromise the integrity, confidentiality, and availability of machine learning models, as well as their mitigations. Establishing robust security measures becomes paramount in the near future that is also required by the forthcoming EU AI Act and the already enacted GDPR.
Topics: membership inference, reconstruction attack, model extraction, poisoning, adversarial examples, evasion, backdoor, robustness, machine learning availability