Secure software design, memory and file system security, operating system security for various platforms. Program classification, anomaly detection, malware detection and analysis. Technical challenges and problems in securing operating systems and software. Classic and modern algorithms, models, principles, and tools for system and application software security. Actual security examples.
Why take this course?
Security problems represent an enormous challenge to the usability and safety of modern computing systems. Cyber security is critical to a broad array of societal concerns, including personal privacy, financial accountability and national security. Many career paths open to computer science and engineering graduates require them to have a good understanding of challenges arising in the context of system and software security and the methods used to improve the security of computing systems(including personal computers, high-end computing clusters, mobile devices, as well as the applications running on them).
CS 5560/ECE 5560
The course will be taught at the 5000-level because it requires advanced knowledge of computer science and engineering topics (e.g. software development and operating systems) as provided by an undergraduate degree in computer science or computer engineering, and because it requires an appropriate background in cybersecurity as provided by CS/ECE 5560.
Major Measurable Learning Objectives
Identify classes of security problems in computer systems and programs.
Model threats, ricks, attacks, and security goals.
Identify causes of system and application vulnerabilities.
Describe classic and modern security approaches and techniques.
Compare pros and cons of various security solutions in terms of their security guarantees.
Design and implement solutions for achieving secure operating systems, mobile applications, and software.
Evaluate the security, robustness, usability, and efficiency of security tools.