Chapter 6 - Software Acceptance Flashcards
What is V&V
Validation and Verification
What is C&A
Certification and Accrediation
What is Software Acceptance?
Software acceptance is the process of officially or formally accepting new or modified software components that, when integrated, form the information system.
What are the objectives of software acceptance?
- Verification that the software meets specified functional and assurance requirements
- Verification that the software is operationally complete and secure as expected
- Obtaining the approvals from the system owner
- Transference of responsibility from the development team or company (vendor) to the system owner, support staff, and operations personnel if the software is deployed internally
What are the guiding principles of software ready for release?
- Be secure by design, default, and deployment (Howard and LeBlanc, 2003)
- Complement existing defense in depth protection
- Run with least privilege
- Be irreversible and tamper-proof
- Isolate and protect administrative functionality and security management interfaces (SMIs)
- Have nontechnical protection mechanisms in place
What is SD3?
Shorthand for “Secure in Design, Default, and Deployment”. The mantra for defense-in-depth.
Why are EULA’s considered ineffective?
They are deterrent controls, not preventive.
How can you prevent reverse engineering?
Code obfuscation and anti-tampering techniques. Previentive controls like EULAs, DMCA, etc, offer more than nothing, but the book calls them ineffective.
What is RCE?
Reverse Code Enginering, aka reverse engineering code.
Why is formal software acceptance important?
It’s the final checkpoint for discovering the existence of missed and unforeseen security vulnerabilities and for validating the presence of security controls that will address known threats.
What items should be considered before accepting sftware built in-house?
Completion: Are all functional and security requirements completed?
Change management: Is there a process in place to handle change requests?
Approval to deploy/release: Have all required authorities signed off
Risk acceptance and exception policy: Is residual risk acceptance tracked if it’s not within the threshold
Documentation: Is all necessary documentation in place?
What is a RTM?
Requirements Traceability Matrix
What is a RTM?
Requirements Traceability Matrix
What is the purpose of software completion criteria?
Ensuring that the functional and security requirements captured during the requirements gathering phase have been fully met.
What security related milestones should be considered as completion criteria?
- Generation of the requirements traceability matrix (RTM) that includes security requirements besides functional requirements in the requirement phase
- Completion of the threat model during the design phase
- Review and sign-off on the security architecture at the end of the design phase
- Review of code for security vulnerabilities after the development phase
- Completion of security testing at the end of the application testing phase
- Completion of documentation before the deployment phase commences
All security-related milestones should include?
An actual deliverable, like a RTM, threat model, security architecture design, code review report, security test report) that can be tracked.
What should a threat model include?
documented threat lists and associated controls
What should the architecture review sign off include?
the various components of the security profile and principles of secure design
What larger process is change management part of?
Configuration management
What is a PMO?
Program Managment Office
What is a CCB
Configuration/Change Board.