Abracadabra $1.8m hack lặp lại lỗi fork trước đó, Hacken tiết lộ

Giao thức DeFi Abracadabra đã mất 1.8 triệu USD sau khi một kẻ tấn công khai thác một lỗi logic đơn giản trong chức năng nhóm của nó. Các nhà phân tích tại Hacken cho biết kẻ tấn công đã rửa tiền qua Tornado Cash.

Tóm tắt

  • Abracadabra đã mất gần $2 triệu sau khi một kẻ tấn công khai thác một lỗi logic đơn giản trong chức năng batch của nó, tương tự như một cuộc tấn công vào một dự án nhánh vài ngày trước.
  • Kẻ tấn công đã vượt qua một cờ an toàn nhằm kiểm tra xem người vay có đủ tài sản thế chấp hay không và đã rút cạn sáu Cauldron trong một lần trước khi hoán đổi MIM bị đánh cắp lấy ETH và chuyển nó qua Tornado Cash.
  • Đây không phải là lần đầu tiên mã của Abracadabra bị tấn công, nhưng sự cố này làm nổi bật cách một chức năng nhỏ chưa được triển khai có thể cho phép hacker lợi dụng, ngay cả khi lỗi tương tự đã được nhìn thấy trong một nhánh.

Vào đầu tháng Mười, Abracadabra, một giao thức cho vay DeFi cho phép mọi người vay stablecoin MIM sử dụng các token đã gửi làm thế chấp và đã chịu nhiều cuộc tấn công của hacker trước đó, lần này một lần nữa đã mất khoảng 1.8 triệu đô la sau khi một kẻ tấn công đã lợi dụng một lỗi logic đơn giản trong chức năng batch của giao thức để vay mà không cần đặt cọc bất kỳ thế chấp nào, theo cách mà một dự án bị fork đã bị tấn công chỉ vài ngày trước, các nhà phân tích tại công ty bảo mật blockchain Hacken cho biết trong một ghi chú nghiên cứu được chia sẻ với crypto.news.

Abracadabra ra mắt như một cách để mọi người sử dụng các token sinh lãi làm tài sản thế chấp và vay một token gắn với đô la Mỹ gọi là Magic Internet Money, hay MIM. Hệ thống được xây dựng xung quanh hai thành phần: Cauldrons, xử lý các quy tắc vay, và DegenBox, kho chung thực sự giữ token. Nói ngắn gọn: bạn đặt tài sản thế chấp trong một Cauldron, và DegenBox theo dõi tiền ở phía sau.

Phiên bản ngắn gọn về những gì đã sai là như sau: một cờ an toàn mà lẽ ra phải buộc kiểm tra cuối cùng xem người đi vay có thực sự có tài sản thế chấp hay không đã bị tắt trong một giao dịch duy nhất. Như báo cáo của Hacken đã chỉ ra, kẻ tấn công "đã khai thác một lỗi logic trong chức năng cook() của Abracadabra, nơi họ có thể vay các mã thông báo MIM và sau đó ngay lập tức đặt lại cờ xác thực mà lẽ ra phải kiểm tra xem họ có đủ tài sản thế chấp hay không." Điều đó cho phép một khoản vay không có tài sản thế chấp một lần qua nhiều Cauldron.

Dưới kính hiển vi

Dưới đây là cách mà dòng chảy hoạt động, bằng những từ đơn giản. Abracadabra sử dụng một chức năng gộp gọi là cook() để người dùng có thể thực hiện nhiều hành động trong một giao dịch. Ví dụ, thế chấp tài sản và vay tiền chỉ với một cú nhấp chuột. Một trong những hành động đó, như bước “vay”, đặt một cờ tên là needsSolvencyCheck thành true, có nghĩa là “cuối cùng của giao dịch này, hãy kiểm tra rằng người vay là an toàn.”

Abracadabra $1.8m hack lặp lại lỗi fork trước đó, Hacken tiết lộ - 1Một trong những Cauldron dễ bị tổn thương | Nguồn: HackenNhưng một hành động khác có thể được thực hiện bên trong cùng một lô gọi "_additionalCookAction(…)." Như Hacken chỉ ra, hàm đó được khai báo là "virtual" và chưa bao giờ được triển khai, vì vậy theo mặc định nó trả về một đối tượng rỗng nơi mọi thứ được đặt thành false, bao gồm cả cờ needsSolvencyCheck.

Kết quả là, kẻ tấn công đã gọi hành động vay, sau đó gọi hành động mặc định để đặt lại cờ, và cuối cùng, giao thức không bao giờ kiểm tra khả năng thanh toán.

Các nhà phân tích cho biết kẻ tấn công đã tấn công sáu Cauldron trong một lần, lấy khoảng 1,79 triệu MIM và hoán đổi nó lấy ETH. Kẻ tấn công đã khai thác lỗ hổng và lần lượt đi qua sáu Cauldron khác nhau và rút cạn mỗi cái "sử dụng cùng một kỹ thuật với một cuộc gọi hàm nấu ăn chuyên dụng," các nhà phân tích giải thích.

Abracadabra $1.8m hack repeats earlier fork flaw, Hacken reveals - 2Các khoản tiền rửa từ vụ hack Abracadabra | Nguồn: HackenSau khi hoán đổi, kẻ tấn công đã chuyển tiền qua Tornado Cash, một giao thức trộn tiền điện tử, chủ yếu 10 ETH mỗi lần, gửi dần dần trong suốt ngày tiếp theo.

Và đây không phải là lần đầu tiên mã CauldronV4 của Abracadabra gặp rắc rối. Những sự cố khác vào đầu năm nay đã sử dụng các trường hợp khác nhau trong cùng một dòng hợp đồng. Điều thú vị bây giờ là cách mà việc triển khai fork phản ứng nhanh chóng.

Theo báo cáo, một nhánh gọi là Synnax đã tạm dừng hoặc loại bỏ danh sách trắng cho master CauldronV4 của nó trên DegenBox vài ngày trước khi xảy ra vụ rút tiền Abracadabra, vì vậy về cơ bản, đội ngũ nhánh đã kéo phanh khẩn cấp sau khi phát hiện cùng một mẫu yếu, cho thấy rằng rủi ro đã rõ ràng với các đội theo dõi mã, nếu không nói là đã được khắc phục.

ETH-2.1%
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
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
0/400
Không có bình luận
  • 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)