- Việc phát hành bản cập nhật Windows cho phần mềm mã nguồn mở mã hóa VeraCrypt đã bị chặn hoàn toàn do Microsoft đột ngột chấm dứt tài khoản, cho thấy điểm yếu trong chuỗi cung ứng của phần mềm mã nguồn mở khi phụ thuộc vào các tập đoàn công nghệ lớn
- Nhà phát triển VeraCrypt, Mounir Idrassi, phát hiện vào giữa tháng 1 rằng tài khoản ký trình điều khiển và bootloader Windows đã bị chấm dứt mà không có cảnh báo trước; sau đó ông cố liên hệ nhưng chỉ nhận được các phản hồi tự động có vẻ do AI tạo ra
- Thông điệp chính thức duy nhất Microsoft gửi là thông báo "không đáp ứng yêu cầu", nhưng tài khoản đã bị đóng mà không có lý do cụ thể hay quy trình khiếu nại, và hoàn toàn không giải thích yêu cầu nào đột nhiên không còn được đáp ứng
- Jason Donenfeld, nhà phát triển của WireGuard, cũng cho biết đã gặp đúng vấn đề này, cho thấy đây không phải chuyện chỉ xảy ra với VeraCrypt
- Các bản cập nhật cho Linux và macOS vẫn có thể tiếp tục, nhưng vì đa số người dùng đều ở nền tảng Windows, việc không thể phân phối trên Windows là đòn giáng nghiêm trọng với toàn bộ dự án
VeraCrypt là gì
- Công cụ mã nguồn mở giúp bảo vệ tệp dưới dạng phân vùng được mã hóa trong ổ đĩa hoặc dưới dạng volume mã hóa riêng lẻ
- Được xây dựng dựa trên TrueCrypt trước đây và cũng cung cấp tính năng volume kép (hidden volume) để đề phòng trường hợp bị ép buộc phải cung cấp thông tin xác thực
Diễn biến sự việc
- Idrassi trực tiếp giải thích trên diễn đàn SourceForge lý do ông đã không hoạt động trong vài tháng
- Vào giữa tháng 1, ông phát hiện tài khoản ký trình điều khiển và bootloader Windows mà ông đã dùng suốt nhiều năm đột nhiên không còn sử dụng được
- Hoàn toàn không có email báo trước hay cảnh báo nào, và thông điệp duy nhất nhận được từ Microsoft chỉ là nội dung "hiện không đáp ứng các yêu cầu"
- Thông điệp đó chỉ bao gồm thông báo không thể khiếu nại và hồ sơ đã bị đóng
- Không hề có giải thích nào về việc công ty IDRIX của Idrassi đã đột nhiên không còn đáp ứng yêu cầu nào
Phản ứng và lo ngại của nhà phát triển
- Ông đã liên hệ đội hỗ trợ của Microsoft nhưng chỉ nhận được các phản hồi tự động có vẻ do AI tạo ra
- Ông chỉ trích mạnh mẽ việc Microsoft thiếu giao tiếp, nói rằng "ít nhất họ cũng phải giải thích vấn đề là gì"
- Ông cũng chỉ ra rằng "khi đưa ra những quyết định như vậy mà không có giao tiếp, sự bất định về tương lai sẽ tăng lên, và các phản hồi AI tự động khiến toàn bộ quá trình trở nên phi nhân tính"
WireGuard cũng gặp tình trạng tương tự
- Jason Donenfeld, nhà phát triển của ứng dụng VPN phổ biến WireGuard, cũng đăng trên Hacker News về cùng vấn đề này
- Ông nói rằng "không có cảnh báo, không có thông báo, đến một ngày tôi đăng nhập để phát hành bản cập nhật thì thấy tài khoản đã bị đình chỉ"
Tác động lan rộng
- Windows là nền tảng mà đa số người dùng VeraCrypt sử dụng, nên việc không thể phát hành bản cập nhật Windows là đòn giáng nghiêm trọng với dự án
- Các bản cập nhật Linux và macOS vẫn có thể tiếp tục, nhưng dự án đang không thể hỗ trợ nền tảng cốt lõi
- Sự việc lần này làm nổi bật rủi ro chuỗi cung ứng có thể phát sinh khi phần mềm mã nguồn mở phụ thuộc dù chỉ một phần vào hạ tầng của các tập đoàn công nghệ lớn
- Microsoft không trả lời yêu cầu bình luận
5 bình luận
Mỗi khi thấy những việc như thế này tôi lại nghĩ rằng, việc xác minh chữ ký không phải là việc của nền tảng mà là của người dùng. Nhà phát triển phải ký bằng khóa của mình, còn người dùng thì nên cho phép khóa của nhà phát triển đáng tin cậy trên thiết bị của mình để sử dụng.
Không biết chuyện này và đòi người khác tự lo hộ thì là điều vô lý. Bất kể bạn có quan tâm đến máy tính hay không, nếu chính bạn là người sẽ sử dụng thì đây là một thói quen nhất định phải có.
Nếu dùng điện thoại và truy cập Internet thì không nên vô điều kiện tin vào những gì trang web, tin nhắn hay cuộc gọi nói, mà phải có khả năng chọn lọc thông tin; đó là một chỉ dẫn cơ bản ở mức như vậy.
Nếu có một giao diện như Windows UAC, nơi bạn có thể xác nhận chỉ bằng một nút xem có tin cậy một nhà phát triển cụ thể hay không, thì ngay cả những người không biết khái niệm ký mã và khóa cũng có thể sử dụng được.
Vì nếu không phải chứng thực chính thức thì có thể bị lạm dụng bằng chứng thực độc hại..
Tôi không hiểu bạn đang muốn nói gì.
Ý bạn là bên thứ ba có thể mạo dụng việc xác thực sao? Chuyện đó với hệ thống chứng chỉ hiện tại cũng y hệt vậy. Cả mã độc cũng phát hành kèm các chứng chỉ giá vài trăm nghìn won mỗi năm.
Hay ý bạn là chính nhà phát triển có thể lạm dụng nó? Nếu vậy thì ngay từ đầu, cả mã lẫn bản thân nhà phát triển đều là thứ không thể tin cậy. Việc lựa chọn sẽ tin vào điều gì là quyền lợi đồng thời cũng là trách nhiệm của người dùng. Theo logic đó, giống như những người mắc chứng ám ảnh cưỡng chế, bạn sẽ phải tự viết mọi chương trình từ hệ điều hành cho đến các ứng dụng tận cùng rồi mới dùng.
Driver Windows thì chắc là khác đấy.
Ý kiến trên Hacker News
Một năm trước tôi đã dùng Azure Trusted Signing để phát hành phần mềm FOSS cho Windows
Khi đó đây là cách rẻ nhất để phát hành phần mềm miễn phí
Nhưng vài tháng trước, khi gia hạn chứng chỉ, toàn bộ giấy tờ của tôi bị từ chối vì lỗi xác minh thất bại, và dù là khách hàng trả phí tôi cũng không thể trao đổi trực tiếp với con người nào
Cuối cùng tôi đã lấy chứng chỉ từ SignPath.org và từ đó đến nay rất hài lòng
Ban đầu mở cho cá nhân, rồi đổi thành chỉ cho doanh nghiệp Mỹ có mã DUNS, sau đó lại mở lại cho một số cá nhân
Có lẽ đã từng xảy ra vụ ai đó lạm dụng chứng chỉ Trusted Signing
Sáng nay khi thấy vụ của VeraCrypt, tôi đã nghĩ “Có phải đây là cách ép các nhà phát triển phải dùng Trusted Signing không?”
Nó có thể hơi trái với tinh thần open source, nhưng nếu Microsoft hay Google giở trò thì cộng đồng sẽ phản ứng mạnh
Nếu có một tổ chức như FDroid cung cấp bản dựng có thể kiểm toán, thì việc phân phối sẽ đáng tin hơn khi xảy ra tấn công chuỗi cung ứng
Tuy vậy, một tổ chức như thế cần có quản trị và nguồn tài chính đủ mạnh
Tôi nghĩ không nên để chủ sở hữu nền tảng quyết định phần mềm nào được phép chạy
Ký phần mềm nên được giao cho một bên thứ ba độc lập, không có xung đột lợi ích
Đó chính là lý do Digital Markets Act muốn bảo vệ các nhà phát triển
Tôi cũng tò mò không biết vụ điều tra Apple của EU hiện có cập nhật gì chưa
Chỉ là chi phí đắt hơn, và cũng không bắt buộc phải dùng công cụ của Microsoft
Vấn đề lần này không chỉ xảy ra với VeraCrypt
Nhiều nhà phát triển driver Windows đã bị đá khỏi Partner Center mà không hề có lời giải thích
Có thể xem các trường hợp liên quan trên diễn đàn cộng đồng OSR nữa
Windscribe cũng là trường hợp thứ ba bị Microsoft chấm dứt tài khoản
Tweet liên quan
Mặt tối của “Security as a Service” đang lộ ra
Microsoft đơn giản hóa quy trình ký bằng Trusted Signing nhưng lại tạo ra một điểm lỗi đơn lẻ
Việc một dự án FOSS cốt lõi như VeraCrypt bị chặn bởi cờ tự động, mà hoàn toàn không có đường can thiệp thủ công, là một cấu trúc mong manh
Secure Boot là một tính năng bảo mật tốt, nhưng không nên trở thành công cụ khóa chặt nhà cung cấp chỉ vì sự bất tài về hành chính
Ở bài trước có ý kiến nói rằng họ đã bỏ lỡ tiêu đề “Veracrypt project update”
Tôi vẫn hy vọng một ngày nào đó mọi người sẽ nhận ra ký file thực thi và Secure Boot không phải là bảo mật thực sự, mà là công cụ để kiểm soát những gì người dùng được phép chạy
Tôi cho rằng tiền đề của các biện pháp giảm thiểu kiểu này là vô lý trên máy tính cá nhân
Nó khiến việc lạm dụng driver độc hại khó hơn và giúp giảm lây nhiễm bootkit
Người dùng cũng có thể tự đăng ký khóa
Đúng là Microsoft đang dùng nó như công cụ kiểm soát, nhưng điều đó không có nghĩa có thể phủ nhận bản thân tính năng bảo mật này
Nó đảm bảo ngăn firmware bị can thiệp trong chuỗi cung ứng
Cách đây 20 năm, các hệ thống như vậy còn trông như phản địa đàng, còn giờ lại bị xem là chuyện đương nhiên
“tivoization” mà Stallman từng cảnh báo giờ đã thành hiện thực
Thật mỉa mai khi công ty kiểm soát chuỗi Secure Boot lại chặn tài khoản ký của một công cụ mã hóa ổ đĩa
Kiểu như “nền tảng cho thì nền tảng cũng có thể lấy lại”; nếu việc phân phối phụ thuộc vào thiện chí của một công ty, thì đó không phải là phân phối thực sự
Microsoft lẽ ra phải biết rằng tài khoản nhà phát triển WireGuard cũng đã bị chấm dứt
Có câu: “Ứng dụng VPN phổ biến WireGuard cũng đang gặp vấn đề tương tự”
Tôi không hiểu vì sao họ không просто tạo khóa ký riêng rồi nhúng vào bộ cài
Dùng các nền tảng trung gian như thế này chẳng khác nào tự trói chân mình
Nhìn vào trường hợp Notepad++ thì sẽ thấy kết quả thế nào