根據(jù)一項(xiàng)已發(fā)表的學(xué)術(shù)研究,使用 WebAssembly 的網(wǎng)站中大約有一半將其用于惡意目的。
WebAssembly 由 Mozilla、谷歌、微軟和蘋果這四個主要的瀏覽器供應(yīng)商協(xié)同創(chuàng)建,它引入了一種新的二進(jìn)制文件格式,用于將代碼從 Web 服務(wù)器傳輸?shù)綖g覽器。一旦到達(dá)瀏覽器,WebAssembly 代碼(Wasm)就會以接近本地的速度執(zhí)行,類似于已編譯的 C、C++ 或 Rust 代碼。創(chuàng)建 WebAssembly 的目的是兼顧速度和性能。由于 Wasm 代碼具有機(jī)器友好的二進(jìn)制格式,因此它比等效的 JavaScript 格式小,但執(zhí)行時速度也快許多倍。
WebAssembly 于 2017 年首次被提出,并于 2019 年底被批準(zhǔn)為正式的 W3C(萬維網(wǎng)聯(lián)盟)標(biāo)準(zhǔn),目前受到所有主流瀏覽器的支持。
在去年進(jìn)行的一項(xiàng)學(xué)術(shù)研究項(xiàng)目中,來自德國布倫瑞克工業(yè)大學(xué)的四名研究人員研究了 WebAssembly 在 Alexa 上排名前 100 萬的流行站點(diǎn)上的使用情況,以評估這種新技術(shù)的普及程度。他們加載了 100 萬個網(wǎng)站中每個網(wǎng)站的三個隨機(jī)頁面,測量了 WebAssembly 的使用情況,以及每個網(wǎng)站運(yùn)行代碼所花費(fèi)的時間。
研究發(fā)現(xiàn)有 1,639 個站點(diǎn)裝載了總計(jì) 1,950 個 Wasm 模塊,只有 150 個模塊是獨(dú)一無二的,有很多站點(diǎn)都在使用相同的 Wasm 模塊。
研究小組還對每個網(wǎng)站正在加載的 Wasm 代碼的性質(zhì)進(jìn)行了研究。他們手動分析代碼,查看函數(shù)名稱和嵌入的字符串,然后映射出相似代碼的集群。研究人員表示,他們分析的絕大多數(shù)代碼樣本都用于加密貨幣挖掘(樣本的 32%)和在線游戲(樣本的 29.3%)。這兩類 Wasm 代碼在本質(zhì)上是惡意的。
用于加密貨幣挖掘的 Wasm 模塊通常是所謂的加密劫持(通過挖礦驅(qū)動)攻擊的一部分。另一類涉及打包在混淆的 Wasm 模塊中的 WebAssembly 代碼,這些模塊有意隱藏其內(nèi)容,一般來說是惡意廣告的一部分。
由于代碼經(jīng)常在多個域中重復(fù)使用,這些模塊已被用于超過一半的樣本網(wǎng)站。且將 WebAssembly 代碼用于惡意目的的行為有在不斷增加的趨勢。研究小組還表示,這可能還只是“冰山一角”。為此,他們呼吁網(wǎng)絡(luò)安全公司參與進(jìn)來,應(yīng)對新技術(shù)帶來的新威脅。