Tài chính phi tập trung an toàn lỗ hổng và biện pháp phòng ngừa
Gần đây, một chuyên gia an ninh đã chia sẻ một bài học về an ninh DeFi cho các thành viên trong cộng đồng. Ông đã xem xét các sự kiện an ninh nghiêm trọng gần đây trong ngành Web3, thảo luận về nguyên nhân của những sự kiện này và cách phòng tránh, tóm tắt các lỗ hổng an ninh phổ biến trong hợp đồng thông minh và các biện pháp phòng ngừa, đồng thời đưa ra một số lời khuyên về an ninh cho các nhà dự án và người dùng.
Các loại lỗ hổng DeFi phổ biến bao gồm cho vay chớp nhoáng, thao túng giá, vấn đề quyền hạn hàm, gọi ngoài tùy ý, vấn đề hàm fallback, lỗ hổng logic kinh doanh, rò rỉ khóa riêng tư, tấn công tái nhập, v.v. Dưới đây sẽ giới thiệu trọng tâm về ba loại: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay nhanh
Cho vay chớp nhoáng bản thân là một loại đổi mới trong Tài chính phi tập trung, nhưng khi bị hacker lợi dụng có thể gây ra thiệt hại lớn:
Kẻ tấn công đã sử dụng vay chớp nhoáng để vay một lượng lớn tiền, thao túng giá cả hoặc tấn công logic kinh doanh.
Các nhà phát triển cần xem xét xem chức năng của hợp đồng có bị bất thường do số tiền lớn hay không.
Một số dự án sử dụng số lượng Token để tính toán phần thưởng, hoặc sử dụng số lượng Token trong cặp giao dịch DEX để tham gia tính toán, những biến số này dễ bị thao túng bởi vay chớp nhoáng.
Trong hai năm qua, nhiều dự án DeFi có lợi suất cao đã bị tấn công cho vay chớp nhoáng do các vấn đề về mã hoặc logic. Ví dụ, một số dự án sẽ phát thưởng dựa trên khối lượng nắm giữ vào thời gian cố định, kẻ tấn công đã lợi dụng cho vay chớp nhoáng để mua một lượng lớn token và nhận được phần lớn phần thưởng.
Kiểm soát giá
Vấn đề thao túng giá cả có liên quan chặt chẽ đến vay chớp nhoáng, chủ yếu có hai loại:
Sử dụng dữ liệu bên thứ ba để tính giá, nhưng cách sử dụng không đúng hoặc kiểm tra bị thiếu.
Sử dụng số dư Token của một số địa chỉ làm biến số tính toán, và các số dư này có thể được tăng giảm tạm thời.
Tấn công tái nhập
Rủi ro chính khi gọi hợp đồng bên ngoài là chúng có thể chiếm quyền điều khiển luồng, thực hiện thay đổi không mong muốn đối với dữ liệu. Ví dụ:
function withdrawBalance() public {
uint amountToWithdraw = userBalances[msg.sender];
(bool thành công, ) = msg.sender.call.value(sốTiềnRút)("");
require(thành công);
userBalances[msg.sender] = 0;
}
Do vì số dư người dùng chỉ được xóa ở cuối hàm, việc gọi lại vẫn sẽ thành công trong việc rút số dư.
Giải quyết vấn đề gọi lại cần lưu ý:
Không chỉ ngăn chặn việc gọi lại hàm đơn lẻ
Tuân theo mô hình Checks-Effects-Interactions
Sử dụng modifier chống tái nhập đã được xác thực
Các hình thức tấn công tái nhập rất đa dạng, có thể liên quan đến nhiều hàm hoặc hợp đồng. Khuyên bạn nên sử dụng các thực tiễn bảo mật đã được chứng minh, tránh việc tạo ra những thứ đã có.
Đề xuất an toàn
khuyến nghị an toàn của dự án
Tuân thủ các thực hành an toàn tốt nhất trong phát triển hợp đồng
Thực hiện chức năng hợp đồng có thể nâng cấp, có thể tạm dừng
Áp dụng cơ chế khóa thời gian
Tăng cường đầu tư an toàn, thiết lập hệ thống an toàn hoàn chỉnh
Tăng cường nhận thức về an ninh cho tất cả nhân viên
Ngăn chặn hành vi xấu bên trong, đồng thời nâng cao hiệu quả và tăng cường quản lý rủi ro
Cẩn thận khi giới thiệu bên thứ ba, mặc định cả thượng nguồn và hạ nguồn đều không an toàn
Người dùng đánh giá tính an toàn của hợp đồng thông minh
Hợp đồng có mã nguồn mở không
Chủ sở hữu có áp dụng đa ký không tập trung không
Kiểm tra tình hình giao dịch hiện có của hợp đồng
Hợp đồng có thể nâng cấp không, có thời gian khóa không
Hợp đồng có chấp nhận kiểm toán bởi nhiều tổ chức không, quyền hạn của chủ sở hữu có quá lớn không?
Chú ý đến độ tin cậy của oracle
Nói tóm lại, trong lĩnh vực Tài chính phi tập trung, có rất nhiều rủi ro an ninh, cả nhà phát triển dự án và người dùng đều cần nâng cao cảnh giác, thực hiện nhiều biện pháp bảo vệ, cùng nhau duy trì an toàn cho hệ sinh thái.
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.
Tài chính phi tập trung an toàn tấn công phòng thủ: Khoản vay nhanh, thao túng giá và hướng dẫn phòng ngừa tấn công tái nhập
Tài chính phi tập trung an toàn lỗ hổng và biện pháp phòng ngừa
Gần đây, một chuyên gia an ninh đã chia sẻ một bài học về an ninh DeFi cho các thành viên trong cộng đồng. Ông đã xem xét các sự kiện an ninh nghiêm trọng gần đây trong ngành Web3, thảo luận về nguyên nhân của những sự kiện này và cách phòng tránh, tóm tắt các lỗ hổng an ninh phổ biến trong hợp đồng thông minh và các biện pháp phòng ngừa, đồng thời đưa ra một số lời khuyên về an ninh cho các nhà dự án và người dùng.
Các loại lỗ hổng DeFi phổ biến bao gồm cho vay chớp nhoáng, thao túng giá, vấn đề quyền hạn hàm, gọi ngoài tùy ý, vấn đề hàm fallback, lỗ hổng logic kinh doanh, rò rỉ khóa riêng tư, tấn công tái nhập, v.v. Dưới đây sẽ giới thiệu trọng tâm về ba loại: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay nhanh
Cho vay chớp nhoáng bản thân là một loại đổi mới trong Tài chính phi tập trung, nhưng khi bị hacker lợi dụng có thể gây ra thiệt hại lớn:
Trong hai năm qua, nhiều dự án DeFi có lợi suất cao đã bị tấn công cho vay chớp nhoáng do các vấn đề về mã hoặc logic. Ví dụ, một số dự án sẽ phát thưởng dựa trên khối lượng nắm giữ vào thời gian cố định, kẻ tấn công đã lợi dụng cho vay chớp nhoáng để mua một lượng lớn token và nhận được phần lớn phần thưởng.
Kiểm soát giá
Vấn đề thao túng giá cả có liên quan chặt chẽ đến vay chớp nhoáng, chủ yếu có hai loại:
Tấn công tái nhập
Rủi ro chính khi gọi hợp đồng bên ngoài là chúng có thể chiếm quyền điều khiển luồng, thực hiện thay đổi không mong muốn đối với dữ liệu. Ví dụ:
solidity mapping (address => uint) private userBalances;
function withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool thành công, ) = msg.sender.call.value(sốTiềnRút)(""); require(thành công); userBalances[msg.sender] = 0; }
Do vì số dư người dùng chỉ được xóa ở cuối hàm, việc gọi lại vẫn sẽ thành công trong việc rút số dư.
Giải quyết vấn đề gọi lại cần lưu ý:
Các hình thức tấn công tái nhập rất đa dạng, có thể liên quan đến nhiều hàm hoặc hợp đồng. Khuyên bạn nên sử dụng các thực tiễn bảo mật đã được chứng minh, tránh việc tạo ra những thứ đã có.
Đề xuất an toàn
khuyến nghị an toàn của dự án
Người dùng đánh giá tính an toàn của hợp đồng thông minh
Nói tóm lại, trong lĩnh vực Tài chính phi tập trung, có rất nhiều rủi ro an ninh, cả nhà phát triển dự án và người dùng đều cần nâng cao cảnh giác, thực hiện nhiều biện pháp bảo vệ, cùng nhau duy trì an toàn cho hệ sinh thái.