Bybit事件技术分析
事件概述
2025年2月21日UTC时间下午02:16:11,Bybit的以太坊冷钱包(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4)因恶意合约升级遭到资金盗取。根据Bybit CEO Ben Zhou的声明,攻击者通过钓鱼攻击诱骗冷钱包签名者错误签署恶意交易。他提到,该交易被伪装为合法操作:Safe{Wallet}界面显示为正常交易,但实际发送至Ledger设备的数据已被篡改为恶意内容。攻击者成功获取三个有效签名,将Safe多签钱包的实现合约替换为恶意合约,从而盗取资金。此次漏洞导致约14.6亿美元的损失,成为Web3历史上最大规模的安全事件。
攻击交易记录
升级Safe钱包实现合约至恶意合约:https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882
从Bybit冷钱包转移资金的多笔交易:
- 401,346 ETH:https://etherscan.io/tx/0xb61413c495fdad6114a7aa863a00b2e3c28945979a10885b12b30316ea9f072c
- 15,000 cmETH:https://etherscan.io/tx/0x847b8403e8a4816a4de1e63db321705cdb6f998fb01ab58f653b863fda988647
- 8,000 mETH:
https://etherscan.io/tx/0xbcf316f5835362b7f1586215173cc8b294f5499c60c029a3de6318bf25ca7b20 - 90,375 stETH:
https://etherscan.io/tx/0xa284a1bc4c7e0379c924c73fcea1067068635507254b03ebbbd3f4e222c1fae0 - 90 USDT:
https://etherscan.io/tx/0x25800d105db4f21908d646a7a3db849343737c5fba0bc5701f782bf0e75217c9
主要地址
Bybit多签冷钱包(受害者):https://etherscan.io/address/0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4
攻击者初次攻击操作地址:https://etherscan.io/address/0x0fa09c3a328792253f8dee7116848723b72a6d2e
恶意实现合约:
https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
Safe "delegate call" 过程中使用的攻击合约:
https://etherscan.io/address/0x96221423681A6d52E184D440a8eFCEbB105C7242
攻击流程
1. 攻击者在攻击的三天前(2025年2月18日,UTC时间)之前部署了两个恶意合约。
- 这些合约包含了资金转移的后门功能: https://etherscan.io/address/0xbdd077f651ebe7f7b3ce16fe5f2b025be2969516
- 以及用于修改存储槽的代码,以实现合约升级: https://etherscan.io/address/0x96221423681A6d52E184D440a8eFCEbB105C7242
2. 攻击者在2025年2月21日诱使三个多重签名钱包的所有者(签名者)签署恶意交易,从而将Safe的实现合约升级为之前部署的含有后门的恶意合约:
https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882
3. 攻击交易中的“operation”字段值为“1”,指示GnosisSafe合约执行“delegatecall”,而“0”表示“Call”。

4. 该交易执行了委托调用到攻击者部署的另一个合约(0x96221423681a6d52e184d440a8efcebb105c7242),该合约包含一个“transfer()”函数,调用时修改合约的第一个存储槽“uint256 _transfer”。

在GnosisSafe合约中,第一个存储槽包含“masterCopy”地址,即GnosisSafe合约的实现合约地址。


通过修改Gnosis Safe合约的第一个存储槽,攻击者能够改变实现合约地址(即“masterCopy”地址)。


从交易详情中可以看到,攻击者将“masterCopy”地址设置为0xbDd077f651EBe7f7b3cE16fe5F2b025BE2969516,该地址包含了下面描述的“sweepETH()”和“sweepERC20()”函数。

5. 攻击者使用的合约升级方法非常规,它经过专门设计来避免攻击意图被发现。从Bybit签署者的角度来看,签署的数据看起来像是一个简单的“transfer(address, uint256)”函数调用,而不是一个可能引起怀疑的“升级”函数。
6. 升级后的恶意实现合约包含了后门函数“sweepETH()”和“sweepERC20()”,攻击者通过调用这些函数,转移了冷钱包内所有资产,最终造成14亿美元的ETH被盗。

