CS6570 - Secure Systems Engineering

Course Data :


The course provides an introduction to designing secure systems. It covers popular hardware, operating system, and application layer vulnerabilities.

Course Content:

  • Unit 1 Hardware Security Hardware Trojans and Detection PUFs - Power Analysis Attacks and Countermeasures -Fault Attacks - Implementation Aspects of Crypto Algorithms (A case study of AES and ECC)
  • Unit 2 Micro Architectural Security Timing attacks and Covert Channels - RAM based attacks - Cold boot - Rowhammer
  • Unit 3 Operating System Security Stack Smashing Attacks - Dynamic Memory Allocation Attacks - Format String Vulnerabilities - return-to-libc attacks - ROP attacks - Side Channel Attacks in Operating Systems Countermeasures - Non-executable stacks - Capability based Systems - Canaries - Malware Analysis Techniques
  • Unit 4 Application Security SQL Insertion - Shell Shock - Heart bleed bug
  • Unit 5 Formal Verification of Security Protocols Practicals Power Analysis Attacks. Given power traces of an encryption system such as AES, the participants would need to build algorithms to determine the secret key. Fault Attacks. Given a faulty and a fault free ciphertext, the participants would need to write code to determine the secret key. Timing Attacks. In this assignment, participants would develop a timing attack on encryption systems like the RSA or/and AES. Stack Smashing Attacks. The intent of this assignment is to understand stack smashing and how they can be used to develop malicious software. Operating System Side Channels. Demonstrate an OS side channel attack. For instance, using memory footprints to determine the web page browsed.

Text Books:

Published work in IEEE and ACM will be used for this course

Reference Books:




Credits Type Date of Introduction
4-0-0-0-8-12 Elective Jan 2017

Previous Instances of the Course

© 2016 - All Rights Reserved - Dept of CSE, IIT Madras
Website Credits