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 bảo mật đã chia sẻ kiến thức về an toàn DeFi cho các thành viên trong cộng đồng. Ông đã xem xét các sự kiện an toàn 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 các sự kiện và các phương pháp phòng ngừa, tóm tắt các lỗ hổng an toàn hợp đồng thông minh phổ biến và các biện pháp phòng ngừa, và đưa ra một số lời khuyên về an toàn.
Các loại lỗ hổng DeFi phổ biến bao gồm vay chớp nhoáng, thao túng giá, vấn đề quyền truy cập 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ấn công tái nhập, v.v. Bài viết này 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.
Vay chớp nhoáng
Vay chớp nhoáng bản thân là một sáng tạo trong Tài chính phi tập trung, nhưng khi bị tin tặc lợi dụng có thể vay mượn số tiền lớn mà không tốn chi phí để thực hiện cuộc tấn công. Các cuộc tấn công phổ biến thường đi kèm với vay chớp nhoáng, kẻ tấn công vay ra số tiền lớn sau đó 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 hợp đồng có bị bất thường do số tiền lớn hay không, hoặc bị lợi dụng trong một giao dịch để tương tác với nhiều hàm nhằm thu lợi bất chính.
Một số dự án sẽ phát thưởng theo vị thế vào thời gian cố định, nhưng bị kẻ tấn công lợi dụng vay chớp nhoáng để mua một lượng lớn mã thông báo nhằm nhận phần lớn phần thưởng. Còn một số dự án khác tính giá dựa trên Token, có thể bị ảnh hưởng bởi vay chớp nhoáng. Các bên dự án cần nâng cao cảnh giác đối với những vấn đề này.
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 từ 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á 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, 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
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 điều khiển, gây ra những 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útRa)("");
require(success);
userBalances[msg.sender] = 0;
}
Do số dư 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 trong việc rút tiền.
Cách 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. Để giải quyết vấn đề tái nhập cần chú ý:
Không chỉ ngăn chặn việc gọi lại hàm đơn
Tuân theo mô hình Checks-Effects-Interactions khi mã hóa
Sử dụng modifier chống tái nhập đã được xác thực
Nên cố gắng sử dụng các thực tiễn an toàn đã trưởng thành, tránh việc tái tạo bánh xe.
Đề xuất an toàn cho dự án
Phát triển hợp đồng tuân theo các thực tiễn an toàn tốt nhất
Hợp đồng có thể nâng cấp, tạm dừng: phát hiện kịp thời và giảm thiểu tổn thất
Áp dụng thời gian khóa: cung cấp thời gian kiểm tra và phản ứng
Xây dựng hệ thống an ninh hoàn chỉnh: Tránh rủi ro một cách toàn diện
Nâng cao nhận thức về an toàn 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
Thận trọng khi đưa bên thứ ba vào: Kiểm tra tính an toàn của các bên liên quan.
Người dùng làm thế nào để đá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 chữ ký phi tập trung không
Kiểm tra tình hình giao dịch của hợp đồng
Hợp đồng có thể nâng cấp không, có thời gian khóa không
Có chấp nhận kiểm toán từ nhiều tổ chức không, quyền hạn của Owner có quá lớn không
Chú ý đến độ tin cậy của oracle.
Tóm lại, an toàn trong lĩnh vực Tài chính phi tập trung là rất quan trọng. Các dự án và người dùng đều nên nâng cao cảnh giác, thực hiện các biện pháp cần thiết để giảm thiểu rủi ro.
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.
13 thích
Phần thưởng
13
2
Chia sẻ
Bình luận
0/400
StableGeniusDegen
· 18giờ trước
Lại phải bắt đầu học an toàn từ con số không, đau đầu quá.
Xem bản gốcTrả lời0
DAOplomacy
· 18giờ trước
rạp hát an ninh ở mức tốt nhất... những lỗ hổng cũ, sự không đồng nhất giữa các bên liên quan cũ thật lòng mà nói
Phân tích ba lỗ hổng an ninh lớn trong Tài chính phi tập trung: Khoản vay nhanh, thao túng giá và tấn công tái nhập.
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 bảo mật đã chia sẻ kiến thức về an toàn DeFi cho các thành viên trong cộng đồng. Ông đã xem xét các sự kiện an toàn 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 các sự kiện và các phương pháp phòng ngừa, tóm tắt các lỗ hổng an toàn hợp đồng thông minh phổ biến và các biện pháp phòng ngừa, và đưa ra một số lời khuyên về an toàn.
Các loại lỗ hổng DeFi phổ biến bao gồm vay chớp nhoáng, thao túng giá, vấn đề quyền truy cập 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ấn công tái nhập, v.v. Bài viết này 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.
Vay chớp nhoáng
Vay chớp nhoáng bản thân là một sáng tạo trong Tài chính phi tập trung, nhưng khi bị tin tặc lợi dụng có thể vay mượn số tiền lớn mà không tốn chi phí để thực hiện cuộc tấn công. Các cuộc tấn công phổ biến thường đi kèm với vay chớp nhoáng, kẻ tấn công vay ra số tiền lớn sau đó 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 hợp đồng có bị bất thường do số tiền lớn hay không, hoặc bị lợi dụng trong một giao dịch để tương tác với nhiều hàm nhằm thu lợi bất chính.
Một số dự án sẽ phát thưởng theo vị thế vào thời gian cố định, nhưng bị kẻ tấn công lợi dụng vay chớp nhoáng để mua một lượng lớn mã thông báo nhằm nhận phần lớn phần thưởng. Còn một số dự án khác tính giá dựa trên Token, có thể bị ảnh hưởng bởi vay chớp nhoáng. Các bên dự án cần nâng cao cảnh giác đối với những vấn đề này.
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 từ 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á 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, 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
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 điều khiển, gây ra những 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útRa)(""); require(success); userBalances[msg.sender] = 0; }
Do số dư 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 trong việc rút tiền.
Cách 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. Để giải quyết vấn đề tái nhập cần chú ý:
Nên cố gắng sử dụng các thực tiễn an toàn đã trưởng thành, tránh việc tái tạo bánh xe.
Đề xuất an toàn cho dự án
Phát triển hợp đồng tuân theo các thực tiễn an toàn tốt nhất
Hợp đồng có thể nâng cấp, tạm dừng: phát hiện kịp thời và giảm thiểu tổn thất
Áp dụng thời gian khóa: cung cấp thời gian kiểm tra và phản ứng
Xây dựng hệ thống an ninh hoàn chỉnh: Tránh rủi ro một cách toàn diện
Nâng cao nhận thức về an toàn 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
Thận trọng khi đưa bên thứ ba vào: Kiểm tra tính an toàn của các bên liên quan.
Người dùng làm thế nào để đá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 chữ ký phi tập trung không
Kiểm tra tình hình giao dịch của hợp đồng
Hợp đồng có thể nâng cấp không, có thời gian khóa không
Có chấp nhận kiểm toán từ nhiều tổ chức không, quyền hạn của Owner có quá lớn không
Chú ý đến độ tin cậy của oracle.
Tóm lại, an toàn trong lĩnh vực Tài chính phi tập trung là rất quan trọng. Các dự án và người dùng đều nên nâng cao cảnh giác, thực hiện các biện pháp cần thiết để giảm thiểu rủi ro.