Kies de Nederlandse taal
Course module: 201500039
Security Verification
Course info
Course module201500039
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact personprof.dr. M. Huisman
PreviousNext 5
A.B. Ahmad
dr. P. van den Bos
dr. G. Caltais
dr. T. van Dijk
dr. M. Gerhold
Academic year2022
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
The student will acquire:
  • A good understanding of how formal verification techniques can be used to detect security vulnerabilities in software
  • Practical experience with applying formal specification techniques to realistic software to detect security vulnerabilities.
Motivation: Many security problems in software systems can be detected by using formal verification techniques in an adequate way. In this course, the students experience this in a hands-on setting: in the form of an individual project, they use a suitable formal verification technique to analyse the security of a software system.

Synopsis: This course is done in the form of an individual project. In the prerequisite courses, the students have obtained knowledge about possible security threats for software systems, and how formal techniques can be used to specify and verify the behaviour of a software system. In this course, they combine this knowledge in a concrete case study.
The student agrees with the supervisor on a suitable software system to be analysed. Possible security threats are identified, and the student then studies the literature on how formal verification techniques have been used to detect the identified security threats. Based on this literature study, a suitable verification approach is identified.
The student then uses the formal verification technique to identify whether the system indeed suffers from security issues. If appropriate, a fix is proposed, and the student uses the formal verification technique to show that the security issue has been properly addressed.

The student and supervisor together decide how the student will report on the work done. Typically, this will be done in the form of a report, and a presentation to the FMT group.
Assumed previous knowledge
Mandatory: Software Security, System Validation
knowledge of first-order logic, basics of program specifications (pre- and postconditions)
Participating study
Master Computer Science
Required materials
Recommended materials
Instructional modes
Project supervised
Presence dutyYes

Individual take home assignment

Kies de Nederlandse taal