Ví Coldcard bị ảnh hưởng bởi lỗ hổng seed, hàng triệu bitcoin bị đánh cắp

iconBitcoin.com
Chia sẻ
AI summary iconTóm tắt
Tin tức về lỗ hổng bảo mật được tiết lộ khi các ví phần cứng Coldcard được phát hiện đã tạo ra các seed yếu, dẫn đến việc đánh cắp khoảng 70 triệu USD bitcoin từ hàng trăm địa chỉ vào ngày 30 tháng Bảy. Coinkite xác nhận firmware Mk3 bị ảnh hưởng chỉ sử dụng 40 bit entropy thay vì 128 bit. Lỗi này bắt nguồn từ bản cập nhật phần mềm năm 2021, khi chuyển sang bộ sinh số ngẫu nhiên yếu hơn. Người dùng được khuyến nghị cài đặt firmware đã được sửa và tạo seed mới. Các mẫu sau này như Mk4, Q và Mk5 cũng bị ảnh hưởng nhưng với entropy mạnh hơn một chút. CEO Coinkite, Rodolfo Novak, đã xin lỗi và nhận toàn bộ trách nhiệm. Tin tức về bitcoin tiếp tục nhấn mạnh các rủi ro bảo mật trong không gian tiền mã hóa.

Một kẻ tấn công đã khai thác các seed yếu được tạo bởi một số ví phần cứng Coldcard để đánh cắp bitcoin trị giá khoảng hàng chục triệu từ hàng trăm địa chỉ vào ngày 30 tháng Bảy.

Những điểm chính

  • Các vụ trộm liên quan đến Coldcard đã rút bitcoin từ hàng trăm ví vào ngày 30 tháng Bảy.
  • Coinkite cho biết các seed Mk3 có khoảng 40 bit entropy thay vì 128.
  • Người dùng Coldcard phải cài đặt firmware đã sửa và tạo các seed mới trước khi chuyển tiền.

Theo một phân tích sâu từ Galaxy Research, vụ ăn cắp chính diễn ra trong một đợt phối hợp chặt chẽ kéo dài khoảng 25 phút, trong khi các 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, tương đương 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.

Một lỗ hổng 5 năm tuổi đã lan rộng đến các ví bitcoin toàn cầu

Các ví bị ảnh hưởng chủ yếu thuộc về những người nắm giữ dài hạn đã tạo ra các từ khôi phục bằng cách sử dụng Coldcard chạy phần mềm firmware dễ bị tổn thươ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 mạng do nhà sản xuất Canada Coinkite chế tạo, được thiết kế để giữ các khóa bitcoin (BTC) tách biệt khỏi các thiết bị kết nối internet.

Nhiều địa chỉ đã được làm rỗng đã nằm im lặng trong nhiều năm. Kẻ tấn công di chuyển nhanh chóng, trả phí giao dịch cố định cao hơn và không để lại bất kỳ đầu ra thay đổi nào, nghĩa là mỗi địa chỉ đã được làm rỗng hoàn toàn. Mẫu hành vi này cho thấy một hoạt động tự động sử dụng danh sách các khóa riêng tư đã được chuẩn bị sẵn, thay vì khách hàng tự di chuyển quỹ của họ.

Cuộc trộm cắp không xảy ra do lừa đảo qua mạng, phần mềm độc hại trên máy tính người dùng, đánh cắp thiết bị vật lý hoặc sự xâm nhập từ xa thông thường. Thay vào đó, một lỗi phần mềm đã làm suy yếu độ 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 này trông bình thường nhưng được tạo ra từ một phạm vi 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 đã lặng lẽ gặp sự cố

Mật khẩu seed của ví bitcoin là một chuỗi 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 của nó. Một mật khẩu seed 12 từ được tạo đúng cách chứa 128 bit entropy, một thước đo kỹ thuật mô tả một số lượng cực lớn các tổ hợp có thể, khiến việc đoán mật khẩu seed trở nên gần như không thể.

Các thiết bị Coldcard được dự kiến thu nhận độ ngẫu nhiên đó từ bộ tạo số ngẫu nhiên phần cứng bên trong vi điều khiển của thiết bị. Linh kiện này lấy nguồn từ nhiễu điện tử 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 năm 2021, Coinkite đã tiết lộ rằng hai hàm số sinh số ngẫu nhiên có giao diện tương tự đã bị nhầm lẫn. Một hàm truy cập vào bộ tạo phần cứng chính xác của thiết bị. Hàm còn lại là chức năng thay thế 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 trình bao bọc phần cứng riêng. 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 kích hoạt hay không. Vì cài đặt tồn tại nhưng được gán giá trị bằng không, quá trình xây dựng đã hoàn thành thành công, trong khi việc tạo seed đã chuyển lặng lẽ sang trình tạo phần mềm yếu hơn.

