Một lỗ hổng phần mềm Coldcard tồn tại từ 5 năm trước có thể đã cho phép kẻ tấn công tái tạo các khóa riêng tư và chiếm đoạt hơn 1.100 bitcoin, khiến nhà sản xuất ví này đổ lỗi một phần cho trí tuệ nhân tạo (AI) về việc phát hiện ra lỗ hổng này.
Liệu trí tuệ nhân tạo (AI) có phải là yếu tố giúp phát hiện lỗ hổng bảo mật của Coldcard không?

Điểm chính
- Các hạt giống (seeds) liên quan đến Coldcard đã bị lộ, tương đương 1.128,4717 BTC, trị giá khoảng 71,1 triệu USD.
- Coinkite cho biết AI có thể đã phát hiện ra lỗ hổng tồn tại 5 năm này, nhưng nguyên nhân vẫn chưa được chứng minh.
- Người dùng Coldcard có các cụm hạt giống bị ảnh hưởng phải tạo ví mới trên phiên bản firmware đã được sửa lỗi.
Một cuộc rút tiền có tổ chức đã làm cạn kiệt hàng trăm ví
Vụ việc được công khai sau khi khoảng 594 BTC, trị giá gần 38 triệu USD vào thời điểm đó, được chuyển khỏi khoảng 500 địa chỉ Bitcoin chỉ cần một chữ ký vào ngày 30 tháng 7. Khi tin tức này lần đầu tiên được công bố, Bitcoin.com News lưu ý rằng các giao dịch chuyển tiền này diễn ra trong khoảng 25 phút và dường như nhắm vào các ví có cùng một lỗ hổng kỹ thuật.
Các đánh giá blockchain sau đó đã mở rộng quy mô có thể có của vụ trộm. Các nhà nghiên cứu ước tính rằng có khoảng từ 1.082 đến 1.196 địa chỉ có thể đã bị ảnh hưởng trong khoảng thời gian khoảng 41 phút. Một bảng điều khiển tùy chỉnh có tên Coldcard Sweep Watch sau đó đã xác định tổng số tiền là 1.128,4717 BTC, trị giá khoảng 71,1 triệu USD khi giá Bitcoin giao dịch ở mức gần 63.044 USD.

