复旦大学、清华大学等 | 超越漏洞扫描:一种功能性变更驱动的远程软件版本识别方法
内容提要
该研究提出了一种名为VersionSeek的隐蔽软件版本识别方法,基于功能性变更分析软件更新的功能差异,设计探测请求以提高识别准确率。实验结果表明,该方法在识别率和数据包发送量上均优于传统技术,成功识别了240,020个软件实例,揭示了用户面临的安全威胁。
延伸解读
新方法的优势与局限
VersionSeek方法通过功能性变更识别软件版本,显著提高了识别率和效率。然而,该方法仍依赖于软件的功能性更新,若软件更新未引入明显变化,可能会影响识别效果。此外,尽管在对抗环境中表现出色,但在某些极端情况下,仍需进一步验证其鲁棒性。
安全隐患的警示
研究发现,超过72.25%的用户仍在使用至少一年前的旧版本软件,这使得他们面临严重的安全威胁。通过与CVE漏洞数据库的匹配,识别出的版本存在多个高危漏洞,强调了及时更新软件的重要性,以降低潜在的安全风险。
对比传统方法的优势
与传统的版本识别工具相比,VersionSeek在识别准确率和数据包发送量上均表现出显著优势。尤其是在处理不提供预定义版本字符串的软件时,VersionSeek能够有效识别版本,显示出其在复杂环境中的应用潜力。
Q&A
VersionSeek方法的核心思想是什么?
VersionSeek方法的核心思想是利用软件版本更新引入的功能性差异来设计探测请求,以提高软件版本识别的准确率。
VersionSeek与传统版本识别技术相比有哪些优势?
VersionSeek在识别率上提升了2.8倍,同时数据包发送量减少了65.37%,在对抗环境下也表现出更强的鲁棒性。
VersionSeek的框架由哪些模块组成?
VersionSeek框架由功能探针生成模块、响应处理模块和版本识别模块组成。
VersionSeek在真实场景中的识别效果如何?
VersionSeek在真实场景中成功识别了240,020个软件实例,识别率达86.57%。
研究中提到的安全威胁主要是什么?
研究发现,识别出的版本存在严重安全隐患,特别是旧版本软件的广泛使用,面临CVE漏洞的威胁。
VersionSeek如何处理探针生成中的上下文信息?
VersionSeek通过结合拉取请求中的详细说明和用户指南中的使用示例,提取功能性变更特征生成探针。