🇺🇸 Certified Information Systems Security Professional (CISSP) · subject

Certified Information Systems Security Professional (CISSP) Software Development Security Syllabus

The Software Development Security syllabus for Certified Information Systems Security Professional (CISSP) in full: 3 chapters, 9 topics and 28 sub-topics, every one listed below, plus 51 Software Development Security flashcards with answers.

3Chapters
9Topics
28Sub-topics
51Flashcards

Software Development Security syllabus: all 3 chapters

Expand any chapter to see its topics and sub-topics.

  1. Security in the Software Development Lifecycle

    3 topics
    • Development Methodologies
      • Waterfall, spiral, and Agile
      • DevOps and DevSecOps integration
      • Capability Maturity Model
    • Security Throughout the SDLC
      • Requirements and design security
      • Secure coding, testing, and deployment
      • Operations, maintenance, and disposal
    • Change and Configuration Management in Development
      • Version control and code repositories
      • Build and release management
      • Software configuration management
  2. Secure Coding and Common Vulnerabilities

    3 topics
    • Common Software Vulnerabilities
      • Injection flaws (SQL, command, LDAP)
      • Cross-site scripting and CSRF
      • Buffer overflows and memory corruption
      • Broken authentication and access control
    • Secure Coding Practices
      • Input validation and output encoding
      • Error handling and secure defaults
      • Use of security APIs and frameworks
      • OWASP Top 10 mitigation
    • Application Security Architecture
      • Programming language and runtime security
      • Libraries, toolsets, and SDKs
      • Application programming interface security
  3. Assessing Software Security Effectiveness

    3 topics
    • Auditing and Logging Code Changes
      • Audit trails for development activity
      • Risk analysis and mitigation in code
    • Acquired Software and Supply Chain
      • Commercial off-the-shelf software risk
      • Open-source and managed services risk
      • Software composition analysis and SBOM
    • Defining Secure Coding Guidelines
      • Establishing coding standards
      • Security weakness and vulnerability databases
      • Defining acceptance criteria for security

Certified Information Systems Security Professional (CISSP) Software Development Security flashcards — 51 questions with answers

  1. What is the Waterfall software development methodology?

    A linear, sequential model where each phase (requirements, design, implementation, testing, deployment, maintenance) must be completed before the next begins, with little backtracking. Best for stable, well-understood requirements.

  2. How does the Agile methodology differ from Waterfall?

    Agile is iterative and incremental, delivering working software in short sprints with continuous customer feedback and adaptive planning, whereas Waterfall is rigid, sequential, and front-loads all requirements. Agile values responding to change over following a fixed plan.

  3. What is the Spiral software development model and what is its defining feature?

    A risk-driven iterative model that repeats four phases (determine objectives, identify/resolve risks, develop/test, plan next iteration) in expanding loops. Its defining feature is explicit, repeated risk analysis at each spiral.

  4. What does DevOps integrate, and what does DevSecOps add?

    DevOps integrates development and IT operations to enable continuous integration/continuous delivery (CI/CD). DevSecOps adds security as a shared responsibility throughout the pipeline, embedding automated security testing early ('shift left').

  5. In the CISSP/SAMM context, what are the five levels of the Capability Maturity Model (CMM/SW-CMM)?

    1) Initial (ad hoc/chaotic), 2) Repeatable (basic project management), 3) Defined (documented/standardized processes), 4) Managed (quantitatively measured), 5) Optimizing (continuous process improvement).

  6. What does IDEAL stand for in the software process improvement model?

    Initiating, Diagnosing, Establishing, Acting, and Learning — a five-phase model (from SEI) for guiding software process improvement.

  7. What is the principle of 'shift left' in secure software development?

    Moving security activities (threat modeling, testing, code review) earlier into the SDLC, since defects found earlier are far cheaper and easier to fix than those found in production.

  8. List the typical phases of the System/Software Development Life Cycle (SDLC).

    Initiation/planning, requirements/functional analysis, system design, development/coding, testing/acceptance, implementation/deployment, operations & maintenance, and disposal/decommissioning.

  9. At which SDLC phase should threat modeling first be performed, and why?

    During the design (and requirements) phase, so that security threats are identified and mitigated through architecture before code is written, when changes are cheapest.

  10. What security activity belongs to the SDLC requirements phase?

    Defining security and privacy requirements, abuse/misuse cases, regulatory/compliance obligations, and an initial risk assessment to establish the security baseline for the project.

  11. What is a security 'gate' (or quality gate) in the SDLC?

    A control checkpoint between phases where deliverables must meet defined security criteria (e.g., passing threat model review or static analysis) before the project may proceed.

  12. What is certification versus accreditation in deploying software/systems?

    Certification is the technical evaluation of security controls against requirements; accreditation is management's formal authorization to operate the system, accepting the residual risk.

  13. What is the purpose of change management in software development?

    To ensure all modifications to code, systems, or configurations are formally requested, reviewed, approved, tested, documented, and tracked, preventing unauthorized or destabilizing changes.

  14. What are the typical steps of a formal change management process?

    1) Request the change, 2) Review/impact analysis, 3) Approve or reject (via Change Advisory Board), 4) Test the change, 5) Schedule and implement, 6) Document, 7) Report/review results.

  15. What is a Change Advisory Board (CAB)?

    A group of stakeholders that evaluates, prioritizes, approves, and schedules proposed changes, assessing their risk and impact before implementation.

  16. What is configuration management (CM) and its core activities?

    The process of identifying, controlling, and documenting the configuration of system components. Core activities: configuration identification, configuration control, configuration status accounting, and configuration auditing/verification.

  17. What is a software baseline in configuration management?

    A formally reviewed and agreed-upon snapshot of a configuration item at a point in time that serves as a reference; subsequent changes are made only through formal change control.

  18. What is version control and why is it a security control?

    A system that tracks every change to source code with history, authorship, and the ability to roll back. It supports accountability, integrity, audit trails, and recovery from malicious or erroneous changes.

  19. What is a buffer overflow vulnerability?

    When a program writes more data to a buffer than it can hold, overwriting adjacent memory. Attackers can use it to crash the program or inject and execute arbitrary code. Mitigated by bounds checking, safe functions, ASLR, DEP/NX, and stack canaries.

  20. What is SQL injection and how is it prevented?

    An attack that inserts malicious SQL through unsanitized input to manipulate a database query. Prevented with parameterized queries/prepared statements, stored procedures, input validation, and least-privilege database accounts.

