(formerly 605.734 Information Assurance Architectures and Technologies) Once only the concern of the military and financial communities, security has become a critical issue for reliable information systems. As a result, vendors are offering an array of security features and products to address system security concerns. Yet, as more security features and products become available, the number of system security failures continues to rise. The question that must be asked is how much can the security products be trusted to perform correctly and address system security requirements? This course will discuss the assurance issues associated with security technology ranging from formal models to design and development. The evolution of security criteria will also be addressed, from the development of the Orange Book to the Common Criteria, and the impact of those criteria on security developments will be described. High-assurance security projects will be reviewed to understand their security architectures, features, and development. These projects will be compared and contrasted with current commercial security products and efforts, such as Microsoft's Trustworthy Computing effort. The course will also discuss how to build systems that avoid the various types of flaws which exist in current systems (e.g., buffer overflows, race conditions, and covert channels).
Prerequisites: 695.401 Principles of Information Assurance is recommended but not required.