The BRADLEY DEPARTMENT of ELECTRICAL and COMPUTER ENGINEERING

ECE 5590 System and Software Security | ECE | Virginia Tech

Graduate PROGRAMS

Course Information

Description

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).

Prerequisites

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.

Course Topics

Topic

Percentage of Course

1. Overview 15%
2. Operating system design and security 20%
3. Software vulnerabilities 15%
4. Mobile application security 10%
5. Anomaly detection 15%
6. Browser security 15%
7. Distributed system security 10%