Browser extensions are third party programs, tightly integrated to browsers, where they execute with elevated privileges in order to provide users with additional functionalities. Unlike web applications, extensions are not subject to the Same Origin Policy (SOP) and therefore can read and write user data on any web application. They also have access to sensitive user information including browsing history, bookmarks, cookies and list of installed extensions. Extensions have a permanent storage in which they can store data and can trigger the download of arbitrary files on the user's device. For security reasons, browser extensions and web applications are executed in separate contexts. Nonetheless, in all major browsers, extensions and web applications can interact by exchanging messages. Through these communication channels, a web application can exploit extension privileged capabilities and thereby access and exfiltrate sensitive user information. In this work, we analyzed the communication interfaces exposed to web applications by Chrome, Firefox and Opera browser extensions. As a result, we identified many extensions that web applications can exploit to access privileged capabilities. Through extensions' APIS, web applications can bypass SOP, access user cookies, browsing history, bookmarks, list of installed extensions, extensions storage, and download arbitrary files on the user's device. Our results demonstrate that the communications between browser extensions and web applications pose serious security and privacy threats to browsers, web applications and more importantly to users. We discuss countermeasures and proposals, and believe that our study and in particular the tool we used to detect and exploit these threats, can be used as part of extensions review process by browser vendors to help them identify and fix the aforementioned problems in extensions.
翻译:浏览器扩展是第三方程序,与浏览器紧密结合,在浏览器中,它们可以执行高端权限,为用户提供额外功能。但与网络应用程序不同,扩展不受同一来源政策(SOP)的制约,因此可以在任何网络应用程序中读写用户数据。它们还可以获取敏感的用户信息,包括浏览历史、书签、饼干和安装的扩展列表。扩展具有永久存储功能,可以在其中存储数据,并触发用户设备上的任意文件下载。由于安全原因,浏览器扩展和网络应用程序可以在不同的环境下执行。然而,在所有主要浏览器、扩展和网络应用程序中,可以通过交换信息进行互动。通过这些通信渠道,网络应用程序可以利用特权能力扩展,从而访问和在任何网络应用程序中读写和写入敏感用户信息信息。在这项工作中,我们分析了由Crome、Firefox和Opeople浏览器扩展的网络应用程序所暴露的通信界面。我们通过扩展、浏览器用户浏览器、浏览器的网络应用应用软件应用可以绕过SOP、浏览器、浏览器浏览器、书印历史、书签、浏览器标记和浏览器应用的应用程序列表中,我们所安装的版本的版本的版本的应用程序中,这些浏览器的扩展和浏览器的应用程序中的存储和浏览器应用应用应用过程中,我们使用的应用程序中的存储和浏览器应用应用应用应用、浏览器的应用程序的应用程序的应用程序可以更多地理解、浏览器应用、浏览器应用、浏览器应用、浏览器的复制文件。