技术|美国国家标准与技术研究院对关键软件使用和验证的标准进行了概述

[据GCN网2021年7月14日报道]为了响应拜登政府在网络安全行政命令方面的号召 , 美国国家标准与技术研究所发布了两条新的指导意见 。 一条是“行政命令系统关键软件使用的保安措施” , 其中概述了关键软件使用的保安措施 , 例如在实际应用过程中尽量减少特权许可的访问 , 并进行网络分段和适当的配置 。 另一条则是“落实行政命令14028号文件中提到的供软件供应商或开发者验证(测试)的最低建议标准” , 大致就供应商或开发者验证其软件应使用的最低标准水平进行了讨论 。
该安全措施指南是美国国家标准与技术研究院在与网络安全和基础设施安全局、管理和预算办公室以及网络安全界协商后制定的 , 同时还根据联邦机构在网络行政令中的相关要求 , 针对性的列出如下五项保护目标:
·保障关键软件和平台免受未经授权的访问和使用 。
·确保所使用数据的机密性、完整性和可用性 。
·做好关键软件的识别和维护工作 。
·快速检测威胁、及时响应并从威胁中恢复 。
·提高用户对自身网络安全责任的理解 。
美国国家标准与技术研究院提供的指南为每个目标列出了一系列安全措施 , 并将这些措施内容发布到相关的联邦出版物和项目中 。
为了给各机构提供一个共同的框架 , 该指南确立了一系列共同的安全目标 , 并列出了保护行政命令关键软件使用的措施 。
【技术|美国国家标准与技术研究院对关键软件使用和验证的标准进行了概述】美国国家标准与技术研究院表示 , 目前提供的指导意见只是最基本的内容 , 所涉及的相关安全措施也并非十全十美 , 而且研究所方面也不存在要将联邦机构现有需求和网络安全项目中所采纳的其他安全措施全盘否定的必要 。 与此同时 , 各机构应继续努力确保其系统和供应链的安全 , 并实行零信任的制度 。
为了指导供应商的源代码测试 , 美国国家标准与技术研究院与安全社区和国家安全局进行了三方合作 , 就最低测试水平制定了推荐标准 , 高层对于如何将这些标准转化为实际可行的测试程序和开发过程还提出了相应指示意见 。
美国国家标准与技术研究院将软件测试和验证形容成提高软件质量所需要的“一门心理学科” 。 开发人员在开发生命周期的每个阶段都必须频繁而彻底对他们手中的软件进行测试和验证工作 。 本文推荐了11种软件验证技术:
·威胁建模 。 可以帮助寻找设计级安全问题并集中核查 。
·对于准确性、稳定性和更机械等工作的自动化测试 。
·静态代码扫描 。 可以帮助检验顶级bug和漏洞 , 并确保代码符合组织的编码标准 。
·启发式算法工具 。 帮助查找可能的硬编码密码和私有加密密钥 。
·利用软件内置的检查和保护功能 。
·“黑盒”测试用例 。 用以确保代码满足特定实现之外的功能规范或需求 。
·基于代码的结构化测试用例的实现 。
·历史测试用例 。 用以确保软件在变更后仍然能够安全地运行 。
·模糊测试技术 。 在最少的人力监督情况下 , 输入大量数据进行测试 。
·Web应用程序扫描器 。 如果适用的话 , 可以检测Web应用程序中的漏洞 。
·对软件所使用的库、包和服务进行鉴别工作 。 以便根据已知的漏洞数据库对它们进行检查 。
该指南不仅描述了良好的开发实践 , 指南中还包括了关于软件安装和操作的信息 , 以及软件验证技术的进展 。
因为没有一个单一的软件安全验证标准可以用于所有类型的软件 , 美国国家标准与技术研究所希望自身提供的指南中描述的最低标准 , 可以帮助软件生产者创建他们自己的验证过程 。 (国家工业信息安全发展研究中心
张俊杰)

    推荐阅读