Lỗ hổng an ninh 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ẻ một khóa 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 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 cũng như cách để tránh chúng, 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 dự án và người dùng thông thường.
Các loại lỗ hổng DeFi phổ biến chủ yếu 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 và tấn công tái nhập. Bài viết này sẽ tập trung vào ba loại: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay chớp nhoáng
Flash loan là một sự đổi mới trong Tài chính phi tập trung, nhưng cũng thường bị hacker lợi dụng:
Kẻ tấn công vay một lượng lớn tiền thông qua khoản vay tức thời, thao túng giá hoặc tấn công logic kinh doanh
Các nhà phát triển cần xem xét liệu chức năng hợp đồng có bị bất thường do số tiền lớn gây ra, hoặc bị lợi dụng để nhận phần thưởng không chính đáng hay không.
Một số dự án khi thiết kế không xem xét tác động của vay chớp nhoáng, dẫn đến việc bị đánh cắp tiền.
Trong hai năm qua, vay chớp nhoáng đã gây ra không ít vấn đề. Một số dự án DeFi có lợi suất cao do trình độ phát triển không đồng đều, tồn tại nhiều lỗ hổng. Ví dụ, có dự án phát thưởng theo thời gian cố định dựa trên vị thế nắm giữ, đã bị kẻ tấn công lợi dụng vay chớp nhoáng để mua số lượng lớn token nhằm nhận phần lớn phần thưởng. Còn một số dự án tính giá qua Token, có thể bị vay chớp nhoáng ảnh hưởng đến giá. Các nhà phát triển dự án nên cảnh giác với những vấn đề này.
Giám sát giá
Vấn đề thao túng giá cả có liên quan mật thiết đế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 thiếu kiểm tra, dẫn đến giá cả bị thao túng một cách ác ý.
Sử dụng số dư Token của một số địa chỉ làm biến số tính toán, và những 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 kiểm soát luồng, thực hiện các 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 vì số dư của người dùng chỉ được làm sạch vào cuối hàm, việc gọi lại vẫn sẽ thành công trong việc rút số dư.
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. Để 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 thực
Tốt nhất là sử dụng các thực tiễn an toàn tốt nhất đã có, thay vì tự phát triển lại từ đầu. Các giải pháp trưởng thành an toàn và đáng tin cậy hơn so với các giải pháp mới tự phát triển.
Đề xuất an toàn cho dự án
Tuân thủ các thực hành bảo mật 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 toàn, thiết lập hệ thống an toàn hoàn thiệ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 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 đưa vào bên thứ ba, thực hiện kiểm tra an toà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
Xác nhận hợp đồng có mã nguồn mở hay không
Kiểm tra xem Chủ sở hữu có sử dụng đa chữ ký phi tập trung 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ó 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ó được nhiều tổ chức kiểm toán không, quyền Owner có quá lớn không.
Theo dõi tình hình sử dụng oracle
Tóm lại, trong hệ sinh thái Tài chính phi tập trung, các dự án và người dùng đều cần duy trì ý thức an toàn cao, thực hiện các biện pháp phòng ngừa cần thiết, cùng nhau bảo vệ sự phát triển lành mạnh của 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.
16 thích
Phần thưởng
16
3
Chia sẻ
Bình luận
0/400
ImpermanentPhobia
· 12giờ trước
Cả Hacker lẫn Khoản vay nhanh thật kích thích
Xem bản gốcTrả lời0
SnapshotBot
· 12giờ trước
Bên dự án còn đang chơi đùa với mọi người mỗi ngày.
Tài chính phi tập trung an toàn: Khoản vay nhanh, thao túng giá cả và hướng dẫn phòng ngừa tấn công tái nhập
Lỗ hổng an ninh 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ẻ một khóa 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 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 cũng như cách để tránh chúng, 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 dự án và người dùng thông thường.
Các loại lỗ hổng DeFi phổ biến chủ yếu 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 và tấn công tái nhập. Bài viết này sẽ tập trung vào ba loại: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay chớp nhoáng
Flash loan là một sự đổi mới trong Tài chính phi tập trung, nhưng cũng thường bị hacker lợi dụng:
Trong hai năm qua, vay chớp nhoáng đã gây ra không ít vấn đề. Một số dự án DeFi có lợi suất cao do trình độ phát triển không đồng đều, tồn tại nhiều lỗ hổng. Ví dụ, có dự án phát thưởng theo thời gian cố định dựa trên vị thế nắm giữ, đã bị kẻ tấn công lợi dụng vay chớp nhoáng để mua số lượng lớn token nhằm nhận phần lớn phần thưởng. Còn một số dự án tính giá qua Token, có thể bị vay chớp nhoáng ảnh hưởng đến giá. Các nhà phát triển dự án nên cảnh giác với những vấn đề này.
Giám sát giá
Vấn đề thao túng giá cả có liên quan mật thiết đế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 thiếu kiểm tra, dẫn đến giá cả bị thao túng một cách ác ý.
Sử dụng số dư Token của một số địa chỉ làm biến số tính toán, và những 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 kiểm soát luồng, thực hiện các 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 vì số dư của người dùng chỉ được làm sạch vào cuối hàm, việc gọi lại vẫn sẽ thành công trong việc rút số dư.
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. Để giải quyết vấn đề tái nhập, cần lưu ý:
Tốt nhất là sử dụng các thực tiễn an toàn tốt nhất đã có, thay vì tự phát triển lại từ đầu. Các giải pháp trưởng thành an toàn và đáng tin cậy hơn so với các giải pháp mới tự phát triển.
Đề xuất an toàn cho 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 hệ sinh thái Tài chính phi tập trung, các dự án và người dùng đều cần duy trì ý thức an toàn cao, thực hiện các biện pháp phòng ngừa cần thiết, cùng nhau bảo vệ sự phát triển lành mạnh của hệ sinh thái.