SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

Odaily星球日报Xuất bản vào 2023-12-11Cập nhật gần nhất vào 2023-12-11

Tóm tắt

OpenZeppelin项目漏洞解析。

2023 年 12 月 8 日,OpenZeppelin 官方向社区发布了一则重要的安全警报。警报指出,在项目集成中使用 ERC-2771 标准与类 Multicall 方式时,可能存在任意地址欺骗攻击的风险。

SharkTeam 对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、攻击交易分析

由于存在一系列与该漏洞相关的攻击交易,我们选择其中一笔攻击交易进行分析。

攻击者地址:
0xFDe0d1575Ed8E06FBf36256bcdfA1F359281455A

攻击交易:
0xecdd111a60debfadc6533de30fb7f55dc5ceed01dfadd30e4a7ebdb416d2f6b6

攻击流程:

1.首先。攻击者(0xFDe0d157)先利用 5 枚 WETH 兑换了约 3, 455, 399, 346 枚 TIME。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

2.随后,攻击者(0xFDe0d157)构建了恶意的 calldata 参数并调用了[Forwarder].execute 函数。

3.在调用[Forwarder].execute 函数时,恶意的 calldata 触发了 TIME 合约的 multicall 函数。随后,使用剩余的 calldata 触发执行 TIME 合约的 burn 函数,销毁池中的 TIME 代币。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

二、漏洞分析

首先,此次攻击事件主要涉及几个方面:ERC 2771、Multicall、经过精心构造的 calldata。我们可以从 TIME 代币合约中找到相关的继承:
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

1.ERC 2771 提供了拥有虚拟的 msg.sender 的能力,允许用户委托第三方[Forwarder]执行交易,用来降低 gas 成本。提交交易时,msg.sender 地址会被添加到 calldata 中。

2.TIME 代币合约继承了 ERC2771Context。当[Forwarder]调用合约时,_msgSender() 会检查 calldata 数据,并将其右移,截断最后的 20 个字节作为预期的 msg.sender。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

3.Multicall 是一种将单个函数调用转变为在同一个合约中按顺序调用多个函数的方法。它接受一个用户编码调用的数组并对其自身合约执行。这个函数遍历调用数组,并对每一个操作执行 delegatecall()。这允许用户组合自己的一系列操作,并在同一笔交易中顺序执行,而无需在协议中预先定义好某些操作组合。它主要目的也是为了节省 gas。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

4.对于经过精心构造的 calldata,攻击者调用了 [Forwarder].execute 函数,并传入相关参数。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

我们对 data 值进行相应的可读格式化后得出:
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

攻击者(0x FDe 0 d 157)通过对当前 calldata 的偏移操作获得新的 data 值,并将该值传递给 multicall(bytes[]) 函数。新 data 的前 4 个字节是 burn(uint 256) 函数的选择器,amount 参数为 62227259510000000000000000000。

5.在 multicall(bytes[])函数中,通过 delegatecall 调用 burn(uint 256)函数。在0x 20 这一行,0x760dc1e043d99394a10605b2fa08f123d60faf84 地址是在构造 calldata 时一开始添加在末尾的。该地址对应 Uniswap v2上的 TIME-ETH 流动性池,即前文提到的预期的 msg.sender。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

6.刚才提到的 msg.sender 为何变成 TIME-ETH 流动性池地址?原因是一开始 msg.sender 是[Forwarder]合约地址。为了判断是否是可信的[Forwarder],如果是可信的[Forwarder],则将 msg.sender 设置为 calldata 的最后 20 个字节。

三、安全建议

此次攻击事件的根本原因:在 ERC-2771 中,[Forwarder]并不是专为 multicall 设计。攻击者将_msgSender()函数中的相关参数添加到 multicall 的外部调用中,即本次事件的[Forwarder].execute 函数。在 multicall 函数中,一些函数也会附加_msgSender()中的相关参数,从而允许攻击者欺骗_msgSender()。因此,攻击者通过使用 multicall 调用相关函数,可以模仿任意地址的调用。最终,通过授权销毁池子里的 TIME 代币。

