复旦大学、清华大学等 | 超越漏洞扫描:一种功能性变更驱动的远程软件版本识别方法
💡
原文中文,约5500字,阅读约需13分钟。
📝
内容提要
该研究提出了一种名为VersionSeek的隐蔽软件版本识别方法,基于功能性变更分析软件更新的功能差异,设计探测请求以提高识别准确率。实验结果表明,该方法在识别率和数据包发送量上均优于传统技术,成功识别了240,020个软件实例,揭示了用户面临的安全威胁。
🎯
关键要点
- 研究提出了一种名为VersionSeek的隐蔽软件版本识别方法,基于功能性变更分析软件更新的功能差异。
- 该方法通过设计探测请求提高识别准确率,实验结果显示其在识别率和数据包发送量上均优于传统技术。
- 研究背景强调了远程软件攻击对目标软件版本精确识别的重要性,传统方法存在局限性。
- VersionSeek框架由功能探针生成模块、响应处理模块和版本识别模块组成,利用功能性变化作为新型指纹。
- 实验评估了VersionSeek在Elasticsearch、Redis、Dubbo、Joomla和phpMyAdmin等软件上的有效性,识别率提升2.8倍,数据包减少65.37%。
- 探针生成模块通过提取功能性变更特征生成探针,响应处理模块标准化响应并分类,版本识别模块优化探针使用顺序。
- VersionSeek在对抗环境下表现出强大的鲁棒性,能够在版本信息被隐藏或混淆的情况下保持高识别率。
- 真实场景测量显示VersionSeek成功识别240,020个软件实例,揭示用户面临的安全威胁,特别是旧版本软件的广泛使用。
- 通过与CVE漏洞数据库匹配,发现识别出的版本存在严重安全隐患,强调了及时更新软件的重要性。
❓
延伸问答
VersionSeek方法的核心思想是什么?
VersionSeek方法的核心思想是利用软件版本更新引入的功能性差异来设计探测请求,以提高软件版本识别的准确率。
VersionSeek与传统版本识别技术相比有哪些优势?
VersionSeek在识别率上提升了2.8倍,同时数据包发送量减少了65.37%,在对抗环境下也表现出更强的鲁棒性。
VersionSeek的框架由哪些模块组成?
VersionSeek框架由功能探针生成模块、响应处理模块和版本识别模块组成。
VersionSeek在真实场景中的识别效果如何?
VersionSeek在真实场景中成功识别了240,020个软件实例,识别率达86.57%。
研究中提到的安全威胁主要是什么?
研究发现,识别出的版本存在严重安全隐患,特别是旧版本软件的广泛使用,面临CVE漏洞的威胁。
VersionSeek如何处理探针生成中的上下文信息?
VersionSeek通过结合拉取请求中的详细说明和用户指南中的使用示例,提取功能性变更特征生成探针。
➡️