Secure-Systems

System Security

About

  • Course: System Security (MCSSE-CYB-02)
  • Semester: Spring 2024
  • Prerequisites: Cryptography (MCSSE-CYB-01)
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30, R.1-87
  • Class: Wednesday, 14:15-15:30, RLH Seminar Room
  • Class: Friday, 15:45-17:00, RLH Seminar Room
  • 1st Module Exam: Tuesday, 2024-05-28 12:30-14:30 (East Hall 6)
  • 2nd Module Exam: Thursday, 2024-08-29 11:00-13:00 (East Hall 4)

Content and Educational Aims

This module focuses on system level security aspects of computing systems. The module starts with investigating attacks on the microarchitecture of computing systems, such as attacks to gain information from side channels targeting caches. It then introduces trusted execution environments that use hardware isolation mechanisms to provide protected storage for keys and to bootstrap the integrity of bootloaders and the loaded operating systems. Students learn about the different levels of isolation that can be achieved using various types of hypervisors or sandboxing mechanisms. Techniques that can be used to protect a system against misbehaving code and malware are introduced. Students will gain knowledge how protected data storage components can be provided at the system level and how systems can offer support for collections of (distributed) authentication mechanisms. Finally, the module will discusses how authorization mechanisms are realized in the different system software components and how they can be used to define effective security policies.

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO-566)
  • Semester: Spring 2024
  • Prerequisites: Operating Systems (CO-562)
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30, R.1-87
  • TA: Perial, Razvan Andrei
  • TA: Stefanovska, Tea
  • Class: Tuesday, 15:45-17:00, Lecture Hall Research I
  • Class: Thursday, 15:45-17:00, Lecture Hall Research I
  • 1st Module Exam: Tuesday, 2024-05-28 16:00-18:00 (ICC West Wing)
  • 2nd Module Exam: Thursday, 2024-08-29 14:00-16:00 (R1-53)

Content and Educational Aims

This module introduces students to the fundamentals of computer security and techniques used to build and analyze dependable systems. This is an important topic given that computer systems are increasingly embedded in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars). Furthermore, computer systems control complex communication systems that form critical infrastructure of the modern globalized world. Proper protection of information requires an applied understanding of cryptography and how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent, identify, and fix them.

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO-566)
  • Semester: Spring 2023
  • Prerequisites: Operating Systems (CO-562)
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30, R.1-87
  • TA: Bodaveli, Nikolozi
  • Class: Tuesday, 15:45-17:00, RLH-172 Conrad Naber Lecture Hall
  • Class: Thursday, 15:45-17:00, RLH-172 Conrad Naber Lecture Hall
  • 1st Module Exam: 2023-05-23 18:00-20:00, ICC East Wing
  • 2nd Module Exam: 2023-08-29 14:00-16:00, Research I, Lecture Hall

Content and Educational Aims

This module introduces students to the fundamentals of computer security and techniques used to build and analyze dependable systems. This is an important topic given that computer systems are increasingly embedded in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars). Furthermore, computer systems control complex communication systems that form critical infrastructure of the modern globalized world. Proper protection of information requires an applied understanding of cryptography and how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent, identify, and fix them.

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO-566)
  • Semester: Spring 2022
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30, R.1-87
  • TA: Hernández Salamanca, Mario Alberto
  • Class: Tuesday, 15:45-17:00, R.1-53 Lecture Hall
  • Class: Thursday, 15:45-17:00, R.1-53 Lecture Hall
  • Class: Friday, 15:45-17:00, R.2-52 Lecture Hall
  • 1st Module Exam: Monday, 2022-05-30, 09:00-11:00, R.1-53 Lecture Hall
  • 2nd Module Exam: Thursday, 2022-08-25, 14:00-16:00, R.1-53 Lecture Hall

Content and Educational Aims

