Tài chính phi tập trung các lỗ hổng an toàn 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. Ông đã xem xét 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 chúng, tóm tắt các lỗ hổng bảo mật thường gặp 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 thường bao gồm cho 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. Dưới đây sẽ tập trung giới thiệu ba loại này: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay nhanh
Flash loan bản thân là một sáng tạo của Tài chính phi tập trung, nhưng khi bị hacker lợi dụng có thể gây ra tổn thất lớn:
Kẻ tấn công mượn một lượng lớn tiền thông qua vay chớp nhoáng, thao túng giá cả, tấn công logic kinh doanh, v.v.
Các nhà phát triển cần xem xét xem 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 để thu lợi bất chính hay không.
Một số dự án khi thiết kế chức năng không xem xét ảnh hưởng của vay chớp nhoáng, dẫn đến việc bị đánh cắp tiền.
Trong hai năm qua, đã xuất hiện nhiều vấn đề liên quan đến vay nhanh. Một số dự án nhìn có vẻ lợi nhuận rất cao, nhưng thực tế lại có lỗ hổng logic, chẳng hạn như:
Phát thưởng theo khối lượng nắm giữ vào thời gian cố định, bị lợi dụng vay chớp nhoáng để thao túng và nhận được nhiều phần thưởng.
Các dự án tính giá thông qua Token có thể bị ảnh hưởng giá bởi vay chớp nhoáng
Nhà phát triển dự án nê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ó mối quan hệ chặt chẽ với cho vay chớp nhoáng, chủ yếu có hai loại:
Sử dụng dữ liệu 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.
Sử dụng số lượng Token của một số địa chỉ làm biến tính toán, và những số lượng này có thể bị thao tác tạm thời.
Tấn công tái nhập
Việc gọi hợp đồng bên ngoài có thể dẫn đến việc luồng điều khiển bị chiếm đoạt, gây ra những thay đổi không mong muốn trên dữ liệu. Một ví dụ điển hình về tấn công tái nhập:
function withdrawBalance() public {
uint amountToWithdraw = userBalances[msg.sender];
(bool success, ) = msg.sender.call.value(amountToWithdraw)("");
require(success);
userBalances[msg.sender] = 0;
}
Do bởi 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 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 tái nhập của một hàm đơn.
Tuân theo mô hình Checks-Effects-Interactions
Sử dụng modifier chống tái nhập đã được xác thực
Khuyên dùng các thực tiễn an toàn tốt nhất đã trưởng thành, tránh việc phát minh lại bánh xe.
Đề xuất an toàn
Đề xuất cho 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 hợp đồng có thể nâng cấp, tạm ngừng
Sử dụng khóa thời gian
Tăng cường đầu tư an ninh, xây dựng hệ thống an ninh hoàn chỉnh
Nâng cao nhận thức an ninh của 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 kiểm soát rủi ro
Cẩn thận khi đưa vào bên thứ ba, mặc định cả bên trên và bên dưới đều không an toàn
Người dùng làm thế nào để xác định hợp đồng thông minh có an toàn hay không:
Kiểm tra xem hợp đồng có mã nguồn mở hay không
Kiểm tra xem Owner có sử dụng đ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
Kiểm tra xem hợp đồng có thể nâng cấp được không, có khóa thời gian hay không
Kiểm tra xem có chấp nhận kiểm toán từ nhiều tổ chức không, quyền Owner có quá lớn hay không.
Chú ý đến độ tin cậy của oracle
Tóm lại, trong lĩnh vực Tài chính phi tập trung, cả bên dự án lẫn người dùng thông thường đều cần nâng cao nhận thức về an toàn, thực hiện các biện pháp an toàn cần thiết để giảm thiểu rủi ro, bảo vệ an toàn 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.
11 thích
Phần thưởng
11
7
Đăng lại
Chia sẻ
Bình luận
0/400
TooScaredToSell
· 08-11 10:27
Đừng nói nhiều quy tắc nữa, trực tiếp vào thị trường coin mới là việc chính.
Xem bản gốcTrả lời0
MysteryBoxBuster
· 08-11 08:22
Lại đang giả vờ hiểu Khoản vay nhanh sao...
Xem bản gốcTrả lời0
GhostWalletSleuth
· 08-09 18:44
Rug Pull才是真正的黑科技
Xem bản gốcTrả lời0
CodeAuditQueen
· 08-09 18:43
Đây chỉ là lỗ hổng tiêm của thời đại web1 đã được thay đổi bề ngoài.
Xem bản gốcTrả lời0
MoonlightGamer
· 08-09 18:39
Ai nói rằng defi không có cách chơi mới? Đây không phải là đã đến rồi sao?
Xem bản gốcTrả lời0
HashBandit
· 08-09 18:36
bruh đã mất 50 eth do khai thác flashloan vào năm 2021... vẫn khiến tôi ám ảnh thật sự
Phân tích các lỗ hổng bảo mật phổ biến trong Tài chính phi tập trung: phòng ngừa 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 an toàn 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. Ông đã xem xét 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 chúng, tóm tắt các lỗ hổng bảo mật thường gặp 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 thường bao gồm cho 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. Dưới đây sẽ tập trung giới thiệu ba loại này: cho vay chớp nhoáng, thao túng giá và tấn công tái nhập.
Vay nhanh
Flash loan bản thân là một sáng tạo của Tài chính phi tập trung, nhưng khi bị hacker lợi dụng có thể gây ra tổn thất lớn:
Trong hai năm qua, đã xuất hiện nhiều vấn đề liên quan đến vay nhanh. Một số dự án nhìn có vẻ lợi nhuận rất cao, nhưng thực tế lại có lỗ hổng logic, chẳng hạn như:
Nhà phát triển dự án nê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ó mối quan hệ chặt chẽ với cho vay chớp nhoáng, chủ yếu có hai loại:
Tấn công tái nhập
Việc gọi hợp đồng bên ngoài có thể dẫn đến việc luồng điều khiển bị chiếm đoạt, gây ra những thay đổi không mong muốn trên dữ liệu. Một ví dụ điển hình về tấn công tái nhập:
solidity mapping (address => uint) private userBalances;
function withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
Do bởi 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 có thể rút số dư nhiều lần.
Giải quyết vấn đề tái nhập cần lưu ý:
Khuyên dùng các thực tiễn an toàn tốt nhất đã trưởng thành, tránh việc phát minh lại bánh xe.
Đề xuất an toàn
Đề xuất cho dự án:
Người dùng làm thế nào để xác định hợp đồng thông minh có an toàn hay không:
Tóm lại, trong lĩnh vực Tài chính phi tập trung, cả bên dự án lẫn người dùng thông thường đều cần nâng cao nhận thức về an toàn, thực hiện các biện pháp an toàn cần thiết để giảm thiểu rủi ro, bảo vệ an toàn tài sản.