根据一项已发表的学术研究,使用WebAssembly的网站中大约有一半将其用于恶意目的。

WebAssembly由Mozilla、谷歌、微软和苹果这四个主要的浏览器供应商协同创建,它引入了一种新的二进制文件格式,用于将代码从Web服务器传输到浏览器。一旦到达浏览器,WebAssembly代码(Wasm)就会以接近本地的速度执行,类似于已编译的C、C++或Rust代码。创建WebAssembly的目的是兼顾速度和性能。由于Wasm代码具有机器友好的二进制格式,因此它比等效的JavaScript格式小,但执行时速度也快许多倍。

WebAssembly于2017年首次被提出,并于2019年底被批准为正式的W3C(万维网联盟)标准,目前受到所有主流浏览器的支持。

在去年进行的一项学术研究项目中,来自德国布伦瑞克工业大学的四名研究人员研究了WebAssembly在Alexa上排名前100万的流行站点上的使用情况,以评估这种新技术的普及程度。他们加载了100万个网站中每个网站的三个随机页面,测量了WebAssembly的使用情况,以及每个网站运行代码所花费的时间。

研究发现有1,639个站点装载了总计1,950个Wasm模块,只有150个模块是独一无二的,有很多站点都在使用相同的Wasm模块。

研究小组还对每个网站正在加载的Wasm代码的性质进行了研究。他们手动分析代码,查看函数名称和嵌入的字符串,然后映射出相似代码的集群。研究人员表示,他们分析的绝大多数代码样本都用于加密货币挖掘(样本的32%)和在线游戏(样本的29.3%)。这两类Wasm代码在本质上是恶意的。

用于加密货币挖掘的Wasm模块通常是所谓的加密劫持(通过挖矿驱动)攻击的一部分。另一类涉及打包在混淆的Wasm模块中的WebAssembly代码,这些模块有意隐藏其内容,一般来说是恶意广告的一部分。

由于代码经常在多个域中重复使用,这些模块已被用于超过一半的样本网站。且将WebAssembly代码用于恶意目的的行为有在不断增加的趋势。研究小组还表示,这可能还只是“冰山一角”。为此,他们呼吁网络安全公司参与进来,应对新技术带来的新威胁。

推荐内容