Ronin Bridge出现异常提取跨链资产行为根本原因是什么?

链得得Xuất bản vào 2024-08-07Cập nhật gần nhất vào 2024-08-07

8月6日,据区块链安全审计公司Beosin Alert监测显示,Ronin Bridge项目出现异常提取跨链资产的行为。据Beosin安全团队分析,此次异常行为的根本原因在于项目方升级合约时,未正常初始化配置跨链交易确认所需的operator权重,导致合约中的minimumVoteWeight参数为零,从而使得任何人的签名都能通过跨链验证。

攻击交易链接:

https://etherscan.io/tx/0x2619570088683e6cc3a38d93c3d98899e5783864e15525d5f5810c11189ba6cb

Beosin目前正与项目方合作处理此次事件,本篇长文,我们也将与大家分析本笔交易存在异常的点在于两点:

首先,提取数量过高。在Ronin Bridge中,有跨链提取额度的限制,如果跨链提取的额度太大,则需要转至人工确认,而本次交易的跨链资产WETH的限制额度为4000。此笔交易提取了3996个。当然这不是漏洞,但足以让人引起了注意。

其次,查看这笔提取交易发现,其跨链验证者Operator只有一个,且对应的操作权重为0,那就可以确认这笔交易是存在问题的,因为在Ronin Bridge项目中,用户提取跨链资产需要得到多个Operator的签名,且累计的权重必须达到指定阈值。

事件分析:

分析链上合约和数据发现,合约Operator是对应的Manager合约独立管理,并且它是一个治理合约,专门用于管理ronin bridge,查看其交易记录,发现最近一笔交易是对Ronin Bridge合约进行升级,并且就在异常交易之前。所以漏洞的大致方面就基本明确,应该是项目方升级合约所导致的问题。

进一步深入,对比Ronin Bridge升级前后的代码发现,事件所使用的关键参数“_totalOperatorWeight”是本次升级新增的,并且需要在升级中调用initializeV3函数进行V3版本新增的“OperatorWeight”进行初始化。 

但遗憾的是:升级合约的交易中,并未调用initializeV3函数,而是错误调用initializeV4函数进行了V4版本的初始化。

 

至此,该事件的漏洞原理已经明了,Ronin Bridge项目方在合约升级时未正确对新增数据进行初始化,导致对应的关键数据“_totalOperatorWeight”始终为0,使得任意用户的提取请求都可以通过审核。

至本文发布前,项目方已经确认该问题,并发文说了本次攻击行为是白帽所为,并已进行退款,并未造成过多的损失。这是一个好消息,但是也暴露了合约升级这一大易出错的点。

可升级合约

可升级合约是一种solidity智能合约设计方案,使得已部署的合约能够在未来进行升级或修改,而无需完全重新部署。这个概念的核心在于将合约的逻辑和数据分离,并利用“delegatecall”实现对逻辑合约的调用。

尽管这种模式提供了灵活的升级能力,我们也必须高度重视其安全性。由于代理合约负责转发所有的用户请求,它实际上成为了合约系统的入口点。任何对代理合约的攻击都可能影响到整个合约的安全性。因此,在设计和部署可升级合约时,确保代理模式的安全性至关重要。目前代理模式的合约需要注意以下几点:

函数选择器冲突

在以太坊虚拟机(EVM)中,每个智能合约函数都有一个唯一的标识符,称为函数选择器。这个选择器是函数签名的前4个字节的哈希值。函数选择器用于确定合约中的具体函数,确保调用请求被正确路由到相应的函数实现。而在代理模式在调用函数时,会先检查代理合约中的函数接口是否能匹配调用函数,如果不能匹配,才会利用fallback中的delegatecall调用逻辑合约。

因此,如果代理合约和逻辑合约中存在函数选择器相同的函数,当代理合约接收到调用时,它直接调用代理合约中的函数,而不是逻辑合约,这可能导致预期之外的行为或安全漏洞。

存储冲突

在以太坊虚拟机(EVM)中,合约的状态数据存储在特定的存储槽中,每个存储槽的地址由其索引(从0开始)确定。合约中的每个状态变量都对应一个存储槽,数据在这些槽中持久化。

在代理模式中,存储槽通常是由代理合约管理的,而逻辑合约则通过代理合约来访问这些槽。存储冲突可能发生在逻辑合约中新增的状态变量与代理合约中现有的状态变量槽发生冲突时。这可能导致代理合约中的数据被覆盖或不一致