针对此事件,可采取以下缓解和防范措施:

1.使用修复 bug 后的新版本,OpenZeppelin 新版本的 Multicall 带有 ERC 277 1co ntext 数据的 context 后缀长度,用于标识 ERC-2771 预期的 context 后缀长度。因此,来自可信任[Forwarder]的任何 call 都将被识别并适应每个子函数 call。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

以下是 bug 版本和已更新版本的对比图:
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

2.禁止任何合约调用 multicall 来防止[Forwarder]使用它,以 ThirdWeb 为例,该方法与 OpenZeppelin 的解决方案相比,OpenZeppelin 仍然允许通过合约进行 multicall。以下是 ThirdWeb 的相关 bug 版本和已更新版本的对比图。
SharkTeam:ERC2771 & Multicall任意地址欺骗漏洞原理分析

About Us

SharkTeam 的愿景是保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约底层理论。提供包括链上大数据分析、链上风险预警、智能合约审计、加密资产追讨等服务,并打造了链上大数据分析和风险预警平台 ChainAegis,平台支持无限层级的深度图分析,能有效对抗Web3世界的高级持续性威胁(Advanced Persistent Threat,APT)。已与Web3生态各领域的关键参与者,如 Polkadot、Moonbeam、polygon、SuiOKXimTokenChainIDE 等建立长期合作关系。

官网:https://www.sharkteam.org

Twitterhttps://twitter.com/sharkteamorg

Nội dung Liên quan

Đồng Hồ Halving Bitcoin Chỉ Ra Giai Đoạn Đáy, Nhưng Tín Hiệu Chu Kỳ Cần Thận Trọng

Crypto Rover, một nhà phân tích và người có ảnh hưởng trong không gian tiền điện tử, đã chia sẻ biểu đồ chu kỳ halving của Bitcoin, cho rằng BTC hiện đang ở trong "giai đoạn đáy" điển hình trước khi bước vào một pha tăng giá mạnh. Bài đăng dựa trên so sánh mô hình và nhịp điệu với các chu kỳ trước đó, gợi ý rằng thị trường có thể đang lặp lại lịch sử. Tuy nhiên, tuyên bố này cần được tiếp cận một cách thận trọng. Bài viết được xếp vào dạng bình luận của nhà giao dịch và có tính đầu cơ cao, không phải là tín hiệu xác nhận. Tác giả được đánh dấu là nguồn có rủi ro cao, thường có xu hướng quảng bá lạc quan. Biểu đồ không cung cấp mô hình thống kê, xác nhận on-chain hay mức giá vô hiệu hóa rõ ràng. Hơn nữa, phân tích chu kỳ halving trở nên kém tin cậy hơn khi Bitcoin trưởng thành. Các chu kỳ trước diễn ra trong một thị trường nhỏ, ít thanh khoản hơn, trong khi thị trường hiện tại chịu ảnh hưởng bởi các quỹ ETF spot, dòng tiền phái sinh lớn và các điều kiện vĩ mô. Bài báo kết luận rằng lập luận về "đồng hồ halving" chỉ cung cấp một khuôn khổ tham khảo về thời gian cho phe tăng giá, chứ không phải là tín hiệu giao dịch chắc chắn. Tín hiệu thị trường thực sự sẽ phụ thuộc vào việc Bitcoin có thể giữ vùng hỗ trợ then chốt, hình thành các đáy cao hơn và được hỗ trợ bởi thanh khoản cũng như cấu trúc thị trường rộng hơn. Một sự phục hồi mạnh mẽ sẽ củng cố lập luận này, trong khi một đợt giảm sâu sẽ biến nó thành một dự đoán sai lầm khác.

bitcoinist47 phút trước

Đồng Hồ Halving Bitcoin Chỉ Ra Giai Đoạn Đáy, Nhưng Tín Hiệu Chu Kỳ Cần Thận Trọng

bitcoinist47 phút trước

Nhà Giao Dịch Bitcoin Cho Biết Các Đỉnh Và Đáy Chu Kỳ Khớp Chính Xác Số Ngày