Show the other 31 Software Development Security flashcards
  1. What is Cross-Site Scripting (XSS) and its three main types?

    Injection of malicious scripts into web pages viewed by other users. Types: Stored (persistent) XSS, Reflected (non-persistent) XSS, and DOM-based XSS. Prevented by output encoding/escaping and input validation.

  2. What is Cross-Site Request Forgery (CSRF) and how is it mitigated?

    An attack that tricks an authenticated user's browser into submitting unwanted requests to a trusted site. Mitigated with anti-CSRF tokens, SameSite cookies, and re-authentication for sensitive actions.

  3. What is a race condition (TOCTOU) vulnerability?

    A Time-Of-Check to Time-Of-Use flaw where a resource's state changes between when it is checked and when it is used, allowing an attacker to exploit the gap. Mitigated with atomic operations and proper locking.

  4. What is a privilege escalation vulnerability?

    A flaw that allows a user or process to gain higher access rights than authorized — vertical (to higher privilege level) or horizontal (to another user's privileges of the same level).

  5. What is insecure direct object reference (IDOR)?

    A broken access control flaw where an application exposes a reference to an internal object (e.g., a file or record ID) and fails to verify authorization, letting an attacker access others' data by manipulating the reference.

  6. What is a covert channel in the context of software security?

    An unauthorized communication path that transfers information in a way that violates security policy. Two types: covert storage channels and covert timing channels.

  7. What is a backdoor / maintenance hook?

    An undocumented method of bypassing normal authentication, often inserted by developers for testing/maintenance. It is a serious vulnerability if left in production code and should be removed before release.

  8. What is a TOC/TOU attack an example of more generally?

    A race condition / state-change attack exploiting non-atomic check-then-act sequences. The lesson: validation and use of a resource must occur atomically.

  9. What is input validation and why is allowlisting preferred over denylisting?

    Verifying that input conforms to expected type, length, format, and range before processing. Allowlisting (accept only known-good) is preferred because denylisting (block known-bad) inevitably misses novel malicious patterns.

  10. What is output encoding and what attack does it primarily prevent?

    Converting output characters into a safe representation for the rendering context (HTML, URL, JS) so they are treated as data, not code. It primarily prevents Cross-Site Scripting (XSS).

  11. What is the secure coding principle of 'fail securely' (fail-safe defaults)?

    When a system fails, it should default to a secure/denied state rather than granting access. Errors should not leave the system in an insecure condition or leak sensitive information.

  12. What is 'defense in depth' as a secure coding/architecture principle?

    Applying multiple, layered, independent security controls so that if one control fails, others still protect the asset. No single point of failure protects the system.

  13. What is the principle of least privilege in secure coding?

    Granting each user, process, or component only the minimum permissions necessary to perform its function, and only for as long as needed, to limit the impact of compromise.

  14. What is 'economy of mechanism' (keep it simple) in secure design?

    Security mechanisms should be as small and simple as possible, because complexity increases the likelihood of flaws and makes design harder to verify.

  15. What is 'complete mediation' as a Saltzer and Schroeder design principle?

    Every access to every object must be checked for authorization on every request, rather than caching or assuming prior approval still holds.

  16. What is 'open design' as a security principle?

    Security should not depend on the secrecy of the design or implementation ('no security through obscurity'); it should rely on the secrecy of keys/passwords, allowing open scrutiny of the mechanism.

  17. What is 'separation of duties' / 'separation of privilege'?

    Requiring more than one condition or person to complete a sensitive action, so that no single individual or component has enough power to compromise the system alone.

  18. What is the 'least common mechanism' principle?

    Minimizing shared mechanisms (e.g., shared variables, shared services) among users/processes, because shared resources can become channels for information leakage or unauthorized influence.

  19. What is 'psychological acceptability' in secure design?

    Security mechanisms should be easy to use and not impose excessive burden, or users will bypass or misuse them, undermining protection.

  20. What is a sandbox in application security architecture?

    An isolated execution environment that restricts a program's access to system resources, containing untrusted or potentially malicious code so it cannot harm the host system.

  21. What is a reference monitor and what enforces it?

    An abstract concept that mediates all access between subjects and objects; it must be tamperproof, always invoked, and verifiable. The security kernel is the hardware/software/firmware that implements it.

  22. What is the difference between trusted computing base (TCB) and the attack surface?

    The TCB is the totality of protection mechanisms (hardware, software, firmware) responsible for enforcing security policy. The attack surface is the sum of all points where an attacker could attempt entry; secure design minimizes both unnecessary attack surface and TCB complexity.

  23. What are the three main types of application security testing: SAST, DAST, and IAST?

    SAST (Static): analyzes source/binary code without executing it (white-box). DAST (Dynamic): tests the running application from outside (black-box). IAST (Interactive): instruments the running app to combine both during testing.

  24. What is fuzzing (fuzz testing)?

    An automated dynamic testing technique that feeds malformed, unexpected, or random inputs to an application to discover crashes, memory leaks, and exploitable vulnerabilities.

  25. What is Software Composition Analysis (SCA)?

    Tooling that identifies open-source and third-party components in software, detecting known vulnerabilities (CVEs), license risks, and outdated dependencies in the supply chain.

  26. What is the purpose of audit logging for code and configuration changes?

    To create a tamper-evident, attributable record of who changed what, when, and why — supporting accountability, non-repudiation, forensic investigation, and detection of unauthorized changes.

  27. What logging best practice prevents an attacker from covering their tracks after compromise?

    Forwarding logs in near-real-time to a secure, centralized, write-once/append-only log server (or SIEM) separate from the monitored system, so local log tampering does not destroy the evidence.

  28. What sensitive data should NOT be written to application logs?

    Secrets and sensitive data such as passwords, session tokens, API keys, full credit-card numbers, and personally identifiable information (PII) — they must be masked, redacted, or excluded.

  29. What is a Software Bill of Materials (SBOM) and why is it important for supply chain security?

    A formal, machine-readable inventory of all components, libraries, and dependencies in a software product. It enables rapid identification of affected systems when a component vulnerability (e.g., Log4Shell) is disclosed.

  30. What security practices apply when acquiring or using third-party/COTS software?

    Vendor risk assessment, reviewing security track record and SLAs, code/escrow and SBOM review, validating patches and updates, contractual security requirements, and ongoing monitoring for supply chain compromise.

  31. What is the purpose of defining organizational secure coding guidelines and standards?

    To provide developers consistent, enforceable rules (e.g., OWASP, CERT, language-specific standards) on input validation, error handling, cryptography, and authentication, reducing common vulnerabilities and enabling measurable, auditable secure development.

Certified Information Systems Security Professional (CISSP) Software Development Security FAQ

What is in the Certified Information Systems Security Professional (CISSP) Software Development Security syllabus?

Certified Information Systems Security Professional (CISSP) Software Development Security is split into 3 chapters: Security in the Software Development Lifecycle, Secure Coding and Common Vulnerabilities and Assessing Software Security Effectiveness. Together they contain 9 topics and 28 sub-topics.

How many chapters are in Certified Information Systems Security Professional (CISSP) Software Development Security?

3 chapters, containing 9 topics and 28 sub-topics. The largest chapter is Security in the Software Development Lifecycle, with 3 topics.

Are there flashcards for Certified Information Systems Security Professional (CISSP) Software Development Security?

Yes — a 51-card Software Development Security deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.