Securityadvancedarticle30 min read

Hack mạng Mixin: Cách một vụ vi phạm cơ sở dữ liệu đám mây trị giá 200 triệu USD làm cạn kiệt một mạng lưới "giải phóng" | VCC

Hacker mạng Mixin vào tháng 9 năm 2023 không khai thác một hợp đồng thông minh, phá vỡ mã của một cầu nối, hoặc giả mạo một chữ ký mã hóa duy nhất. Các nhà tấn công đã xâm nhập vào cơ sở dữ liệu nhà cung cấp dịch vụ đám mây của Mixin Network, lấy ra các khóa riêng của khoảng 10.000 địa chỉ gửi tiền,

Vietcardano teamTeam

Đội ngũ biên tập VietCardanoCommunity — các chuyên gia blockchain và Cardano, cung cấp nội dung giáo dục và nghiên cứu chuyên sâu cho cộng đồng.

Published 14 tháng 9, 2026

Hacker mạng Mixin vào tháng 9 năm 2023 không khai thác một hợp đồng thông minh, phá vỡ mã của một cầu nối, hoặc giả mạo một chữ ký mã hóa duy nhất. Các nhà tấn công đã xâm nhập vào cơ sở dữ liệu nhà cung cấp dịch vụ đám mây của Mixin Network, lấy ra các khóa riêng của khoảng 10.000 địa chỉ gửi tiền, và thản nhiên rút khoảng 200 triệu USD tài sản của người dùng trên Bitcoin, Ethereum và stablecoin – giao dịch một cách liên tục, trong vài giờ, với số dư lớn nhất trước hết. Đây là thiệt hại lớn nhất trong lĩnh vực tiền điện tử năm 2023, và nó đã bộc lộ một sự thật không thoải mái: một mạng có thể thực hiện sự đồng thuận phân tán thực sự và vẫn mất tất cả mọi thứ vì các khóa của nó được lưu trữ trong cơ sở dữ liệu đám mây của một công ty.

Mixin Network là gì? Cấu hình

Mixin Network, được thành lập vào năm 2017, tự mô tả mình là một mạng giao dịch peer-to-peer, cross-chain nhanh chóng và miễn phí. Hãy xem nó như một phương tiện thanh toán tập trung cho tiền điện tử: người dùng nạp Bitcoin hoặc Ethereum vào một địa chỉ nạp được quản lý bởi Mixin, mạng lưới ghi lại số dư trên sổ kế toán có khả năng xử lý cao của riêng nó (Mixin Kernel, một lớp đồng thuận dựa trên DAG), và người dùng có thể chuyển giá trị giữa các chuỗi với phí gần như bằng 0 và không phải chờ xác nhận của lớp cơ sở chậm.

Kiến trúc ở đây rất quan trọng. Kernel của Mixin là một hệ thống phân tán – nhiều nút cầu nối đạt được sự đồng thuận về trạng thái sổ cái. Tuy nhiên, lớp custody lại khác. Khi bạn gửi tiền vào Mixin, bạn không giữ địa chỉ gửi tiền của mình. Mixin sẽ tạo một địa chỉ gửi tiền cho bạn, và khóa riêng kiểm soát nó được lưu trữ – dưới dạng có thể phục hồi – trong một cơ sở dữ liệu được vận hành bởi nhà cung cấp dịch vụ đám mây của Mixin. Hãy tưởng tượng một khách sạn nơi mỗi chìa khóa phòng của khách nằm trong một ngăn trên bàn tiếp tân. Sự đồng thuận về người nào có phòng nào được duy trì hoàn hảo. Tuy nhiên, ngăn đó nằm trong một văn phòng cho thuê.

Chiếc ngăn kéo đó là nguyên nhân thất bại.

Lịch trình: 5 ngày từ khi bị xâm nhập đến khi phát hành mã thông báo Bond

23 tháng 9 năm 2023, sáng sớm (giờ Hong Kong) — Cơ sở dữ liệu của nhà cung cấp dịch vụ đám mây của Mixin đã bị tấn công. Các chuyển động đầu tiên của các quỹ từ các địa chỉ được kiểm soát bởi Mixin bắt đầu vào khoảng 23:45 UTC ngày 22 tháng 9. Người tấn công, sau khi lấy lại các khóa riêng từ cơ sở dữ liệu, đã bắt đầu rút các địa chỉ gửi tiền một cách có hệ thống.

