Khai thác DeFi: Vụ Yearn Finance mất $9M nghiêm trọng

Ngành tài chính phi tập trung (DeFi) vừa chứng kiến một vụ vi phạm nghiêm trọng nhắm vào pool yETH của Yearn Finance. Sự cố này, xảy ra vào ngày 30 tháng 11 năm 2025, đã dẫn đến việc đánh cắp khoảng 9 triệu đô la. Vụ việc là một ví dụ điển hình về những thách thức và lỗ hổng smart contract tiềm ẩn trong các giao thức DeFi phức tạp, phơi bày những rủi ro bảo mật nghiêm trọng liên quan đến việc khai thác DeFi.
Phân Tích Kỹ Thuật Vụ Khai Thác Yearn Finance yETH
Kẻ tấn công đã thực hiện một cuộc khai thác cực kỳ tinh vi, tạo ra một lượng 235 septillion token yETH khổng lồ chỉ với một khoản tiền gửi tối thiểu là 16 wei – một lượng giá trị chưa bằng một phần nhỏ của một xu. Vụ việc này nhấn mạnh sự mong manh của các bất biến toán học phức tạp trong hợp đồng thông minh, nơi các chiến lược tối ưu hóa gas có thể vô tình tạo ra các lỗ hổng bảo mật nghiêm trọng, đặc biệt là trong bối cảnh các giao thức khai thác DeFi ngày càng phức tạp.
Cơ Chế Lỗ Hổng Cốt Lõi: packed_vbs và Lỗi Logic Trạng Thái
Lỗ hổng cốt lõi nằm trong cơ chế kế toán nội bộ của giao thức, cụ thể là việc sử dụng các biến lưu trữ được lưu vào bộ nhớ đệm, được gọi là packed_vbs. Các biến này được thiết kế để giảm chi phí giao dịch trên blockchain bằng cách đóng gói và lưu trữ thông tin số dư ảo một cách hiệu quả. Tuy nhiên, chúng đã không được đặt lại hoặc xóa đúng cách khi nguồn cung thanh khoản của pool giảm về không tuyệt đối.
Thông thường, khi một pool thanh khoản trở nên trống rỗng, tất cả các bộ đếm và biến trạng thái liên quan phải được đặt lại về giá trị ban đầu. Trong trường hợp này, trong khi bộ đếm nguồn cung chính của pool được đặt lại, các giá trị được lưu trong bộ nhớ đệm packed_vbs lại giữ lại các số dư ảo từ các giao dịch trước đó. Điều này đã tạo ra một sự khác biệt nghiêm trọng giữa trạng thái thực tế và trạng thái được ghi nhận của pool, một kẽ hở trọng yếu cho việc khai thác DeFi.
Các nhà phân tích bảo mật của Check Point đã xác định rằng đây không phải là một lỗi mã đơn giản mà là một lỗi logic sâu sắc trong quản lý trạng thái của hợp đồng thông minh. Nghiên cứu chi tiết của Check Point đã làm rõ hành vi bất thường và cách thức kẻ tấn công lợi dụng sự không đồng bộ này. Việc thiếu kiểm tra và đồng bộ hóa trạng thái đã biến một tính năng tối ưu hóa hiệu quả thành một lỗ hổng smart contract nghiêm trọng.
Kỹ Thuật “State Poisoning” và Chiếm Quyền Kiểm Soát Tài Sản
Kẻ tấn công đã thực hiện một chiến thuật “đầu độc trạng thái” (state poisoning) thông qua một loạt các giao dịch được tính toán kỹ lưỡng. Bằng cách thao túng sự tương tác giữa các chức năng gửi tiền và rút tiền, chúng đã lừa hệ thống tin rằng pool nắm giữ một lượng giá trị khổng lồ, ngay cả khi nguồn cung thanh khoản thực tế đã cạn kiệt. Đây là một trong những cuộc tấn công hiệu quả về vốn nhất trong lịch sử, chỉ yêu cầu một lượng vốn ban đầu không đáng kể để thực hiện một cuộc khai thác DeFi và đánh cắp hàng triệu đô la tài sản dựa trên Ethereum.
Quá trình đầu độc trạng thái bắt đầu bằng việc kẻ tấn công khởi tạo hơn mười chu kỳ gửi và rút tiền sử dụng các khoản vay chớp nhoáng (flash loan). Trong mỗi chu kỳ này, chúng cố tình để lại các giá trị dư rất nhỏ, chỉ ở mức wei, trong các vị trí lưu trữ của packed_vbs. Những giá trị nhỏ bé này, mặc dù không đáng kể về mặt tài chính, lại có tác dụng tích lũy và “đầu độc” bộ nhớ lưu trữ.
Dữ liệu tích lũy này đã tồn tại ngay cả sau khi kẻ tấn công đã rút tất cả thanh khoản hợp pháp, đưa tổng nguồn cung của pool về không. Điều này khiến cho hàm add_liquidity của giao thức mắc phải một giả định tai hại: nó cho rằng nguồn cung bằng không có nghĩa là một pool nguyên sơ và trống rỗng. Đây là một lỗ hổng smart contract mang tính chất logic sâu sắc, vượt ra ngoài việc kiểm tra cú pháp thông thường.
Khi kẻ tấn công thực hiện khoản tiền gửi cuối cùng của mình là 16 wei, hệ thống đã không tính toán dựa trên khoản tiền gửi mới. Thay vào đó, nó đọc các giá trị cũ, khác không từ bộ nhớ đệm bị đầu độc. Sự tính toán sai lầm nghiêm trọng này đã kích hoạt việc tạo ra hàng septillion token LP (Liquidity Provider), cấp cho kẻ tấn công quyền kiểm soát tuyệt đối đối với tất cả tài sản còn lại trong pool. Các tài sản bị đánh cắp sau đó đã được nhanh chóng hoán đổi thành WETH và rửa tiền thông qua Tornado Cash, một dịch vụ trộn tiền mã hóa.
Bài Học và Rủi Ro Bảo Mật Trong Hệ Sinh Thái DeFi
Vụ việc Yearn Finance là một lời nhắc nhở rõ ràng rằng các hệ thống DeFi phức tạp đòi hỏi phải có cơ chế quản lý trạng thái rõ ràng và mạnh mẽ để ngăn chặn các cuộc khai thác DeFi giá trị cao như vậy. Sự cố này không chỉ ảnh hưởng trực tiếp đến Yearn Finance mà còn là một cảnh báo chung về rủi ro bảo mật tiềm ẩn trong toàn bộ lĩnh vực tài chính phi tập trung. Việc bỏ qua các chi tiết nhỏ trong quản lý trạng thái hoặc tối ưu hóa gas có thể dẫn đến hậu quả tài chính thảm khốc và làm suy yếu niềm tin của người dùng vào các giao thức.
Yêu Cầu về Quản Lý Trạng Thái và Kiểm Toán Smart Contract Chuyên Sâu
Để ngăn chặn các lỗ hổng smart contract tương tự trong tương lai, các dự án và giao thức DeFi cần đầu tư mạnh vào kiểm toán bảo mật kỹ lưỡng và đa tầng. Việc này đặc biệt phải chú trọng đến các kịch bản biên (edge cases) và cách thức các biến trạng thái tương tác trong các điều kiện bất thường, ví dụ như khi nguồn cung thanh khoản của pool bằng không hoặc gần bằng không. Kiểm thử định hình (Formal verification) là một phương pháp quan trọng khác, sử dụng các công cụ toán học để xác minh tính đúng đắn của logic hợp đồng thông minh ở cấp độ sâu, giúp phát hiện các lỗi logic mà kiểm toán truyền thống có thể bỏ sót.
Các nhà phát triển cần thiết lập các quy trình nghiêm ngặt để đảm bảo rằng tất cả các biến liên quan đến trạng thái quan trọng của pool được đặt lại hoặc kiểm tra một cách chính xác và độc lập khi các điều kiện cụ thể được đáp ứng. Điều này bao gồm việc kiểm tra độc lập các giá trị được lưu trong bộ nhớ đệm và các giá trị thực tế của tài sản. Việc áp dụng các mẫu thiết kế (design patterns) an toàn đã được kiểm chứng và tránh các tối ưu hóa gas phức tạp có thể ẩn chứa rủi ro bảo mật là điều cần thiết.
Ngoài ra, cộng đồng bảo mật và các nhà phát triển DeFi cần phối hợp để phát triển các công cụ và phương pháp mới để phát hiện các loại lỗi logic tinh vi này, vốn thường khó tìm thấy bằng các phương pháp kiểm toán tĩnh hoặc động truyền thống. Việc chia sẻ thông tin tình báo về các mối đe dọa, các vectơ tấn công mới và các phương pháp khai thác DeFi đã biết là rất quan trọng để nâng cao khả năng phòng thủ tổng thể của toàn bộ hệ sinh thái. Sự minh bạch và hợp tác là chìa khóa để xây dựng một tương lai DeFi an toàn và bền vững hơn.







