Service Workers (SWs) are a powerful feature at the core of Progressive Web Apps, namely web applications that can continue to function when the user's device is offline and that have access to device sensors and capabilities previously accessible only by native applications. During the past few years, researchers have found a number of ways in which SWs may be abused to achieve different malicious purposes. For instance, SWs may be abused to build a web-based botnet, launch DDoS attacks, or perform cryptomining; they may be hijacked to create persistent cross-site scripting (XSS) attacks; they may be leveraged in the context of side-channel attacks to compromise users' privacy; or they may be abused for phishing or social engineering attacks using web push notifications-based malvertising. In this paper, we reproduce and analyze known attack vectors related to SWs and explore new abuse paths that have not previously been considered. We systematize the attacks into different categories, and then analyze whether, how, and estimate when these attacks have been published and mitigated by different browser vendors. Then, we discuss a number of open SW security problems that are currently unmitigated, and propose SW behavior monitoring approaches and new browser policies that we believe should be implemented by browsers to further improve SW security. Furthermore, we implement a proof-of-concept version of several policies in the Chromium code base, and also measure the behavior of SWs used by highly popular web applications with respect to these new policies. Our measurements show that it should be feasible to implement and enforce stricter SW security policies without a significant impact on most legitimate production SWs.
翻译:服务工人(SW)是进步网络应用程序核心的一个强大特征,即当用户设备离线时,网络应用程序可以继续运行,当用户设备离线时,可以继续运行,并且可以使用设备传感器和能力,而以前只能由本地应用程序获取。在过去几年里,研究人员发现一些方法,可以滥用SW来达到不同的恶意目的。例如,可以滥用SW来建立基于网络的机器人网,发起DDoS攻击,或进行加密;他们可能被劫持,以制造持续的跨网站脚本(XSS)攻击;在侧通道攻击时,这些应用程序可能会被利用,以损害用户隐私;或者他们可能会被滥用于网络推介通知错误的网络推线或社会工程攻击。在本文件中,我们复制和分析与SWSW有关的已知攻击矢量,并探索以前未曾考虑过的新的虐待路径。我们把袭击系统系统化为不同类别,然后分析这些攻击是否、如何和估计在新浏览器供应商公布和减轻这些攻击时,它们是否具有可行性;然后,我们讨论一些开放的SWSW安全政策的使用方式,然后我们用一些开放的保安行为标准来显示我们目前没有执行的高度安全准则。