Tài chính phi tập trung các lỗ hổng bảo mật phổ biến 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. Chuyên gia đã xem xét lại những sự kiện an ninh lớn mà ngành Web3 đã gặp phải trong hơn một 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, tóm tắt các lỗ hổng an ninh phổ biến của hợp đồng thông minh và các biện pháp phòng ngừa, và đưa ra một số lời khuyên an ninh cho các dự án và người dùng bình thường.
Các loại lỗ hổng DeFi phổ biến chủ yếu bao gồm vay chớp nhoáng, thao túng giá, vấn đề quyề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 và tấn công tái nhập. Bài viết này sẽ tập trung vào ba loại: vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Cho vay chớp nhoáng
Vay chớp nhoáng là một sự đổi mới trong Tài chính phi tập trung, nhưng cũng thường bị kẻ tấn công lợi dụng. Kẻ tấn công vay ra một lượng lớn vốn thông qua vay chớp nhoáng, thao túng giá cả hoặc tấn công vào 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ó thể bị bất thường do lượng vốn lớn hay bị lợi dụng để thu lợi bất chính.
Nhiều dự án DeFi có vẻ mang lại lợi nhuận cao, nhưng thực tế trình độ của các bên dự án rất khác nhau. Một số mã nguồn của dự án có thể được mua, mặc dù mã nguồn không có lỗ hổng, nhưng về mặt logic vẫn có thể tồn tại vấn đề. Chẳng hạn, một số dự án sẽ phát thưởng theo số lượng token của người 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 nhanh để mua một lượng lớn token, từ đó thu được phần lớn lợi nhuận khi phát thưởng.
Kiểm soát giá
Vấn đề thao túng giá cả có liên quan chặt chẽ đến khoản vay chớp nhoáng, chủ yếu do một số tham số trong việc tính toán giá có thể bị người dùng kiểm soát. Có hai loại vấn đề phổ biến:
Sử dụng dữ liệu bên thứ ba khi tính toán giá, nhưng cách sử dụng không đúng hoặc thiếu kiểm tra, dẫn đến giá bị thao túng ác ý.
Sử dụng số lượng token của một số địa chỉ làm biến số tính toán, trong khi số dư token của các đị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
Tấn công tái nhập là một trong những mối nguy hiểm chính mà có thể gặp phải khi gọi hợp đồng bên ngoài. Kẻ tấn công có thể chiếm quyền kiểm soát luồng điều khiển và thực hiện những thay đổi không mong đợi đối với dữ liệu. Ví dụ:
chức năng rút tiềnBalance() 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;
}
Trong ví dụ này, do số dư của người dùng chỉ được đặt thành 0 ở cuối hàm, kẻ tấn công có thể gọi lại hàm này sau khi lần gọi đầu tiên thành công, từ đó rút số dư nhiều lần.
Giải quyết vấn đề tái nhập cần lưu ý những điểm sau:
Không chỉ phải ngăn chặn vấn đề tái nhập của một hàm đơn lẻ;
Tuân theo mô hình Checks-Effects-Interactions trong lập trình;
Sử dụng modifier chống tái nhập đã được kiểm chứng theo thời gian.
Một trường hợp điển hình của cuộc tấn công tái nhập là sự kiện Omni Protocol. Trong cuộc tấn công này, các giao dịch do kẻ tấn công phát hiện lỗ hổng gửi đi đã bị các hacker khác bắt giữ và thực hiện trước, dẫn đến việc kẻ tấn công ban đầu chỉ thu được một phần lợi nhuận. Điều này làm nổi bật đặc điểm "rừng tối" trong hệ sinh thái Web3, nơi các kẻ tấn công cũng có thể trở thành con mồi của nhau.
Đề xuất an toàn
Đề xuất an toàn của bên dự án
Tuân theo 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 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 chỉnh.
Nâng cao nhận thức về an ninh cho tất cả nhân viên.
Ngăn chặn hành vi xấu nội bộ, đồ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 dịch vụ bên thứ ba, tuân theo nguyên tắc "mặc định cả hai bên đều không an toàn".
Người dùng/LP làm thế nào để xác định hợp đồng thông minh có an toàn không
Kiểm tra xem hợp đồng có mã nguồn mở không.
Xác minh xem Owner có áp dụng cơ chế đa chữ ký 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ận hợp đồng có phải là hợp đồng đại lý, có thể nâng cấp, có thời gian khóa hay không.
Kiểm tra xem hợp đồng có được nhiều tổ chức kiểm toán chấp nhận hay không, đánh giá xem quyền hạn của Owner có quá lớn hay không.
Lưu ý về việc lựa chọn và sử dụng oracle.
Tóm lại, trong lĩnh vực Tài chính phi tập trung, vấn đề an toàn luôn là một trong những yếu tố quan trọng nhất. Dù là nhà phát triển dự án hay người dùng bình thường, mọi người cần duy trì sự cảnh giác cao độ, thực hiện các biện pháp an toàn thích hợp để giảm thiểu rủi ro, đảm bảo an toàn cho tài sản.
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.
14 thích
Phần thưởng
14
8
Chia sẻ
Bình luận
0/400
BearMarketBarber
· 53phút trước
Số lượng tóc và số lượng coin đồng loạt bán phá giá lớn, đã bị chơi đùa với mọi người từ lâu.
Xem bản gốcTrả lời0
TokenomicsTrapper
· 16giờ trước
chỉ là một ngày nữa theo dõi những người degens bị rekt bởi những khai thác cũ... đã gọi mẫu này từ vài tháng trước thật lòng
Xem bản gốcTrả lời0
DegenWhisperer
· 16giờ trước
Cả đen cả trắng đều hiểu rõ
Xem bản gốcTrả lời0
degenonymous
· 16giờ trước
Lại thấy hợp đồng thông minh rơi vào bẫy rồi.
Xem bản gốcTrả lời0
BlockchainFries
· 17giờ trước
Quét lỗi nửa ngày còn không bằng đi giao đồ ăn
Xem bản gốcTrả lời0
Ser_This_Is_A_Casino
· 17giờ trước
defi thật sự giống như một sòng bạc, nếu phải thua thì cứ thua.
Tổng quan về lỗ hổng bảo mật DeFi: Phân tích rủi ro khoản vay nhanh, thao túng giá và tấn công tái nhập
Tài chính phi tập trung các lỗ hổng bảo mật phổ biến 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. Chuyên gia đã xem xét lại những sự kiện an ninh lớn mà ngành Web3 đã gặp phải trong hơn một 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, tóm tắt các lỗ hổng an ninh phổ biến của hợp đồng thông minh và các biện pháp phòng ngừa, và đưa ra một số lời khuyên an ninh cho các dự án và người dùng bình thường.
Các loại lỗ hổng DeFi phổ biến chủ yếu bao gồm vay chớp nhoáng, thao túng giá, vấn đề quyề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 và tấn công tái nhập. Bài viết này sẽ tập trung vào ba loại: vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Cho vay chớp nhoáng
Vay chớp nhoáng là một sự đổi mới trong Tài chính phi tập trung, nhưng cũng thường bị kẻ tấn công lợi dụng. Kẻ tấn công vay ra một lượng lớn vốn thông qua vay chớp nhoáng, thao túng giá cả hoặc tấn công vào 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ó thể bị bất thường do lượng vốn lớn hay bị lợi dụng để thu lợi bất chính.
Nhiều dự án DeFi có vẻ mang lại lợi nhuận cao, nhưng thực tế trình độ của các bên dự án rất khác nhau. Một số mã nguồn của dự án có thể được mua, mặc dù mã nguồn không có lỗ hổng, nhưng về mặt logic vẫn có thể tồn tại vấn đề. Chẳng hạn, một số dự án sẽ phát thưởng theo số lượng token của người 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 nhanh để mua một lượng lớn token, từ đó thu được phần lớn lợi nhuận khi phát thưởng.
Kiểm soát giá
Vấn đề thao túng giá cả có liên quan chặt chẽ đến khoản vay chớp nhoáng, chủ yếu do một số tham số trong việc tính toán giá có thể bị người dùng kiểm soát. Có hai loại vấn đề phổ biến:
Tấn công tái nhập
Tấn công tái nhập là một trong những mối nguy hiểm chính mà có thể gặp phải khi gọi hợp đồng bên ngoài. Kẻ tấn công có thể chiếm quyền kiểm soát luồng điều khiển và thực hiện những thay đổi không mong đợi đối với dữ liệu. Ví dụ:
solidity mapping (address => uint) private userBalances;
chức năng rút tiềnBalance() 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; }
Trong ví dụ này, do số dư của người dùng chỉ được đặt thành 0 ở cuối hàm, kẻ tấn công có thể gọi lại hàm này sau khi lần gọi đầu tiên thành công, từ đó rút số dư nhiều lần.
Giải quyết vấn đề tái nhập cần lưu ý những điểm sau:
Một trường hợp điển hình của cuộc tấn công tái nhập là sự kiện Omni Protocol. Trong cuộc tấn công này, các giao dịch do kẻ tấn công phát hiện lỗ hổng gửi đi đã bị các hacker khác bắt giữ và thực hiện trước, dẫn đến việc kẻ tấn công ban đầu chỉ thu được một phần lợi nhuận. Điều này làm nổi bật đặc điểm "rừng tối" trong hệ sinh thái Web3, nơi các kẻ tấn công cũng có thể trở thành con mồi của nhau.
Đề xuất an toàn
Đề xuất an toàn của bên dự án
Người dùng/LP làm thế nào để xác định hợp đồng thông minh có an toàn không
Tóm lại, trong lĩnh vực Tài chính phi tập trung, vấn đề an toàn luôn là một trong những yếu tố quan trọng nhất. Dù là nhà phát triển dự án hay người dùng bình thường, mọi người cần duy trì sự cảnh giác cao độ, thực hiện các biện pháp an toàn thích hợp để giảm thiểu rủi ro, đảm bảo an toàn cho tài sản.