Web浏览器在2020年仍允许下载Driver-by-Download

2020-06-01 22:15:49

现在是2020年了,很多浏览器仍然允许从所谓的安全环境(如沙盒iFrame)下载Driver-by-Download(Driver by-Download)。

对于那些不熟悉这个术语的人来说,Driver-by-Download是指用户访问网站时,在没有用户交互的情况下启动文件下载。

此技术可用于分发不需要的软件和恶意程序,希望用户意外或错误地执行下载并受到感染。

广告安全公司confiant的最新研究表明,沙盒iframe等安全上下文可能会在访问网站时被滥用,从而允许下载。

由于大多数广告都是通过IFRAME显示在网页上的,恶意广告商可以利用它们来投放不需要的应用程序,从而感染您的计算机。

2020年1月,Boing Boing网站的访问者开始看到假冒的Google Play Protect覆盖,促使用户下载在Android设备上安装Anubis银行特洛伊木马的恶意APK。

对于Windows用户,它会显示一个分发其他恶意程序的假Adobe Flash安装页面。

最初被认为是一场恶意宣传活动,后来被发现波音的CMS被黑客入侵,并注入了一个脚本,将这些覆盖显示给访问者。

在调查了这次攻击后,Truant研究员Eliya Stein注意到,Driver-by-Download是由嵌入页面的JavaScript发起的。

此脚本将在页面上创建一个链接并单击此链接,而无需用户任何提示即可启动下载。

虽然事实证明这次攻击并不是恶意广告,但斯坦想知道是否可以通过使用沙盒IFRAMES进行恶意广告攻击来发起类似的攻击。

如前所述,大多数广告使用沙盒IFRAMES将广告嵌入网页。

由于广告处于第三方的控制之下,这些框架通常与沙盒参数一起使用,以提高安全性并限制第三方页面可以执行的操作。

为了查看上面描述的相同脚本是否会导致沙盒跨源iframe中APK的驱动下载,这是从不同主机名加载的iframe,Stein创建了一个概念验证页面来测试各种浏览器。

在创建这个沙盒IFRAME时,Stein使用了广告常用的以下限制。

随着Chrome 83的发布,沙盒跨源IFRAME中的下载被屏蔽,下载驱动技术也不起作用。要允许下载,开发人员必须将Allow-Downloads添加到沙盒的值中。

基于Chrome83的Microsoft Edge也包括这一新功能,并阻止下载。

Mozilla Firefox不阻止跨源iframe中的下载,系统会提示用户下载该文件。

Safari的行为非常奇怪,因为它会尝试下载APK文件,但最终无法完成。

Android浏览器会提示您下载该文件,但会警告您APK文件是危险的。

正如您所看到的,允许脚本在预计是安全的上下文中启动下载是有问题的,因为它可能会通过恶意广告传播恶意软件。

虽然Chrome83和Microsoft Edge83都屏蔽了沙盒iframe中的下载,但Brave和Firefox仍然允许下载。

在Mozilla Firefox的一篇bug帖子中,Firefox的开发人员已经完成了阻止沙盒iframe中下载的代码,并将很快将其添加到浏览器中。

目前还不清楚Brave、Safari和受影响的移动浏览器将来是否会解决这个问题。