软件安全开发指南:应用软件安全级别验证参考标准
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 如何使用这个标准

使用应用程序安全性验证标准的最佳方式之一是将其用作蓝图,创建特定于应用程序、平台或组织的安全编码清单。将ASVS调整到软件开发过程中的用例,将加强对项目和环境最重要安全要求的关注。

1.2.1 1级验证标准:取巧级

如果应用程序充分防范《OWASP Top 10》和其他类似清单中包含的安全漏洞,它就实现了ASVS 1级(或取巧级)。

ASVS 1级验证标准通常适用于具有较低安全控制需求的应用程序、对应用程序进行快速分析、协助编制安全需求的优先级列表。ASVS 1级验证标准可以通过工具自动完成,也可以通过无须访问源代码的简单手动操作完成。我们认为,ASVS 1级验证标准是应用程序所需的最低标准。

应用程序的威胁很可能来自攻击者。攻击者会使用容易发现和容易利用的漏洞对应用程序进行攻击。这与一个意志坚定的攻击者形成对比,后者将把精力集中在具体的应用程序上。如果组织机构的应用程序处理的数据具有很高的价值,那么组织机构会希望不仅仅是1级安全检查。

1.2.2 2级验证标准:标准级

如果应用程序能够充分抵御当前与软件相关的大部分风险,那么应用程序就实现了ASVS 2级(或标准级)。

ASVS 2级验证标准确保安全控制在应用程序中被恰当、有效地使用。ASVS 2级验证标准通常适用于处理重要业务交易的应用程序,包括处理医疗信息、执行重要且敏感的业务、处理其他敏感资产。

对ASVS 2级应用程序的威胁通常来自熟练的、有动机的攻击者,他们使用工具和技术来关注特定的目标,这些工具和技术在发现和利用应用程序的弱点方面是非常有效的。

1.2.3 3级验证标准:高级

ASVS 3级是ASVS最高的验证级别。这个级别通常保留用于需要大量安全验证的应用程序,例如,在可能发现安全性问题的军事领域、健康和公共安全领域、关键基础设施等。组织可能需要ASVS 3级用于执行关键功能的应用程序,因为安全防护失败可能会对组织的运营产生重大影响,甚至影响组织的生存。下面提供了关于ASVS 3级应用的示例指导。如果应用程序充分防范高级的安全漏洞,并且还展示了良好的安全设计原则,它就达到了ASVS 3级验证标准。

ASVS 3级需要比所有其他级别更深入的分析、架构、编码和测试。安全应用程序以有意义的方式进行模块化(以促进如弹性、可扩展性及最重要的安全层),并且每个模块(由网络连接或物理实例分隔)负责其自身的安全责任(防御深入),这需要妥善记录。责任包括确保机密性(如加密)、完整性(如交易、输入验证)、可用性(如正常处理负载)、认证(包括系统之间)、不可否认性、授权、审计和日志记录的控制。