This module introduces students to the fundamentals of computer security and techniques used to build and analyze dependable systems. This is an important topic given that computer systems are increasingly embedded in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars). Furthermore, computer systems control complex communication systems that form critical infrastructure of the modern globalized world. Proper protection of information requires an applied understanding of cryptography and how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent, identify, and fix them.

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO-566)
  • Semester: Spring 2021
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30, R.1-87
  • TA: Rafey, Rafey Abdur
  • Class: Tuesday, 15:45-17:00, R.3-51 Lecture Hall
  • Class: Wednesday, 14:15-15:30, RLH-172 Conrad Naber Lecture Hall
  • 1st Module Exam: Tuesday, 2021-05-18, 16:00-18:00, ICC-West Wing Conference Hall
  • 2nd Module Exam: Tuesday, 2021-08-24, 14:00-16:00, R.1-53 Lecture Hall

Content and Educational Aims

This module introduces students to the fundamentals of computer security and techniques used to build and analyze dependable systems. This is an important topic given that computer systems are increasingly embedded in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars). Furthermore, computer systems control complex communication systems that form critical infrastructure of the modern globalized world. Proper protection of information requires an applied understanding of cryptography and how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent, identify, and fix them.

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO21-320203)
  • Semester: Spring 2020
  • Instructor: Jürgen Schönwälder
  • TA: Huynh, Dung Tri
  • TA: Mana, Irsida
  • Class: Thursday, 14:15-15:30, R.1-53 Lecture Hall
  • Class: Friday, 11:15-12:30, RLH-274 Seminar Room
  • Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
  • Final Exam: Thursday, 2020-05-28 12:30-14:30 (SCC - Hall 4)
  • Makeup Exam: Monday, 2020-08-31 17:00-19:00 (R.1-53 Lecture Hall)

Content

This course introduces formal methods for analyzing and assuring safety and security of software systems. The course starts off with a clarification of concepts such as dependability, quality, safety, and security of software systems, and how to achieve them in the software development process. We introduce the foundations of cryptography as a basis for security mechanisms. The main part of the course introduces different paradigms of safety/security analysis such as formal testing (code coverage), static program analysis (control/data flow analysis and abstract interpretation), model checking (computational tree logic), and program verification (Hoare calculus, dynamic logic). The formal techniques will be used for analyzing both safety and security properties of programs. Where possible, students will be given hands-on micro-projects in state-of-the-art tools (e.g., Isabelle for program verification).

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO21-320203)
  • Semester: Spring 2019
  • Instructor: Jürgen Schönwälder
  • TA: Vitanov, Milen
  • TA: Dandekar, Aditya
  • Class: Tuesday, 14:15-15:30, Lecture Hall Research I
  • Class: Thursday, 14:15-15:30, East Hall 4
  • Office: Monday, 11:15-12:30 (Research I, Room 87)

Content

This course introduces formal methods for analyzing and assuring safety and security of software systems. The course starts off with a clarification of concepts such as dependability, quality, safety, and security of software systems, and how to achieve them in the software development process. We introduce the foundations of cryptography as a basis for security mechanisms. The main part of the course introduces different paradigms of safety/security analysis such as formal testing (code coverage), static program analysis (control/data flow analysis and abstract interpretation), model checking (computational tree logic), and program verification (Hoare calculus, dynamic logic). The formal techniques will be used for analyzing both safety and security properties of programs. Where possible, students will be given hands-on micro-projects in state-of-the-art tools (e.g., Isabelle for program verification).

Secure and Dependable Systems

About

  • Course: Secure and Dependable Systems (CO21-320203)
  • Semester: Spring 2018
  • Instructor: Jürgen Schönwälder
  • TA: Liu, Yufei
  • TA: Xhelili, Orgest
  • Class: Monday, 08:15-09:30, Lecture Hall Research I
  • Class: Friday, 09:45-11:00, Conference Room Research IV

Content

This course introduces formal methods for analyzing and assuring safety and security of software systems. The course starts off with a clarification of concepts such as dependability, quality, safety, and security of software systems, and how to achieve them in the software development process. We introduce the foundations of cryptography as a basis for security mechanisms. The main part of the course introduces different paradigms of safety/security analysis such as formal testing (code coverage), static program analysis (control/data flow analysis and abstract interpretation), model checking (computational tree logic), and program verification (Hoare calculus, dynamic logic). The formal techniques will be used for analyzing both safety and security properties of programs. Where possible, students will be given hands-on micro-projects in state-of-the-art tools (e.g., Isabelle for program verification).