7. Software Assurance
7.1 Tasking for Software Assurance- Confirm that the project addresses the engineering and assurance identified cybersecurity vulnerabilities and weaknesses.
7.2 Software Assurance Products
- Evidence of confirmation that the project addressed the results from the static code analysis tool results for cybersecurity vulnerabilities and weaknesses.
- Software problem reporting or defect tracking system results.
|
7.3 Metrics- # of Cybersecurity vulnerabilities and weaknesses identified.
- # of Cybersecurity vulnerabilities and weaknesses (Open, Closed, Severity).
- Trending of Open vs. Closed over time.
- # of Cybersecurity vulnerabilities and weaknesses identified vs. # resolved during Implementation.
- # of Non-Conformances identified in Cybersecurity coding standard compliance (Open, Closed).
- # of Cybersecurity mitigation implementations identified from the security vulnerabilities and security weaknesses.
- # of Cybersecurity mitigation implementations identified with associated test procedures vs. # of Cybersecurity mitigation implementations identified.
- Trends of Cybersecurity Non-Conformances over time.
7.4 GuidanceConfirm that the engineering team and the project have addressed any identified cybersecurity vulnerabilities and weaknesses in the software requirements, design, code. Check with the project to see where the lists of identified cybersecurity vulnerabilities are and compare these items with the approved changes in the CM system to see if the vulnerabilities listed have resulted in changes in requirements, design, or code. A static analyzer that checks for such vulnerabilities can be rerun to verify that no remaining vulnerabilities exist. Confirm that the requirements associated with the identified cybersecurity vulnerabilities and weaknesses have been tested or are planned to be tested. Check to see if the engineering team and the project have run a static analysis tool to assess the cybersecurity vulnerabilities and weaknesses in the source code if so check to see that the findings from the static analysis tool have been addressed by the team. See the Software Assurance guidance for SWE-155 (this requirement) and SWE-158 to check that relevant static analysis results were addressed. A method of identifying weaknesses and vulnerabilities is to use the National Vulnerability database from NIST that is the U.S. government repository of standards-based vulnerability data. Software weaknesses can be identified using Common Weakness Enumeration (CWE) - a dictionary created by MITRE. See the secure coding site for more information (NASA access only). |