下一代指纹识别技术:工具、逻辑与战术
TL;DR:有效的指纹识别对于识别网络资产和发现漏洞至关重要,但现有工具在准确性和性能上存在局限。本文探讨了如何通过AI辅助研究、真实世界数据和签名标准化显著提升指纹识别能力。
为什么指纹识别重要
指纹识别是网络安全操作的基础技术。对于进行安全评估的防御方,该能力提供了对网络资产及其配置的必要可见性。进攻性安全专业人员依赖准确的服识别在侦察阶段理解目标环境。资产管理团队使用指纹识别维护数字基础设施组件的全面清单。
该技术能够精确识别网络环境中的软件版本和系统配置,提供运行服务及其操作状态的详细可见性。这种细粒度可见性在监控可能影响组织安全态势的新兴漏洞以及验证安全控制是否按预期运行至关重要。
没有可靠的指纹识别能力,安全团队只能在对其环境不完全了解的情况下操作。这种知识差距会造成盲点,使组织暴露于未识别的威胁和潜在攻击向量。
但问题是:大多数现有指纹识别工具都存在局限。它们会遗漏服务,依赖过时的签名,并且未能将发现与已知漏洞关联。这就是为什么我们开展了一个重点研究项目,探索如何借助AI使指纹识别更快、更准确。
指纹识别:技术全景
在深入具体工具之前,理解指纹识别发生的架构层很重要。每层揭示不同类型的信息,可以结合使用进行全面分析。
- DNS:被动识别SaaS与自托管、CDN、WAF
- TCP/IP:使用TTL等数据包细节进行分析,执行操作系统识别
- SSL/TLS:通过证书检查进行指纹识别
- HTTP和网络服务检测:本项目研究的重点
为了使指纹识别输出可操作,将其与标准化标识符如通用平台枚举(CPE)对齐也至关重要。CPE是描述应用程序、操作系统和硬件的标准化标识符。它们使用结构化格式,使匹配观察到的服务与已知漏洞更容易。
例如:
cpe:2.3:a:apache:http_server:2.4.38:*:*:*:*:*:*:*
该字符串分解为:
- 部分:应用程序(a)
- 供应商:Apache
- 产品:HTTP服务器
- 版本:2.4.38
CPE的力量在于它们与CVE(常见漏洞和暴露)的关联。一旦识别出CPE,通常可以直接映射到已知漏洞,缩小资产发现和威胁缓解之间的差距。
四种工具,一个大差距
为了理解当前指纹识别现状,我们的研究检查了四种突出的开源指纹识别工具:两种专注于网络协议分析,两种专注于基于HTTP的检测。
网络协议分析器:
- Nmap:平面文件签名,软/硬匹配逻辑,慢速空探测。
- Recog:XML格式,文档完善,支持参数提取。
HTTP焦点工具:
- Wappalyzer:基于JSON,DOM密集型(需要浏览器渲染以获得最佳结果)
- Nuclei:YAML模板,高度可读和可配置,活跃社区。
这些工具各自在特定领域表现出色,但没有一个能单独全面覆盖,这促使研究团队探索统一和提高指纹识别性能的方法。
构建更好的指纹识别工具
凭借对现有工具的洞察,我们的研究专注于创建一个更 cohesive 和有效的指纹识别框架。关键目标包括互操作性、性能和改进的检测率。
关键步骤:
- 跨XML、JSON和YAML格式的统一签名转换
- 自定义搜索界面,跨工具查询签名
- 使用超过180GB/天的互联网横幅数据进行Shodan规模测试,存储在自定义ScyllaDB解决方案中
- AI辅助签名生成,捕捉其他工具遗漏的内容
在此过程中,我们还修改了一个流行的基于Go的指纹识别工具。分析应用后,发现热路径中存在低效的正则表达式编译:这是我们解决的几个瓶颈之一。
对工具进行的性能增强:
- 智能HTTP重定向逻辑(相同主机/协议)
- WAF签名整合和能力
- 协议感知重扫描逻辑 - 历史记录
- 横幅到CPE匹配引擎
AI如何超级充电研究
现代AI工具不仅使这项研究更容易;它们改变了游戏规则。AI加速了代码分析,帮助开发新工具逻辑,并以手动需要数周的方式简化调试。
使用的一些AI工具:
- Cursor:一个AI驱动的编辑器,嵌入代码进行语义搜索,并允许访问几种不同模型
- Cline扩展:本地或远程AI模型直接集成到VS Code工作流中
- 函数调用/MCP:模型与API和数据库接口,大幅减少开发时间
对于UI开发,AI直接与浏览器集成,检测和解决生成代码中的JavaScript问题。分析渲染输出的能力,同时使用指纹识别API,使其能够创建实时修复并形成紧密的反馈循环。这种集成使整个过程几乎完全自动化。
安全专业人员的关键要点
这项研究为任何开发或部署指纹识别工具的人提供了几个实用教训:
- 正则表达式性能重要:每次扫描都编译正则表达式会降低速度。更智能地编译和批量扫描资产。
- 签名新鲜度关键:如果工具依赖第三方签名,保持它们更新。许多安装的工具落后于其包含的源,而这些源甚至可能有新的签名等待在PR中。
- 合并签名:结合工具和方法覆盖更多地面
- 在互联网规模测试:大规模测试以揭示真实世界的签名差距
指纹识别不仅仅是标记服务;它是关于获得对攻击表面的控制。通过专注的努力、开源工具和AI的战略使用,团队可以超越库存解决方案,构建实际缩小差距的能力。
我们的研究项目证明,即使是短期的专注努力,当与AI增强时,也能产生有意义的改进。对于希望扩展其可见性和检测能力的团队,构建专门针对其需求的专用指纹识别引擎可能比依赖现成解决方案更有效。
如果你想要更好的资产可见性、更智能的扫描和更快的威胁关联,是时候重新思考你如何进行指纹识别了。
作者:Aaron Ringo
Operator
Aaron Ringo是Bishop Fox威胁启用和分析团队的操作员,他开发并维护高质量的检测和签名,以发现客户环境中的漏洞、利用和新兴技术。他编写详细的调查和利用剧本,实现一致、可重复的过程,帮助操作员和分析师提供可操作的情报并加强安全态势。在2022年加入Bishop Fox之前,Aaron在国防部担任网络战操作员和讲师。