Các lỗ hổng bảo mật phổ biến trong Tài chính phi tập trung và biện pháp phòng ngừa
Gần đây, một chuyên gia an ninh đã chia sẻ những hiểu biết về an ninh DeFi, xem xét lại các sự kiện an ninh lớn mà ngành Web3 đã gặp phải trong năm qua, thảo luận về nguyên nhân xảy ra những sự kiện này và cách để tránh chúng, tóm tắt những 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 an ninh cho các 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 bên ngoài tùy ý, vấn đề hàm fallback, lỗ hổng logic kinh doanh, rò rỉ khóa riêng, tấn công tái nhập, v.v. Dưới đây sẽ tập trung giới thiệu ba loại chính là cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay chớp nhoáng
Vay chớp nhoáng là một sáng tạo trong Tài chính phi tập trung, nhưng cũng bị tin tặc lợi dụng để tấn công. Kẻ tấn công vay ra một lượng lớn tiền qua vay chớp nhoáng, 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 hợp đồng có thể bị bất thường do số tiền khổng lồ hay không, hoặc bị lợi dụng để nhận phần thưởng không hợp lý.
Nhiều dự án Tài chính phi tập trung có vẻ như mang lại lợi suất cao, nhưng thực tế thì trình độ của các bên dự án rất khác nhau. Một số mã của dự án có thể là mã đã mua, mặc dù mã đó không có lỗ hổng, nhưng về mặt logic vẫn có thể tồn tại vấn đề. Ví dụ, một số dự án sẽ phát thưởng theo khối lượng nắm giữ vào thời gian cố định, nhưng lại bị kẻ tấn công lợi dụng vay chớp nhoáng để mua một lượng lớn token, từ đó chiếm đượ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 do các tham số trong tính toán giá có thể được người dùng kiểm soát. Có hai loại vấn đề phổ biến:
Sử dụng dữ liệu của bên thứ ba khi tính giá, nhưng cách sử dụng không đúng hoặc thiếu kiểm tra, dẫn đến giá cả bị thao túng một cách ác ý.
Sử dụng số lượng token của một số địa chỉ làm biến số tính toán, và số dư token của những địa chỉ này có thể được tăng hoặc giảm tạm thời.
Tấn công tái nhập
Một trong những rủi ro chính khi gọi hợp đồng bên ngoài là chúng có thể chiếm quyền kiểm soát luồng, thực hiện những thay đổi không mong đợi trên dữ liệu. Ví dụ:
function withdrawBalance() công khai {
uint amountToWithdraw = userBalances[msg.sender];
(bool thành công, ) = msg.sender.call.value(sốTiềnRút)("");
require(success);
userBalances[msg.sender] = 0;
}
Do vì số dư của người dùng chỉ được đặt thành 0 vào cuối hàm, việc gọi lại vẫn sẽ thành công, có thể rút số dư nhiều lần.
Giải quyết vấn đề tái nhập 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 minh
Các phương 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, vì vậy việc giải quyết khá phức tạp. Tốt nhất là sử dụng các thực tiễn tốt nhất đã được kiểm chứng đầy đủ, thay vì tự phát minh lại bánh xe.
Đề xuất an toàn cho các bên dự án
Tuân thủ các thực tiễn an toàn tốt nhất trong phát triển hợp đồng
Thực hiện chức năng nâng cấp và tạm dừng hợp đồng
Áp dụng cơ chế khóa thời gian
Tăng cường đầu tư vào an ninh, xây dựng hệ thống an ninh hoàn thiện.
Nâng cao nhận thức về an ninh của tất cả nhân viên
Ngăn ngừa 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 đưa vào các thành phần bên thứ ba, thực hiện kiểm tra an ninh.
Người dùng làm thế nào để đánh giá tính an toàn của hợp đồng thông minh
Xác nhận hợp đồng có mã nguồn mở không
Kiểm tra xem Owner có sử dụng đa ký hay không, và đa ký có phi tập trung hay không.
Xem tình hình giao dịch hiện có của hợp đồng
Xác định xem hợp đồng có phải là hợp đồng đại lý, có thể nâng cấp hay không, có khóa thời gian hay không
Xác nhận hợp đồng đã được nhiều tổ chức kiểm toán hay chưa, quyền của Chủ sở hữu có quá lớn hay không.
Chú ý đến tình trạng sử dụng oracle
Tóm lại, trong lĩnh vực Tài chính phi tập trung, vấn đề an ninh đặc biệt quan trọng. Các bên dự án cần chú trọng đến việc đầu tư an ninh, người dùng cũng cần nâng cao cảnh giác, tham gia một cách thận trọng. Chỉ khi cùng nhau nỗ lực, chúng ta mới có thể xây dựng một hệ sinh thái Tài chính phi tập trung an toàn và đáng tin cậy hơn.
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.
9 thích
Phần thưởng
9
4
Chia sẻ
Bình luận
0/400
SchrodingerProfit
· 6giờ trước
切 现在还有 không bị chơi đùa với mọi người 的 đồ ngốc?
Xem bản gốcTrả lời0
ContractSurrender
· 6giờ trước
又是 chơi đùa với mọi người大指南!
Xem bản gốcTrả lời0
SnapshotDayLaborer
· 6giờ trước
Nhất định phải cảnh giác, may mà tôi chạy nhanh.
Xem bản gốcTrả lời0
CoconutWaterBoy
· 7giờ trước
Nói một cách đơn giản, đây chính là thuế thông minh!
Tổng quan về an ninh Tài chính phi tập trung: Các loại lỗ hổng phổ biến và hướng dẫn phòng ngừa
Các lỗ hổng bảo mật phổ biến trong Tài chính phi tập trung và biện pháp phòng ngừa
Gần đây, một chuyên gia an ninh đã chia sẻ những hiểu biết về an ninh DeFi, xem xét lại các sự kiện an ninh lớn mà ngành Web3 đã gặp phải trong năm qua, thảo luận về nguyên nhân xảy ra những sự kiện này và cách để tránh chúng, tóm tắt những 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 an ninh cho các 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 bên ngoài tùy ý, vấn đề hàm fallback, lỗ hổng logic kinh doanh, rò rỉ khóa riêng, tấn công tái nhập, v.v. Dưới đây sẽ tập trung giới thiệu ba loại chính là cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay chớp nhoáng
Vay chớp nhoáng là một sáng tạo trong Tài chính phi tập trung, nhưng cũng bị tin tặc lợi dụng để tấn công. Kẻ tấn công vay ra một lượng lớn tiền qua vay chớp nhoáng, 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 hợp đồng có thể bị bất thường do số tiền khổng lồ hay không, hoặc bị lợi dụng để nhận phần thưởng không hợp lý.
Nhiều dự án Tài chính phi tập trung có vẻ như mang lại lợi suất cao, nhưng thực tế thì trình độ của các bên dự án rất khác nhau. Một số mã của dự án có thể là mã đã mua, mặc dù mã đó không có lỗ hổng, nhưng về mặt logic vẫn có thể tồn tại vấn đề. Ví dụ, một số dự án sẽ phát thưởng theo khối lượng nắm giữ vào thời gian cố định, nhưng lại bị kẻ tấn công lợi dụng vay chớp nhoáng để mua một lượng lớn token, từ đó chiếm đượ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 do các tham số trong tính toán giá có thể được người dùng kiểm soát. Có hai loại vấn đề phổ biến:
Sử dụng dữ liệu của bên thứ ba khi tính giá, nhưng cách sử dụng không đúng hoặc thiếu kiểm tra, dẫn đến giá cả bị thao túng một cách ác ý.
Sử dụng số lượng token của một số địa chỉ làm biến số tính toán, và số dư token của những địa chỉ này có thể được tăng hoặc giảm tạm thời.
Tấn công tái nhập
Một trong những rủi ro chính khi gọi hợp đồng bên ngoài là chúng có thể chiếm quyền kiểm soát luồng, thực hiện những thay đổi không mong đợi trên dữ liệu. Ví dụ:
solidity mapping (address => uint) private userBalances;
function withdrawBalance() công khai { uint amountToWithdraw = userBalances[msg.sender]; (bool thành công, ) = msg.sender.call.value(sốTiềnRút)(""); require(success); userBalances[msg.sender] = 0; }
Do vì số dư của người dùng chỉ được đặt thành 0 vào cuối hàm, việc gọi lại vẫn sẽ thành công, có thể rút số dư nhiều lần.
Giải quyết vấn đề tái nhập cần lưu ý:
Các phương 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, vì vậy việc giải quyết khá phức tạp. Tốt nhất là sử dụng các thực tiễn tốt nhất đã được kiểm chứng đầy đủ, thay vì tự phát minh lại bánh xe.
Đề xuất an toàn cho các bên dự án
Người dùng làm thế nào để đánh giá tính an toàn của hợp đồng thông minh
Tóm lại, trong lĩnh vực Tài chính phi tập trung, vấn đề an ninh đặc biệt quan trọng. Các bên dự án cần chú trọng đến việc đầu tư an ninh, người dùng cũng cần nâng cao cảnh giác, tham gia một cách thận trọng. Chỉ khi cùng nhau nỗ lực, chúng ta mới có thể xây dựng một hệ sinh thái Tài chính phi tập trung an toàn và đáng tin cậy hơn.