22–23 tháng 9 — Trong vài giờ, kẻ tấn công thực hiện hơn 10.000 giao dịch, thu dọn số dư từ cao đến thấp và chuyển tiền vào một số ví tích hợp nhỏ: khoảng 60.000 ETH (~94 triệu USD) vào một địa chỉ Ethereum, USDT (~23,5 triệu USD) vào một địa chỉ khác — ngay lập tức được đổi thành DAI — và 891 BTC (~23 triệu USD) vào một địa chỉ Bitcoin. Một địa chỉ Ethereum khác được sử dụng để thanh toán các địa chỉ nạn nhân bằng gas để có thể chuyển USDT ra ngoài.

24 tháng 9, 02:27 UTC – Công ty bảo mật Blockchain SlowMist đã báo cáo sự xâm nhập. Mixin đã công khai xác nhận: cơ sở dữ liệu của nhà cung cấp dịch vụ đám mây của nó đã bị tấn công, dẫn đến mất một số tài sản trên mainnet. Dịch vụ nạp và rút tiền đã bị tạm ngừng. Giao tiếp trên Mixin Messenger vẫn hoạt động bình thường, nhưng các dịch vụ Mixin DEX đã bị đóng băng cùng với mạng lưới.

25 tháng 9, 06:55 UTC — Mixin đã mã hóa một lời cầu xin trực tiếp trên chuỗi: một thông báo gửi đến kẻ tấn công, đề nghị 20 triệu đô la (10% số tiền bị đánh cắp) làm "hưởng thưởng BUG Bounty" để đổi lấy việc trả lại số tiền, với thông tin liên hệ qua địa chỉ bug@mixin.one.

25 tháng 9, 08:01 UTC — Chủ tịch công ty Feng Xiaodong xuất hiện trong một buổi livestream với một thông điệp thẳng thắn: Mixin chỉ có thể đảm bảo một nửa tài sản của người dùng ban đầu. "Bất kể tài sản của bạn là gì – có phải là Bitcoin hay Ethereum – chúng tôi sẽ đảm bảo rằng một nửa của nó không bị ảnh hưởng," ông nói. Phần còn lại sẽ được phát hành cho người dùng dưới dạng token trái phiếu – các yêu cầu trách nhiệm được token hóa mà Mixin cam kết sẽ mua lại từ lợi nhuận trong tương lai. Ông cũng cam kết xây dựng một hệ thống mới để lưu trữ tài sản của người dùng.

27 tháng 9 — Với sự hỗ trợ của Google (qua công ty con Mandiant) và SlowMist, Mixin đã hoàn thành cuộc điều tra và cho biết tình hình của họ "hơn mong đợi" và "thiệt hại không lớn như dự kiến". Không có bản phân tích kỹ thuật chi tiết về phương thức vi phạm được công bố.

Số liệu: 200 triệu USD được yêu cầu, 141 triệu USD được xác nhận

Báo cáo của Mixin ước tính thiệt hại khoảng 200 triệu USD. Các phân tích trên chuỗi đã xác định thiệt hại ít hơn. Theo phân tích của PeckShield, có 141,3 triệu USD trong số các thiệt hại đã được xác nhận:

Tài sảnThiệt hại xác địnhGhi chú
Ethereum~$94.5 triệu~60,000 ETH được tích hợp thành 0x52E8...
DAI (từ USDT)~$23,5 triệuUSDT được nhận, ngay lập tức được đổi thành DAI
Bitcoin~$23,3 triệu891 BTC gửi đến một địa chỉ BTC duy nhất
Tổng số phát hiện~$141.3 triệuso với ~200 triệu USD do Mixin tuyên bố

Khoảng cách giữa 200 triệu USD và 141 triệu USD chưa được giải quyết hoàn toàn công khai. Các nhà phân tích lưu ý rằng có khoảng 50 triệu USD vẫn chưa được tính toán – và tuyên bố của Mixin ngày 27 tháng 9 rằng thiệt hại "không lớn như dự kiến" cho thấy con số ban đầu của công ty bao gồm tài sản mà, khi được kiểm tra kỹ hơn, thực tế không thể được truy cập bởi kẻ tấn công. Để có cái nhìn tổng quan: thiệt hại lớn nhất trước đó trong năm 2023, vụ tấn công của Euler Finance (197 triệu USD), đã có tất cả các khoản tiền được hoàn trả. Vụ hack mạng của Mixin đã lấy đi nhiều hơn và không lấy lại được gì thực sự.

Nguyên nhân: Chìa khóa riêng được lưu trữ trong cơ sở dữ liệu

