Allbridge đã dành cả năm 2023 để giải thích vì sao chính xác kiểu tấn công này không thể nào hoạt động lại trên các pool của họ. Tối Chủ nhật, một kẻ tấn công đã rút khoảng 1,65 triệu USD stablecoin khỏi các pool thanh khoản trên Solana của Allbridge Core, và thủ pháp đó không phải là một zero-day hoàn toàn mới lạ mà không ai lường trước được. Đó là một cuộc tấn công thao túng tỷ lệ pool thông qua flash loan—cùng nhóm tấn công đã nhắm vào các pool của Allbridge trên BNB Chain vào tháng 5/2023, với số tiền khoảng 570.000 USD. Khi đó, đội ngũ đã công bố bài postmortem, chấp nhận khoản lỗ và cam kết thay đổi kiến trúc, với mục tiêu khiến cho toàn bộ nhóm tấn công này trở nên mang tính cấu trúc không thể xảy ra trong tương lai. Ba năm sau, lời hứa ấy gặp thực tế trên một chuỗi khác, và thực tế đã chiến thắng. Kể từ đó, giao thức đã tạm dừng Core trong khi họ điều tra.

Với bất kỳ ai cung cấp thanh khoản cho các cầu nối xuyên chuỗi, vụ này đáng để đọc vượt qua con số tiêu đề. Con số tiền theo chuẩn của năm 2026 thì khá nhỏ, thấp hơn nhiều so với số tiền mà Ostium đã mất do một khóa oracle bị xâm phạm chỉ năm ngày trước đó, và chẳng gần với các thảm họa cầu nối nhiều chữ số ở chu kỳ trước. Nhưng quy mô của khoản lỗ không phải là phần câu chuyện quan trọng nhất. Câu chuyện là: một lỗ hổng đã được ghi nhận kèm bản vá đã được công bố vẫn để mở trên một chuỗi sản xuất suốt ba năm, và không ai phát hiện ra cho đến khi có ai đó có tài khoản Kamino quyết định kiểm tra.

Kẻ tấn công được cho là đã thực hiện như thế nào

Chuỗi giao dịch bắt đầu bằng một khoản flash loan trị giá 1,12 triệu USD được rút từ Kamino, một giao thức cho vay trên Solana. Flash loan cho phép bạn mượn một khoản tiền lớn mà không cần tài sản đảm bảo, miễn là bạn hoàn trả trong đúng cùng một giao dịch; chính vì vậy, nó rất phù hợp với bất kỳ ai muốn có “quy mô tạm thời” để làm một pool bị mất cân bằng. Kẻ tấn công đã dùng số vốn mượn được để nhanh chóng hoán đổi USDC sang USDT trong các pool Solana của Allbridge, làm lệch tỷ lệ giữa hai tài sản này đi xa khỏi mức mà nó lẽ ra phải ở. Sau đó, phép tính định giá của Allbridge lại coi tỷ lệ bị bóp méo này là “thực”, khiến kẻ tấn công có thể rút ra nhiều giá trị hơn số họ đã bỏ vào. Lặp lại vòng lặp đó, hoàn trả khoản vay, giữ phần chênh lệch, và rút lui với khoảng 1,65 triệu USD trong khoảng thời gian cần để đọc đoạn này.

Không có gì quá “lạ” ở đây. Việc thao túng pool bằng flash loan đã nằm trong mọi danh sách kiểm tra bảo mật DeFi từ năm 2020, và các bên kiểm toán cũng ghi nhận nó như một điều mang tính thường nhật. Điều khiến nó hoạt động là một điều kiện cấu trúc cụ thể: hai hay nhiều tài sản có thể hoán đổi nằm trong các pool mà có thể tương tác trong cùng một giao dịch atomic. Loại bỏ điều kiện đó thì cuộc tấn công không có gì để “nắm”. Đó chính xác là điều Allbridge nói rằng họ đã làm sau sự cố trên BNB Chain.

Bản vá năm 2023 không bao giờ đến được Solana

Sau cuộc tấn công tháng 5 năm 2023, biện pháp được Allbridge công bố là chuyển sang một pool thanh khoản duy nhất cho mỗi blockchain. Chỉ một pool đồng nghĩa không có “cặp anh em” để hoán đổi đối lại, không có tỷ lệ nào để làm méo, và không có đường đi nào để flash loan có thể làm được điều gì hữu ích. Trên giấy tờ, đây là một bản sửa sạch sẽ, và là kiểu câu trả lời khiến người gửi tiền yên tâm vì nó thay đổi hình dạng của hệ thống thay vì chỉ vá một triệu chứng. Nhóm cũng đã thu hồi khoảng 465.000 USD trong tổng tổn thất năm 2023 thông qua một thỏa thuận với tin tặc theo kiểu “white-hat”, và tại thời điểm đó nó trông giống như cách xử lý khá năng lực cho một tuần tồi tệ.

