Teaching
CSE 433S: Introduction to Computer Security
Secure computing requires the secure design, implementation, and use of systems and algorithms across many areas of computer science. Fundamentals of secure computing such as trust models and cryptography will lay the groundwork for studying key topics in the security of systems, networking, web design, machine learning algorithms, mobile applications, and physical devices. Human factors, privacy, and the law will also be considered. Hands-on practice exploring vulnerabilities and defenses using Linux, C, and Python in studios and lab assignments is a key component of the course. Prerequisites: CSE 247 and either CSE 361 or CSE 332.
CSE 569S: Recent Advances in Computer Security and Privacy
In this class, students will learn about the latest research development in two main areas software/system security and cyber-physical security. Topics in software security focus on attack and defense in application-level software, while system security focuses on attack and defense in system software and hardware. Cyber-physical security studies vulnerabilities at the interface of cyber world and physical world. The primary objective of this course is to prepare students for research in cyber-physical system security. Recommended Pre-req: CSE 361S, CSE 433S, CSE 523S, CSE 571S
CSE 637S: Software Security
Spring 2019
In this course, students will be introduced to the foundations of software security. We will be exploring different classes of software vulnerabilities, analyzing the fundamental problems behind these vulnerabilities, and studying the methods and techniques to discover, exploit, prevent and mitigate these vulnerabilities. Topics of interest include buffer overflow, integer overflow, type confusion, use-after-free, etc. Throughout the course, we take a defense-in-depth mentality and see how systems can be protected. Students are expected to have a solid understanding of assembly language, C/C++ and operating system.
Recommended Pre-req: CSE 361, feel free to join the class without pre-req as long as you are willing to pick up the low-level system knowledge in the first several weeks of the class.