Lỗ hổng entropy Coldcard: 1,3 tỷ USD Bitcoin bị đe dọa - Bài học về niềm tin phần cứng
Trương Hưng
15 kẻ tấn công đang ráo riết quét blockchain, mỗi ngày lại có thêm kẻ tham gia. Gần 7.300 ví Bitcoin chứa hơn 1,3 tỷ USD được tạo ra từ thiết bị Coldcard đang bị lộ khóa riêng tư. Số liệu từ Galaxy Research không phải là cảnh báo lý thuyết - vụ trộm đầu tiên đã xảy ra chỉ vài giờ trước khi Coinkite phát hành thông báo khẩn.
Tôi đã theo dõi dữ liệu on-chain suốt 14 năm, và tôi chưa từng thấy một sự cố phần cứng nào mà kẻ tấn công có thể "tự phục vụ" một cách có hệ thống như vậy. Đây không phải là một cuộc tấn công có chủ đích vào một cá nhân. Đây là một lỗ hổng entropy trong quá trình tạo khóa, biến toàn bộ lịch sử tạo ví của một dòng sản phẩm thành một kho báu công khai cho bất kỳ ai biết cách đọc.
Coldcard, sản phẩm của Coinkite, được cộng đồng Bitcoin đánh giá cao như một tiêu chuẩn vàng về bảo mật tự lưu trữ. Nó nổi tiếng đến mức những người dùng khó tính nhất, những người giữ Bitcoin lâu dài, coi nó là lựa chọn duy nhất. Chính vì vậy, khi lỗ hổng này bị phát hiện, nó không chỉ làm rung chuyển niềm tin vào một công ty, mà còn đặt ra câu hỏi về toàn bộ hệ sinh thái phần cứng ví lạnh.
Theo báo cáo của Galaxy Research, nguyên nhân gốc rễ nằm ở việc Coldcard đã chuyển việc tạo seed sang MicroPython - một môi trường chạy phần mềm thông dịch. Trong môi trường này, bộ tạo số ngẫu nhiên (PRNG) dựa trên phần mềm đã được sử dụng thay vì trình tạo số ngẫu nhiên thực sự (TRNG) từ chip bảo mật. Kết quả là mức entropy chỉ đạt từ 40 đến 72 bit, trong khi tiêu chuẩn an toàn cho khóa Bitcoin là 128 bit hoặc cao hơn.
Mức entropy 40-72 bit nghe có vẻ trừu tượng, nhưng hãy để tôi diễn giải theo cách của một nhà phân tích dữ liệu: 40 bit nghĩa là không gian khóa chỉ còn khoảng 1.099 tỷ tỷ khả năng. Nghe thì lớn, nhưng với một cỗ máy hiện đại có khả năng tính toán hàng tỷ phép thử mỗi giây, việc quét toàn bộ không gian khóa là hoàn toàn khả thi trong vài tuần. Bitcoin blockchain là một cuốn sổ cái công khai, ai cũng có thể tải về và quét để tìm các địa chỉ có khóa yếu.
Điều đáng nói là các mẫu Coldcard bị ảnh hưởng bao gồm Mk2, Mk3 và Mk4 - tức là gần như toàn bộ dòng sản phẩm phổ biến nhất của họ. Mk2 và Mk3 có mức entropy khoảng 40 bit, còn Mk4 là 72 bit. Dù con số 72 bit có vẻ "an toàn hơn", nhưng xét về mặt mật mã học, nó vẫn thấp hơn nhiều so với ngưỡng 128 bit. Và trên thực tế, kẻ tấn công không cần phải quét toàn bộ không gian khóa của từng ví một - chúng có thể ưu tiên quét các địa chỉ có số dư lớn, tối ưu hóa chiến lược tấn công.
Coinkite đã nhanh chóng phát hành bản vá nóng cho tất cả các mẫu và kênh phát hành. Nhưng đây mới là phần khó chấp nhận nhất: bản vá này chỉ ngăn chặn các seed mới được tạo ra trong tương lai. Nó hoàn toàn không thể sửa chữa các seed đã được tạo ra trước đó bởi phần mềm lỗi. Những người dùng đang nắm giữ Bitcoin trong các ví được tạo từ Coldcard bị ảnh hưởng buộc phải chuyển toàn bộ tài sản sang một ví mới an toàn. Nhưng ngay cả hành động chuyển tiền đó cũng tiềm ẩn rủi ro: nếu họ chuyển nhầm đến một địa chỉ có khóa yếu khác, họ lại rơi vào vòng nguy hiểm.
Galaxy Research đã xác nhận 73 nạn nhân báo cáo, nhưng con số thực tế được ước tính lên đến hàng nghìn. Và điều đáng sợ hơn là 90% số Bitcoin bị đánh cắp vẫn chưa được di chuyển. Điều này cho thấy kẻ tấn công đang kiên nhẫn, có thể chờ đợi thời điểm thị trường thanh khoản tốt hơn để bán ra, hoặc chúng đang trong quá trình rửa tiền qua các kênh phi tập trung.
Bây giờ, hãy nói về điều mà hầu hết mọi người có thể bỏ qua. Khi một sự cố bảo mật như thế này xảy ra, phản ứng tự nhiên của cộng đồng là đổ lỗi cho phần cứng. Nhưng dữ liệu lại kể một câu chuyện khác: lỗi này không đến từ chip bảo mật vật lý, mà đến từ quyết định thiết kế phần mềm. Coinkite đã chọn sử dụng MicroPython làm lớp trừu tượng hóa, và trong quá trình đó, họ đã vô tình bỏ qua nguồn entropy thực sự từ phần cứng. Đây là một lỗi quy trình, không phải lỗi vật lý.
Điều này dạy cho chúng ta một bài học sâu sắc: trong thế giới tiền mã hóa, niềm tin vào một sản phẩm không bao giờ được mù quáng. Tôi đã từng xây dựng một bảng điều khiển để theo dõi 15 giao thức DeFi, và tôi nhận ra rằng dữ liệu on-chain thường tiết lộ sự thật trước khi con người lên tiếng. Với sự kiện này, tín hiệu on-chain là rõ ràng: các địa chỉ có khóa yếu đang bị nhắm mục tiêu hàng loạt. Bất kỳ ai sở hữu ví Coldcard cũ đều nên coi tài sản của mình như đã bị xâm nhập.
Một góc nhìn phản trực giác khác: sự kiện này có thể đẩy người dùng rời bỏ tự lưu trữ và quay trở lại với các sàn giao dịch tập trung. Nhưng điều đó thực sự nguy hiểm hơn. Các sàn giao dịch tập trung cũng từng bị tấn công, và việc tập trung hóa quyền kiểm soát khóa sẽ tạo ra một điểm lỗi duy nhất với quy mô lớn hơn nhiều. Lịch sử đã chứng minh điều này qua vụ Mt. Gox và nhiều sàn giao dịch khác. Vì vậy, thay vì từ bỏ tự lưu trữ, người dùng nên chuyển sang các giải pháp phần cứng có kiến trúc minh bạch hơn, có quy trình kiểm toán độc lập và đặc biệt là có nguồn entropy từ chip bảo mật được xác nhận.
Tôi muốn nhấn mạnh một con số: 15 kẻ tấn công. Đây là con số được ghi nhận tại thời điểm viết bài, và nó đang tăng lên từng ngày. Khi một lỗ hổng bảo mật được công khai, nó không biến mất, mà trở thành tài nguyên dùng chung cho tất cả các loại tội phạm mạng. Điều này tạo ra một hiệu ứng cấp số nhân: càng nhiều kẻ tấn công quét, xác suất tìm thấy khóa yếu càng cao, và số tiền bị đánh cắp càng lớn. Đây là một vòng xoáy nguy hiểm mà chúng ta đang chứng kiến trong thời gian thực.
Hãy nhìn vào những con số cụ thể từ dữ liệu on-chain. Khoảng 10% số Bitcoin bị đánh cắp đã được di chuyển khỏi địa chỉ ban đầu. Điều này có nghĩa là kẻ tấn công đang thử nghiệm các phương pháp rửa tiền, có thể thông qua các máy trộn CoinJoin hoặc các cầu nối xuyên chuỗi. Phần lớn, 90% còn lại, vẫn nằm yên - một chiến thuật giống như những gì chúng ta thấy trong các vụ tấn công lớn trước đây, khi kẻ tấn công đợi cho đến khi sự chú ý của công chúng giảm xuống rồi mới bắt đầu di chuyển tiền.
Đối với Coinkite, đây là một cuộc khủng hoảng sinh tồn. Công ty đã xây dựng danh tiếng dựa trên sự an toàn tuyệt đối, và một lỗ hổng như thế này không chỉ khiến họ mất khách hàng mà còn có thể dẫn đến các vụ kiện tụng. Các cơ quan thực thi pháp luật trên toàn thế giới đang điều tra, và nếu bất kỳ khoản tiền nào được chuyển qua các sàn giao dịch tuân thủ KYC/AML, điều đó có thể tạo ra manh mối truy vết.
Nhưng hãy quay trở lại với người dùng cuối. Nếu bạn đang sở hữu một chiếc Coldcard và đã tạo ví trước ngày 5 tháng 2 năm 2025, hãy coi như tài sản của bạn đang gặp nguy hiểm. Đừng chờ đợi thêm một giây nào nữa. Hãy tạo một ví mới bằng một thiết bị an toàn, chuyển toàn bộ số dư sang ví đó, và lưu trữ seed phrase mới ở nơi an toàn. Quá trình này có thể mất vài giờ, nhưng đó là cái giá nhỏ để bảo vệ tài sản có thể lên tới hàng trăm nghìn USD.
Từ góc độ phân tích dữ liệu, sự kiện Coldcard là một hồi chuông cảnh tỉnh. Nó cho thấy rằng ngay cả những sản phẩm được ca ngợi nhất cũng có thể chứa những lỗ hổng chết người. Điều này không có nghĩa là chúng ta nên từ bỏ tự lưu trữ, mà là chúng ta cần phải yêu cầu cao hơn về tính minh bạch, kiểm toán độc lập và quy trình phát triển an toàn từ tất cả các nhà sản xuất phần cứng. Trust but verify - tin tưởng nhưng phải kiểm chứng. Dữ liệu on-chain chính là công cụ kiểm chứng mạnh mẽ nhất của chúng ta.
Tuần tới, tôi sẽ theo dõi chặt chẽ số lượng ví bị tấn công mới, dòng tiền di chuyển từ các địa chỉ bị xâm nhập, và phản ứng của thị trường đối với sự kiện này. Với một sự cố đang diễn ra như thế này, mỗi giờ đều có thể mang lại những dữ liệu mới. Hãy ở trên đỉnh của sóng dữ liệu, và đừng để niềm tin vào một thương hiệu khiến bạn mất cảnh giác.
Sự kiện lần này không chỉ là một vụ trộm, đó là một lời nhắc nhở rằng trong thế giới tiền mã hóa, sự an toàn không bao giờ là vĩnh viễn. Nó được duy trì bởi sự cảnh giác không ngừng nghỉ, bởi việc liên tục đặt câu hỏi về các giả định an ninh, và bởi việc sẵn sàng hành động khi có dấu hiệu bất thường đầu tiên.
Hãy nhìn vào những con số, hãy nhìn vào dữ liệu, và hãy tự hỏi: ví của bạn có nằm trong số 7.300 chiếc ví đang bị nhắm tới?