Nếu loại bỏ các yếu tố branding, cơ chế hoạt động của nó gần như quá đơn giản. Các giao dịch mà kẻ tấn công thực hiện là các chuyển khoản thông thường – không có lỗ hổng, không có khoản vay nhanh, không có sự can thiệp của oracle. BlockSec và Viện mạng phân tán đều nhận thấy cùng một điều: kẻ tấn công đã xâm nhập môi trường đám mây, lấy lại các khóa riêng của các địa chỉ gửi tiền (và theo quan sát của BlockSec, có thể là một số khóa ví nóng của Mixin), sau đó chuyển tiền theo thứ tự từ số dư cao nhất đến thấp nhất.

Tại sao các khóa được lưu trữ trong một cơ sở dữ liệu trong trạng thái có thể phục hồi? Vì mô hình nạp tiền. Các địa chỉ nạp tiền được tạo bởi máy chủ yêu cầu người điều hành phải lưu trữ các khóa tương ứng ở một nơi có thể truy xuất – nếu không, khi một khoản nạp tiền đến, hệ thống không thể đưa nó vào dự trữ mainnet. Lưu các khóa trong dạng có thể phục hồi (có thể xuất, có thể sao lưu) trong một cơ sở dữ liệu trên đám mây là thuận tiện về mặt hoạt động và là một sai lầm về mặt kiến trúc. Một bản sao lưu cơ sở dữ liệu, một thông tin chứng thực dịch vụ bị rò rỉ, một tài khoản quản trị bị đánh cắp – bất kỳ trong số những điều này đều biến toàn bộ kho khóa thành một bảng chiến lợi phẩm.

Đây là loại lỗi liên quan đến cơ sở dữ liệu đám mây, và nó vượt xa Mixin. Cùng một danh mục này còn có lỗi Ronin Bridge (mười chín khóa xác nhận bị đánh cắp thông qua spear-phishing) và sự cố Bybit/Safe{Wallet}, trong đó các nhà tấn công đã đánh cắp các token phiên của AWS từ máy của một nhà phát triển để làm nhiễm độc một giao diện ký. Trong mỗi trường hợp, chuỗi khối và các hợp đồng thông minh hoạt động hoàn hảo; cơ sở hạ tầng bên ngoài chuỗi không làm được điều đó. Dù các khóa nằm trong cơ sở dữ liệu Google Cloud, một ổ chứa AWS S3 hay kho lưu trữ phiên của dịch vụ ký, thì cách thức xảy ra lỗi đều giống nhau: lớp chứng thực bảo vệ quyền sở hữu là một điểm yếu duy nhất mà không có sự phân quyền mà dự án tuyên bố.

Đôi khía cạnh của sự phân quyền

Sự thất bại 200 triệu USD của Mixin đã gây ra một cuộc tranh luận trên toàn ngành về ý nghĩa của từ "giải phóng trung tâm". Kernel của Mixin là một hệ thống đồng thuận đa nút thực sự – các tuyên bố về việc giải phóng trung tâm của nó không được tạo ra ở lớp đồng thuận. Tuy nhiên, các tài sản mà người dùng thực sự quan tâm không bao giờ chạm đến lớp đồng thuận đó. Họ nằm sau các khóa được lưu trữ trong một cơ sở dữ liệu của một nhà cung cấp đám mây, được bảo vệ bởi an ninh hoạt động của một công ty.

CZ của Binance đã nêu rõ trong một câu: "Không phải tất cả những gì tuyên bố là phân tán đều thực sự là như vậy". Sự tấn công vào mạng Mixin đã trở thành minh họa tiêu biểu. Một sổ kế toán DAG phân tán với quản lý tập trung, từ góc độ rủi ro của người dùng, là một ví nóng của sàn giao dịch với các bước bổ sung – có thể nói là tồi tệ hơn, vì quảng cáo cho rằng không phải như vậy. Câu hỏi về trách nhiệm còn sắc hơn. Khi mô hình nạp tiền nói "chúng tôi giữ các khóa", và các khóa bị mất do sự xâm nhập, cách trình bày "chúng tôi là phân tán" đã chuyển trách nhiệm cho bên thứ ba trong khi người dùng được cung cấp các mã thông báo trái phiếu cho các thiệt hại của họ.

Cách khắc phục này xứng đáng được xem xét kỹ lưỡng. Cam kết "50% đảm bảo" và các yêu cầu trách nhiệm được mã hóa có nghĩa là người dùng bị ảnh hưởng thực sự đã nhận được một IOU được định giá bằng một mã thông qua, giá trị của nó phụ thuộc vào lợi nhuận trong tương lai của công ty mà họ vừa mất tiền gửi. Đó là một cơ chế tồn tại – có thể nói là hợp lý đối với một nhóm nhỏ đang đối mặt với một lỗ có giá trị 9 chữ số – nhưng đó là rủi ro đối với người nắm giữ trái phiếu, không phải là việc khôi phục tài sản.

