Giao thức Cork bị tấn công, thiệt hại vượt quá 10 triệu USD
Ngày 28 tháng 5, Cork Protocol đã xảy ra sự cố an ninh, dẫn đến việc thị trường wstETH:weETH bị tấn công. Để ngăn chặn rủi ro mở rộng, bên điều phối đã tạm dừng tất cả các giao dịch trên thị trường khác. Hiện tại, đội ngũ đang tích cực điều tra nguyên nhân sự cố và sẽ cập nhật liên tục tiến trình liên quan.
Phân tích nguyên nhân tấn công
Nguyên nhân cơ bản của cuộc tấn công này chủ yếu có hai điểm:
Cork cho phép người dùng tạo ra tài sản để đổi lấy tài sản bất kỳ thông qua hợp đồng CorkConfig (RA), khiến cho kẻ tấn công có thể sử dụng DS làm RA.
Bất kỳ người dùng nào cũng có thể gọi hàm beforeSwap của hợp đồng CorkHook mà không cần ủy quyền, và cho phép người dùng truyền vào dữ liệu hook tùy chỉnh để thực hiện thao tác CorkCall. Điều này cho phép kẻ tấn công thao túng, đưa DS hợp pháp từ thị trường này sang thị trường khác để sử dụng làm RA, và nhận được DS và token CT tương ứng.
Quy trình tấn công
Kẻ tấn công trước tiên đã mua token weETH8CT-2 trên thị trường hợp pháp bằng wstETH.
Tạo ra một thị trường mới với mã thông báo weETH8DS-2 làm RA và wstETH làm PA.
Thêm một lượng thanh khoản nhất định vào thị trường mới, để giao thức có thể khởi tạo bể thanh khoản tương ứng trong Uniswap v4.
Sử dụng cơ chế mở khóa của Uniswap V4 Pool Manager, gọi hàm beforeSwap của CorkHook và truyền vào dữ liệu thị trường và hook đã định nghĩa.
Bằng cách xây dựng dữ liệu hook, chuyển token weETH8DS-2 hợp pháp từ thị trường cũ sang thị trường mới dưới dạng RA và nhận token CT và DS tương ứng từ thị trường mới.
Sử dụng CT và DS token đã nhận được để đổi lấy weETH8DS-2 token trên thị trường mới.
Khớp các token weETH8DS-2 đã được đổi với các token weETH8CT-2 đã mua trước đó, và đổi lại token wstETH tại thị trường ban đầu.
Dòng tiền
Theo công cụ phân tích trên chuỗi, địa chỉ của kẻ tấn công đã thu lợi 3,761.878 wstETH, trị giá hơn 1,200万美元. Sau đó, kẻ tấn công đã đổi wstETH thành 4,527 ETH thông qua 8 giao dịch.
Vốn ban đầu của kẻ tấn công đến từ 4.861 ETH được chuyển từ một nền tảng giao dịch. Hiện tại, tổng cộng có 4,530.5955 ETH đang ở lại trên địa chỉ của kẻ tấn công.
Đề xuất an toàn
Các nhà phát triển khi thiết kế giao thức, nên cẩn thận xác minh từng bước hoạt động của giao thức có đúng như mong đợi hay không, và nghiêm ngặt giới hạn loại tài sản trên thị trường. Đồng thời, cần thực hiện xác minh nghiêm ngặt dữ liệu do người dùng truyền vào, đảm bảo phù hợp với mong đợi, nhằm ngăn chặn tính thanh khoản của giao thức bị thao túng và chuyển nhượng bất hợp pháp.
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.
19 thích
Phần thưởng
19
4
Chia sẻ
Bình luận
0/400
FlippedSignal
· 08-06 08:30
Lại là mã code viết khi chưa tỉnh táo.
Xem bản gốcTrả lời0
ColdWalletGuardian
· 08-06 08:24
Một dự án khác bị khai thác.
Xem bản gốcTrả lời0
DefiOldTrickster
· 08-06 08:23
Lại một lần nữa lỗ hổng hợp đồng bị Phiếu giảm giá, những tay chơi kỳ cựu đã sớm ngửi thấy mùi rồi.
Giao thức Cork遭 Hacker tấn công, hơn 12 triệu đô la Mỹ bị đánh cắp
Giao thức Cork bị tấn công, thiệt hại vượt quá 10 triệu USD
Ngày 28 tháng 5, Cork Protocol đã xảy ra sự cố an ninh, dẫn đến việc thị trường wstETH:weETH bị tấn công. Để ngăn chặn rủi ro mở rộng, bên điều phối đã tạm dừng tất cả các giao dịch trên thị trường khác. Hiện tại, đội ngũ đang tích cực điều tra nguyên nhân sự cố và sẽ cập nhật liên tục tiến trình liên quan.
Phân tích nguyên nhân tấn công
Nguyên nhân cơ bản của cuộc tấn công này chủ yếu có hai điểm:
Cork cho phép người dùng tạo ra tài sản để đổi lấy tài sản bất kỳ thông qua hợp đồng CorkConfig (RA), khiến cho kẻ tấn công có thể sử dụng DS làm RA.
Bất kỳ người dùng nào cũng có thể gọi hàm beforeSwap của hợp đồng CorkHook mà không cần ủy quyền, và cho phép người dùng truyền vào dữ liệu hook tùy chỉnh để thực hiện thao tác CorkCall. Điều này cho phép kẻ tấn công thao túng, đưa DS hợp pháp từ thị trường này sang thị trường khác để sử dụng làm RA, và nhận được DS và token CT tương ứng.
Quy trình tấn công
Kẻ tấn công trước tiên đã mua token weETH8CT-2 trên thị trường hợp pháp bằng wstETH.
Tạo ra một thị trường mới với mã thông báo weETH8DS-2 làm RA và wstETH làm PA.
Thêm một lượng thanh khoản nhất định vào thị trường mới, để giao thức có thể khởi tạo bể thanh khoản tương ứng trong Uniswap v4.
Sử dụng cơ chế mở khóa của Uniswap V4 Pool Manager, gọi hàm beforeSwap của CorkHook và truyền vào dữ liệu thị trường và hook đã định nghĩa.
Bằng cách xây dựng dữ liệu hook, chuyển token weETH8DS-2 hợp pháp từ thị trường cũ sang thị trường mới dưới dạng RA và nhận token CT và DS tương ứng từ thị trường mới.
Sử dụng CT và DS token đã nhận được để đổi lấy weETH8DS-2 token trên thị trường mới.
Khớp các token weETH8DS-2 đã được đổi với các token weETH8CT-2 đã mua trước đó, và đổi lại token wstETH tại thị trường ban đầu.
Dòng tiền
Theo công cụ phân tích trên chuỗi, địa chỉ của kẻ tấn công đã thu lợi 3,761.878 wstETH, trị giá hơn 1,200万美元. Sau đó, kẻ tấn công đã đổi wstETH thành 4,527 ETH thông qua 8 giao dịch.
Vốn ban đầu của kẻ tấn công đến từ 4.861 ETH được chuyển từ một nền tảng giao dịch. Hiện tại, tổng cộng có 4,530.5955 ETH đang ở lại trên địa chỉ của kẻ tấn công.
Đề xuất an toàn
Các nhà phát triển khi thiết kế giao thức, nên cẩn thận xác minh từng bước hoạt động của giao thức có đúng như mong đợi hay không, và nghiêm ngặt giới hạn loại tài sản trên thị trường. Đồng thời, cần thực hiện xác minh nghiêm ngặt dữ liệu do người dùng truyền vào, đảm bảo phù hợp với mong đợi, nhằm ngăn chặn tính thanh khoản của giao thức bị thao túng và chuyển nhượng bất hợp pháp.