Vào ngày 30 tháng 7, một kẻ tấn công đã lợi dụng các khóa hạt giống yếu do một số ví phần cứng Coldcard tạo ra để đánh cắp số bitcoin trị giá khoảng hàng chục triệu từ hàng trăm địa chỉ.
Giải thích về lỗ hổng Coldcard: Ai đã mất Bitcoin và ai đang gặp rủi ro

Điểm chính
- Các vụ trộm liên quan đến Coldcard đã làm cạn kiệt bitcoin từ hàng trăm ví vào ngày 30 tháng 7.
- Coinkite cho biết các cụm hạt giống (seeds) của Mk3 chỉ có khoảng 40 bit entropy thay vì 128.
- Người dùng Coldcard phải cài đặt phần mềm cơ sở đã được sửa lỗi và tạo các khóa hạt giống mới trước khi chuyển tiền.
Theo phân tích sâu của Galaxy Research, vụ trộm chính diễn ra trong một đợt tấn công được phối hợp chặt chẽ kéo dài khoảng 25 phút, trong khi phân tích rộng hơn sau đó đã liên kết khoảng 1.196 địa chỉ và tới 1.083 bitcoin, trị giá gần 70 triệu USD, với hoạt động kéo dài khoảng 41 phút. Các con số cuối cùng có thể thay đổi khi các nhà điều tra tiếp tục truy vết các giao dịch trên blockchain Bitcoin công khai.
Lỗ hổng tồn tại 5 năm ảnh hưởng đến ví Bitcoin trên toàn thế giới
Hầu hết các ví bị ảnh hưởng thuộc về những người nắm giữ lâu dài, những người đã tạo ra các cụm từ khôi phục (recovery seeds) bằng các thiết bị Coldcard chạy phần mềm dễ bị tấn công được phát hành từ tháng 3 năm 2021 trở đi. Coldcard là một ví phần cứng cách ly hoàn toàn (air-gapped) do nhà sản xuất Canada Coinkite chế tạo, được thiết kế để giữ các khóa Bitcoin (BTC) cách ly khỏi các thiết bị kết nối internet.
Nhiều địa chỉ bị rút sạch đã nằm im lìm trong nhiều năm. Kẻ tấn công hành động nhanh chóng, trả phí giao dịch cố định ở mức cao và không để lại bất kỳ đầu ra thối nào, nghĩa là mỗi địa chỉ đều bị rút sạch hoàn toàn. Mô hình này cho thấy đây là một hoạt động tự động sử dụng danh sách khóa riêng đã được chuẩn bị sẵn, chứ không phải do khách hàng tự ý chuyển tiền.
Vụ trộm này không phải do lừa đảo, phần mềm độc hại trên máy tính của người dùng, trộm cắp thiết bị vật lý hay vi phạm từ xa thông thường gây ra. Thay vào đó, một lỗi phần sụn đã làm suy yếu tính ngẫu nhiên được sử dụng khi một số thiết bị Coldcard tạo ra các hạt giống ví. Những hạt giống đó trông bình thường nhưng lại đến từ một phạm vi kết hợp khả thi nhỏ hơn nhiều so với những gì người dùng đã được hứa hẹn.
Bộ tạo số ngẫu nhiên của Coldcard đã âm thầm gặp sự cố
Hạt giống ví Bitcoin là một thông tin bí mật, thường được hiển thị dưới dạng 12 hoặc 24 từ, từ đó ví tạo ra các địa chỉ và khóa riêng tư. Một hạt giống 12 từ được tạo đúng cách chứa 128 bit entropy – một thước đo kỹ thuật mô tả số lượng kết hợp khả dĩ khổng lồ, khiến việc đoán ra hạt giống trở nên gần như bất khả thi.
Các thiết bị Coldcard được thiết kế để lấy tính ngẫu nhiên đó từ bộ tạo số ngẫu nhiên phần cứng bên trong bộ vi điều khiển của thiết bị. Thành phần này lấy dữ liệu từ nhiễu điện vật lý mà người quan sát bên ngoài không thể dự đoán được.
Tuy nhiên, trong quá trình di chuyển thư viện phần mềm vào năm 2021, Coinkite đã tiết lộ rằng hai hàm tạo số ngẫu nhiên có giao diện trùng khớp đã bị nhầm lẫn. Một hàm truy cập vào bộ tạo số ngẫu nhiên phần cứng chính xác của thiết bị. Hàm còn lại là giải pháp dự phòng phần mềm yếu, được thiết kế dành cho các bo mạch không có phần cứng phù hợp.
Một cài đặt cấu hình đã vô hiệu hóa đường dẫn phần cứng MicroPython mặc định vì Coinkite cung cấp bộ bao bọc phần cứng riêng của mình. Phần mềm chỉ kiểm tra xem cài đặt đó có tồn tại hay không, chứ không kiểm tra xem nó có được bật hay không. Do cài đặt này tồn tại nhưng được gán giá trị bằng không, quá trình xây dựng đã hoàn tất thành công, trong khi việc tạo hạt giống đã âm thầm chuyển sang bộ tạo số ngẫu nhiên phần mềm yếu hơn.
Dữ liệu và thời gian nhà máy thay thế tính ngẫu nhiên thực sự
Giải pháp dự phòng này phụ thuộc nặng nề vào thông tin thiết bị có thể dự đoán được, bao gồm mã định danh chip tương tự số seri và các giá trị đồng hồ nội bộ liên quan đến thời gian khởi động. Một kẻ tấn công có thể thu hẹp các đầu vào này sẽ phải đối mặt với không gian tìm kiếm nhỏ hơn nhiều so với phạm vi 128 bit dự kiến từ một hạt giống được tạo ra một cách an toàn.
Coinkite ước tính không gian tìm kiếm hiệu quả cho các hạt giống Mk3 dễ bị tấn công là khoảng 40 bit theo các giả định hiện tại. Con số này vẫn là một lượng lớn các khả năng, nhưng có thể được tìm kiếm bằng thiết bị tính toán chuyên dụng, đặc biệt khi kẻ tấn công có thể so sánh các hạt giống ứng viên với các địa chỉ Bitcoin hiển thị trên blockchain.

