概述
手动检查是人工审核,通常会测试人员,策略和流程的安全隐患。手动检查还可以包括检查技术决策,例如建筑设计。它们通常通过分析文档或与设计者或系统所有者进行访谈来进行。
虽然手动检查和人工审查的概念很简单,但它们可以是最有效和最有效的技术之一。通过询问某人如何工作以及为何以特定方式实施,测试人员可以快速确定是否可能出现任何安全问题。手动检查和审查是测试软件开发生命周期过程本身的几种方法之一,并确保有适当的策略或技能组合。
与生活中的许多事情一样,在进行人工检查和审查时,建议采用信任 - 验证模型。并非测试仪显示或告知的所有内容都是准确的。手动审核特别适用于测试人们是否了解安全流程,了解策略以及是否具备设计或实施安全应用程序的适当技能。
其他活动,包括手动审阅文档,安全编码策略,安全要求和架构设计,都应使用人工检查完成。
好处:
-
不需要支持技术
-
可以应用于各种情况
-
灵活
-
促进团队合作
-
早在SDLC
缺点:
-
可能很费时间
-
支持材料并非始终可用
-
需要重要的人类思想和技能才能有效
威胁建模
概述
威胁建模已成为一种流行的技术,可帮助系统设计人员考虑其系统和应用程序可能面临的安全威胁。因此,威胁建模可视为应用程序的风险评估。实际上,它使设计人员能够针对潜在漏洞制定缓解策略,并帮助他们将不可避免的有限资源和注意力集中在最需要它的系统部分上。建议所有应用程序都开发并记录威胁模型。威胁模型应尽早在SDLC中创建,并应随着应用程序的发展和开发的进展而重新审视。
为了开发威胁模型,我们建议采用遵循NIST 800-30 [11]风险评估标准的简单方法。这种方法涉及:
-
分解应用程序 - 使用手动检查过程来了解应用程序的工作方式,资产,功能和连接性。
-
定义和分类资产 - 将资产分类为有形和无形资产,并根据业务重要性对其进行排名。
-
探索潜在的漏洞 - 无论是技术,运营还是管理。
-
探索潜在威胁 - 通过使用威胁场景或攻击树,从攻击者的角度开发潜在攻击媒介的真实视图。
-
制定缓解策略 - 针对每种被认为是现实的威胁制定缓解控制措施。
威胁模型本身的输出可能会有所不同,但通常是列表和图表的集合。OWASP代码审查指南概述了应用程序威胁建模方法,该方法可用作测试应用程序的参考,以应对应用程序设计中的潜在安全漏洞。没有正确或错误的方法来开发威胁模型并对应用程序进行信息风险评估。[12]。
好处:
-
实用的攻击者对系统的看法
-
灵活
-
早在SDLC
缺点:
-
相对较新的技术
-
好的威胁模型不会自动意味着良好的软件