Phần lớn số tiền này đã được tập trung vào một địa chỉ chứa hàng trăm bitcoin, nơi một phần lớn vẫn gần như không di chuyển. Các địa chỉ bị ảnh hưởng có một điểm chung quan trọng: Mã khôi phục của chúng đã được tạo trên các ví phần cứng Coldcard do công ty Coinkite của Canada sản xuất.
Khóa khôi phục là một danh sách các từ điều khiển quyền truy cập vào ví tiền điện tử. Bất kỳ ai có thể tái tạo hoặc lấy được khóa đó thường có thể chuyển số tiền trong ví mà không cần sở hữu thiết bị vật lý.
Coldcard phát hiện hệ thống tạo số ngẫu nhiên bị lỗi
Coinkite đã phát hành một cảnh báo khẩn cấp cho biết một số cụm từ khôi phục được tạo trên các thiết bị Coldcard có thể yếu. Các thiết bị Mk3 chạy phiên bản firmware 4.0.1, được phát hành vào khoảng tháng 3 năm 2021, và các phiên bản sau đó nằm trong số những thiết bị có nguy cơ cao nhất.
Phân tích sâu hơn đã mở rộng lo ngại sang các hạt giống được tạo trên một số thiết bị Mk4, Mk5 và Q trước khi Coinkite phát hành các bản vá phần mềm khẩn cấp. Các sản phẩm của Tapsigner, Opendime và Satscard được báo cáo là không bị ảnh hưởng vì chúng sử dụng phần mềm khác.
Lỗ hổng này liên quan đến quy trình tạo dữ liệu ngẫu nhiên. Các ví an toàn phụ thuộc vào tính ngẫu nhiên chất lượng cao để đảm bảo các hạt giống khôi phục không thể bị đoán ra. Trên các thiết bị Mk3 bị ảnh hưởng nghiêm trọng nhất, các nhà nghiên cứu ước tính rằng hạt giống có thể chỉ chứa khoảng 40 bit tính ngẫu nhiên hiệu quả thay vì 128 bit như dự định.
Sự khác biệt này là rất quan trọng. Một hạt giống 128 bit được tạo ra đúng cách được coi là thực tế không thể đoán được bằng phương pháp brute force. Một hạt giống 40 bit cung cấp số khả năng ít hơn đáng kể, cho phép kẻ tấn công có đủ sức mạnh tính toán để kiểm tra các hạt giống tiềm năng ngoại tuyến và so sánh các địa chỉ kết quả với blockchain Bitcoin công khai.
Một số thiết bị mới hơn có thể đã cung cấp khoảng 72 bit ngẫu nhiên hiệu quả vì phần cứng bảo mật đã thêm một lớp dữ liệu không thể dự đoán được. Điều đó sẽ khiến các hạt giống khó tái tạo hơn, mặc dù vẫn yếu hơn nhiều so với dự định.
Một lỗi cấu hình tồn tại trong 5 năm
Vấn đề bắt đầu từ một lỗi cấu hình trong quá trình xây dựng liên quan đến hai hàm phần mềm thực hiện các tác vụ tương tự. Một hàm sử dụng bộ tạo số ngẫu nhiên thực dựa trên phần cứng của thiết bị, trong khi hàm kia dựa vào một quy trình phần mềm yếu hơn được kế thừa từ MicroPython.
Coinkite dự định vô hiệu hóa tùy chọn MicroPython. Tuy nhiên, quá trình kiểm tra phần mềm chỉ xem xét liệu nhãn cấu hình có được định nghĩa hay không, thay vì kiểm tra xem giá trị của nó có được đặt thành 0 hay không. Kết quả là, firmware hoàn thiện có thể âm thầm chọn chức năng yếu hơn.
Vì hai chức năng này có định dạng trùng khớp, phần mềm vẫn tiếp tục biên dịch và chạy mà không gây ra lỗi rõ ràng. Lỗi này đã xâm nhập vào mã nguồn trong quá trình chuyển đổi phần mềm vào năm 2021 và tồn tại trong firmware công khai trong hơn năm năm.
Việc cập nhật thiết bị hiện tại sẽ không tăng cường độ an toàn cho hạt giống (seed) đã được tạo ra dưới phần mềm có lỗi. Người dùng bị ảnh hưởng phải tạo một hạt giống hoàn toàn mới bằng phần mềm đã được sửa lỗi hoặc một thiết bị an toàn khác, sau đó chuyển tiền của họ sang các địa chỉ được kiểm soát bởi hạt giống mới đó.

Những người dùng đã thêm ít nhất 50 lần tung xúc xắc độc lập trong quá trình tạo hạt giống có thể đã cung cấp đủ độ ngẫu nhiên bổ sung để tránh lỗ hổng này. Một cụm mật khẩu BIP-39 mạnh cũng có thể khiến việc tái tạo hạt giống trở nên khó khăn hơn, trong khi các ví yêu cầu chữ ký từ nhiều thiết bị độc lập có thể đã ngăn chặn việc một hạt giống bị xâm phạm tự ý chuyển tiền.
Coinkite chỉ ra nguyên nhân là do AI, nhưng vẫn chưa có bằng chứng
Giám đốc điều hành Coinkite, Rodolfo Novak, đã công khai xin lỗi và cho biết công ty chịu hoàn toàn trách nhiệm về sự cố phần mềm. Ông cho biết đội ngũ đang phát triển phần mềm đã được sửa lỗi, các báo cáo kỹ thuật và hỗ trợ cho người dùng bị ảnh hưởng.
Coinkite và Novak cũng đưa ra một giả thuyết đáng chú ý về cách lỗ hổng này được phát hiện. Do firmware của công ty đã được công khai trong nhiều năm, công ty cho rằng có thể ai đó đã sử dụng AI để phân tích các phiên bản mã nguồn cũ và xác định đường dẫn ngẫu nhiên yếu.
"Đối với tất cả các nhà phát triển khác: chúng tôi tin rằng đây là một thực tế đáng suy ngẫm của kỷ nguyên AI mới. Việc kiểm tra mã nguồn có sự hỗ trợ của AI hiện có thể phát hiện các lỗi tiềm ẩn với tốc độ vượt xa cả những chuyên gia dày dạn kinh nghiệm nhất trong ngành," Novak viết trong bài đăng xin lỗi trên X. "Nếu firmware của bạn là mã nguồn mở hoặc từng được công khai, hãy giả định rằng nó đã bị cả kẻ tấn công lẫn chuyên gia bảo mật đọc qua."
Các hệ thống lập trình AI hiện đại ngày nay có thể xử lý các kho lưu trữ phần mềm khổng lồ và xác định các mối quan hệ đáng ngờ giữa các thiết lập cấu hình, hàm và các giả định bảo mật. Một kẻ tấn công có thể yêu cầu hệ thống như vậy tìm kiếm cụ thể các bộ tạo số ngẫu nhiên yếu, các hàm dự phòng hoặc các lỗi ảnh hưởng đến khóa mật mã.

