AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

最新研究显示,50% 以上使用 WebAssembly 的 Web 站点将其用于恶意目的

  • 2019-11-21
  • 本文字数:2215 字

    阅读完需:约 7 分钟

最新研究显示,50%以上使用WebAssembly的Web站点将其用于恶意目的

2019 年 6 月发布的一项研究显示,在 Alexa 排名前 100 万的网站中,每 600 个网站中就有 1 个在执行WebAssembly(Wasm)代码。此外,研究发现,50%以上使用 WebAssembly 的 Web 站点将其用于恶意目的,如挖矿和恶意代码的混淆。


Technische Universität Braunschweig应用安全研究所(Institute for Application Security)系统安全研究所(Institute of System Security)的一项研究中,Marius MuschChristian WressneggerMartin JohnsKonrad Rieck分析了 Alexa 排名前 100 万的网站中 WebAssembly 的流行情况。该团队检查了 Alexa 样本中四天内的 Web 站点,并成功研究了 947,704 个网站,最终访问了 3,465,320 个网页。该研究提供了有关 WebAssembly 流行程度、具有 Wasm 模块的网站对 WebAssembly 的使用程度的最新信息,并对这些网站对 WebAssembly 的使用目的进行了分类。


他们在 1639 个站点(大约每 600 个站点中就有一个)中发现了 1950 个 Wasm 模块。这些模块很重要的一点在于,它们不是通过网站的首页加载的,而是通过第三方脚本或其他源的 iframe(样本中的 795 个网站)加载到子页面上的。该研究报告称,1950 个 Wasm 模块代表了 150 个唯一的样本,这表明在多个站点中都发现了某些 Wasm 模块,极端情况是在 346 个不同站点中都存在同一个模块。相反,有 87 个样本是某些 Web 站点特有的,表示它是该网站自定义开发的。按照研究,使用 WebAssembly 的网站在每页上平均使用 1.2 Wasm 模块。在排名方面,Alexa 排名较低的网站,即较高的用户访问量(例如 google.com 排名第一),倾向于更频繁地使用 WebAssembly。


该研究还提供了 WebAssembly 在相关网站中使用程度的数据,为了达到该目的,他们使用了两个指标。第一个是 WebAssembly 模块的大小,范围从 8 个字节到 25.3MB 不等,每个模块的中位数为 100KB。这样的差异可以通过站点使用 WebAssembly 的不同目的来解释。报告指出,有的站点仅仅是测试一下浏览器是否支持 WebAssembly,而另一些站点则完全依赖于模块所暴露的功能。


第二个则是由 Chrome 浏览器的集成性能profiler所提取到的 WebAssembly 与 JavaScript 的相对使用数据,在这方面呈现出了两个极端情况。一方面,大多数站点(1121 个站点或者说大约样本的三分之二)几乎从来没有用到 WebAssembly。而另一方面,其余的站点几乎把所有的时间都用在了运行 Wasm 代码上了。


研究团队将 Wasm 模块手动分成六类,以反映使用 WebAssembly 的目的:自定义(Custom)、游戏(Game)、库(Library)、挖矿(Mining)、混淆(Obfuscation)和测试(Test)。在这六个分类中,有两种(分别是占网站样本 55.6%的挖矿和占网站样本 0.2%的混淆)代表了对 WebAssembly 的恶意使用。研究的详情:


在 WebAssembly 中,所观测到的最大分类是加密货币挖矿,在 Alexa 前 100 万个网站中,我们在 913 个站点中找了 28 个独立样本。

(…) 56%,在 Alexa 前 100 万的站点中,WebAssembly 大多数被用于恶意的目的。


与其他分类的样本相比,挖矿类别的 Wasm 样本具有独特的特征。所收集到的 WebAssembly 挖矿代码具有高度的相似性。此外,profiling 数据表明,大量使用 Wasm 的网站(运行 WebAssembly 代码的时间超过 50%的时间)确实是在挖掘加密货币。对挖矿类别中的模块进行的手动分析,未呈现出大量 Wasm 代码使用的情况(相对 CPU 份额低于 50%),他们发现 Wasm 代码运行失败的四个主要原因:


  1. 包含了挖矿脚本,但是矿工没有启动或被禁用了,脚本没有被移除。

  2. 矿工只有在用户与 Web 页面交互的时候或者在特定的延迟之后才会启动。

  3. 矿工已经不可用,这可能是因为不合法的修改或者远程 API 已修改。

  4. WebSocket 后端没有响应,这阻碍了矿工的运行。


研究得出了如下的结论:


[研究]表明,我们仅仅看到了新一代恶意软件的冰山一角(…)。因此,结合 WebAssembly 代码进行分析对未来的有效防御机制至关重要。


完整的研究结果可以在线获取。同时,也可以参考对研究结果的简短总结陈述