合约初始化问题

在代理模式中,由于代理合约和逻辑合约的分离,而每次升级可能都涉及到变量的更改和新增,因此在升级时必须确保在正确设置这些关键变量。本次的ronin bridge事件就是因为这个问题没做好,导致被攻击。

此外,需要确保初始化函数 initialize 只能被调用一次,以防止在初始化后被恶意攻击者重复调用,从而修改关键变量。

ldelegatecall调用机制

delegatecall是一种低级调用机制,它允许一个合约在其上下文中执行另一个合约的代码。这意味着,调用合约的存储、地址和消息发送者保持不变,但执行的逻辑来自被调用的目标合约。虽 delegatecall提供了强大的功能,但也需要谨慎使用。

如果目标合约地址不存在,delegatecall 的执行将失败并返回失败码,但这种失败可能不会被立刻发现。结果,代理合约中的调用可能看起来像是成功,但实际操作并未生效,从而导致系统的不一致或错误。

代理合约权限管理

在代理模式中,权限管理是另一个关键的安全问题。代理模式通过分离代理合约和逻辑合约的职责,使得合约可以在不改变数据存储的情况下进行升级,但同时也引入了复杂的权限管理问题。正确地管理权限对于保证合约系统的安全性和稳定性至关重要。

Beosin作为全球最早一批从事形式化验证的区块链安全公司,主打”安全+合规“全生态业务,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控与阻断、被盗追回、虚拟资产反洗钱(AML)以及符合各地监管要求的合规评估等“一站式”区块链合规产品+安全服务

链得得仅提供相关信息展示,不构成任何投资建议

Tiền kỹ thuật số thịnh hành

Nội dung Liên quan

Bài viết mới của Arthur Hayes: Đặt cược vào sự tăng giá của Yên Nhật, ENA có thể tăng 5 đến 10 lần trong vài tháng tới

Trong bài viết mới nhất "Yen-quake", Arthur Hayes dự đoán đồng yên Nhật (JPY) sắp tăng giá mạnh so với USD. Ông chỉ ra ba kịch bản có thể xảy ra, nhưng phương án được ưa chuộng nhất là Bộ Tài chính Nhật (MOF) sử dụng cơ chế FIMA của Fed: thế chấp trái phiếu kho bạc Mỹ để vay USD, sau đó bán USD và mua JPY trên thị trường ngoại hối, từ đó đẩy giá đồng yên lên. Hành động này đồng nghĩa với việc Fed in thêm hàng nghìn tỷ USD, làm tăng tính thanh khoản toàn cầu. Hayes tin rằng dòng tiền mới này sẽ chảy vào các tài sản như Bitcoin, vàng vật chất và cổ phiếu khai thác vàng, đẩy giá của chúng lên cao. Về tiền điện tử, ngoài Bitcoin và Ethereum (mà ông cho là đang bị định giá thấp), Hayes đặc biệt lạc quan về Ethena (ENA). Ông nhận định rằng chỉ cần một sự tăng trưởng thanh khoản nhỏ cũng có thể khôi phục lợi suất cơ bản cho USDe (stablecoin của Ethena), thu hút dòng tiền mạnh mẽ và giúp giá token ENA tăng từ 5 đến 10 lần trong vài tháng tới. Ông nhấn mạnh cần theo dõi sát sao động thái của Chủ tịch Fed Warsh trong việc sửa đổi quy tắc FIMA, vì đây sẽ là tín hiệu then chốt cho đợt bơm tiền sắp tới.

marsbit4 phút trước

Bài viết mới của Arthur Hayes: Đặt cược vào sự tăng giá của Yên Nhật, ENA có thể tăng 5 đến 10 lần trong vài tháng tới

marsbit4 phút trước

Tiền ùa về nhưng thị trường vẫn sợ hãi, Bitcoin rơi vào thế đi ngang mâu thuẫn

