EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Secure Coding in C and C++

Course outline

3 days

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.