Tác động và ảnh hưởng của thị trường

Token XIN, tài sản gốc của Mixin, giảm 8,6% trong 24 giờ sau khi thông báo, giao dịch ở mức 194 USD. Tin nhắn khuyến khích trên chuỗi – một lời đề nghị trực tiếp cung cấp cho kẻ tấn công 20 triệu USD để trả lại tiền – không nhận được phản hồi. Tiền bị đánh cắp nằm trong các ví tích hợp; khác với kẻ tấn công của Euler, kẻ tấn công này không hề quan tâm đến thương lượng. Thay đổi ngay lập tức của USDT bị đánh cắp thành DAI không thể unfreeze cho thấy ý định: kẻ tấn công biết chính xác các tài sản mà các nền tảng có thể đóng băng và chuyển chúng ra khỏi tầm kiểm soát trong vòng vài giờ. Sự tinh vi đó, kết hợp với việc tích hợp nhiều chuỗi và cách sắp xếp từ cao xuống thấp có hệ thống, đã khiến các điều tra viên nghi ngờ rằng nhóm Lazarus của Triều Tiên – tuy nhiên, đáng chú ý là không có bằng chứng nào công khai xác nhận sự xác định đó.

Nguồn: nghi ngờ, chưa được xác nhận

rekt.news đã chỉ ra các dấu hiệu của cuộc tấn công có liên quan đến Lazarus: quá trình rút tiền đa chuỗi, việc ngay lập tức thay đổi từ USDT có thể đóng băng thành DAI không thể đóng băng, và thực hiện theo quy trình có liên quan đến cùng một nhóm đứng đằng sau các vụ tấn công CoinEx, Alphapo và Stake.com trong cùng tháng đó. Tuy nhiên, danh sách của Viện Mạng Phân tán đã cẩn thận hơn: "Nhóm Lazarus của Triều Tiên được nghi ngờ là đứng đằng sau cuộc tấn công, nhưng chưa có bằng chứng nào." Cảm biến mạnh nhất đến từ 0xScope, nơi phát hiện một trong các địa chỉ của kẻ tấn công có mối quan hệ trước đó với Mixin chính nó – nhận 5 ETH từ nền tảng trong năm trước và ngay lập tức gửi 5,9 ETH vào Binance. Đã có lần nào đó được công bố rằng điều đó phản ánh kiến thức bên trong hay một hoạt động đánh giá tình hình kéo dài chưa được xác định.

Đối với các độc giả, bài học thực tiễn là về việc bảo vệ tính chính xác: những thiệt hại có giá trị 9 chữ số được ghi nhận cho Lazarus trong các tiêu đề trong vòng vài giờ; việc xác minh thường bị trì hoãn trong nhiều tháng, nếu có.

Những bài học: Điều gì đã ngăn chặn sự mất mát 200 triệu USD

1. Các khóa không thể được xuất khẩu. Đối với người quản lý, điều quan trọng nhất là các khóa riêng nên được lưu trữ trong các mô-đun bảo mật phần cứng (HSM) để ký kết mà không bao giờ tiết lộ nội dung khóa. Nếu một sự rò rỉ cơ sở dữ liệu dẫn đến dữ liệu cấu hình và metadata – không phải là các khóa – thì cùng một cuộc tấn công sẽ gây ra sự gián đoạn dịch vụ, chứ không phải là thiệt hại 200 triệu USD.

2. Không có mô hình nạp tiền duy nhất. Các địa chỉ nạp tiền được tạo bởi máy chủ tập trung tất cả các thông tin quan trọng trong một hệ thống. Tiến hành phân phối quyền quản lý cho các nhà quản lý khóa độc lập (MPC, ký kết theo thang độ, hoặc các khóa được người dùng giữ riêng cho mỗi lần nạp tiền), để khi một cơ sở dữ liệu bị xâm phạm không ảnh hưởng đến một khóa nào.

3. Tăng cường bảo mật trên đám mây bằng cách duy trì tính toàn vẹn của thông tin xác thực. Người tấn công không bao giờ tiếp xúc với blockchain. Các biện pháp kiểm soát như áp dụng MFA cho quyền truy cập quản trị trên đám mây, các token phiên làm việc ngắn hạn và quyền truy cập cơ sở dữ liệu có quyền hạn thấp sẽ làm tăng chi phí để tiến hành tấn công – bài học về việc đánh cắp khóa AWS mà sự cố Safe{Wallet} đã củng cố một năm sau đó.