Tác giả: New Huo Technology Tuần qua, thị trường tiền mã hóa thể hiện một mâu thuẫn hiếm thấy: dòng tiền đổ vào lớn nhưng tâm lý lại hoảng loạn. ETF Bitcoin Mỹ có dòng vốn ròng 853 triệu USD, mức cao nhất từ giữa tháng 4, với IBIT của BlackRock chiếm hơn 80%. ETF Ethereum cũng hút 245 triệu USD, tổng dòng vào ETF đạt hơn 1,1 tỷ USD. Tuy nhiên, chỉ số Fear & Greed vẫn ở vùng hoảng sợ (31-32). Phí âm Bitcoin trên Coinbase kéo dài 82 ngày, kỷ lục mới, cho thấy nhu cầu thể chế không đủ hấp thụ áp lực bán từ nhà đầu tư nhỏ lẻ. Về vĩ mô, dữ liệu việc làm Mỹ tháng 7 thấp hơn kỳ vọng, làm giảm xác suất Fed tăng lãi suất vào tháng 9. Dữ liệu CPI tháng 7 (công bố 12/8) sẽ là chỉ số then chốt trước cuộc họp FOMC tháng 9. Về chính sách, dự luật CLARITY Act chưa được bỏ phiếu và dự kiến thảo luận vào khoảng 15/9. Kết quả sẽ ảnh hưởng lớn đến khung quy định cho tài sản số tại Mỹ. Trong ngành, lỗ hổng ví phần cứng Coldcard gây mất 1.500-2.000 Bitcoin (khoảng 100-130 triệu USD), làm nổi bật rủi ro tự lưu ký. Đồng thời, MicroStrategy bán 1.638 Bitcoin, nhưng người sáng lập Michael Saylor khẳng định ông vẫn giữ nguyên cam kết không bán Bitcoin cá nhân. Về kỹ thuật, Bitcoin giao dịch quanh 64.800-65.200 USD, với khối lượng và biến động thấp. Hỗ trợ chính ở 63.500 USD, trong khi kháng cự quanh 65.100 USD (EMA60). Kháng cự then chốt phía trên là 68.300 USD và 72.700 USD, hỗ trợ dưới là 63.500 USD và 62.500 USD. Nhận định của New Huo Research: thị trường vẫn đang trong giai đoạn phục hồi niềm tin và tích lũy ở đáy thị trường gấu. Tính bền vững của dòng tiền vào ETF là động lực chính ngắn hạn.

marsbit6 phút trước

Tiền ùa về nhưng thị trường vẫn sợ hãi, Bitcoin rơi vào thế đi ngang mâu thuẫn

marsbit6 phút trước

FlightAware đệ đơn kiện Kalshi vì sử dụng dữ liệu của mình trong cá cược

FlightAware, nền tảng theo dõi chuyến bay, đã đệ đơn kiện sàn giao dịch hợp đồng sự kiện Kalshi. Vụ kiện cáo buộc Kalshi sử dụng nhãn hiệu và dữ liệu của FlightAware cho các thị trường dự đoán, gây tổn hại danh tiếng và có thể dẫn đến hậu quả tiêu cực. FlightAware tuyên bố Kalshi vi phạm Điều khoản Dịch vụ của họ, vốn cấm sử dụng thông tin cho mục đích thương mại. Kalshi đã ra mắt thị trường cho phép người dùng đặt cược vào việc hủy chuyến bay, với mô tả rằng kết quả được xác định dựa trên dữ liệu FlightAware. Theo FlightAware, Kalshi đã trình bày họ như một "đối tác thân thiết" bằng cách đặt nhãn hiệu và đề cập thương hiệu, làm rủi ro danh tiếng. Một tuyên bố từ chối trách nhiệm chỉ xuất hiện sau khi FlightAware liên hệ. Công ty cũng lo ngại các loại cược này có thể khuyến khích hành vi độc hại và vi phạm an ninh để kiếm lời, dù Kalshi tuyên bố không chi trả trong những trường hợp như vậy. FlightAware còn nói rằng tổ chức của họ nhiều lần bị nghi ngờ tham gia vào các vụ đặt cược. Do đó, họ yêu cầu lệnh cấm của tòa án đối với Kalshi và bồi thường thiệt hại. Đây là một ví dụ về áp lực pháp lý mà Kalshi đối mặt tại Mỹ, chẳng hạn như vụ khiếu nại từ Spotify về thao túng bảng xếp hạng, dù khối lượng giao dịch trên nền tảng vẫn tiếp tục tăng.

cryptonews.ru9 phút trước

FlightAware đệ đơn kiện Kalshi vì sử dụng dữ liệu của mình trong cá cược

cryptonews.ru9 phút trước

Số lượng Ethereum được staking đạt kỷ lục 41,7 triệu ETH, tương đương 35% tổng cung

