Threat Assessment for Software Development
Description
This course will give you the skills you need to carry out threat assessments throughout your software’s life.
From design and inception through to reviewing legacy systems, this repeatable and structured approach raises our focus from the lines of code we write to the ecosystems and processes we build.
You’ll learn how to understand your systems and their environment, assess your system using a threat assessment methodology, and prioritize your risks and apply defensive controls.
Duration
Takes approximately 3 hours to complete
Certification
Course Objectives
Capturing and understanding how a system is designed, including identifying any points where (a) data is collected, transmitted, processed, or stored, and/or (b) the system is connected to other dependent systems.
Using outcomes of the assessment to strategically prioritize security controls.
Learning to use attack trees to group and assess threats.
Learning to perform these assessments in your organisation.
Syllabus
Module 1: The value of threat assessments
What value your organization can get out of performing threat assessments and modeling
Who should be involved and when it should be performed
The challenges and benefits of threat assessing greenfield or new systems
The challenges and benefits of threat assessing existing or legacy systems
Module 2: Understanding your system and environment
How to apply systems thinking principles
How to visually capture the system being assessed, and areas of the system where data is accessed, stored, transferred, or shared
Understanding and developing security personas
Module 3: Applying a threat model
Introduction to Microsoft STRIDE
Applying STRIDE: Spoofing
Applying STRIDE: Tampering
Applying STRIDE: Repudiation
Applying STRIDE: Information disclosure
Applying STRIDE: Denial of service
Applying STRIDE: Escalation of privilege
Module 4: Using attack trees
Introduction to attack trees
How to build an attack tree
Challenges with attack trees
Module 5: Applying prioritization and controls
The importance of prioritization
Preventative, detective, and responsive/corrective controls
Applying defensive controls to software systems
Module 6: Performing your own assessments
Getting the most out of your threat assessment
Anti-patterns for threat assessment