Rò rỉ private key oracle, Ostium mất 20 triệu USD: Bài học về tập trung hóa trong DeFi
Nghiên cứu
|
Lý Vĩnh
|
Một private key. Chỉ một private key. Đó là tất cả những gì kẻ tấn công cần để rút sạch 20 triệu USD từ OLP vault của Ostium. Không reentrancy, không flash loan phức tạp. Chỉ là một chữ ký số được tạo ra từ private key của oracle signer. Ai đó đã lấy được nó. Có thể là từ máy tính cá nhân, từ server lỏng lẻo, hoặc từ một kênh Telegram nào đó. Kết quả: attacker tự ký giá có lợi, mở vị thế short/long, đóng ngay lập tức. OLP vault mất 20 triệu. Ostium dừng toàn bộ giao dịch. Arbitrum im lặng.
Ostium là một perpetual DEX trên Arbitrum, cung cấp hợp đồng tương lai vĩnh viễn cho cổ phiếu (Tesla, Apple), hàng hóa (vàng, dầu) và ngoại hối (EUR/USD). TVL trước tấn công là 63 triệu USD – không phải lớn nhất, nhưng đủ để gây chú ý. Họ dùng Supra làm oracle. Supra là một oracle provider có vẻ ngoài “multi-chain”, nhưng thực chất vẫn dùng cơ chế signer tập trung. Một private key kiểm soát toàn bộ luồng giá vào smart contract. Đây là single point of failure kinh điển, và nó đã gãy.
Phân tích kỹ thuật từ Decurity chỉ ra attack flow đơn giản: Attacker có private key -> gọi hàm submitPrice với giá tùy chỉnh -> mở position với giá có lợi -> đóng position ngay -> rút lợi nhuận từ vault. Không cần exploit smart contract logic; contract vẫn chạy đúng như thiết kế. Vấn đề nằm ở off-chain: ai đó đã để lộ private key. Dựa trên kinh nghiệm audit của tôi, 80% các vụ tấn công DeFi năm 2026 đến từ private key bị lộ hoặc bridge attack. Ostium là một mảnh ghép hoàn hảo trong bức tranh đó.
Điều đáng lo là hiệu ứng domino. Supra, trước vụ tấn công, đã triển khai bản vá cho 11 chain khác. Nhưng Ostium không kịp update? Hay bản vá không hiệu quả? Câu hỏi đó vẫn còn bỏ ngỏ. Bonzo Finance trên Hedera mất 9 triệu USD vì cùng loại lỗi chỉ 4 ngày trước. Summer Finance mất 600k USD và tuyên bố đóng cửa. Nếu bạn sử dụng bất kỳ protocol nào dùng Supra, hãy kiểm tra ngay xem họ đã cập nhật bản vá chưa. Nếu chưa, rủi ro là real.
Góc nhìn contrarian: Nhiều người sẽ đổ lỗi cho “hacker” hoặc “sự cố bảo mật”. Nhưng vấn đề sâu xa hơn: thiết kế hệ thống đã chấp nhận rủi ro tập trung tại oracle signer. Audit code không phát hiện được private key lộ. Bảo mật off-chain thường bị xem nhẹ. Các dự án chi hàng trăm nghìn USD audit smart contract, nhưng lại để private key trong file .env trên server công cộng. Đây là điểm mù chiến lược: họ nghĩ về “smart contract security” mà quên mất “operational security”. Tôi đã thấy pattern này nhiều lần. 90% developer không hiểu rằng bảo mật DeFi không chỉ là Solidity, mà còn là quản lý khóa, multi-sig, hardware security module.
Takeaway: Thị trường đang dịch chuyển. Các giao thức dùng oracle tập trung sẽ bị phạt valuation. Chainlink, Pyth Network – những oracle phi tập trung – sẽ hút vốn. Nhưng liệu điều đó có đủ? Một câu hỏi khác: nếu toàn bộ hệ thống dùng Chainlink, nhưng Chainlink’s node operator cũng có private key, thì rủi ro chỉ được phân tán chứ không triệt tiêu. Cuối cùng, bảo mật là một cuộc chạy đua vũ trang. Kẻ tấn công chỉ cần một lỗi. Bạn phải chặn tất cả. Bạn có dám chắc rằng private key của oracle signer của bạn an toàn?