Tuy nhiên, việc triển khai trên Solana vẫn đang chạy song song các pool USDC và USDT. Đây chính là cấu hình mà chính sách chỉ dùng một pool duy nhất được thiết kế để loại bỏ. Dù rằng chưa bao giờ được di chuyển, đã được di chuyển rồi sau đó quay lại, hay đơn giản là chính sách ra đời sau và chẳng ai quay lại rà soát, thì kết quả thực tế vẫn như nhau. Một cam kết bảo mật từng xuất hiện trong một bài blog lại không tồn tại trong mã trên ít nhất một chuỗi, và dường như không có quy trình nào bắt được khoảng trống đó. Các nhà phân tích on-chain, gồm cả các nhà nghiên cứu theo dõi sự cố, đã nhanh chóng phát hiện việc dừng hệ thống và các dòng tiền di chuyển chỉ trong vài giờ.

Tiền đã đi đâu, và Allbridge đang yêu cầu gì

Các stablecoin bị đánh cắp được chuyển cầu từ Solana sang Ethereum, rồi được chia ra qua nhiều địa chỉ, với các phần được cho là chuyển vào các “privacy pool” để việc truy vết khó hơn. Đây là một mẫu quen thuộc cho đến hiện tại và thường có nghĩa là cơ hội thu hồi sẽ giảm mạnh khi tiền đã hạ cánh. Allbridge đã tạm dừng hoạt động Core, khuyến nghị các nhà cung cấp thanh khoản rút tiền, và đưa ra thêm một yêu cầu nói lên rất nhiều về cách những sự kiện này thực sự diễn ra: họ yêu cầu những trader đã kiếm lời từ sự mất cân bằng tạm thời của pool gửi tiền lại. Các bot arbitrage thông thường gần như chắc chắn đã chộp lấy giá trị “miễn phí” trong lúc các pool bị lệch, và những người vận hành đó đã không làm sai điều gì ngoài việc thực hiện một giao dịch mà thị trường đã tạo cơ hội. Việc lấy lại số tiền đó phụ thuộc vào thiện chí, không phải cơ chế cưỡng chế, nên không ai nên trông chờ vào việc đó.

Chưa có kế hoạch bồi thường nào được công bố và cũng chưa có mốc thời gian cho việc Core hoạt động trở lại. Bất kỳ ai vẫn còn vốn đang “đậu” trong các pool của Allbridge trên bất kỳ chuỗi nào cũng nên xem khuyến nghị rút tiền như chỉ dẫn chính thức, thay vì chờ xem cuộc điều tra sẽ được mô tả ra sao.

Bài học rút ra?

Các cầu nối (bridge) vẫn là một trong những bề mặt bị tấn công nhiều nhất trong crypto vì một lý do hiển nhiên: chúng dồn một lượng vốn nhàn rỗi lớn vào các hợp đồng, và các hợp đồng này phải tin tưởng các điều kiện trên đồng thời hai chuỗi khác nhau. Điều xảy ra ở đây còn tệ hơn một vụ khai thác khéo léo, bởi một vụ khai thác khéo léo ít nhất cũng ngụ ý rằng lực lượng phòng thủ đã bị đánh bại bởi thứ gì đó mới mẻ. Đây là một cuộc tấn công đã được biết đến nhắm vào một cấu hình đã biết trên một giao thức từng bị “đốt cháy” bởi chính cuộc tấn công đó trước đó, đồng thời đã mô tả công khai cách chữa.

Nếu bạn cung cấp thanh khoản ở bất kỳ đâu, thông điệp hữu ích là: một bản báo cáo rút kinh nghiệm (postmortem) là lời tuyên bố về ý định, chứ không phải bằng chứng cho việc công việc đã hoàn tất. Hãy hỏi xem bản vá thực sự đã được triển khai lên những chuỗi nào. Triển khai đa chuỗi thường bị lệch; và chuỗi mà mọi người ngừng theo dõi chính là chuỗi sẽ bị tấn công. Allbridge có lẽ sẽ sống sót qua vụ này do quy mô tổn thất khá khiêm tốn, nhưng thiệt hại về uy tín khi bị bắt gặp vì bài tập về nhà năm 2023 của chính mình sẽ còn tồn tại lâu hơn nhiều so với 1,65 triệu USD.

---------------

Tác giả: Rowan Marrow Ban biên tập SeattleTin tức Crypto Đột phá

Đăng ký GCP trong trình đọc