Theo dữ liệu từ CryptoQuant, lượng Ethereum ($ETH) bị khóa trong staking đã đạt mức kỷ lục lịch sử 41,7 triệu ETH, tương đương 34,5% tổng nguồn cung lưu hành (khoảng 120,7 triệu ETH). Mặc dù giá ETH đã giảm khoảng 44% so với đầu năm, số lượng ETH stake vẫn tăng mạnh kể từ tháng 2/2026, đặc biệt tăng tốc từ tháng 6 đến tháng 8. Các trình xác thực (validator) nhận phần thưởng ETH mới phát hành cho việc xác thực giao dịch và bảo vệ mạng, cùng với phí ưu tiên. Một phần thu nhập này có thể được tái đầu tư vào staking, tạo hiệu ứng lãi kể ngay cả khi giá giảm, mặc dù tỷ suất lợi nhuận có xu hướng giảm khi nhiều validator tham gia. Các công ty quản lý ngân quỹ, như BitMine – hiện đang stake 4,9 triệu ETH (85% tài sản ETH của họ), đang đóng vai trò quan trọng trong xu hướng này. BitMine kiếm được 45,7 triệu USD từ staking trong quý vừa qua và dự kiến phần thưởng hàng năm có thể lên tới 284 triệu USD. Sự tham gia ngày càng tăng của các tổ chức có thể khiến nhiều ETH hơn biến mất khỏi thị trường giao dịch, nhưng điều này không đảm bảo giá sẽ tăng, vì áp lực bán hàng vẫn có thể bù đắp cho việc thu hẹp nguồn cung.

cryptonews.ru11 phút trước

Số lượng Ethereum được staking đạt kỷ lục 41,7 triệu ETH, tương đương 35% tổng cung

cryptonews.ru11 phút trước

Giao dịch

Giao ngay

Bài viết Nổi bật

Làm thế nào để Mua RONIN

Chào mừng bạn đến với HTX.com! Chúng tôi đã làm cho mua Ronin (RONIN) trở nên đơn giản và thuận tiện. Làm theo hướng dẫn từng bước của chúng tôi để bắt đầu hành trình tiền kỹ thuật số của bạn.Bước 1: Tạo Tài khoản HTX của BạnSử dụng email hoặc số điện thoại của bạn để đăng ký tài khoản miễn phí trên HTX. Trải nghiệm hành trình đăng ký không rắc rối và mở khóa tất cả tính năng. Nhận Tài khoản của tôiBước 2: Truy cập Mua Crypto và Chọn Phương thức Thanh toán của BạnThẻ Tín dụng/Ghi nợ: Sử dụng Visa hoặc Mastercard của bạn để mua Ronin (RONIN) ngay lập tức.Số dư: Sử dụng tiền từ số dư tài khoản HTX của bạn để giao dịch liền mạch.Bên thứ ba: Chúng tôi đã thêm những phương thức thanh toán phổ biến như Google Pay và Apple Pay để nâng cao sự tiện lợi.P2P: Giao dịch trực tiếp với người dùng khác trên HTX.Thị trường mua bán phi tập trung (OTC): Chúng tôi cung cấp những dịch vụ được thiết kế riêng và tỷ giá hối đoái cạnh tranh cho nhà giao dịch.Bước 3: Lưu trữ Ronin (RONIN) của BạnSau khi mua Ronin (RONIN), lưu trữ trong tài khoản HTX của bạn. Ngoài ra, bạn có thể gửi đi nơi khác qua chuyển khoản blockchain hoặc sử dụng để giao dịch những tiền kỹ thuật số khác.Bước 4: Giao dịch Ronin (RONIN)Giao dịch Ronin (RONIN) dễ dàng trên thị trường giao ngay của HTX. Chỉ cần truy cập vào tài khoản của bạn, chọn cặp giao dịch, thực hiện giao dịch và theo dõi trong thời gian thực. Chúng tôi cung cấp trải nghiệm thân thiện với người dùng cho cả người mới bắt đầu và người giao dịch dày dạn kinh nghiệm.

Tổng lượt xem 324Xuất bản vào 2024.12.10Cập nhật vào 2026.06.02

Làm thế nào để Mua RONIN

Thảo luận

Chào mừng đến với Cộng đồng HTX. Tại đây, bạn có thể được thông báo về những phát triển nền tảng mới nhất và có quyền truy cập vào thông tin chuyên sâu về thị trường. Ý kiến ​​của người dùng về giá của RONIN (RONIN) được trình bày dưới đây.

活动图片