Secure Programming I

Secure Programming I


Davide Balzarotti

For correspondence, send a mail to


  1. 5.04.2011 Fixed the website template. Now the "standings" link works
  2. 1.04.2011 First Challenge is online.
  3. 25.03.2011 Beginning of the Course. Lectures will start at 09.00 promptly


Internet security has become part of everyday life where security problems impact practical aspects of our lives. Even though there is a considerable corpus of knowledge about tools and techniques to protect networks, information about what are the actual vulnerabilities and how they are exploited is not generally available. This situation hampers the effectiveness of security research and practice. Understanding the details of network attacks is a prerequisite for the design and implementation of secure systems.

This course presents the principal protocols and applications that are used in the Internet today, discussing in detail the related vulnerabilities and how they are exploited. For each vulnerability, possible protection and detection techniques are examined. The course includes a number of practical lab assignments where participants are required to apply their knowledge as well as a discussion of the current research in the field. Students will learn how the security of networks can be violated and how such attacks can be detected and prevented.

The course aims to make the students "security aware" and gain a basic understanding about security issues. For students who are interested in advanced security topics and practical assignments, we offer the Secure Programming II class in the winter semester.

Dates and Times

Fridays, 09:00-12:00

Lecture dates:

10.06.2011 Lecture 7
20.05.2011 Lecture 6
13.05.2011 Lecture 5
06.05.2011 Lecture 4
08.04.2011 Lecture 3
01.04.2011 Lecture 2
25.03.2011 Lecture 1


New slides will be provided here after the lectures.

19.03.2011 Lecture 1 download
26.03.2011 Lecture 2 download
08.04.2011 Lecture 3 download
6.05.2011 Lecture 4 download
13.05.2011 Lecture 5 download
20.05.2011 Lecture 6 download
10.06.2011 Lecture 7 download

Practical Challenges (Assignments)

Students will "need" to solve a set of practical challenges (assignments) in the lab part of the course.
For more information on the challenges and the grading, check this page.

The current challenge is Challenge 1.


Written exam at the end of the course.


Check the slides of the first Lesson for the instruction to register.
Last Modified: Fri Jun 10 18:20:47 CEST 2011

International Secure Systems Lab