CISAW Secure Software study materials
CISAW Secure Software study resources

CISAW Secure Software: Secure development, review and software supply chain

CISAW Secure Software · Work through your exam, one topic at a time.

All guide sections

Secure development, review and software supply chain

Secure software development integrates security requirements, design, implementation, testing and maintenance. Begin with intended users, data, business functions and misuse cases. Identify trust boundaries and assumptions before selecting controls. Threat modeling helps ask what can go wrong, what the consequences would be and which design changes reduce the risk. A diagram or checklist is useful only when it changes a relevant decision and its assumptions are maintained as the system changes.

Make authorization explicit at the server or trusted enforcement point. A hidden button, a client-side form check or an unpredictable identifier is not permission enforcement. Validate input for expected type, size and format, then use the defense appropriate to the interpreter or output context. Parameterized database operations separate data from SQL syntax; output encoding must match HTML, JavaScript, URL or other contexts. A content security policy can provide another layer but is not a substitute for correct handling of untrusted data. Protect sessions and secrets throughout their lifecycle.

Testing methods produce different evidence. Static analysis examines code without requiring a running target, dynamic analysis observes a running application, and software composition analysis examines dependencies and associated known issues. Human review can assess logic and assumptions that automated patterns miss. No one tool proves absence of vulnerabilities. Define which findings block release, how exceptions are reviewed, who owns remediation and how a fix is verified. Keep test activity authorized and within the actual scope and safety constraints.

The software supply chain includes source, contributors, dependencies, build tools, artifact storage and deployment paths. Review changes, manage dependency versions and provenance, and verify the artifact intended for release rather than rebuilding unpredictably later. An inventory or SBOM supports visibility; it is not itself a guarantee that components are secure. Protect build credentials and signing keys with suitable access boundaries. A signed artifact gives specific origin/integrity evidence under the validation model, not proof that its behavior is harmless.

Plan for operation and retirement. Record relevant security events without exposing secrets, monitor applicable vulnerabilities, manage updates and provide a supported way to report issues. Review changes in dependencies, permissions and data use rather than assuming the initial assessment lasts forever. A small reversible rollout, recovery plan and defined owner can limit the impact of a faulty change, but data migrations and stateful behavior may constrain rollback. The written examples develop reasoning about the lifecycle; they do not substitute for supervised practical assessment or establish a particular national legal-compliance result.