Skip main navigation

Electrical and Computer Engineering

18-732 – Secure Software Systems

12 units

Poor software design and engineering are the root causes of most security vulnerabilities in deployed systems today. Moreover, with code mobility now commonplace--particularly in the context of web technologies and digital rights management--system designers are increasingly faced with protecting hosts from foreign software and protecting software from foreign hosts running it. This class takes a close look at software as a mechanism for attack, as a tool for protecting resources, and as a resource to be defended. Topics covered include the software design process; choices of programming languages, operating systems, databases and distributed object platforms for building secure systems; common software vulnerabilities, such as buffer overflows and race conditions; auditing software; proving properties of software; software and data watermarking; code obfuscation; tamper resistant software; and the benefits of open and closed source development.

Prerequisites: 18-730; Skills in operating systems and programming languages (C and Java), and senior or graduate standing.

Last updated on March 21, 2007

ECE classifications

Graduate areas

Software Systems and Computer Networking

This course is currently being offered.

Links

Past semesters

F06, S06, F05, S05, F04, S04

Please note that the course history information is incomplete and/or may reflect different courses offered under the same course number.



5000 Forbes Avenue / Pittsburgh, PA 15213-3890 / Phone: 412-268-7400 / Fax: 412-268-2860