Vào ngày 1 tháng 11, MetaScout phát hiện ra rằng Onyx Protocol, một giao thức cho vay trên Ethereum, đã bị một cuộc tấn công cho vay nhanh và mất 2,1 triệu USD. Nguyên nhân cốt lõi là do tin tặc đã nhắm mục tiêu và thực hiện các đề xuất thêm thị trường mới trước tiên, cũng như vấn đề mất độ chính xác của id trong giao thức ngã ba phức hợp.
MetaTrust Labs đã tiến hành nghiên cứu và phân tích chuyên sâu về vụ việc, tiết lộ cách tin tặc sử dụng các đề xuất quản trị và lỗ hổng giao thức để thực hiện cuộc tấn công này vào Giao thức Onyx.
Giao thức Onyx (https://docs.onyx.org/ ) là một thị trường cho vay được thiết kế để cung cấp các dịch vụ cho vay và tín dụng an toàn và không cần sự tin cậy cho người dùng trên mạng Ethereum.

Vào ngày 29 tháng 10 năm 2023, Onyx Protocol (https://x.com/OnyxProtocol/status/1718348637158137858?s=20 a> ) Đề xuất OIP-22 đã được đưa ra để bổ sung $PEPE vào thị trường. Thật không may, đề xuất này đã bị tin tặc nhắm tới và tấn công.

Đồng thời, xét theo các hợp đồng được triển khai trên chuỗi Onyx, nó là Hợp chất TVL của giao thức phái sinh đã giảm từ 2,86 triệu USD xuống còn 550.000 USD do cuộc tấn công.


Tổng tổn thất của hai giao dịch tấn công là khoảng 2,14 triệu USD

p>
0xdec2F31C3984F3440540DC78Ef21b1369d4eF767 0x5083956303a145f70ba9f3d80c5e6cb5ac842706
0x052ad2f779c1b557d9637227036ccaad623fceaa
Hợp đồng ủy quyền: https://etherscan.io/address/0x5fdbcd61bc9bd4b6d3fd1f49a5d253165ea11750
Thực hiện hợp đồng: https://etherscan.io/address/0x9dcb6bc351ab416f35aeab1351776e2ad295abc4#code
https://etherscan.io/address/0xdec2f31c3984f3440540dc78ef21b1369d4ef767
TL;DR
Lấy giao dịch tấn công 0xf7c216 làm ví dụ
1 . Hacker (0x085bDf) Đầu tiên thực hiện đề xuất OIP-22 để thêm một thị trường mới gọi là oPEPE (0x5fdbcd).


2. Ra mắt từ AAVE trong vòng một phút sau khi bổ sung thị trường mới Một khoản vay nhanh và thu được 4.000 $WETH
a. Đổi 4.000 $WETH thành 2.520.870.348.093 $PEPE
b. Di chuyển tất cả $PEPE tới địa chỉ 0xf8e153

c. Tạo một hợp đồng tại địa chỉ trên 0xf8e153, sử dụng 1 $PEPE để đúc 50.000.000.000.000.000.000 $oPEPE, đổi phần lớn $oPEPE, chỉ để lại 2 wei cho thị trường oPEPE
d . Chuyển 2.520.870.348.093 $PEPE sang OPEPE và tham gia thị trường với tên $oPEPE
e. Vay 334 $ETH
f. Do mất tính chính xác nên chỉ có 1 wei $oPEPE được đổi để đổi lấy 2.520.870.348.093 $PEPE
i. Tỷ giá hối đoái = ( tổng tiền mặt + tổng cho vay - tổng dự trữ) / tổng nguồn cung = 2.520.870.348.093.423.681.390.050.791.472 / 2 = 1.260.435.174.046.711.840.695.025.395.736
ii. Số tiền hoàn lại = 2, 520.870.348.093.423.681.390.050.791.470
iii. Do giao dịch bị cắt ngắn, mã thông báo đổi thưởng = số tiền đổi/tỷ giá hối đoái = 1

iv. Thanh lý 881.647.840 wei $PEPE của người vay (0xf8e153)
v. Đã mua lại 856.961.701 wei $PEPE
g. Lặp lại các bước trên từ bước b đến bước f, vay $USDC, $USDT, $PAXG, $DAI, $WBTC và $LINK, đổi lấy $ETH
3. Đã sử dụng 4.002 $WETH để thanh toán khoản vay nhanh của AAVE và thu được lợi nhuận 1156,9 $ETH
Một mặt, hacker đã rất quen thuộc với vấn đề mất độ chính xác của giao thức Hợp chất và nhận thấy lỗ hổng của Onyx Do đó, giao thức trước, do đó, tin tặc có thể đã sớm nhận ra các vấn đề trong đề xuất OIP-22. Sau khi đề xuất được kích hoạt và sẵn sàng thực thi, tin tặc đã thực hiện trước đề xuất và tiến hành cuộc tấn công chỉ một phút sau đó.
Mặt khác, các lỗ hổng mất độ chính xác là nguyên nhân sâu xa của các cuộc tấn công. Tin tặc đã thao túng TotalSupply thành một giá trị rất nhỏ, 2 và tăng TotalCash lên một giá trị rất lớn, 2520870348093423681390050791471, để khuếch đại ExchangeRate, dẫn đến việc tính toán bị cắt bớt khi quy đổi.

Tiến hành kiểm tra chi tiết các đề xuất quản trị, không giới hạn ở hợp đồng thông minh, đặc biệt là trong các kịch bản khởi tạo và các trường hợp biên khác;
Hãy cân nhắc điều này khi khởi tạo thị trường Thêm một phần chia sẻ nhỏ để tránh thao túng, đặc biệt đối với giao thức Hợp chất;
Nên áp dụng hệ thống giám sát để tạm dừng giao thức trong trường hợp khẩn cấp. Nếu Onyx đã có sẵn hệ thống giám sát, giao dịch tấn công thứ hai có thể đã bị chặn hơn nửa giờ sau khi nó xảy ra để giảm tổn thất. Ngoài ra, việc tích hợp hệ thống chặn nhóm bộ nhớ sẽ rất có lợi. Hệ thống này có thể phát hiện hiệu quả các giao dịch tấn công trong mempool trong khi kẻ tấn công đang thực hiện cuộc tấn công, cho phép chặn phòng ngừa để tránh tổn thất.
Tại thời điểm viết bài, kẻ tấn công (0x085bDf) đã sử dụng một địa chỉ khác được kiểm soát Địa chỉ (0x4c9c86) đã chuyển 1140 $ ETH sang nền tảng trộn tiền tệ Tornado.Cash

Một kẻ tấn công khác vẫn giữ số tiền bị đánh cắp trong ví (0x508395).
Lỗ hổng này tương tự như Hundred Finance vào ngày 15 tháng 4 năm 2023 mắc phải một cuộc tấn công của hacker dẫn đến thiệt hại khoảng 7 triệu USD. Link giao dịch: 0x6e9ebcdebbabda04fa9f2e3bc21ea8b2e4fb4bf4f4670cb8483e2f0b2604f451
Bài viết này là từ một bài gửi và không thể hiện quan điểm của BlockBeats.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia