Cointime

Download App
iOS & Android

SharkTeam: Phân tích cuộc tấn công vào Hedgey Finance

Vào ngày 19 tháng 4 năm 2024, Hedgey Finance đã phải hứng chịu nhiều giao dịch bị tấn công, dẫn đến thiệt hại hơn 2 triệu USD.

SharkTeam đã tiến hành phân tích kỹ thuật về sự cố này ngay lập tức và tóm tắt các biện pháp phòng ngừa an ninh. Chúng tôi hy vọng rằng các dự án tiếp theo có thể học hỏi từ điều này và cùng nhau xây dựng tuyến phòng thủ an ninh cho ngành công nghiệp blockchain.

Hedgey Finance đã bị tấn công nhiều lần bởi kẻ tấn công khai thác lỗ hổng phê duyệt mã thông báo để đánh cắp một số lượng lớn mã thông báo trong hợp đồng ClaimCampaigns.

Lấy giao dịch lớn nhất liên quan đến số tiền khoảng 1,3 triệu USD làm ví dụ:

Giao dịch tấn công: 0x2606d459a50ca4920722a111745c2eeced1d8a01ff25ee762e22d5d4b1595739

Kẻ tấn công: 0xded2b1a426e1b7d415a40bcad44e98f47181dda2

Hợp đồng tấn công: 0xc793113f1548b97e37c409f39244ee44241bf2b3

Hợp đồng mục tiêu: 0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511 (Chiến dịch xác nhận quyền sở hữu)

Giao dịch đã chuyển trực tiếp 1.303.910,12 USDC từ hợp đồng ClaimCampaigns. Chi tiết giao dịch như sau:

Giao dịch thực sự bắt đầu cuộc tấn công là

0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517 (viết tắt là 0xa17f)

Quá trình tấn công như sau:

0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517 (viết tắt là 0xa17f)

Quá trình tấn công như sau:

1 Khoản vay nhanh 1,305 triệu USDC từ Balancer.

2. Gọi hàm createLockedCampaign trong hợp đồng ClaimCampaigns. Trong chức năng này, hợp đồng tấn công sẽ gửi 1,305 triệu USDC vào hợp đồng ClaimCampaigns và sau đó hợp đồng laimCampaigns sẽ phê duyệt 1,305 triệu USDC được chuyển để hợp đồng tấn công sử dụng.

3. Gọi hàm cancelCampaign trong hợp đồng ClaimCampaigns. Trong chức năng này, hợp đồng tấn công rút 1,305 triệu USDC đã ký gửi, nhưng USDC được phê duyệt cho hợp đồng tấn công trong chức năng createLockedCampaign không bị hủy.

4 Tấn công hợp đồng để hoàn trả khoản vay flash của Balancer.

Trong giao dịch này, sau khi hợp đồng tấn công rút 1.305 triệu USDC được lưu trữ trong hợp đồng ClaimCampaigns, 1.305 triệu USDC được hợp đồng ClaimCampaigns phê duyệt cho hợp đồng tấn công vẫn chưa bị hủy. Do đó, hợp đồng tấn công có thể gọi trực tiếp hàm transferFrom của USDC tới. rút tiền từ hợp đồng ClaimCampaigns một lần nữa Chuyển đi 1,305 triệu USDC. Đây cũng là chức năng được thực hiện bởi giao dịch 0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517.

Thông qua hai giao dịch trên, kẻ tấn công đã đánh cắp 1,305 triệu USDC từ hợp đồng ClaimCampaigns.

Ngoài USDC, kẻ tấn công còn sử dụng lỗ hổng này để đánh cắp một số lượng lớn Token NOBL từ hợp đồng ClaimCampaigns. Cùng với USDC, tổng giá trị vượt quá 2 triệu USD.

Nguyên nhân cốt lõi của sự cố này là có lỗ hổng phê duyệt mã thông báo trong logic triển khai hợp đồng thông minh của dự án, cho phép kẻ tấn công liên tục chuyển phê duyệt hợp đồng mục tiêu sang Mã thông báo trong msg.sender.

Chức năng createLockedCamaign của hợp đồng thông minh ClaimCampaigns sẽ lưu trữ Mã thông báo của msg.sender vào hợp đồng mục tiêu và phê duyệt các Mã thông báo này cho msg.sender.

Chức năng cancelCampaign sẽ rút Mã thông báo đã gửi nhưng sẽ không hủy phê duyệt mã thông báo.

Kẻ tấn công lợi dụng lỗ hổng này và trực tiếp gọi hàm transferFrom của Token để chuyển lại token đã được phê duyệt từ hợp đồng mục tiêu.

Để đối phó với cuộc tấn công này, chúng ta nên tuân theo các biện pháp phòng ngừa sau trong quá trình phát triển:

Kẻ tấn công lợi dụng lỗ hổng này và trực tiếp gọi hàm transferFrom của Token để chuyển lại token đã được phê duyệt từ hợp đồng mục tiêu.

Để đối phó với cuộc tấn công này, chúng ta nên tuân theo các biện pháp phòng ngừa sau trong quá trình phát triển:

(1) Trong quá trình thiết kế và phát triển dự án, phải duy trì tính toàn vẹn và chặt chẽ của logic, đặc biệt khi chuyển nhượng tài sản. Khi chuyển Token, hãy đảm bảo rằng số lượng Token được phê duyệt được đồng bộ hóa để tránh chuyển nhượng. Token nhưng không có sự hủy bỏ phê duyệt.

(2) Trước khi dự án đi vào hoạt động trực tuyến, việc kiểm tra hợp đồng thông minh cần được thực hiện bởi một công ty kiểm toán chuyên nghiệp bên thứ ba.

Tầm nhìn của SharkTeam là bảo vệ thế giới Web3. Nhóm bao gồm các chuyên gia bảo mật giàu kinh nghiệm và các nhà nghiên cứu cấp cao từ khắp nơi trên thế giới, những người thành thạo lý thuyết cơ bản về blockchain và hợp đồng thông minh. Nó cung cấp các dịch vụ bao gồm nhận dạng và ngăn chặn rủi ro, kiểm toán hợp đồng thông minh, KYT/AML, phân tích trên chuỗi, v.v. và đã tạo ra nền tảng chặn và nhận dạng rủi ro thông minh trên chuỗi ChainAegis, có thể chống lại Mối đe dọa liên tục nâng cao một cách hiệu quả (Nâng cao). Mối đe dọa dai dẳng) trong thế giới Web3, APT). Nó đã thiết lập mối quan hệ hợp tác lâu dài với những người chơi chủ chốt trong các lĩnh vực khác nhau của hệ sinh thái Web3, như Polkadot, Moonbeam, Polygon, Sui, OKX, imToken, Collab.Land, TinTinLand, v.v.

Trang web chính thức: https://www.sharkteam.org

Twitter: https://twitter.com/sharkteamorg

Điện tín: https://t.me/sharkteamorg

Bất hòa: https://discord.gg/jGH9xXCjDZ

Các bình luận

Tất cả bình luận

Recommended for you