Phân tích ba nguy cơ an ninh 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.

Tài chính phi tập trung an toàn và biện pháp phòng ngừa

Gần đây, một chuyên gia an ninh đã chia sẻ khóa học an ninh DeFi cho cộng đồng. Chuyên gia này đã xem xét các sự kiện an ninh nghiêm trọng mà ngành Web3 đã trải qua trong năm qua, thảo luận về nguyên nhân của những sự kiện này và cách để tránh, tóm tắt các lỗ hổng an ninh hợp đồng thông minh phổ biến 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 truy cập hàm, gọi ngoại bộ 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, v.v. Bài viết này 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.

Cobo Tài chính phi tập trung An toàn khóa (dưới): Các lỗ hổng an toàn thường thấy trong Tài chính phi tập trung và cách phòng ngừa

Vay chớp nhoáng

Cho 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 bị tin tặc lợi dụng để tấn công. Kẻ tấn công thông qua cho vay chớp nhoáng đã vay ra một số lượng lớn tiền, 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 liệu chức năng hợp đồng có bị bất thường do số tiền khổng lồ hay bị lợi dụng để thu được phần thưởng không hợp lý hay không.

Nhiều dự án Tài chính phi tập trung do vấn đề mã hoặc logic, dễ bị tấn công bằng vay nhanh. Ví dụ, một số dự án phát thưởng dựa trên số 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 nhanh để mua một lượng lớn token và nhận phần thưởng lớn nhất. Còn một số dự án tính giá dựa trên token, cũng có thể bị ảnh hưởng bởi vay nhanh. Các nhà phát triển dự án nên cảnh giác với những vấn đề này.

Giá thao túng

Vấn đề thao túng giá cả có liên quan chặt chẽ đến vay nhanh, chủ yếu có hai trường hợp:

  1. 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, dẫn đến giá cả bị thao túng một cách ác ý.

  2. 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 những địa chỉ này có thể 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, thay đổi dữ liệu một cách không mong muốn. Ví dụ:

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 vì số dư của người dùng chỉ được đặt thành 0 vào cuối hàm, nên việc gọi lại vẫn thành công, có thể rút số dư nhiều lần.

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 các hàm khác nhau của một hợp đồng đơn lẻ hoặc các hàm của nhiều hợp đồng. Để giải quyết vấn đề tái nhập, cần lưu ý:

  1. Không chỉ ngăn chặn việc gọi lại một hàm đơn lẻ
  2. Tuân theo mô hình mã hóa Checks-Effects-Interactions
  3. Sử dụng modifier chống tái nhập đã được xác minh

Khuyến nghị sử dụng các thực tiễn an toàn đã được chứng minh, tránh việc phát minh lại bánh xe. Các giải pháp tự phát triển thiếu sự kiểm chứng đầy đủ, có khả năng gặp vấn đề cao hơn.

Đề xuất an toàn

Đề xuất an toàn từ nhóm dự án

  1. Tuân thủ các thực tiễn an ninh tốt nhất trong phát triển hợp đồng
  2. Thực hiện chức năng nâng cấp và tạm dừng hợp đồng
  3. Áp dụng cơ chế khóa thời gian
  4. Tăng cường đầu tư an ninh, xây dựng hệ thống an ninh hoàn chỉnh
  5. Nâng cao nhận thức an ninh của tất cả nhân viên
  6. Ngăn chặn hành vi xấu từ bên trong, đồng thời nâng cao hiệu quả và tăng cường quản lý rủi ro
  7. Cẩn thận khi đưa vào phụ thuộc bên thứ ba, mặc định là cả hai bên trên và dưới đều không 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

  1. Hợp đồng có mã nguồn mở không
  2. Owner có áp dụng đa chữ ký phi tập trung không
  3. Kiểm tra tình hình giao dịch hiện có của hợp đồng
  4. Hợp đồng có thể nâng cấp không, có thời gian khóa không
  5. 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
  6. Chú ý đến độ tin cậy của oracle

Tóm lại, cả bên dự án và người dùng đều nên nâng cao nhận thức về an toàn, thực hiện các biện pháp cần thiết để giảm thiểu rủi ro an toàn trong Tài chính phi tập trung.

Xem bản gốc
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.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
RugResistantvip
· 6giờ trước
Một cái tên khác giả danh phòng ngừa để chơi đùa với mọi người.
Xem bản gốcTrả lời0
ChainDoctorvip
· 6giờ trước
Lại là khoản vay nhanh bị đổ lỗi. Tsk tsk.
Xem bản gốcTrả lời0
PessimisticOraclevip
· 6giờ trước
Hả, đằng sau lỗ hổng đều là sự cám dỗ của lợi nhuận khổng lồ.
Xem bản gốcTrả lời0
ParallelChainMaxivip
· 6giờ trước
Lỗ hổng nhiều như vậy, mọi người hãy cẩn thận nhé.
Xem bản gốcTrả lời0
TokenGuruvip
· 6giờ trước
Khai thác thời kỳ đã thấy lỗ hổng cũ, mọi người đừng chủ quan nhé
Xem bản gốcTrả lời0
Anon4461vip
· 6giờ trước
Đừng khoe khoang nữa, ai cũng có vẻ có lỗ hổng.
Xem bản gốcTrả lời0
RektCoastervip
· 6giờ trước
Cá chết lưới rách cũng sẽ không thua người mei và weiruan.
Xem bản gốcTrả lời0
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)