4. Được giám sát nhanh chóng và độc lập. Có hơn 10.000 giao dịch trong vài giờ không được xử lý khi chúng xảy ra. Phát hiện bất thường về các mẫu chuyển khoản – việc thanh toán theo kích thước có thể dễ dàng phát hiện – cộng với nguồn giám sát của bên thứ ba có thể đã cảnh báo về tình trạng rút tiền trong quá trình chiến dịch.

5. Marketing về bảo quản trung thực. Các mạng lưới giữ các khóa người dùng nên nói rõ điều này. Những người dùng hiểu rằng lớp bảo quản của Mixin là tập trung có thể điều chỉnh mức độ tiếp xúc của họ tương ứng – rủi ro đó có thể nhìn thấy trong kiến trúc, nhưng không trong thông điệp.

Những câu hỏi thường gặp

Mức thiệt hại trong vụ tấn công mạng Mixin là bao nhiêu? Mixin cho biết có khoảng 200 triệu USD bị ảnh hưởng. Theo phân tích trên chuỗi của PeckShield, có khoảng 141,3 triệu USD bị mất: ~94,5 triệu USD trong Ethereum, ~23,5 triệu USD trong DAI (đổi từ USDT bị đánh cắp) và ~23,3 triệu USD trong Bitcoin (891 BTC).

Cách thức tấn công Mixin diễn ra như thế nào? Các hacker đã xâm nhập vào cơ sở dữ liệu của nhà cung cấp dịch vụ đám mây của Mixin Network và lấy lại các khóa riêng của khoảng 10.000 địa chỉ gửi tiền (và có thể một số khóa ví nóng). Sau đó, họ thực hiện hơn 10.000 giao dịch chuyển tiền đơn giản trong vài giờ, tiêu hao số dư từ cao xuống thấp. Không có sự khai thác hợp đồng thông minh hoặc sự phá vỡ mật mã nào được liên quan.

Mixin có phải là nạn nhân của nhóm Lazarus không? Lazarus được nghi ngờ – việc rút tiền đa chuỗi và việc đổi USDT thành DAI ngay lập tức phù hợp với các mô hình đã được biết của tập đoàn – nhưng không có bất kỳ xác nhận công khai nào về việc xác định người thực hiện. 0xScope phát hiện một địa chỉ của kẻ tấn công có lịch sử trước đó với Mixin, cho thấy họ đã tiến hành đánh giá tình hình trong thời gian dài.

Có phải người dùng Mixin đã nhận lại tiền của họ không? Chỉ một phần. Chủ tịch công ty Feng Xiaodong thông báo rằng ban đầu, Mixin có thể đảm bảo 50% tài sản của người dùng, phần còn lại được phát hành dưới dạng token trái phiếu – các khoản nợ token hóa mà Mixin dự định mua lại từ lợi nhuận trong tương lai. Mixin cũng đã cung cấp cho kẻ tấn công một phần thưởng 20 triệu USD trên chuỗi cho việc hoàn trả tiền, nhưng phần thưởng này không được nhận.

Tại sao một mạng "giải phóng" giữ các khóa trong một cơ sở dữ liệu? Nền tảng đồng thuận của Mixin (Kernel DAG) là giải phóng, nhưng lớp quản lý không phải vậy. Mô hình gửi tiền yêu cầu các địa chỉ được tạo bởi máy chủ, các khóa của chúng phải được lưu trữ dưới dạng có thể phục hồi – một cơ sở dữ liệu tập trung trên một nhà cung cấp đám mây. Giải phóng đồng thuận không bảo vệ tài sản của người dùng nếu các khóa được lưu trữ ở một nơi.

Cách Mixin hack tương tự với các vụ hack cơ sở hạ tầng ngoài chuỗi khác như thế nào? Nó thuộc cùng một loại với Ronin (chính sách bảo mật của validator bị đánh cắp thông qua phishing) và sự cố Bybit/Safe{Wallet} (token session AWS bị đánh cắp từ một nhà phát triển). Trong tất cả ba trường hợp, các hệ thống trên chuỗi hoạt động hoàn hảo; lớp xác thực và quản lý khóa ngoài chuỗi là điểm rủi ro duy nhất.

Tags:

mixin network hackmixin 200 millioncloud database compromiseaws key theftoff chain infrastructure hackmixin hack analysis