2019-02-28 14:23:459593人阅读
希腊学者发明了一种基于浏览器的新型攻击“MarioNet”,该攻击可让黑客从用户浏览器中创建僵尸网络。在用户关闭或被引导离开受感染网页后,黑客依然可以在其浏览器中运行恶意代码。
这一攻击打开了在用户浏览器上组装巨型僵尸网络的大门。研究人员表示,这些僵尸网络可用于浏览器内加密挖矿(加密攻击)、DDoS攻击,恶意文件托管/共享、分布式密码破解、创建代理网络、广告点击欺诈和流量统计提升等。
MarioNet攻击跟2007年Puppetnets研究论文中描述的创建基于浏览器的僵尸网络概念相类似,不过是对其进行的升级,二者区别在于MarioNet可以在用户关闭浏览器选项卡或离开托管恶意代码的网站后可继续存在。
这个是可以做到的,因为现代Web浏览器现在支持名为Service Workers的新API,此机制可让网站将处理页面用户界面的操作与处理大量计算任务的操作隔离开来,这样在处理大量数据时网页UI就不会冻结。
从技术上讲,Service Worker是对名为Web Worker的旧API的更新。但与Web Worker不同,Service Worker一旦注册并激活,就可以在页面后台保持运行,无需用户继续浏览加载Service Worker的站点。
MarioNet充分利用了现代浏览器中Service Worker所提供的功能。
攻击例程包括当用户登陆攻击者控制的网站时注册Service Worker,然后滥用Service WorkerSyncManager接口,在用户离开后依然保持Service Worker开启。
攻击是静默的,不需要任何类型的用户交互,因为浏览器在注册Service Worker之前不会提醒用户或请求权限。当用户等待网站加载时,一切都发生在浏览器里,用户不会知道网站已注册Service Worker,因为在任何Web浏览器中都没有可见的指标。
此外,MarioNet攻击也与攻击点脱节。例如:攻击者可以在A网站感染用户,但他们稍后会控制来自服务器B的所有Service Worker。
这会让攻击者在高流量网站上短时间内放置好恶意代码、获得庞大的用户群、删除恶意代码,但会继续从另一台中央服务器上控制受感染的浏览器。而且MarioNet攻击还可以通过滥用Web Push API使浏览器在重新启动时持续存在,但会要求攻击者从受感染主机获取用户权限以访问此API。
通过MarioNet技术创建的僵尸网络可用于后续各种犯罪活动,如浏览器内加密挖掘(加密攻击)、DDoS攻击、恶意文件托管/共享、分布式密码破解、创建代理网络、广告点击欺诈和流量统计数据提升等。
MarioNet攻击和之后的僵尸网络操作都不需要攻击者利用浏览器漏洞,而只是对现有的JavaScript执行功能和新的HTML5 API滥用。例如:使用受感染的MarioNet僵尸网络进行文件托管需要使用浏览器内部已有的内置数据存储API,以便网站存储和检索用户计算机上文件,这使得检测任何MarioNet感染和随后的攻击几乎是不可能的。
由于Service Workers出现于前几年,MarioNet攻击几乎在所有桌面和移动浏览器上都可操作,只是对IE(桌面)、Opera Mini(手机)和Blackberry(手机)无效而已。
在他们的研究论文中,研究人员还描述了MarioNet可以通过反恶意软件浏览器扩展和反挖掘来躲避检测的方法,而且还为浏览器制造商提出了一些可行的缓解措施。
本文转自mottoin,作者Gump,点击查看原文