CENG 563

Database and Software Security

The methodologies in developing and maintaining secure software and secure databases as well as the techniques such as authentication, authorization, auditing, encryption, access control, safety, availability, reliability and durability.

Course Objectives

1. To identify and analyze security problems in software and databases. 2. To devise, evaluate, and explain solutions to software and database security. 3. To teach authentication -authorization -auditing -transparent data encryption -granular access control and label security.

Recommended or Required Reading

G. McGraw, Software Security: Building Security in. , 2008. ,B. Natan, Implementing Database Security and Auditing , 2005. ,M. Dowd, J. McDonald, J. Schuh, The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. , 2006.

Learning Outcomes

1. Identify potential threats and vulnerabilities early in software development and database administration lifecycle and apply measures that prevent or reduce them.

2. Know techniques and tools to be used in software and database security.

3 .Create and maintain software and databases with security in mind.

4. Apply secure software and database development methods to real world problems.

Topics
Introduction to software security
Software vulnerabilities I
Software vulnerabilities II
Secure software development methodology
Secure software analysis and design
Secure software implementation, testing and auditing
Code Inspection
Static analysis
Common Criteria
Introduction to database security
Access control
Role-based access control
Lattices
Label security

Grading

Midterm 30%

Presentation 40%

Final 30%