CORSICA:跨源 Web 服务识别
密码学与安全
2020-04-03 v1
摘要
私有网络中的漏洞对于网络外部的攻击者而言难以检测。尽管已有已知的端口扫描内部主机的方法,其通过诱使不知情的内网用户访问承载恶意JavaScript代码的外部网页来实现,但尚无针对详细且精确的跨源服务识别的此类方法。原因在于同源策略(SOP)默认阻止对其他源HTTP响应的访问。我们对SOP中可用于跨网络边界识别Web应用的漏洞进行了结构化分析。为此,我们分析了符合标准的Web浏览器中HTML5、CSS和JavaScript特性中可能泄露跨源内容敏感信息的部分。结果揭示了若干新技术,包括泄露JavaScript函数名或跨源请求的样式,这些在所有常见浏览器中均可用。我们在名为CORSICA的工具中实现并测试了这些技术。它能成功识别运行于不同IoT设备上的42个Web服务中的31个(74%),以及最广泛使用的四个内容管理系统WordPress、Drupal、Joomla和TYPO3的版本号。CORSICA平均仅需十次请求,即可将补丁级别确定到平均相差三个版本(WordPress)、六个版本(Drupal)、两个版本(Joomla)和四个版本(TYPO3)以内。此外,CORSICA能够识别包含65个漏洞的48个WordPress插件。最后,我们分析了缓解策略,并表明已提出但尚未实现的Cross-Origin Resource Policy(CORP)和Sec-Metadata策略将阻止我们的识别技术。
引用
@article{arxiv.2004.00939,
title = {CORSICA: Cross-Origin Web Service Identification},
author = {Christian Dresen and Fabian Ising and Damian Poddebniak and Tobias Kappert and Thorsten Holz and Sebastian Schinzel},
journal= {arXiv preprint arXiv:2004.00939},
year = {2020}
}
备注
Accepted to ASIACCS2020