This course defines concepts, methods, and techniques for analyzing the architecture and design of a software system for security flaws. Special attention is given to analysis of security issues in existing applications; however, the principles and techniques are applicable to systems under development. Techniques include accurately capturing application architecture, threat modeling with attack trees, attack pattern analysis, and enumeration of trust boundaries.
On successful completion of this course, learners should have the knowledge and skills to:
- Manage risks related to the use, processing, storage, and transmission of information or data
- Create coding standards
- Calculate and classify risk scores
- Apply anonymization and pseudonymization principles
- Understand data states and how to protect data in transit and at rest
- Minimize the time sensitive data is stored in memory