重新定义应用安全测试:智能扫描推荐与资产分类
Detectify
2025年4月24日
平均而言,企业会漏掉90%复杂Web应用的测试,而这些应用正是攻击者青睐的目标。为了解决这一问题,我们推出了新功能,帮助应用安全(AppSec)团队了解除了核心应用之外,还有哪些资产可能需要深度测试。资产分类(Asset Classification)和扫描推荐(Scan Recommendations)基于攻击者侦察技术自动对发现的Web资产进行分类,并提供在哪里运行动态应用安全测试(DAST)的建议,从而在整个攻击面上弥合广度测试与深度测试之间的差距。
我们知道安全团队面临着一个持续的挑战:他们知道需要彻底测试主要应用,但其他所有资产呢?通过Detectify发现的数十或数百个其他Web资产中,哪些实际上需要深度测试?
这是一个普遍的困境。事实上,我们的数据显示,平均而言,企业在测试时会漏掉90%的复杂且有价值的Web应用。令人担忧的是,超过一半的企业在开始扫描时漏掉了所有复杂应用,这反映了他们在部署扫描位置上的不确定性,并错过了有价值的目标。这不仅仅是疏忽的问题,还涉及到随着攻击面扩大而有效扩展测试的难度。
攻击者喜欢这种不确定性。他们寻找你认为暴露的内容与实际存在的内容之间的差距。
为什么需要优先排序和推荐扫描?
有效扩展测试的困难导致了关键问题:到底什么构成了适合深度测试的Web应用?为什么优先确定测试部署位置如此重要?
通常,Web应用是通过浏览器进行交互的东西。它通常在客户端-服务器架构中使用HTML构建。关键的是,它提供交互元素,如表单、动态页面以及潜在的数据库连接。
在应用安全(特别是DAST)中,目标是在这些资产中发现漏洞。这首先涉及探索应用(爬取),然后与其元素交互(模糊测试)。当有大量内容可供爬取和交互时,这种方法最有价值,远不止一页静态HTML。如果资产缺乏这些交互元素,模糊测试器就无事可做,运行深度扫描会导致资源和CPU周期的浪费。因此,推荐哪些资产进行深度扫描对于效率至关重要。
见树又见林
为了解决这一挑战并消除猜测,我们很高兴推出新功能,旨在帮助你将测试重点放在最重要的地方:资产分类和扫描推荐。
如果你不知道资产的实际作用,如何决定测试什么?我们的新资产分类功能自动分析和分类在整个攻击面上发现的Web资产。
如何决定测试什么?资产分类自动分析和分类在整个攻击面上发现的Web资产。识别丰富的Web应用、基本Web应用、API、服务器和客户端错误等。
该过程从识别潜在的Web应用开始。我们查看基本响应数据以确定是否正在提供Web应用,检查以下基本特征:
- Content-Type: text/html(其他类型如XML可能表示不可爬取的API)
- 状态码: 200 OK
- 正文长度: 足够大(>100字符)以表明不仅仅是最小响应
一旦识别出潜在的Web应用,下一步是分类其性质和复杂性,以确定它是否是一个可能值得深度测试的“复杂”应用。使用模仿黑客侦察的技术,它分析属性并结合到评分算法中。目前,这包括:
- 技术检测: 存在哪些特定的库、框架或技术?有多少?
- 头部分析: 某些头部(如内容安全策略 - CSP)的存在和配置
- 交互点: 登录表单或其他输入字段的存在
- 正文长度: 响应正文的整体大小
这种分类帮助团队快速理解每个发现资产的潜在目的、复杂性和交互性,即使是那些在没有团队直接知识的情况下突然出现的资产,以便他们能够有效地优先处理。
智能扫描推荐:知道将DAST指向何处
基于资产分类,我们的新扫描推荐功能根据资产的分类(上述技术特征)及其对攻击者的可能吸引力提供智能建议。这有助于确定哪些Web应用需要通过深度爬取和模糊测试进行全面的DAST,利用Detectify Crowdsource社区的漏洞研究和Detectify Alfred的AI构建评估。
我们知道很难确保所有必要的Web应用都覆盖应用扫描。你的数十或数百个Web应用中,哪些实际上需要深度测试?哪些正在处理用户数据,甚至有许多黑客会针对的组件?
打破覆盖的幻觉
新功能弥合了整个攻击面上广度测试与深度测试之间的差距,使AppSec团队能够自信地将资源分配到最重要的资产上:表面监控(Surface Monitoring)提供全面的攻击面视图并测试漏洞;应用扫描(Application Scanning)在重要地方通过高级爬取和模糊测试进行更深入的测试。盲目部署DAST并追逐无关目标阴影的日子已经结束。是时候打破覆盖的幻觉了。
扫描推荐和资产分类现已向Detectify客户提供。注册试用或预约演示以开始扫描。