Các nhà nghiên cứu độc lập sau đó đã báo cáo việc sử dụng các mô hình AI để xác định vị trí hoặc giải thích vấn đề sau khi vấn đề ngẫu nhiên cơ bản đã được biết đến. Điều này chứng tỏ việc phân tích mã nguồn với sự hỗ trợ của AI đã trở nên dễ tiếp cận như thế nào, nhưng không chứng minh được rằng kẻ tấn công ban đầu đã sử dụng AI.

Coinkite thừa nhận rằng quá trình rà soát của chính họ bằng cách sử dụng một mô hình AI hàng đầu đã không phát hiện ra lỗ hổng này trước khi vụ trộm xảy ra. Kết quả này cho thấy các hệ thống AI không tự động phát hiện được mọi lỗi nghiêm trọng. Hiệu suất của chúng có thể phụ thuộc vào các hướng dẫn mà chúng nhận được, lượng mã được cung cấp và liệu người rà soát có hiểu được các dấu hiệu cảnh báo hay không.
Các nhà phê bình cho rằng lỗi của con người là nguyên nhân đầu tiên
Một số chuyên gia bảo mật lập luận rằng việc tập trung quá nhiều vào trí tuệ nhân tạo (AI) có nguy cơ làm xao nhãng khỏi một sai sót kỹ thuật cơ bản. Nhiều người tin rằng lỗi cấu hình là một loại lỗi phần mềm đã được biết đến, và các quy trình kiểm tra mã nguồn, thử nghiệm hoặc kiểm toán truyền thống tập trung vào việc tạo hạt giống (seed) có thể đã phát hiện ra nó từ nhiều năm trước.

Các quan điểm trái chiều này không nhất thiết mâu thuẫn với nhau. Một sai sót của con người đã tạo ra lỗ hổng và khiến nó tồn tại, trong khi AI có thể đã giảm bớt chi phí để phát hiện, hiểu rõ hoặc khai thác lỗ hổng đó. Những người bảo vệ phải xác định mọi điểm yếu nguy hiểm, trong khi kẻ tấn công chỉ cần tìm ra một điểm yếu duy nhất.
Sự cố này cũng thách thức các giả định về bảo mật mã nguồn mở. Mã nguồn công khai cho phép các chuyên gia độc lập kiểm tra phần mềm, nhưng việc công khai mã nguồn thôi chưa đủ để đảm bảo rằng ai đó sẽ xem xét đúng phần mã, nhận ra một lỗi tinh vi và báo cáo trước khi kẻ tấn công hành động.
Đối với người dùng Coldcard, ưu tiên trước mắt là xác định thời điểm và cách thức tạo ra cụm hạt giống (seed) của họ. Bất kỳ ai có cụm hạt giống bị ảnh hưởng đều phải xác minh hướng dẫn thông qua các kênh chính thức của Coinkite, cài đặt phần mềm hệ thống đã được sửa lỗi, tạo cụm hạt giống mới và chuyển tiền một cách cẩn thận đồng thời cảnh giác với các nỗ lực lừa đảo và tin nhắn hỗ trợ giả mạo.
Các câu hỏi dài hạn sẽ tập trung vào số lượng bitcoin bị đánh cắp, liệu các nhà điều tra có thể xác định được kẻ tấn công hay không, và liệu AI có đóng vai trò quyết định nào trong việc phát hiện lỗ hổng này hay không. Các công ty ví phần cứng cũng sẽ phải đối mặt với áp lực tăng cường kiểm tra entropy, kiểm toán cấu hình xây dựng và liên tục kiểm tra mã nguồn cũ bằng cả chuyên gia con người lẫn các công cụ AI đối kháng.
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.
















