Secure Software Development C/C++


Course Description

This course covers the design and implementation of secure software. Some of the topics covered are the characteristics of secure software, the role of security in the development lifecycle, designing secure software, and best security programming practices in C/C++.

Target Audience

Any individual, organization, government agency, including schools and colleges, would benefit from the course. Most importantly, the course is designed for ordinary day-to-day users who do not have the advantage of specialized technical programming knowledge, i.e. for the rest of us.


Those who have basic computer knowledge and wish to learn Secure Software Development.

    • Explain terms used in secured software development and life cycle process
    • Incorporate requirements into the secured software development process and test software for security vulnerability
    • Identify vulnerable code in implemented software and describe attack consequences
    • Apply mitigation and implementation practices to construct attack-resistant software
    • Apply secure design principles for developing attack-resistant software

Module 1: Introduction
Module 2: Process life cycles
Module 3: Impact on security
Module 4: Secure Development
 Secure life cycles
 Comparison with traditional methods
 Principles of secure software engineering
Module 5: Software Vulnerabilities
 Language-based security
 Static Analysis
Module 6: Software Security Architecture
Module 7: Tools
 Testing and least common mechanisms
 Code Inspection
Module 8: Modeling
 Attack trees
 Threat Modeling
 Risk Analysis
Module 9: Information Assurance

    • Online Lectures-via MS teams /
    • Online Demonstrations using VMs /
    • Assignments
    • Students need to have their own PC/Laptop with below minimum Configurations,
      → CPU-core i3 or higher
      → RAM-8GB or higher
      → HDD-100GB Free Space(better if you are having SSD)
      → Headset with Microphone
      → Good Internet Connectivity