Dữ liệu và thời gian nhà máy được thay thế bằng tính ngẫu nhiên thật

Việc dự phòng đó phụ thuộc rất nhiều vào thông tin thiết bị có thể dự đoán được, bao gồm một bộ nhận dạng chip tương tự như 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 những đầu vào đó sẽ phải tìm kiếm trong một phạm vi nhỏ hơn nhiều so với phạm vi 128-bit được kỳ vọng từ một seed được tạo một cách an toàn.

Coinkite ước tính không gian tìm kiếm hiệu quả cho các seed Mk3 dễ bị tổn thương vào khoảng 40 bit theo các giả định hiện tại. Đó vẫn là một số lượng lớn các khả năng, nhưng có thể được tìm kiếm bằng thiết bị máy tính chuyên dụng, đặc biệt khi kẻ tấn công có thể so sánh các seed ứng cử với địa chỉ bitcoin hiển thị trên blockchain.

Ảnh chụp màn hình mô hình Coldcard Mk3.
Ảnh chụp mô hình Coldcard Mk3.

Các mẫu Coldcard sau này, bao gồm Mk4, Q và Mk5, đã bổ sung một số độ ngẫu nhiên từ một phần tử an toàn. Tuy nhiên, chỉ một phần hạn chế đạt đến bộ tạo bị ảnh hưởng, để lại ước tính 72 bit entropy hiệu quả trên các seed được tạo trước khi cài đặt firmware được sửa chữa. Điều này mạnh hơn đường dẫn Mk3 nhưng vẫn dưới tiêu chuẩn 128-bit mong muốn.

Sự khác biệt tương tự như việc thay thế một tổ hợp khóa hoàn toàn ngẫu nhiên bằng một tổ hợp được suy ra từ số serial của khóa và thời gian nó được bật lần đầu tiên. Tổ hợp kết quả có thể trông ngẫu nhiên, nhưng người biết công thức và có thể ước lượng thông tin ban đầu 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.

Coinkite thông báo người dùng tạo các chuỗi seed hoàn toàn mới

Coinkite đã phát hành các cảnh báo bảo mậtđã sửa đổi firmware sau khi nhận thức được mối đe dọa đang hoạt động. Công ty cho biết những người dùng tạo seed trên firmware bị ảnh hưởng nên tạo một seed hoàn toàn mới bằng phiên bản đã được sửa và chuyển bitcoin của họ đến các địa chỉ được kiểm soát bởi seed đó.

Việc cài đặt bản cập nhật một mình là không đủ. Một seed được tạo ra dưới hệ thống có lỗi 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 nghị người dùng cập nhật thiết bị, tạo seed mới, xác minh bản sao lưu và vân tay ví, xác nhận địa chỉ nhận, gửi một giao dịch thử nghiệm nhỏ, sau đó chuyển số dư còn lại. Người dùng nên giữ bản sao lưu cũ cho đến khi việc chuyển được xác nhận, nhưng không nên coi seed cũ là an toàn nữa.

Công ty đã xác định các bản phát hành cố định bao gồm phiên bản Mk3 4.2.0 trở lên, phiên bản Mk4 và Mk5 5.6.0 trở lên, và phiên bản Q 1.5.0Q trở lên, cùng các phiên bản Edge tương ứng. Các sản phẩm Tapsigner, Opendime và Satscard sử dụng mã khác nhau và được báo cáo là không bị ảnh hưởng.

Đã thêm Bảo mật, Bảo vệ Một Số Chủ sở hữu Coldcard

Những người dùng thêm đủ số lần lăn xúc xắc độc lập khi tạo seed đã được bảo vệ đáng kể vì sự ngẫu nhiên của chính họ đã lấn át đầu vào phần mềm lỗi. Coinkite cho biết ít nhất 50 lần lăn xúc xắc công bằng riêng tư cung cấp mức bảo vệ đầy đủ khỏi vấn đề này, mặc dù các lần lăn thêm có thể tạo ra biên độ an toàn rộng hơn.

Một mật khẩu BIP-39 mạnh cũng tạo ra một ví riêng biệt không thể phục hồi chỉ từ các từ hạt giống. Ví đa chữ ký, yêu cầu các khóa từ nhiều thiết bị hoặc vị trí 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 thương chỉ đại diện cho một phần trong sắp xếp ký.

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 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 đáng tin cậy, tạo seed ngoại tuyến, bảo vệ bản sao lưu và không bao giờ 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 AI

