Đội ngũ BlockSec gần đây phát hiện ra hai lỗ hổng nghiêm trọng trong một hợp đồng tài sản số. Hai lỗ hổng này có thể dẫn đến việc tài sản của người dùng bị khóa và vấn đề không thể rút tiền của Bên dự án.
Lỗi đầu tiên tồn tại trong hàm xử lý hoàn tiền. Hàm này sử dụng cách lặp để hoàn tiền cho tất cả người dùng, nhưng nếu một trong số những người dùng đó là hợp đồng độc hại, họ có thể từ chối nhận hoàn tiền và khiến giao dịch bị quay ngược lại, dẫn đến việc hoàn tiền của tất cả người dùng không thể hoàn thành. Mặc dù lỗi này cuối cùng không bị khai thác, nhưng vẫn còn rủi ro tiềm ẩn.
Đối với các tình huống hoàn tiền như vậy, các chuyên gia khuyên nên áp dụng một số biện pháp sau để tăng cường độ an toàn:
Hạn chế chỉ có tài khoản cá nhân có thể tham gia vào dự án
Sử dụng các token ERC20 như WETH thay vì tài sản gốc
Thiết kế cơ chế cho phép người dùng chủ động nhận hoàn tiền, tránh thao tác hoàn tiền hàng loạt.
Lỗ hổng thứ hai là do một lỗi logic trong mã. Trong hàm rút tiền của Bên dự án, có một câu lệnh điều kiện mà lẽ ra phải so sánh "tiến độ hoàn tiền" và "chỉ số đấu thầu", nhưng lại so sánh sai với "tổng số đấu thầu". Điều này dẫn đến việc điều kiện không bao giờ được thỏa mãn, và Bên dự án không thể rút tiền trong hợp đồng. Hiện tại, đã có hơn 34 triệu đô la tài sản bị khóa trong hợp đồng.
Những vấn đề này một lần nữa làm nổi bật tầm quan trọng của việc tiến hành kiểm tra toàn diện và kiểm toán an ninh trong phát triển dự án blockchain. Đặc biệt trong lĩnh vực tài sản số, hiện vẫn thiếu nhận thức an ninh và thực hành kiểm toán đủ, điều này có thể dẫn đến tổn thất kinh tế nghiêm trọng. Nhóm phát triển cần xây dựng tư duy an ninh cơ bản, viết các trường hợp kiểm tra đầy đủ và tiến hành kiểm toán an ninh chuyên nghiệp trước khi phát hành để tránh xảy ra những lỗi cơ bản tương tự.
Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
18 thích
Phần thưởng
18
4
Chia sẻ
Bình luận
0/400
BackrowObserver
· 07-11 04:43
Công nghệ khó quá, ai cũng có thể ngã.
Xem bản gốcTrả lời0
DeadTrades_Walking
· 07-11 04:41
Lại thấy hợp đồng thông minh gặp sự cố
Xem bản gốcTrả lời0
Ramen_Until_Rich
· 07-11 04:40
Lại thấy lỗ hổng mới, hãy dành ba giây để tưởng niệm.
Xem bản gốcTrả lời0
MidnightGenesis
· 07-11 04:27
Từ mã nhìn vào có vấn đề lớn, có vẻ như lại có người sắp bị Rekt.
BlockSec tiết lộ hai lỗ hổng trong hợp đồng tài sản số, 34 triệu đô la tài sản bị khóa.
Đội ngũ BlockSec gần đây phát hiện ra hai lỗ hổng nghiêm trọng trong một hợp đồng tài sản số. Hai lỗ hổng này có thể dẫn đến việc tài sản của người dùng bị khóa và vấn đề không thể rút tiền của Bên dự án.
Lỗi đầu tiên tồn tại trong hàm xử lý hoàn tiền. Hàm này sử dụng cách lặp để hoàn tiền cho tất cả người dùng, nhưng nếu một trong số những người dùng đó là hợp đồng độc hại, họ có thể từ chối nhận hoàn tiền và khiến giao dịch bị quay ngược lại, dẫn đến việc hoàn tiền của tất cả người dùng không thể hoàn thành. Mặc dù lỗi này cuối cùng không bị khai thác, nhưng vẫn còn rủi ro tiềm ẩn.
Đối với các tình huống hoàn tiền như vậy, các chuyên gia khuyên nên áp dụng một số biện pháp sau để tăng cường độ an toàn:
Lỗ hổng thứ hai là do một lỗi logic trong mã. Trong hàm rút tiền của Bên dự án, có một câu lệnh điều kiện mà lẽ ra phải so sánh "tiến độ hoàn tiền" và "chỉ số đấu thầu", nhưng lại so sánh sai với "tổng số đấu thầu". Điều này dẫn đến việc điều kiện không bao giờ được thỏa mãn, và Bên dự án không thể rút tiền trong hợp đồng. Hiện tại, đã có hơn 34 triệu đô la tài sản bị khóa trong hợp đồng.
Những vấn đề này một lần nữa làm nổi bật tầm quan trọng của việc tiến hành kiểm tra toàn diện và kiểm toán an ninh trong phát triển dự án blockchain. Đặc biệt trong lĩnh vực tài sản số, hiện vẫn thiếu nhận thức an ninh và thực hành kiểm toán đủ, điều này có thể dẫn đến tổn thất kinh tế nghiêm trọng. Nhóm phát triển cần xây dựng tư duy an ninh cơ bản, viết các trường hợp kiểm tra đầy đủ và tiến hành kiểm toán an ninh chuyên nghiệp trước khi phát hành để tránh xảy ra những lỗi cơ bản tương tự.