This course would cover the design and implementation of secure systems. There will be three parts in the course (1) security threats and exploits in programs (2) mitigation techniques (3) detection techniques

Tentative topics include threat models, popular security attacks like (buffer overflows, return-to-libc, format string, ROPs, heartbleed, side channel analysis, etc.). Techniques for secure system design such as the use of capabilities, SGX, root of trust, and PUFs will be discussed.

Tentative evaluation will be as follows : 50% from coding assignments, 25% for mid-semester exam, 25% for end-semester exam. Optionally, students can choose to do a course project instead of the end-semester exam.


Chester Rebeiro


computer organization/architecture, advanced programming in C, operating systems, data structures and algorithms


Theory Classes

Classes will be held from 31/July/2018 in CS34. Slot E.

Tuesdays (11:00 - 12:00)

Wednesday (10:00 - 10:50)

Thursday (8:00 - 8:50)

Friday (16:50 - 17:40) (used only for assignments and tutorials)


  • Prasanna Karthik
  • Keerthi K.
  • Nikhilesh Kumar Singh