Nhà giao dịch Ryan (tài khoản X @DodysDD) đã chia sẻ một lý thuyết gây chú ý, cho rằng chu kỳ giá Bitcoin lặp lại với độ chính xác đáng kinh ngạc về số ngày. Theo đó, các đợt tăng giá (từ đáy chu kỳ đến đỉnh) trong các giai đoạn 2014–2017, 2018–2021 và 2022–2025 đều kéo dài đúng 1.064 ngày. Trong khi đó, các đợt giảm giá (từ đỉnh đến đáy) trong các pha 2017–2018 và 2021–2022 đều kéo dài đúng 364 ngày. Mô hình này hấp dẫn giới giao dịch vì gợi ý một cấu trúc thời gian có thể dự đoán. Tuy nhiên, lập luận này tiềm ẩn rủi ro về việc "chọn lọc dữ liệu" (cherry-picking), vì độ chính xác phụ thuộc vào việc lựa chọn các mốc đỉnh và đáy cụ thể, bỏ qua các điểm đánh dấu chu kỳ khác có thể phá vỡ sự đối xứng. Không có bằng chứng cho thấy Bitcoin vận hành bởi một bộ đếm ngày chính xác, vì thị trường chịu ảnh hưởng bởi nhiều yếu tố phức tạp như sự kiện giảm một nửa phần thưởng (halving), điều kiện vĩ mô và tâm lý nhà đầu tư. Dù vậy, lý thuyết này vẫn thu hút sự chú ý vì các câu chuyện chu kỳ luôn có sức ảnh hưởng trong thị trường tiền mã hóa, cung cấp một khuôn khổ đơn giản để định hình kỳ vọng trong bối cảnh nhiều bất ổn hiện tại. Điều quan trọng là cần tiếp cận những tuyên bố về ngày chính xác với thái độ hoài nghi, xem chúng như một góc nhìn tham khảo về mặt tâm lý thị trường hơn là một dự báo giá đáng tin cậy.

bitcoinist3 giờ trước

Nhà Giao Dịch Bitcoin Cho Biết Các Đỉnh Và Đáy Chu Kỳ Khớp Chính Xác Số Ngày

bitcoinist3 giờ trước

94 tỷ, khoản đầu tư lớn nhất của người máy năm nay đã xuất hiện

Ngành robot hình người vừa chứng kiến khoản đầu tư lớn nhất trong năm khi Neura, công ty robot hình người có trụ sở tại Munich, Đức, hoàn thành vòng gọi vốn Series C với 1.4 tỷ USD (khoảng 94.9 tỷ NDT). Điều đáng chú ý là sự tham gia của các nhà đầu tư chiến lược từ ngành công nghiệp như Schaeffler và Bosch - những tập đoàn linh kiện công nghiệp lâu đời của Đức. Sự tham gia này cho thấy sự chuyển dịch trong logic của lĩnh vực này: từ những màn trình diễn công nghệ sang triển khai thực tế trong nhà máy, và từ câu chuyện vốn đầu tư sang hệ thống thương mại thực sự. Sau vòng gọi vốn, định giá của Neura đạt khoảng 7 tỷ USD, đưa công ty vào nhóm dẫn đầu toàn cầu. Khác với các công ty như Figure AI tập trung vào robot hình người đa năng với câu chuyện về AI thể hiện (embodied AI) được hậu thuẫn bởi OpenAI hay Microsoft, Neura theo đuổi con đường ứng dụng theo ngành dọc trong công nghiệp. Công ty đã có khách hàng thực tế là BMW và sản phẩm của họ đã được kiểm chứng trên dây chuyền sản xuất. Có hai lý do chính cho làn sóng đầu tư mạnh mẽ này. Thứ nhất là sự tiến bộ vượt bậc của các mô hình lớn (AI), phá vỡ giới hạn về khả năng nhận thức và ra quyết định của robot. Thứ hai là áp lực từ phía nhu cầu: tình trạng thiếu hụt lao động và chi phí nhân công ngày càng tăng trên toàn cầu, đặc biệt ở các nền công nghiệp như Nhật Bản, Đức, buộc các nhà sản xuất phải tìm giải pháp thay thế. Mặt trận chính của robot hình người giờ đây không còn là các buổi ra mắt sản phẩm mà là mặt bằng nhà máy. Hai lĩnh vực được kỳ vọng sẽ triển khai quy mô sớm nhất là sản xuất công nghiệp (vì môi trường có cấu trúc, nhiệm vụ lặp lại) và các môi trường làm việc nguy hiểm (hóa chất, hạt nhân). Tuy nhiên, thách thức lớn nhất cho việc triển khai hàng loạt không còn là công nghệ lõi mà là các vấn đề kỹ thuật và thương mại như chi phí thích ứng với từng dây chuyền cụ thể và xây dựng hệ thống bảo trì, dịch vụ địa phương đáng tin cậy. Việc các gã khổng lồ công nghiệp lâu đời bắt đầu "bỏ phiếu" bằng tiền thật cho thấy ngành công nghiệp này đã chuyển từ câu hỏi "Liệu có làm được không?" sang "Làm thế nào để làm tốt hơn, nhanh hơn và ổn định hơn". Đây mới là tín hiệu quan trọng nhất từ khoản đầu tư kỷ lục này.