Các mẫu Coldcard sau này, bao gồm Mk4, Q và Mk5, đã bổ sung một phần ngẫu nhiên từ bộ phận bảo mật. Tuy nhiên, chỉ một phần hạn chế trong số đó được truyền đến bộ tạo hạt bị ảnh hưởng, khiến các hạt giống được tạo ra trước khi cài đặt phần mềm hệ thống đã được sửa lỗi chỉ còn ước tính khoảng 72 bit entropy hiệu quả. Con số này mạnh hơn so với đường dẫn của Mk3 nhưng vẫn thấp hơn tiêu chuẩn 128 bit dự kiến.
Sự khác biệt này tương tự như việc thay thế một tổ hợp khóa ngẫu nhiên thực sự bằng một tổ hợp được suy ra từ số seri của khóa và thời điểm nó được bật lần đầu tiên. Mã kết hợp thu được có thể trông ngẫu nhiên, nhưng ai biết công thức và có thể ước tính thông tin ban đầu thì có thể tái tạo lại nó. Nhiều người dùng đang chuyển đổi, không chỉ từ các thiết bị Mk3, mà còn từ Mk4, Q và Mk5 nữa.
Coinkite khuyến cáo người dùng tạo hạt giống hoàn toàn mới
Coinkite đã phát hành các thông báo bảo mật và bản cập nhật firmware sau khi phát hiện ra mối đe dọa đang diễn ra. Công ty cho biết người dùng đã tạo hạt giống trên phiên bản firmware bị ảnh hưởng nên tạo một hạt giống hoàn toàn mới bằng phiên bản đã được sửa lỗi và chuyển bitcoin của họ sang các địa chỉ do hạt giống đó kiểm soát.
Chỉ cài đặt bản cập nhật thôi là chưa đủ. Một cụm từ khôi phục được tạo ra trên hệ thống có lỗ hổng sẽ vẫn yếu vĩnh viễn vì bản cập nhật firmware không thể thêm tính ngẫu nhiên vào các từ đã tồn tại.
Coinkite khuyến cáo người dùng cập nhật thiết bị, tạo cụm từ khôi phục mới, xác minh bản sao lưu và dấu vân tay ví, xác nhận địa chỉ nhận, thực hiện giao dịch thử nghiệm nhỏ, sau đó chuyển số dư còn lại. Người dùng nên giữ lại bản sao lưu cũ cho đến khi việc chuyển tiền được xác nhận, nhưng không nên coi cụm từ khôi phục cũ là an toàn nữa.
Công ty đã xác định các phiên bản đã được sửa lỗi bao gồm Mk3 phiên bản 4.2.0 trở lên, Mk4 và Mk5 phiên bản 5.6.0 trở lên, và Q phiên bản 1.5.0Q trở lên, cùng với các phiên bản Edge tương ứng. Các sản phẩm Tapsigner, Opendime và Satscard sử dụng mã nguồn khác và được báo cáo là không bị ảnh hưởng.
Bảo mật bổ sung đã bảo vệ một số chủ sở hữu Coldcard
Người dùng đã thêm đủ lượt tung xúc xắc độc lập khi tạo hạt giống đã được bảo vệ đáng kể vì độ ngẫu nhiên do chính họ tạo ra đã lấn át đầu vào phần mềm bị lỗi. Coinkite cho biết ít nhất 50 lượt tung xúc xắc công bằng riêng lẻ đã cung cấp mức bảo vệ đủ trước vấn đề này, mặc dù các lượt tung bổ sung có thể mang lại biên độ an toàn rộng hơn.
Một cụm mật khẩu BIP-39 mạnh cũng tạo ra một ví riêng biệt không thể được tái tạo chỉ từ các từ hạt giống. Các ví đa chữ ký, yêu cầu khóa từ nhiều thiết bị hoặc vị trí khác nhau trước khi Bitcoin có thể được chuyển, đã được bảo vệ phần lớn hoặc hoàn toàn khi hạt giống Coldcard dễ bị tấn công chỉ đại diện cho một phần của quy trình ký kết.
Tuy nhiên, những biện pháp bảo vệ đó là tùy chọn. Nhiều nạn nhân dường như đã tuân theo các lời khuyên bảo mật tiêu chuẩn có sẵn vào thời điểm đó: Mua một ví phần cứng uy tín, tạo cụm từ hạt giống ngoại tuyến, bảo vệ bản sao lưu và tuyệt đối không nhập nó vào thiết bị kết nối internet.
Coinkite nhận trách nhiệm khi cuộc tranh luận chuyển sang chủ đề AI
Giám đốc điều hành (CEO) của Coinkite, Rodolfo Novak, được biết đến rộng rãi với biệt danh NVK, đã công khai xin lỗi vào ngày 31 tháng 7 và cho biết công ty chấp nhận toàn bộ trách nhiệm về sự cố phần mềm cơ sở. "Tôi xin lỗi và tôi vô cùng đau lòng. Đội ngũ của chúng tôi vô cùng đau lòng trước tin tức ngày hôm qua,” Novak viết. Ông thừa nhận rằng bản vá lỗi này bảo mật các cụm từ khôi phục mới được tạo ra nhưng không thể sửa chữa các cụm từ khôi phục được tạo ra bằng phần mềm dễ bị tấn công.

