Duration
3 days
DAY 1
Introduction to Secure Software Concepts
- Holistic Security
- Implementation Challenges
- Security Vs Secure Features
- Security Perimeter
- Secure SDLC
Define and understand the core security concepts
- Confidentiality
- Integrity
- Availability
- Authentication
- Authorization
- Repudiation
- Auditing (Logging)
- Session Management
- Exception Management
- Configuration
Understand how security design principles protect the organization
- The Need for Secure Design
- Benefits of Designing Security
- Bugs vs. Flaws
- Threat Modeling - STRIDE Model - (An exercise for better understanding)
Understand information privacy requirements imposed by various regulations
- Regulations and Compliance
- Significant Regulations and Acts
- Challenges
- Privacy
- Acceptable Use Policy
DAY 2
Recap of Day 1
Define governance, risk, and compliance as related to secure software development
- Define Governance
- Define Risk
- Risk Management Terminology
- Risk Management
Identify critical assets, risk, and security requirements (An Exercise for better Understanding)
- Identify critical assets
- Identify Security Requirements
- Identify Risk - DREAD Model
- Assess and manage risk
- Software Risk Management
- Risk Treatment
Identify security tasks within various software development life cycle (An Exercise for Better Understanding)
- Secure Software Life Cycle
Coding in C and C++
- String Management (Code Snippet)
- Detection and Recovery
DAY 3
Recap Day 2
Coding in C and C++
- Structured Code Review (Demo and Exercise)
- Integer Vulnerabilities and Mitigations (Demo and Exercise)
- Dynamic Memory Management (Demo and Exercise)
- Formatted Output (Demo and Exercise)
- File I/O Basics (Demo and Exercise)
- UNIX Permissions and Privileges
- File Identification Vulnerabilities (Demo and Exercise)
- Race Conditions (Exercise)
PS: For Secure Coding Module Demo and Exercise would include code snippets.
Programme scope, delivery arrangements and suitability are confirmed during enquiry.