在数据收集的方法论方面,他们将站点定义为 Alexa 列表中的一个条目,以及与该条目共享相同源的页面。研究团队使用浏览器来收集所有 WebAssembly 代码。一项初步的研究表明,访问域的首页时大部分站点并未加载 Wasm 代码,因此研究团队从首页三个随机选择的链接中收集数据。与忽略所有子页面的爬虫相比,这导致识别使用 WebAssembly 的站点增加了 25%,并多收集了 40%的独特样本。


研究团队还使用了 profiler 来收集所访问站点的 CPU 使用率的信息,从而使团队能够评估执行 JavaScript 和 WebAssembly 代码所花费的时间百分比。为了进行分析,研究团队测量了 Wasm 和 JavaScript 代码的执行时间,并排除了等待网络响应时的所有其他因素,例如空闲时间。


在技术层面,研究团队透明地 hook 了所有可编译或实例化 Wasm 模块的 JavaScript 函数的创建。这包括instantiate方法、instantiateStreaming方法和WebAssembly.Module构造函数等。


Alexa提供网站流量统计信息,其中包括网站流量排名。排名是使用专有方法计算出来的,该方法会将网站的每日唯一访问者的估计平均值以及过去三个月的综合浏览量估算值结合在一起进行计算。


Technische Universität Braunschweig(布伦瑞克工业大学)是德国最古老的技术大学(与美国体系中的技术研究所类似),是德国顶尖的工程大学之一。


原文链接:


Recent Study Estimates That 50% of Web Sites Using WebAssembly Apply It for Malicious Purposes


2019-11-21 08:004520

评论

发布
暂无评论
发现更多内容

短短 146 天就成为 Apache APISIX Committer,我是怎么做到的?

API7.ai 技术团队

成长笔记 API网关 社区 Apache APISIX

企业级开发工具,J2PaaS低代码平台核心能力解析!

J2PaaS低代码平台

软件开发 低代码 低代码开发 低代码平台

堪称神级的Spring Boot手册,从基础入门到实战进阶

Java 程序员 Spring Boot

直面Z级计算挑战,英特尔携手生态合作伙伴加速开发者工具和软件部署

科技新消息

网易云音乐音视频算法的 Serverless 探索之路

阿里巴巴中间件

云计算 阿里云 Serverless 云原生 中间件

第 24 章 -《Linux 一学就会》- shell中色彩处理和awk使用技巧

学神来啦

Linux linux运维 linux云计算 linux一学就会

用建造者模式实现一个防SQL注入的ORM框架

Tom弹架构

网易云音乐音视频算法的 Serverless 探索之路

Serverless Devs

阿里云 Serverless 算法 音视频

医药研发企业数据中台的选择

鲸品堂

产业互联网

Linux指令日志分析(一)

正向成长

日志分析

Redis核心原理与实践--Redis启动过程源码分析

binecy

redis 源码阅读

[2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料

奔着腾讯去

golang Docker Kubernetes 容器 云原生

英特尔全面升级开发者专区(Developer Zone),携手开发者共塑科技未来

科技新消息

业内首款云原生技术中台产品云原生 Stack 来了!

阿里巴巴云原生

阿里云 云原生 技术中台

【IT运维小知识】安全组是什么意思?

行云管家

网络安全 安全 数据安全 安全组 IT运维

iOS 崩溃日志在线符号化实践

百度Geek说

阿里最新春招面经,腾讯/美团/字节1万道Java中高级面试题

收到请回复

Java 程序员 面试 职场 后端

先行一步,7 大技术创新和突破,阿里云把 Serverless 领域的这些难题都给解了

Serverless Devs

阿里云 gpu VPC 函数计算

IOS技术分享| ARCall视频通话重构

anyRTC开发者

ios 音视频 语音通话 视频通话 视频呼叫

以开发之名 | 美好出行体验,“管家”一站实现

最新动态

华为云网络覆盖全球2500+站点,打造高品质、低成本接入体验

华为云开发者联盟

RTC 华为云 媒体服务 LiveVideoStack

这一篇 K8S(Kubernetes)我觉得可以了解一下!!!

牧小农

Docker 容器 kubenetes

阿里二面:为什么要分库分表?

Java MySQL 数据库 架构 面试

2021年10月国产数据库流行度排行解读 浅谈基础软件发展之道

墨天轮

数据库 华为 opengauss Gauss DB 国产数据库

英特尔On技术创新峰会公布开发者重点投入计划,全面赋能开发者

科技新消息

安全漏洞的复现与总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

给JSONObject添加自定义遍历方法

FunTester

单元测试 Fastjson JSON库 spock FunTester

如何赋能APaaS平台应用管理员

明道云

官方线索 | 阿里云1024程序员创造营

穿过生命散发芬芳

1024我在现场

三轮融资笔笔过亿,来画如何实现弯道超车?

ToB行业头条

递推算法与递推套路(手撕算法篇)

有道技术团队

学习 编程 算法

最新研究显示,50%以上使用WebAssembly的Web站点将其用于恶意目的_大前端_Bruno Couriol_InfoQ精选文章