Novak giải thích rằng Coinkite sẽ công bố báo cáo kỹ thuật chi tiết sau khi xác minh các thông tin và hỗ trợ người dùng bị ảnh hưởng trong việc lập biên bản cảnh sát, yêu cầu bồi thường bảo hiểm hoặc tiến hành điều tra độc lập. Ông cũng cảnh báo các nhà phát triển rằng các công cụ trí tuệ nhân tạo (AI) hiện có thể quét mã nguồn công khai cũ để tìm ra các lỗ hổng ẩn nhanh hơn so với các quy trình kiểm tra truyền thống.
Coinkite nhấn mạnh rằng họ phải giả định rằng kẻ tấn công đã sử dụng AI để kiểm tra phần mềm nhúng mã nguồn mở của mình, dù chưa có bằng chứng nào xác định cách lỗ hổng này được phát hiện. Công ty cũng thừa nhận rằng một cuộc kiểm tra gần đây được thực hiện bằng mô hình AI hàng đầu đã không phát hiện ra vấn đề. Một số nhà sản xuất ví phần cứng đối thủ đã lên mạng xã hội để khẳng định rằng sản phẩm của họ không bị ảnh hưởng.
"Ledger không bị ảnh hưởng bởi thông báo về Coldcard Mk3 được công bố gần đây," công ty này cho biết với người dùng X sau sự cố Coldcard. "Các thiết bị Ledger sử dụng Bộ tạo số ngẫu nhiên thực (TRNG) được chứng nhận, được tích hợp trực tiếp vào chip Secure Element của chúng tôi, tạo ra 256 bit entropy đầy đủ cho mỗi Cụm từ khôi phục bí mật gồm 24 từ."
"Người dùng Trezor: tài sản của các bạn vẫn an toàn," nhà sản xuất ví phần cứng Trezor giải thích vào thứ Sáu. "Vấn đề Coldcard gần đây chỉ giới hạn trong phần mềm tùy chỉnh của họ và cách một số thiết bị của họ tạo ra tính ngẫu nhiên. Trezor không sử dụng mã nguồn đó."
Tài khoản Trezor X bổ sung:
"Chúng tôi luôn kết hợp nhiều nguồn ngẫu nhiên độc lập với nhau (phần cứng thiết bị + máy chủ + các thành phần bảo mật trên các mẫu mới hơn). Chúng tôi thực sự xin lỗi tất cả những ai đã mất bitcoin."
Những điều người dùng Coldcard cần lưu ý tiếp theo
Danh tính của kẻ tấn công vẫn chưa được xác định, và số Bitcoin bị đánh cắp có thể được chuyển khỏi các địa chỉ tập trung bất cứ lúc nào. Các nhà điều tra vẫn đang nỗ lực xác định có bao nhiêu khóa hạt giống dễ bị tấn công thực sự đã được tạo ra, lượng Bitcoin còn lại đang bị đe dọa là bao nhiêu, và liệu kẻ tấn công đã xác định được thêm các ví có giá trị cao khác hay chưa. Tuy nhiên, Coinkite có thể không có nhiều thông tin về những chủ sở hữu từ lâu.
"Một con dao hai lưỡi thú vị: Coinkite xóa tất cả hồ sơ khách hàng sau 120 ngày để bảo vệ chống lại các vụ rò rỉ dữ liệu," đồng sáng lập Casa, Jameson Lopp, đã báo cáo trên X. "Điều này có nghĩa là họ không thể liên hệ với những khách hàng đã mua các thẻ lưu trữ lạnh (coldcards) dễ bị tấn công trong 5 năm qua để cảnh báo họ về lỗ hổng này."

