703340 VU Further Topics in Secure and Distributed Computing: Static Program Analysis for (Web) Security

winter semester 2025/2026 | Last update: 29.07.2025 Place course on memo list
703340
VU Further Topics in Secure and Distributed Computing: Static Program Analysis for (Web) Security
VU 3
5
weekly
annually
English

After passing this course, the student has gained an understanding of general static program analysis concepts, as well as hands-on experience using these concepts to analyze PHP programs. This course covers fundamental concepts such as Abstract Syntax Trees (AST), Control Flow Graphs (CFG), Program Dependency Graphs (PDG), Call Graphs, and their merge as a Code Property Graph (CPG). Each covered concept is then transferred towards analyzing real-life PHP applications for common data and control flow vulnerabilities using basic graph traversal approaches and slicing.

The goal of this course is to provide practical understanding and hands-on experience in conducting static program analysis to identify security vulnerabilities. We will cover the required concepts and apply them in hands-on exercises analyzing PHP applications. 

  • Representing programs as a graph: AST, CFG, PDG, Call Graph, Code Property Graphs
  • Common data and control flow vulnerabilities in PHP web applications such as XSS, SQLi, CMDi, execution after redirect, or race conditions
  • Leveraging path traversal and slicing to identify vulnerabilities in applications

The course is a continuous assessment course.

Students attending this course should have experience in programming, at least in Java, preferably across multiple languages. The main programming languages of this course are PHP and Scala 3, a JVM dialect close to Java. We will cover the required basics for both languages, but students are expected to deepen their understanding at home.

The accompanying material and tools are written in Scala 3, and students are expected to work with and extend this tooling. 

This course is given in English, and all resources will be provided in English.

see dates
Group 0
Date Time Location
Wed 2025-10-01
13.45 - 16.15 rr 26 rr 26
Wed 2025-10-08
13.45 - 16.15 rr 26 rr 26
Wed 2025-10-15
13.45 - 16.15 rr 26 rr 26
Wed 2025-10-22
13.45 - 16.15 rr 26 rr 26
Wed 2025-10-29
13.45 - 16.15 rr 26 rr 26
Wed 2025-11-05
13.45 - 16.15 rr 26 rr 26
Wed 2025-11-12
13.45 - 16.15 rr 26 rr 26
Wed 2025-11-19
13.45 - 16.15 rr 26 rr 26
Wed 2025-11-26
13.45 - 16.15 rr 26 rr 26
Wed 2025-12-03
13.45 - 16.15 rr 26 rr 26
Wed 2025-12-10
13.45 - 16.15 rr 26 rr 26
Wed 2026-01-07
13.45 - 16.15 rr 26 rr 26
Wed 2026-01-14
13.45 - 16.15 rr 26 rr 26
Wed 2026-01-21
13.45 - 16.15 rr 26 rr 26
Wed 2026-01-28
13.45 - 16.15 rr 26 rr 26
Group Booking period
703340-0 2025-09-01 08:00 - 2025-09-21 23:59
Koch S.