CEO của Coinkite, Rodolfo Novak, nổi tiếng rộng rãi với biệt danh NVK, đã xin lỗi công khai vào ngày 31 tháng Bảy và cho biết công ty chấp nhận toàn bộ trách nhiệm đối với sự cố phần mềm firmware. “Tôi xin lỗi và cảm thấy vô cùng tổn thương. Đội ngũ của chúng tôi rất buồn trước tin tức ngày hôm qua,” Novak viết. Ông thừa nhận rằng bản vá khẩn cấp giúp bảo vệ các seed được tạo mới, nhưng không thể khôi phục các seed được tạo dưới phần mềm dễ bị tổn thương.

Ảnh chụp màn hình bài viết của Rodolfo Novak, CEO của Coinkite.
Bài viết xin lỗi của CEO Coinkite Rodolfo Novak. Nguồn ảnh: X.

Novak giải thích rằng Coinkite sẽ công bố một báo cáo kỹ thuật đầy đủ sau khi xác minh các chi tiết và hỗ trợ những người dùng bị ảnh hưởng đang tìm kiếm báo cáo cảnh sát, yêu cầu bảo hiểm hoặc các cuộc đ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 nay có thể quét mã công khai cũ để tìm các điểm yếu ẩn nhanh hơn các quy trình đánh giá truyền thống có thể phát hiện.

Coinkite nhấn mạnh rằng họ phải giả định kẻ tấn công đã sử dụng AI để kiểm tra phần mềm nguồn mở của họ, mặc 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 đánh giá gần đây được thực hiện với 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ủ đã đăng trên mạng xã hội để nêu rõ sản phẩm của họ không bị ảnh hưởng.

“Ledger không bị ảnh hưởng bởi cảnh báo mới được công bố về Coldcard Mk3,” công ty cho biết trên X sau sự cố Coldcard. “Các thiết bị Ledger sử dụng Bộ tạo số ngẫu nhiên thật được chứng nhận (TRNG) được tích hợp trực tiếp vào chip Secure Element của chúng tôi, tạo ra đầy đủ 256 bit entropy cho mỗi cụm 24 từ Khôi phục Bí mật.”

“Người dùng Trezor: tài sản của bạ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 đề gần đây với Coldcard chỉ giới hạn ở 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 chia sẻ mã đó.”

Đã thêm tài khoản Trezor X:

Chúng tôi luôn kết hợp nhiều nguồn ngẫu nhiên độc lập với nhau (thiết bị phần cứng + máy chủ + các yếu tố bảo mật trên các mẫu mới hơn). Chúng tôi xin chân thành xin lỗi tất cả những người đã mất bitcoin.

Điều mà người dùng Coldcard nên theo dõi 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 của nó bất kỳ lúc nào. Các nhà điều tra vẫn đang nỗ lực xác định số lượng hạt giống dễ bị tổn thương thực sự đã được tạo ra, bao nhiêu bitcoin vẫn còn bị phơi bày, và liệu các ví giá trị cao bổ sung đã được kẻ tấn công xác định hay chưa. Tuy nhiên, Coinkite có thể không có nhiều thông tin về chủ sở hữu từ lâu rồi.

“Một lưỡi hai mặt 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,” Jameson Lopp, đồng sáng lập Casa, báo cáo trên X. “Điều đó có nghĩa là họ không thể liên hệ với những khách hàng đã mua Coldcard dễ bị tổn thương trong 5 năm qua để cảnh báo về lỗ hổng này.”

Ảnh chụp màn hình của nhà phát triển bitcoin mã nguồn mở ẩn danh gọi là calle.
Nhà phát triển bitcoin mã nguồn mở ẩn danh được gọi là calle đã chia sẻ suy nghĩ về vấn đề này. “Tôi thực sự buồn cho tất cả những người bị ảnh hưởng, đặc biệt là những người có thể vừa mất toàn bộ tiết kiệm của mình. Phần tồi tệ nhất là họ đã làm mọi thứ đúng,” calle nói trên X.

Sự cố này cũng sẽ thử thách xem Coinkite có thể khôi phục niềm tin vào Coldcard hay không, cũng như 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 mạnh mẽ hơn đối với quá trình tạo seed 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 seed trên phần mềm bị ảnh hưởng mà không có độ ngẫu nhiên xúc xắc độc lập mạnh, mật khẩu hoặc bảo vệ đa chữ ký nên coi nó đã bị xâm phạm và chuyển tiền cẩn thận sang một ví được tạo mới.

Ngoài vụ trộm gây hậu quả nghiêm trọng, các bitcoiner trên toàn cộng đồng đang cảnh báo và thúc đẩy người khác lan truyền thông tin trước khi các ví dễ bị tổn thương khác bị trống rỗng.

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụngTiết lộ rủi ro của chúng tôi.