论文标题
冰淇淋:客户端Web应用程序的反馈驱动和指导性安全分析
Gelato: Feedback-driven and Guided Security Analysis of Client-side Web Applications
论文作者
论文摘要
尽管在过去十年中已经投入了大量精力来分析客户端的Web应用程序,但现有工具通常无法处理现代JavaScript应用程序的复杂性。但是,从攻击者的角度来看,此类Web应用程序的客户端可以揭示有关服务器端的宝贵信息。在本文中,首先,我们研究了现有工具,并列举了最关键的客户端分析应支持的最关键功能。接下来,我们建议Gelato在复杂的库和框架上检测现代客户端JavaScript应用程序中的漏洞。特别是,我们通过提出一个能够自动分析复杂框架并提高程序有效的安全敏感部分的覆盖范围,迈出了解决国家感知爬网和客户端安全分析之间差距的第一步。此外,我们提出了一种新的轻型客户端污点分析,该分析表现优于启动工具,不需要对浏览器进行修改,并在现代JavaScript应用程序上报告了非平凡的污染流。
Even though a lot of effort has been invested in analyzing client-side web applications during the past decade, the existing tools often fail to deal with the complexity of modern JavaScript applications. However, from an attacker point of view, the client side of such web applications can reveal invaluable information about the server side. In this paper, first we study the existing tools and enumerate the most crucial features a security-aware client-side analysis should be supporting. Next, we propose GELATO to detect vulnerabilities in modern client-side JavaScript applications that are built upon complex libraries and frameworks. In particular, we take the first step in closing the gap between state-aware crawling and client-side security analysis by proposing a feedback-driven security-aware guided crawler that is able to analyze complex frameworks automatically, and increase the coverage of security-sensitive parts of the program efficiently. Moreover, we propose a new lightweight client-side taint analysis that outperforms the start-of-the-art tools, requires no modification to browsers, and reports non-trivial taint flows on modern JavaScript applications.