Security methods and verification

Code 293AA
Credits 6

Learning outcomes

The course is meant to provide a broad overview of security in networking systems and software applications. With the students, we will explore the theoretical foundations of security, and the formal methodologies used to design, analyse and verify secure systems and applications. Experimental aspects are addressed, too.
Lectures cover the following topics and are also based on a series of research papers.
- Language based security
- Design principles for security protocols
- Information flow security
- Java security, Stack inspection and access control
- Web-application security
At the end, students should have acquired a security-aware way of thinking to systems; they should understand which are the main issues and which are the ways to increase systems security, by co-designing it with the systems, from the very beginning. The course will introduce some notions and problems that concern the security of net applications and will present some formalisms and techniques to address them.