Vụ việc này cũng sẽ là bài kiểm tra xem Coinkite có thể khôi phục niềm tin vào Coldcard hay không, và liệu các nhà sản xuất ví phần cứng có áp dụng các đánh giá độc lập nghiêm ngặt hơn đối với quá trình tạo cụm hạt giống hay không. Đối với người dùng, ưu tiên trước mắt đơn giản hơn: Bất kỳ ai đã tạo cụm hạt giống trên phần mềm bị ảnh hưởng mà không có độ ngẫu nhiên cao từ xúc xắc độc lập, cụm mật khẩu hoặc bảo vệ đa chữ ký đều nên coi ví đó đã bị xâm phạm và cẩn thận chuyển tiền sang một ví mới được tạo.
Ngoài vụ trộm gây thiệt hại nặng nề này, các thành viên cộng đồng Bitcoin đang gióng lên hồi chuông cảnh báo và kêu gọi mọi người lan truyền thông tin này trước khi các ví dễ bị tấn công khác bị vét sạch.
Bài viết này được dịch từ tiếng Anh bằng AI. Phiên bản gốc bằng tiếng Anh là nguồn có thẩm quyền; các bản dịch tự động có thể chứa thông tin không chính xác, đặc biệt là trong thuật ngữ pháp lý và quy định.
















