如何使您更好地进行应用程序安全测试

描述

了解如何创建攻击树图。攻击树可帮助您提高应用程序安全性、发现漏洞、评估防御成本等。

想象一下,一群小偷计划在拉斯维加斯的一家赌场进行一次重大抢劫,就像海洋十一人一样。为了尽量减少当场被抓的机会并最大限度地提高运输量,他们需要概述计划的每一步。

海洋十一攻击树示例

他们的战略地图可能看起来像这样。攻击者的目标——抢劫赌场——位于顶部,有几个潜在的攻击路径通向它。
 

Synopsys

这是攻击树图的一个示例,即从攻击者的角度对攻击进行的方法、图形表示。

像这样的攻击树已被用于识别所有类型的复杂系统中的安全漏洞,例如监督控制和数据采集(SCADA)网络,生物识别系统和GSM无线接入网络。

在应用程序测试策略中,使用攻击树可以帮助您模拟各种攻击场景,并就如何最好地保护应用程序做出决策。您将能够查明最容易受到攻击的系统和控制,并更有效地构建特定的对策。

如何创建攻击树图

创建攻击树图时,首先将自己置于潜在黑客的位置。你的首要目标是什么?您是否正在尝试访问客户数据?扰乱业务流程?将该目标放在树的顶部。这就是“根节点”。

在它下面,将最高级别的目标分解为一系列分支或“叶节点”,表示增量的、更易于管理的目标以及实现这些目标所需的步骤。集思广益,想出实现目标的方法,并将它们添加到你的树上。

使用“或”节点来表示实现目标的不同方式。在赌场抢劫案的例子中,您可以通过在枪口下突袭登记册或使用内部人员窃取现金和筹码来抢劫赌场。

“和”节点是实现每个子目标所需的步骤。在我们的海洋十一人场景中,窃贼精心策划的计划包括一系列步骤,所有这些步骤对于实现他们的总体目标都至关重要:用炸药破坏金库,破坏隐藏金库漏洞的力量,以及访问金库安全代码。

绘制每个攻击途径后,确定发生这些攻击的可能性。每条攻击线都需要一定的资源,例如金钱、时间或技能。要评估要求,请为每个节点分配值,例如是否可行、成本如何以及是否需要特殊技能或设备。

你能从攻击树中学到什么?

创建树并为每个节点分配值后,您可以更好地准备做出主动的安全决策。以下是四种方法,您可以使用攻击树作为应用程序安全测试的一部分来识别、修复和防止安全漏洞。

发现计算机网络和应用程序设计中的多步骤攻击漏洞。 大多数组织使用多层安全性来保护其计算机网络,这要求攻击者完成一系列步骤才能实现其目标。攻击树在单独绘制每个步骤时非常宝贵。它们可以帮助您识别攻击路径,从而考虑需要哪些安全控制。

表示沿树的每条路径的成本。 攻击树形图可以帮助您计算定量和定性指标,帮助您确定防御措施的优先级。例如:

对手的观点

发起攻击的成本是多少?

设置和完成攻击需要多长时间?

哪些攻击不需要特殊技能和工具,因此更有可能发生?

攻击的回报是多少?对手从攻击中获得什么?他们是在寻仇吗?他们是否能够访问和重用您宝贵的 IP 或敏感的客户数据?他们可以通过破坏您的电子商务业务逻辑来进行购买吗?

后卫的观点

攻击影响:攻击是否会影响您的业务连续性或与客户的关系?

安全成本:如果系统遭到破坏,您是否无法通过外部安全审计或需要支付罚款?

检测:检测到攻击的概率是多少?

Mincut:保护一组关键资产的成本最低的对策是什么?

提高测试策略的有效性。 渗透测试从各种来源收集和综合信息,以搜索安全漏洞。但是,它们并不全面,尤其是在自动化时。它们可能无法检测到新出现的威胁,并且可以将正常或预期行为识别为异常或恶意,从而留下一长串误报。Synopsys 的应用测试服务包括一种手动方法,该方法结合了攻击树的战略使用,以提高准确性并节省您的时间和精力。

评估潜在防御的成本和有效性。 您可以通过创建防御树(也称为攻击对策树)来扭转攻击树的视角。这些节点包括表示旨在消除或减少攻击可能性的对策的节点。您可以使用这些树在优化的低成本防御措施选项之间进行选择。

底线

面对日益复杂的应用程序和潜在黑客的日益成熟,您需要一种既强大又易于构建的方法来预测和解决潜在风险。

攻击树图可帮助您将潜在攻击分解为多个步骤,查明漏洞并确定对策。将它们合并到全面的应用程序安全测试计划中,以便您可以主动分配资源和预算。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分