NIST 安全软件开发框架 1.1
控制项模式NIST SSDF v1.1 从官方可机读的 SSDF 表格工作簿中提取。
确定是否应使用代码审查(由人工直接查看代码以发现问题)和/或代码分析(使用工具以完全自动或与人工结合的方式发现代码中的问题),根据组织的定义进行。示例:示例 1:遵循组织的政策或指南,确定何时应进行代码审查以及如何进行代码审查。这可能包括第三方代码以及内部编写的可重用代码模块。示例 2:遵循组织的政策或指南,确定何时应进行代码分析以及如何进行分析。示例 3:根据软件的开发阶段选择代码审查和/或分析方法。参考文献:BSIMM: CR1.5 EO14028: 4e(iv), 4e(ix) IEC62443: SM-5, SI-1, SVV-1 NISTLABEL: 2.2.2.2 SCSIC:同行评审和安全测试 SP80053:SA-11 SP800161:SA-11 SP800181:SP-DEV-002;K0013, K0039, K0070, K0153, K0165;S0174
根据组织的安全编码标准执行代码审查和/或代码分析,并在开发团队的工作流程或问题跟踪系统中记录和分类所有发现的问题及推荐的整改措施。 示例: 示例 1:对代码进行同行评审,并将任何现有的代码审查、分析或测试结果作为同行评审的一部分进行审核。示例 2:使用专家审查员检查代码是否存在后门或其他恶意内容。示例 3:使用能够促进同行审查过程的同行评审工具,并记录所有讨论和其他反馈。示例 4:使用静态分析工具自动检查代码的漏洞及其是否符合组织的安全编码标准,由人工对工具报告的问题进行审核并在必要时进行修复。 示例 5:使用审核清单来验证代码是否符合要求。示例 6:使用自动化工具持续识别并修复已记录和验证的不安全软件实践,同时将可读代码提交到代码仓库。示例 7:识别并记录发现问题的根本原因。示例 8:将代码审查和分析中获得的经验教训记录在开发人员可以访问和搜索的 Wiki 中。参考文献:BSAFSS: TV.2, PD.1-4 BSIMM: CR1。2, CR1.4, CR1.6, CR2.6, CR2.7, CR3.4, CR3.5 EO14028: 4e(iv), 4e(v), 4e(ix) IDASOAR: 3, 4, 5, 14, 15, 48 IEC62443: SI-1, SVV-1, SVV-2 IR8397: 2.3, 2.4 ISO27034: 7.3.6 MSSDL: 9, 10 NISTLABEL: 2.2.2.2 OWASPASVS: 1.1.7, 10 OWASPMASVS: 7.5 OWASPSAMM: IR1-B, IR2-A, IR2-B, IR3-A PCISSLC: 3.2, 4.1 SCAGILE: 运营安全任务 4, 7;需要安全专家帮助的任务 10 SCFPSSD:使用代码分析工具提前发现安全问题,使用静态分析安全测试工具,执行安全功能/缓解措施的手动验证 SCSIC:同行评审和安全测试 SP80053:SA-11, SA-11(1), SA-11(4), SA-15(7) SP800161:SA-11, SA-11(1), SA-11(4), SA-15(7) SP800181:SP-DEV-001, SP-DEV-002;T0013, T0111, T0176, T0267, T0516;K0009, K0039, K0070, K0140, K0624;S0019, S0060, S0078, S0137, S0149, S0167, S0174, S0242, S0266;A0007, A0015, A0036, A0044, A0047