Secure Programming I

Secure Programming I

Lecturers

Engin Kirda and Davide Balzarotti

For correspondence, send a mail to secprog@iseclab.org

News

  1. 15.06.2009 The bonus Challenge 6 is online. Use your bandit credentials to access the specs.
  2. 04.06.2009 The bonus Challenge 6 will be announced on 15.06., at 11.00.
  3. 27.05.2009 Challenge 5 is online. Use your bandit credentials to access the specs.
  4. 24.05.2009 Challenge 5 will be announced on 27.05., at 11.00.
  5. 11.05.2009 Challenge 4 is online. Use your bandit credentials to access the specs.
  6. 10.05.2009 Challenge 4 will be announced on 11.05., at 11.00.
  7. 20.04.2009 Challenge 3 is online. Use your bandit credentials to access the specs.
  8. 09.04.2009 Challenge 3 will be announced on 20.04., at 11.00.
  9. 30.03.2009 Challenge 2 is online. Use your bandit credentials to access the specs.
  10. 26.03.2009 Challenge 2 will be announced on 30.03., at 11.00.
  11. 16.03.2009 Challenge 1 is online. Use your bandit credentials to access the specs.
  12. 15.03.2009 Challenge 1 will be announced on 16.03., at 11.00.
  13. 02.03.2009 The lab part of the course will start on the 13th of March. Send a mail to EK to register.
  14. 23.02.2009 The web site for the SS 2009 semester will be updated by the beginning of March.

Abstract

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.

Topics

  • TCP/IP security (spoofing, hijacking, sequence number guessing, denial-of-service attacks)
  • Web security (SQL injection, parameter injection, parameter tampering, etc.)
  • Network discovery/vulnerability scanning: techniques and tools (portscans, ping sweeps)
  • Distributed systems security
  • Firewalls and traffic filtering
  • Intrusion Detection Systems
  • Buffer Overflows
  • Operational Practices
  • Architectural Principles and Testing

Prerequisites

  • basic operating system knowledge (Linux/Unix, Windows)
  • interest for technical security issues
  • good programming knowledge (e.g., Java, Web scripting, HTML advantageous)
  • basic database knowledge (SQL)
  • basic network knowledge (TCP/IP)

Dates and Times

Mondays, 09:00-12:00

Lecture dates:

15.06.2009 Lecture 6 / Held
27.04.2009 Lecture 5 / Held
20.04.2009 Lecture 4 / Held
30.03.2009 Lecture 3 / Held
16.03.2009 Lecture 2 / Held
02.03.2009 Lecture 1 / Held

Slides

New slides will be provided here after the lectures.

15.06.2009 Lecture 6 download
27.04.2009 Lecture 5 download
20.04.2009 Lecture 4 download
30.03.2009 Lecture 3 download
16.03.2009 Lecture 2 download
02.03.2009 Lecture 1 download

Practical Challenges (Assignments)

This year, the students will "need" to solve a set of practical challenges (assignments) in the lab part of the course. The practical part of the course aims to prepare the students for more advanced topics and programming done in the Secure Programming II course.

For more information on the challenges and the grading, check this page.

The current challenge is Challenge 6.

Examination

Written exam (English). About 15 questions, 60 minutes time, no course material allowed.

Registration

The lab part of the course will start on the 13th of March. Send a mail to EK to register.
Last Modified: Thu Oct 8 22:50:30 CEST 2009


International Secure Systems Lab www.iseclab.org