Phân tích sự kiện Balancer nền tảng Tài chính phi tập trung bị Hacker tấn công
Vào rạng sáng ngày 29 tháng 6, hai pool token ERC20 giảm phát của nền tảng DeFi Balancer đã bị hacker tấn công, gây thiệt hại hơn 500.000 USD. Sau khi các nhà phân tích an ninh vào cuộc điều tra, họ phát hiện ra rằng nguyên nhân của vấn đề nằm ở sự không tương thích giữa token giảm phát trên Balancer và smart contract của nó trong một số tình huống nhất định, cho phép kẻ tấn công tạo ra pool token với độ lệch giá và từ đó thu lợi.
Hacker tấn công được chia thành bốn bước chính:
Nhận 104,331 WETH từ một nền tảng cho vay thông qua vay chớp nhoáng.
Thực hiện lệnh swapexactMountin() nhiều lần cho đến khi số STA token mà Balancer nắm giữ gần như cạn kiệt, chỉ còn lại 0.000000000000000001 STA.
Sử dụng sự không tương thích giữa mã thông báo STA và hợp đồng thông minh Balancer, tức là sự không khớp giữa việc ghi sổ và số dư, đã làm cạn kiệt tài sản khác trong quỹ, cuối cùng thu lợi 523,616.52 đô la từ tài sản số.
Hoàn trả khoản vay chớp nhoáng và chuyển giao tài sản số thu được từ cuộc tấn công.
Trong giai đoạn then chốt của cuộc tấn công, Hacker đã gửi một lượng rất nhỏ STA đến BPool thông qua hàm swapExactAmountIn() để đổi lấy một lượng lớn WETH với giá trị rất cao. Do việc chuyển STA sẽ tiêu hủy 1% phí giao dịch, thực tế BPool không thể nhận được bất kỳ STA nào, dẫn đến sự không khớp giữa số dư thực tế và ghi chép nội bộ. Kẻ tấn công sau đó đã liên tục gọi hàm gulp() để đặt lại _records[STA], duy trì số dư STA rất nhỏ trong BPool, từ đó liên tục đổi lấy các tài sản khác với giá cao.
Sự kiện lần này lại phơi bày rủi ro tương thích tồn tại trong khả năng kết hợp của Tài chính phi tập trung. Để phòng ngừa các cuộc tấn công tương tự, có thể xem xét các giải pháp tối ưu sau:
Khi số tiền chuyển khoản không đủ để thanh toán phí giao dịch, STA/STONK nên quay lại trực tiếp hoặc trả về False khi thực hiện transfer() hoặc transferFrom().
Balancer nên kiểm tra số dư thực tế của BPool sau mỗi lần gọi hàm transferFrom().
Tuy nhiên, giải pháp tốt nhất vẫn là phòng ngừa trước. Các nhà phát triển dự án DeFi nên áp dụng quy tắc mã hóa tốt, tìm kiếm sự hỗ trợ từ các công ty an ninh bên thứ ba để thực hiện kiểm tra tấn công và phòng thủ toàn diện, và tiến hành kiểm tra kỹ lưỡng các tiêu chuẩn token khác nhau cũng như hành vi kết hợp của các dự án DeFi.
Thiệt hại cụ thể do sự cố tấn công Balancer lần này bao gồm:
601.3 WETH
11,031.4 SNX
22,593.2 LINK
116,107.8 STA
53.4 COMP
Tổng cộng thiệt hại khoảng 523.616,52 đô la Mỹ tài sản số.
Sự kiện này chắc chắn sẽ có ảnh hưởng quan trọng đến cộng đồng Tài chính phi tập trung, đồng thời cũng cảnh báo tất cả các nhà phát triển dự án Tài chính phi tập trung phải đặc biệt chú trọng đến tính an toàn của hợp đồng thông minh.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Balancer遭50万美元 Hacker tấn công Tài chính phi tập trung hợp đồng lỗ hổng lại gióng lên chuông cảnh báo
Phân tích sự kiện Balancer nền tảng Tài chính phi tập trung bị Hacker tấn công
Vào rạng sáng ngày 29 tháng 6, hai pool token ERC20 giảm phát của nền tảng DeFi Balancer đã bị hacker tấn công, gây thiệt hại hơn 500.000 USD. Sau khi các nhà phân tích an ninh vào cuộc điều tra, họ phát hiện ra rằng nguyên nhân của vấn đề nằm ở sự không tương thích giữa token giảm phát trên Balancer và smart contract của nó trong một số tình huống nhất định, cho phép kẻ tấn công tạo ra pool token với độ lệch giá và từ đó thu lợi.
Hacker tấn công được chia thành bốn bước chính:
Nhận 104,331 WETH từ một nền tảng cho vay thông qua vay chớp nhoáng.
Thực hiện lệnh swapexactMountin() nhiều lần cho đến khi số STA token mà Balancer nắm giữ gần như cạn kiệt, chỉ còn lại 0.000000000000000001 STA.
Sử dụng sự không tương thích giữa mã thông báo STA và hợp đồng thông minh Balancer, tức là sự không khớp giữa việc ghi sổ và số dư, đã làm cạn kiệt tài sản khác trong quỹ, cuối cùng thu lợi 523,616.52 đô la từ tài sản số.
Hoàn trả khoản vay chớp nhoáng và chuyển giao tài sản số thu được từ cuộc tấn công.
Trong giai đoạn then chốt của cuộc tấn công, Hacker đã gửi một lượng rất nhỏ STA đến BPool thông qua hàm swapExactAmountIn() để đổi lấy một lượng lớn WETH với giá trị rất cao. Do việc chuyển STA sẽ tiêu hủy 1% phí giao dịch, thực tế BPool không thể nhận được bất kỳ STA nào, dẫn đến sự không khớp giữa số dư thực tế và ghi chép nội bộ. Kẻ tấn công sau đó đã liên tục gọi hàm gulp() để đặt lại _records[STA], duy trì số dư STA rất nhỏ trong BPool, từ đó liên tục đổi lấy các tài sản khác với giá cao.
Sự kiện lần này lại phơi bày rủi ro tương thích tồn tại trong khả năng kết hợp của Tài chính phi tập trung. Để phòng ngừa các cuộc tấn công tương tự, có thể xem xét các giải pháp tối ưu sau:
Khi số tiền chuyển khoản không đủ để thanh toán phí giao dịch, STA/STONK nên quay lại trực tiếp hoặc trả về False khi thực hiện transfer() hoặc transferFrom().
Balancer nên kiểm tra số dư thực tế của BPool sau mỗi lần gọi hàm transferFrom().
Tuy nhiên, giải pháp tốt nhất vẫn là phòng ngừa trước. Các nhà phát triển dự án DeFi nên áp dụng quy tắc mã hóa tốt, tìm kiếm sự hỗ trợ từ các công ty an ninh bên thứ ba để thực hiện kiểm tra tấn công và phòng thủ toàn diện, và tiến hành kiểm tra kỹ lưỡng các tiêu chuẩn token khác nhau cũng như hành vi kết hợp của các dự án DeFi.
Thiệt hại cụ thể do sự cố tấn công Balancer lần này bao gồm:
Tổng cộng thiệt hại khoảng 523.616,52 đô la Mỹ tài sản số.
Sự kiện này chắc chắn sẽ có ảnh hưởng quan trọng đến cộng đồng Tài chính phi tập trung, đồng thời cũng cảnh báo tất cả các nhà phát triển dự án Tài chính phi tập trung phải đặc biệt chú trọng đến tính an toàn của hợp đồng thông minh.