Security is an important component of an application’s quality. To preserve the confidentiality, integrity, and availability of application data, software applications must be engineered with security in mind beginning with the design phase. Without defined security requirements, design choices will be made without security guidance and security testing cannot be effective. This course provides technical and non-technical personnel with the tools to understand, create and articulate security requirements as part of software requirement documents. In this course, students will learn to apply the application security maturity (ASM) model to the development process, understand the security-engineering process, and describe the key security-engineering activities to integrate security in the development life cycle. Students will also be able to determine software security objectives, apply security design guidelines, and create threat models that identify threats, attacks, vulnerabilities, and countermeasures, in addition to learning to conduct security architecture and design reviews that help identify potential security problems and minimize the application’s attack surface.
On successful completion of this course, learners should have the knowledge and skills to:
- Apply the Application Security Maturity model to the organization’s development process
- Describe the security-engineering process
- Describe the key security-engineering activities that can be used to integrate security into the development life cycle
- Determine security objectives
- Apply security design guidelines
- Conduct security architecture and design reviews that help identify potential security problems