论文阅读 | Déjà Vu? Client-Side Fingerprinting and Version Detection of Web Application Software 似曾相识? Web应用软件的客户端指纹识别与版本检测

发布时间 2023-05-08 09:57:10作者: laolao

https://ieeexplore.ieee.org/abstract/document/9524885


Introduction

在这项工作中,我们提出了一种新颖的方法,该方法能够使用被动扫描技术为不同的 Web 应用程序自动构建指纹。除了资产文件的哈希值,我们还建议在指纹识别过程中使用 XPath分析,据我们所知,以前在类似的研究中还没有这样做过。我们对三个广泛使用的内容管理系统 (CMS),即 Joomla、Drupal 和 TYPO3 的评估表明,我们的方法可以正确检测高达95%。

Terms and definitions

扫描技术:客户端版本检测始终依赖于使用普通 Web 浏览器或其他 HTTP 客户端访问实例。这种数据检索和分析过程通常称为扫描。在 HTTP 和 Web 应用程序的上下文中,可以分为两种扫描方式

  1. 积极扫描:请求普通网站用户通常无法访问的资源。通常包含元数据的文件。由于这种对特定独特资源的访问,使用主动扫描通常会提供更高的准确性。然而,积极扫描通常用于恶意目的,例如为恶意软件活动寻找攻击目标,因此被许多网站管理员或自动化工具视为恶意行为。
  2. 被动扫描:只利用普通网站访问者可用资源的扫描方法。例如 JavaScript、CSS 或图像文件。通常从网站的根 URL 开始,并可能递归地跟踪指向同一网站内其他 URL 的超链接,这通常称为爬行。

Related Work

静态漏洞分析

Jovanovic 等人提出的Pixy系统。使用数据流分析来检测源代码中的典型漏洞,例如 SQL 注入或 XSS。 Medeiros 等人开发的 DEKANT 代码分析方法。使用机器学习方法,能够从带注释的源代码示例中学习漏洞模式,并能够识别 Web 应用程序软件扩展中的多个零日攻击。

应用特定版本和漏洞检测策略

WPScan [12] 和 OWASP JoomScan [13]。这两种工具都依赖于对所分析软件的功能和结构的深入了解,并且需要积极扫描。通过访问包含版本特定信息的文件的特定子 URL 获取的。这种方法主要旨在扫描单个实时实例中的已知漏洞,不太适合大规模研究,因为它不是通用的而且很容易出错,因为防火墙和 Web 服务器策略可以很容易地阻止对这些工具无法访问的资源的访问依靠。

基于交叉应用模式的检测策略

使用被动扫描检测多个不同网络应用软件系统的版本的策略。主要依赖于需要关于每个特定 Web 应用程序的存在的知识模式。Wappalyzer 项目 [14]。基于一个广泛的正则表达式列表,这些正则表达式可以识别所使用的 Web 应用程序,在许多情况下还可以识别基于 HTML 代码和其他元数据(如 HTTP 标头)的特定版本。

在之前我们提出了一个用于大规模 Web 应用程序版本检测的框架,用于对超过 5000 万个网站进行日常扫描。它能够确定几个广泛使用的网络应用程序的确切版本字符串,包括 WordPress 和 MediaWiki。此类系统的优势在于它们可以以高置信度和高吞吐量执行版本检测。这种方法的主要缺点是需要在网站源代码中存在独特的模式,而在许多其他 Web 应用程序中并非如此。

基于指纹的检测策略

主要思想是从给定系统的参考安装中提取一组特征,然后形成该系统的指纹。Dresen 等人提出的 CORSICA 工具可以识别物联网设备的多种 Web 服务以及内容管理系统,例如 WordPress、Drupal、Joomla 和 TYPO3。使用基于图像文件元数据、CSS 样式属性和 JavaScript 函数和变量的特性。处理收集到的特征向量以创建决策树,然后可将其用于版本检测。

虽然本文中介绍的方法借鉴Dresen等人提出的一些概念,但有两个主要区别:

  1. 首先,他们的方法旨在在浏览器环境中运行。Dresen使用 Selenium 工具包进行大部分评估。基于浏览器的工具包(例如 Selenium)对资源的需求很高,这使得它们不太适合进行大规模分析。相比之下,我们的方法仅依赖于 HTTP 请求和检索到的资产文件的静态分析,这意味着它可以很容易地集成到我们现有的高吞吐量检测框架中 [15]。
  2. 其次,决策树需要对 Web 应用程序源文件夹中的几个特定资产发出 HTTP 请求,这种扫描行为不太适合大规模研究。我们的方法仅获取网站的根 URL 以及返回的 HTML 代码中包含的 JavaScript 和 CSS 资产,这意味着它的行为与普通网站访问者完全一样。

Fingerprinting Concept

Implementation