Domain 8: Software Development Security
Software Development Life Cycle (SDLC)
Initiation & Planning
Acquisition & Development
Deployment
Operation & Maintenance
Decommissioning
Certification
Accreditation
Certification & Accreditation =
Assessment/Evaluation & Authorization
SSDLC (Secure SDLC)
Waterfall Method
Spiral Method
Agile Principles
Scaled Agile Framework (SAFe)
Scrum (Agile Method)
Scrum Roles:
RAD (Rapid Application Development)
Lean
Iterative vs. Non-Iterative Models
DevOps
DevSecOps / SecDevOps
SCA (Software Component Analysis)
Software Bill of Materials (SBOM)
Hierarchical Database
NoSQL Databases
Relational Databases
Table Terminology
Primary Key Rules (Entry Integrity)
Foreign Key Rules (Referential Integrity)
Database Shadowing
Remote Journaling
Database Replication
Data Warehousing
Data Mining
Database Query Languages
DDL (Data Definition Language)
DML (Data Manipulation Language)
DCL (Data Control Language)
TCL (Transaction Control Language)
DQL (Data Query Language)
Deadlocking (Deadly Embrace)
Inference
Aggregation
ACID Test (Transaction Integrity)
Atomicity
Consistency
Isolation
Durability
Metadata
Machine Languages
1GL – Machine Languages
2GL – Assembly Languages
3GL – High-Level Languages
4GL – Very High-Level Languages
5GL – Fifth Generation Languages
Object-Oriented Programming (OOP)
Objects contain:
OOP Concepts
Inheritance
Polymorphism
Class
Instance
Encapsulation
Polysinstantiation
Open System
Closed System
Open Source
Input Validation
Edit Controls
Bounds Checking
Application Attacks
Memory Buffer Overflow
Cross-Site Scripting (XSS)
Cross-Site Request Forgery (CSRF/XSRF)
SQL Injection (SQLi)
SQLi Clues
OWASP Top 10 – 2017
OWASP Top 10 – 2021
Virus
Examples of Viruses
Macro Virus
Boot Sector Virus
Multipartite Virus
Armored Virus
Retro Virus
Stealth Virus
Companion Virus
Polymorphic / Metamorphic Virus
Worm
STUXNET
Mobile Code
Applets
Java Applets
ActiveX
Hostile Applet
Logic Bomb
Trojan Horse
RAT (Remote Access Trojan)
Rootkit
Kernel Rootkit
DDoS with Botnets
Ransomware / Cryptomalware
Cryptojacking
APT (Advanced Persistent Threat)
Fileless Malware
Anti-Malware Tools
1. Signature Scanning
2. Heuristic Scanning
3. Change Detection Tools
Covert Channel
Trap-Door / Back-Door
Sabotage
Phlashing
Data Diddling
Session Hijacking
Prevention Tips:
Race Condition
Memory Leak
TOC/TOU (Time Of Check / Time Of Use)
Unit Testing
Acceptance Testing
Regression Testing
Separation of Duties
Software Assurance Maturity Model (SAMM)
Source-Code Escrow
Change Management Process
Change Control Steps
Change Management Steps
6. Test the change
Note:
A Change Management Board
(CMB) ensures safety, accountability, and supports
separation of duties.