Secure Software Development: Principles of Software Security – Proactive Security development process, Secure Software Development Cycle (S-SDLC),A Risk Management Framework – A taxonomy of Coding Errors, Security Methodologies, Security Framework, Security Models
Defensive Coding Practices: Concepts and Techniques : Buffer Overrun, Format String Problems, Integer Overflow, and Injection flaws : SQL Injection, Command Injection, Failure to Handle Errors, Cross Site Scripting, Broken Authentication and Session Management, Magic URLs, Weak Passwords, Failing to Protect Data, Weak random numbers, improper use of
cryptography, Insecure Direct Object References, Insecure De-serialization, Security Misconfiguration, Information Leakage, Race Conditions, Poor Usability, Not Updating Easily, Executing with too much privilege, Failing to protect network traffic, improper use of PKI, trusting network name resolution.
Security code analysis and review: Code review with a tool (fortify, coverty etc), Code analysis Securing Server, Database, Network and their secure configuration, Firewalls. Case Study : Recent Software vulnerabilities due to insecure programming and how to prevent them during design and implementation. Tools : Azure Devops,, Gitlab CI/CD with security features, Jenkins with security plugins, Sonarcube, OWASP dependency Check, PMD.