SharkTeam: Phân tích nguyên lý của các sự kiện tấn công Giao thức Chính xác
SharkTeam
2023-08-23 03:24
本文约743字,阅读全文需要约3分钟
Phân tích chuyên sâu về các sự kiện bảo mật của Giao thức Chính xác.

Vào ngày 18 tháng 8, giao thức Chính xác đã bị tấn công và những kẻ tấn công đã kiếm được khoảng 12,04 triệu USD lợi nhuận. 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.

1. Phân tích sự kiện

Địa chỉ của kẻ tấn công:

0x3747dbbcb5c07786a4c59883e473a2e38f571af9

0x417179df13ba3ed138b0a58eaa0c3813430a20e0

0xe4f34a72d7c18b6f666d6ca53fbc3790bc9da042

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

0x6dd61c69415c8ecab3fefd80d079435ead1a5b4d

Hợp đồng bị tấn công:

0x675d410dcf6f343219aae8d1dde0bfab46f52106

Giao dịch tấn công:

0x3d6367de5c191204b44b8a5cf975f257472087a9aadc59b5d744ffdef33a520e

0x1526acfb7062090bd5fed1b3821d1691c87f6c4fb294f56b5b921f0edf0cfad6

0xe8999fb57684856d637504f1f0082b69a3f7b34dd4e7597bea376c9466813585

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

(1) Kẻ tấn công (0x417179df) trước tiên đã tạo nhiều hợp đồng mã thông báo thị trường độc hại và nhiều hợp đồng uniswapPool thông qua hợp đồng tấn công (0x6dd61c69).

(2) Sau đó gọi chức năng đòn bẩy của hợp đồng bị tấn công (0x675d410d) và chuyển vào địa chỉ mã thông báo thị trường độc hại.

(3) Thêm tính thanh khoản của USDC và mã thông báo thị trường độc hại vào hợp đồng nhóm thông qua chức năng gửi tiền trong chức năng đòn bẩy và nhập lại chức năng crossDeleverage của hợp đồng bị tấn công (0x675d410d)

(4) Hợp đồng bị tấn công (0x675d410d) trong chức năng crossDeleverage sẽ sử dụng USDC để trao đổi mã thông báo thị trường độc hại trong hợp đồng nhóm.

(5) Sau khi lệnh gọi chức năng hoàn tất, hợp đồng tấn công (0x6dd61c69) sẽ loại bỏ tính thanh khoản trong nhóm và sau đó đề xuất trao đổi mã thông báo USDC để kiếm lợi nhuận.

(6) Lặp lại các thao tác trên nhiều lần và mỗi cuộc tấn công sẽ thay thế địa chỉ người dùng bị tấn công và địa chỉ mã thông báo thị trường độc hại.

(7) Sau đó gửi USDC thu được cho kẻ tấn công (0xe4f34a72).

(8) Thực hiện cùng một thao tác nhiều lần để kiếm lợi nhuận

2. Phân tích lỗ hổng

Cuộc tấn công này khai thác lỗ hổng trong hợp đồng DebtManager (0x675d410d), trong đó hàm đòn bẩy không xác minh xem tham số thị trường đến có phải là hợp đồng thị trường đáng tin cậy hay không, do đó, biến trạng thái _msgSender có thể được sửa đổi thành biến trạng thái của kẻ tấn công trong trình trang trí hàm cấp phép Tham chiếu tùy ý Địa chỉ.

Cuối cùng, khi trao đổi với pool, số dư exaUSDC của người dùng sẽ được sử dụng để bù đắp số USDC đã thanh toán cho hợp đồng pool.

3. Khuyến nghị bảo mật

Để đố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 trường hợp truyền tham số và gọi các địa chỉ bên ngoài có liên quan, cần xác minh nghiêm ngặt xem địa chỉ truyền tham số có phải là địa chỉ đáng tin cậy hay không.

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

About Us

Tầm nhìn của SharkTeam là bảo mật hoàn toàn 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. Họ thành thạo lý thuyết cơ bản về blockchain và hợp đồng thông minh, đồng thời cung cấp các dịch vụ bao gồm kiểm toán hợp đồng thông minh, phân tích trên chuỗi, ứng phó khẩn cấp và các dịch vụ khác. Quan hệ đối tác lâu dài đã được thiết lập 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 blockchain, chẳng hạn như Polkadot, Moonbeam, Polygon, OKC, Huobi Global, imToken, ChainIDE, v.v.

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

SharkTeam
作者文库