一句话:提出PTV算法,从树森林中提取各库最独特结构以压缩特征,实现可扩展的Web库版本检测并服务安全漏洞发现。
识别Web应用所用库对销售情报、网站画像和安全分析都很重要。已有工作用树结构表示库运行时属性关系,实现无需版本号的自动识别,但为大量版本分别维护树会带来巨大存储开销,难以直接用于版本检测。本文提出一种新算法,在森林中的每棵树内寻找最独特的结构,从而极大最小化特征足迹,并将其实现为Web库版本检测工具。在556个Web库(涵盖30,810个版本)上的实验表明,该工具最多降低99%空间需求,版本检测精度优于现有工具,并在200个高流量网站上检测出190个漏洞。
Identifying the libraries used by a web application is an important task for sales intelligence, website profiling, and web security analysis. Recent work uses tree structures to represent the property relationships of the library at runtime, realizing automatic library identification without pinpointing versions. But when assessing the security risks associated with these web libraries or conducting fine-grained software analysis, it becomes essential to determine the specific version of the library in use. However, existing tree-based methods are not directly applicable to version detection due to the huge storage requirements for maintaining separate trees for a large number of versions. This paper proposes a novel algorithm to find the most unique structure out of each tree in a forest so that the footprint of the features can be greatly minimized. We implement this algorithm into a web library detection tool. Experimental evaluations on 556 web libraries, encompassing 30,810 versions, reveal that our tool reduces space requirements by up to 99%, achieves more precise version detection compared to existing tools, and detects 190 vulnerabilities on 200 top-traffic websites.