marsbit8 giờ trước

94 tỷ, khoản đầu tư lớn nhất của người máy năm nay đã xuất hiện

marsbit8 giờ trước

Thị Trường Trước Niêm Yết của Anthropic Sụt Giảm Sau Lệnh Hoa Kỳ Buộc Ngừng Hoạt Động Mô Hình

Công ty trí tuệ nhân tạo Anthropic thông báo đã nhận chỉ thị từ chính phủ Mỹ vào ngày 12/6, yêu cầu ngừng cung cấp quyền truy cập hai mô hình Claude Fable 5 và Claude Mythos 5 cho người nước ngoài, kể cả nhân viên nước ngoài trong công ty. Để tuân thủ, Anthropic đã vô hiệu hóa cả hai mô hình trên toàn cầu. Lệnh này được mô tả là một biện pháp kiểm soát xuất khẩu khẩn cấp liên quan đến an ninh quốc gia. Các mô hình khác như Claude Opus 4.8 không bị ảnh hưởng. Anthropic phản đối quyết định này, cho biết chính phủ chỉ cung cấp bằng chứng bằng lời nói về một lỗ hổng "jailbreak" hẹp và không phổ biến, liên quan đến việc yêu cầu mô hình xem xét một mã nguồn cụ thể. Công ty lập luận lỗ hổng này nhỏ, đã biết trước và có thể được tìm thấy bởi các mô hình công khai khác, không cần thiết phải đóng cửa toàn bộ mô hình thương mại. Họ cảnh báo tiêu chuẩn này nếu áp dụng rộng rãi có thể đình chỉ mọi triển khai mô hình mới của các nhà cung cấp AI tiên phong. Thị trường tiền điện tử đang theo dõi sự việc do các hợp đồng phái sinh liên kết pre-IPO của Anthropic, cho phép giao dịch phản ánh tâm lý về lĩnh vực AI. Ngay sau chỉ thị, hợp đồng vĩnh viễn Anthropic trên Hyperliquid đã giảm 3.7%. Sự kiện này cho thấy quy định AI đang trở thành yếu tố có thể giao dịch được, và cơ sở hạ tầng AI đang hòa vào bản đồ thị trường đầu cơ cùng với crypto. Tuy nhiên, rủi ro là các thị trường này có thể biến động mạnh dựa trên thông tin không đầy đủ, trong khi báo cáo kỹ thuật của chính phủ chưa được công khai.

bitcoinist14 giờ trước

Thị Trường Trước Niêm Yết của Anthropic Sụt Giảm Sau Lệnh Hoa Kỳ Buộc Ngừng Hoạt Động Mô Hình

bitcoinist14 giờ trước

Giao dịch

Giao ngay
Hợp đồng Tương lai
活动图片