购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

0.2 API测试的威胁建模

威胁建模是对API提供商所面临的威胁进行映射的过程,通过此过程,可以针对性地选择合适的攻击技术和工具,对API渗透测试流程进行优化。对API提供商实际可能遭受的威胁进行相关的测试,无疑是最佳的选择。

威胁行为者即潜在的API攻击者,其覆盖范围非常广泛,从对API知之甚少的普通用户,到熟悉应用程序的客户、不可靠的商业伙伴,乃至了解应用程序详情的开发人员。为了实现对API安全性的最有效测试,在理想状况下,我们应能映射出可能的威胁行为者及其所采用的黑客技术手段。

渗透测试方法论应基于威胁行为者的视角来构建,因为这一视角直接影响获取目标信息的策略选择。如果威胁行为者对API缺乏了解,那么他们需通过深入研究来识别针对应用程序的有效攻击手段。另外,若存在不可靠的商业伙伴或内部威胁,他们可能已对应用程序有深入的了解,因此可能无须进行前期的侦察工作。为了应对这些不同的情境,可以采用3种基本的渗透测试方法,即黑盒测试、灰盒测试和白盒测试。

黑盒测试模拟了一种情境,即一个随机发现目标组织或其API的攻击者。在此类测试中,客户不对测试者提供任何关于攻击面的信息。测试可能始于一个签署业务范围说明的公司名称。随后,测试人员运用开源情报(OSINT)进行侦察,尽可能全面地了解目标组织的相关信息。这包括利用搜索引擎、社交媒体、公共财务记录和DNS信息等手段,分析组织的域名。关于黑盒测试的详细工具和技术,详见第 6 章。进行OSINT侦察后,测试工程师会整理出目标的IP地址、URL和API端点等列表,然后提交给客户审查。客户在审查目标列表后,再授权给工程师进行测试。

灰盒测试是一种更具策略性的测试方法,旨在将节省的时间投入主动测试以优化侦察过程。在进行灰盒测试时,测试者通常可向客户获取目标范围、API操作文档以及基本用户账户的访问权限等信息。此外,测试人员可能会被纳入安全设备白名单中,以便进行深度测试。

漏洞赏金计划属于黑盒测试与灰盒测试的范畴,这些漏洞赏金计划一般由企业发起,邀请白帽子黑客对其指定的Web应用程序进行安全检测。白帽子在发现漏洞后,会把漏洞报告提交给企业以获得企业提供的相应奖励。相较于黑盒测试,漏洞赏金计划为赏金猎人提供了明确的目标范围、奖励的漏洞类型以及允许的攻击类型等资讯,使猎人可以根据自身资源和策略,衡量在侦察方面投入的时间和精力。对于热衷于获取漏洞赏金的读者,强烈推荐阅读Vickie Li所著的《漏洞赏金训练营》( Bug Bounty Bootcamp )。

在白盒测试中,客户会最大限度地提供关于其内部环境的相关信息。除了为灰盒测试提供的资料外,这些信息可能还包括应用程序源代码、设计资料,以及用于开发应用程序的软件开发工具包(SDK)等资源的访问权限。白盒测试模拟了内部攻击者(一个熟悉组织内部运作并能够接触实际源代码的攻击者)的威胁。在白盒测试过程中,测试人员获取的信息越多,受测试的目标就会受到更为深入的检验。

在选择白盒测试、黑盒测试,或是二者的结合策略时,客户需要基于威胁模型和威胁情报来做出决策。通过威胁建模,我们将结合客户的实际情况,为潜在的攻击者构建画像。举例来说,如果一家小型企业不是供应链的关键环节,也不提供基础服务,那么将其攻击者设想为拥有雄厚资金的、能够持续发动高级持续性威胁(APT)的国家,显然是不切实际的。对于此类小型企业,采用APT技术就如同使用战斗机去打击一个小偷一样,显得过于夸张和不切实际。因此,我们应通过威胁建模,构建一个更符合实际情况的威胁模型,以便为客户提供最具价值的建议。在此情境下,最有可能的攻击者可能是一名偶然的机会主义者,即掌握中等安全测试技能的个体,他们在偶然发现组织网站后,可能只会针对已知的漏洞使用已发布的攻击手段。因此,采用有限黑盒测试将是一个更为合适的机会主义攻击者的测试方法。

为了为客户构建高效的威胁模型,测试团队有必要开展深入的调查。调查范围包括客户在攻击中的暴露程度、经济影响、政治参与度、供应链关联、基础服务供应状况,以及是否存在其他潜在的犯罪动机等。可以研发专门的调查工具,或整合现有的专业资源,如MITRE ATT&CK或OWASP,协助完成此项工作。

我们选择的测试方法将在很大程度上决定后限范围界定工作的难易程度。鉴于黑盒测试人员提供的关于系统范围的信息相对有限,剩余范围的项目更适合采用灰盒测试和白盒测试。 N97RgQuafEwUgo3hbDttfqQzhNrXyz8u91sRptr8fpJ3Cw5Sa15gb+TOs6dRLKfg

点击中间区域
呼出菜单
上一章
目录
下一章
×