Computer Security
This course provides a graduate-level introduction to computer and network security. Students successfully completing this class will have a broad understanding of cybersecurity and rudimentary skills in security research. Students will also be able to evaluate works in academic and commercial security. The course begins with a tutorial of the basic elements of software security, cryptography, cryptanalysis, and systems security, and continues by covering a number of seminal papers and monographs in a wide range of security areas.
Systems Programming
This course explores the art and methods of systems programming. Practically speaking, lectures and course assignments will provide students with experience programming in C within the UNIX environment. UNIX tools will be introduced, as will the general UNIX philosophy. Use of the Linux command line will be taught to proficiency. We will examine the use of shell programs, compilers, build sequences, memory management, file systems, signal processing, parallel programming, and other topics essential to computer scientists. In addition, we will introduce students the basics of systems administration on UNIX virtual machines.
Security Reading Group
In this reading group/seminar, we will discuss current and interesting systems, software, and network security papers from top conferences. While discussing an individual paper, we will carefully study the threat/security model, proposed contributions, prototype implementations, and evaluation. We will compare the proposed contribution with the state-of-the-art and discuss potential shortcomings, and applications to other areas. This seminar is intended for students broadly interested in systems, software and network security research, novel and emerging security trends, or clever applications of security ideas. We will discuss one paper each week and try to learn new things about systems and network security research together.
Introduction to Computer Security
This course provides an undergraduate-level introduction to computer and network security. Students successfully completing this class will have a broad understanding of cybersecurity and rudimentary skills in security research. Students will also be able to evaluate works in academic and commercial security. The course begins with a tutorial on the basic elements of software security, cryptography, cryptanalysis, and systems security, and continues by covering a number of seminal papers and monographs in a wide range of security areas.
Security of Emerging Technologies
In this course, we primarily study the latest research and development in analyzing the security and privacy of emerging technologies. Different security analysis techniques, including formal verification, model checking, fuzzing, dynamic and static analysis have been shown to be effective for verifying the security of the design and deployment of systems. Applying these techniques for large and complex systems, however, pose additional challenges. Advances in formal verification, programming languages, and software testing over the last several years have addressed many of these challenges and enabled wide-scale adoption of these techniques for analyzing the security and privacy properties of large and industry-scale complex systems. This course aims to lay the foundations of two key aspects: (1) current security and privacy postures of these emerging technologies, including 5G cellular systems, Internet-of-Things, and cyber-physical systems (2) how to leverage different security analysis techniques, such as formal verification, model checking, cryptographic protocol verification, and program analysis to evaluate the security and privacy guarantees provided by these systems’ design and real deployments. Students satisfactorily completing the course will be able to formulate a security model for such systems, apply formal analysis techniques to assess them, and design and evaluate both clean-slate security solutions and countermeasures for them.
CS 528 and CS 590
Spring 2019
Network Security (CS 528) and Data Security and Privacy (CS 590) – Purdue University
Guest lectured on cellular network security. Taught the basic cellular network architecture, and different sub protocols, such as, authentication and key agreement, registration, paging, and deregistration procedure. Also demonstrated different attacks and defenses in cellular networks.