漏洞分析
此次漏洞的根源在于一次成功的钓鱼攻击。攻击者通过诱骗钱包签名者签署恶意交易数据,最终导致合约被恶意升级。此次升级使攻击者得以控制冷钱包并转移其全部资金。目前,钓鱼攻击的具体策划与实施手法仍不明确。
根据Bybit CEO Ben Zhou在漏洞发生两小时后于X平台直播中的说明,事件发生时Bybit团队正执行冷钱包至热钱包的常规资产转移流程,而他本人是Safe多签交易的最后一位签署者。他明确指出:该交易经过伪装处理——所有签名者在Safe{Wallet}界面看到的地址和交易数据均显示为正确内容,且URL已通过Safe{Wallet}官方验证。然而,当交易数据发送至Ledger硬件钱包进行签名时,实际内容已被篡改。Ben Zhou还提到,他未在Ledger设备界面上二次核验交易细节。关于攻击者如何篡改Safe{Wallet}界面,目前尚无定论。根据Arkham披露的信息,链上分析师@zachxbt已提交确凿证据,表明此次攻击由LAZARUS黑客组织策划实施。
经验与教训
此次事件让人联想到2024年10月16日的Radiant Capital漏洞事件(参考1、参考2),该事件导致约5000万美元被盗。当时攻击者通过入侵开发者设备,篡改Safe{Wallet}前端界面,使其显示合法交易数据,而实际发送至硬件钱包的数据为恶意内容。此类篡改在人工界面审查及Tenderly模拟测试中均无法被检测。攻击者最初通过冒充可信前承包商,通过Telegram消息,向目标发送含有恶意软件(建立macOS持久后门)的压缩PDF文件,从而获取设备访问权限。
尽管Bybit事件中界面篡改的根本原因尚未确认,但设备入侵可能是关键因素(与Radiant Capital事件类似)。两起事件均揭示了攻击成功的两大前提:设备被入侵与盲签行为。鉴于此类攻击日益频繁,我们需重点分析以下两种攻击手段及缓解策略:
1. 设备被入侵:
通过社会工程学手段传播恶意软件入侵受害者设备,仍是Web3领域大规模攻击的主要手段。国家级黑客组织(例如LAZARUS GROUP)常利用此方法突破初始防线。设备入侵可有效绕过安全控制措施。
缓解策略:
- 强化设备安全:制定严格的端点安全策略,部署EDR解决方案(如CrowdStrike)。
- 专用签名设备:在隔离环境中使用专用设备执行交易签名,避免多用途设备暴露风险。
- 临时操作系统:为关键操作(如多签交易)配置非持久性操作系统(如临时虚拟机),确保操作环境干净。
- 钓鱼模拟演练:定期对高风险角色(如加密资产操作员、多签签名者)进行钓鱼攻击模拟,提升安全意识。
- 红队攻防演练:模拟攻击者战术,评估现有安全控制措施的有效性并针对性强化。
2. 盲签漏洞:
盲签名指用户未完整验证交易细节即签署交易,导致恶意交易被意外授权。此类不安全操作在DeFi用户中普遍存在,对管理高额资产的加密机构尤为危险。硬件钱包Ledger近期已针对此问题展开讨论(参考1、参考2)。在Bybit事件中,恶意界面隐藏交易真实意图,导致篡改后的数据被发送至Ledger设备,而签名者未在设备端验证细节,最终引发漏洞。
缓解策略:
- 避免未经验证的Dapp:仅与可信的平台交互;通过书签访问官方平台,避免钓鱼链接。
- 硬件钱包二次核验:在Ledger等设备屏幕上逐项确认交易详情(收款地址、金额、函数调用),确保与预期一致。
- 交易模拟:在签名之前,模拟交易以观察其结果并验证其正确性。
- 使用非可视化界面:选择命令行工具 (CLI),减少对第三方图形界面的依赖,CLI降低了UI操纵的风险,可提供更透明的交易数据视图。
- 异常即终止:若交易任何部分存在异常,立即终止签名流程并启动调查。
- 双设备验证机制:在签名之前,使用单独的设备独立验证交易数据。该设备应生成可读的签名验证码,该验证码与硬件钱包上显示的数据相匹配。
继Radiant Capital与WazirX的数千万美元损失后,Bybit成为了Web3史上最大规模盗窃的受害者。此类攻击的频率与复杂性持续升级,暴露了行业在运维安全上的重大缺陷。攻击者正系统性针对高价值目标进行攻击. 随着对手能力的提升,中心化交易所(CEX)及加密机构必须全面提升安全防护水平,警惕外部威胁的迭代演进。
相关文章:
Bybit事件技术分析
事件概述 2025年2月21日UTC时间下午02:16:11,Bybit的以太坊冷钱包(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4)因恶意合约升级遭到资金盗取。根据Bybit CEO Ben Zhou的声明,攻击者通过钓鱼攻击诱骗冷钱包签名者错误签署恶意交易…...
JavaWeb-在idea中配置Servlet项目
文章目录 在idea中进行Servlet项目的配置(较新的idea版本)创建一个空的JavaSE项目(Project)创建一个普通的JavaSE板块(module)添加Web项目的配置定义一个对象模拟实现接口在web.xml中配置路径映射配置项目到Tomcat服务器启动Tomcat服务器进行测试 在idea中进行Servlet项目的配置…...
redis小记
redis小记 下载redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis没有protected-mode属性,就算sudo启动,也不能往/var/spool/cron/crontabs写计划任务,感觉很安全 #连接到redis redis-cli -h 127.0.0.1 -p 6379 …...
垂类大模型微调(一):认识LLaMA-Factory
LlamaFactory 是一个专注于 高效微调大型语言模型(LLMs) 的开源工具框架,尤其以支持 LLaMA(Meta 的大型语言模型系列)及其衍生模型(如 Chinese-LLaMA、Alpaca 等)而闻名。它的目标是简化模型微调流程,降低用户使用门槛; 官方文档 一、介绍 高效微调支持 支持多种微调…...
企业为什么要选择软件测试外包公司?湖南软件测试公司有哪些?
在当今快速发展的技术背景下,软件测试已成为软件开发生命周期的重要一环。随着企业对软件质量要求的不断提高,软件测试外包公司逐渐被越来越多的企业所青睐。 软件测试外包公司通过将软件测试从内部团队外包出去,帮助企业减少开发成本、提升…...
数据保护API(DPAPI)深度剖析与安全实践
Windows DPAPI 安全机制解析 在当今数据泄露与网络攻击日益频繁的背景下,Windows 提供的 DPAPI(Data Protection API)成为开发者保护本地敏感数据的重要工具。本文将从 双层密钥体系、加密流程、跨上下文加密、已知攻击向量与防御措施、企业…...
java23种设计模式-桥接模式
桥接模式(Bridge Pattern)学习笔记 🌟 定义 桥接模式属于结构型设计模式,将抽象部分与实现部分分离,使它们可以独立变化。通过组合代替继承的方式,解决多维度的扩展问题,防止类爆炸。 &#x…...
3D Web轻量化引擎HOOPS Communicator如何赋能航空航天制造?
在当今航空航天制造领域,精确度、效率和协作是推动行业发展的关键要素。随着数字化技术的飞速发展,3D Web可视化开发包HOOPS Communicator 为航空航天制造带来了革命性的变化。它凭借强大的功能和灵活的应用,助力企业在设计、生产、培训等各个…...
iOS手机App爬虫- (1) Mac安装Appium真机运行环境
iOS手机App爬虫 一、环境准备与工具安装1. 开发基础环境配置1.1 Node.js环境1.2 Xcode套件1.3 Java环境 2. 核心测试工具链2.1 Appium主程序2.2 辅助工具集 3. 可视化工具 二、设备与环境验证1. 设备信息获取2. 环境健康检查 三、WebDriverAgent编译部署1. 设备端准备2. 项目配…...
android s下make otapackage编译失败
[DESCRIPTION] android s上,我司推荐使用split build的方式进行编译,但是部分客户依旧会采用AOSP full build的方式进行编译。而我司在这块release的时候,并未进行验证。因此执行make otapackage的时候,会出现如下报错。 [0312/…...
《Elasticsearch实战:从零开始构建高效全文搜索引擎》
内容概览: Elasticsearch简介 Elasticsearch的定义与应用场景 Elasticsearch的核心特性 环境搭建与安装 安装Elasticsearch 启动与配置Elasticsearch 索引设计与映射 创建索引 定义映射(Mapping) 字段类型与分析器的选择 数据导入与管理…...
【Linux网络】认识协议(TCP/UDP)、Mac/IP地址和端口号、网络字节序、socket套接字
⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、初识协议2、UDP、TCP3、Mac、IP地址4、端口号5、网络字节序6、socket 1、初识协议 协议就是一种约定。如何让不同厂商生产的计…...
12、数据库、Sql单表多表
文章目录 一、数据库简介二、单表三、多表四、等值连接五、内联结六、inner join on、left join on、right join on区别七、模糊查找八、作业 一、数据库简介 数据在内存: 优点:读写速度快缺点:程序结束后数据丢失 保存到文件 优点&#…...
Spring Boot 实现图片上传并生成缩略图功能
在实际开发中,上传图片并生成缩略图是一项常见需求,例如在电商平台、社交应用等场景中,缩略图可以有效提高页面加载速度,优化用户体验。本文将介绍如何在 Spring Boot 项目中实现上传图片并生成缩略图的功能。 📦 1. …...
洛谷B3664[语言月赛202209] 零食售卖点
B3664 [语言月赛202209] 零食售卖点 - 洛谷 代码区: #include<bits/stdc.h>using namespace std;int main(){int n;cin >> n;int arry[n],dp[n];for(int i0;i<n;i){cin >> arry[i];}dp[0]0;sort(arry,arryn);for(int i1;i<n;i){dp[i]arry…...
贪心算法:JAVA从理论到实践的探索
在计算机科学领域,贪心算法是一种简单而高效的算法设计策略,广泛应用于优化问题的求解。它通过在每一步选择中都采取当前状态下最优的选择,以期望最终得到全局最优解。本文将深入探讨贪心算法的原理、应用场景,并通过具体代码示例,帮助读者更好地理解和掌握这一算法。 一…...
线程池10种常见坑
1. 直接使用 Executors 创建线程池 直接使用 Executors 提供的快捷方法: ExecutorService executor Executors.newFixedThreadPool(10);问题 无界队列:newFixedThreadPool 使用的队列是 LinkedBlockingQueue,它是无界队列,任务…...
鸿蒙ArkTs如何实现pdf预览功能?
鸿蒙ArkTs如何实现pdf预览功能? 前言PDFKit运行示例代码报错真机运行先看效果一、预览本地pdf文件二、预览线上的pdf文件三、预览沙箱目录中pdf的文件(重点)效果中的整体代码总结 Harmony OS NEXT版本(接口及解决方案兼容API12版本或以上版本) 前言 在开…...
KylinSP3 | 防火墙和麒麟安全增强设置KySec
一、系统防火墙原理 麒麟操作系统从V10版本开始,默认使用了Firewalld防火墙,Firewalld是能提供动态管理的防火墙,支持网络/防火墙区域,用于定义网络连接或接口的信任级别。支持IPv4和IPv6防火墙设置、以太网桥接和IP集。将运行时…...
【C++】面试常问八股
5、内存管理 野指针 野指针指的是未进行初始化或未清零的指针,不是NULL指针野指针产生原因及解决方案: 指针变量未初始化:指针变量定义时若未初始化,则其指向的地址是随机的,不为NULL;定义时初始化为NULL…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

