Làm thế nào để tình nguyện viên ngăn chặn cửa sau làm lộ các hệ thống Linux trên toàn thế giới?

08:02, 03/04/2024

Một nhân viên của Microsoft làm việc ngoài giờ đã ngăn chặn mã độc lây lan sang các phiên bản Linux được sử dụng rộng rãi thông qua định dạng nén có tên là XX Utils.

Ảnh của Amelia Holowaty Krales/The Verge.

Linux - hệ điều hành nguồn mở được sử dụng rộng rãi nhất trên thế giới, đã thoát khỏi một cuộc tấn công mạng lớn vào cuối tuần lễ Phục sinh trong gang tấc, tất cả là nhờ một tình nguyện viên.

Cửa sau này đã được chèn vào bản phát hành gần đây của định dạng nén Linux có tên là XX Utils - một công cụ ít được biết đến bên ngoài thế giới Linux nhưng được sử dụng trong hầu hết mọi bản phân phối Linux để nén các tệp lớn, giúp chúng dễ dàng truyền tải hơn. Nếu nó lan rộng hơn, vô số hệ thống có thể đã bị xâm phạm trong nhiều năm.

Và như Ars Technica đã lưu ý trong bản tóm tắt đầy đủ của mình, thủ phạm đã thực hiện dự án một cách công khai.

Lỗ hổng được chèn vào tính năng đăng nhập từ xa của Linux, chỉ hiển thị với một khóa duy nhất để có thể ẩn khỏi quá trình quét máy tính công cộng. Như Ben Thompson viết trong Stratechery. “Phần lớn máy tính trên thế giới sẽ dễ bị tổn thương và không ai biết được.”

Câu chuyện về việc phát hiện cửa sau của Xperia bắt đầu vào sáng sớm ngày 29 tháng 3, khi nhà phát triển Andres Freund của Microsoft có trụ sở tại San Francisco đăng trên Mastodon và gửi một email đến danh sách gửi thư bảo mật của OpenWall với tiêu đề: “backdoor in upstream xz/liblzma path to thỏa hiệp máy chủ ssh.”

Freund - người tình nguyện làm “người bảo trì” cho PostgreSQL, một cơ sở dữ liệu dựa trên Linux đã nhận thấy một số điều kỳ lạ trong vài tuần qua khi chạy thử nghiệm. Các thông tin đăng nhập được mã hóa vào liblzma, một phần của thư viện nén Xperia đã sử dụng rất nhiều CPU. Freund viết trên Mastodon rằng không có công cụ biểu diễn nào mà anh ấy sử dụng tiết lộ bất cứ điều gì. Điều này ngay lập tức khiến anh nghi ngờ và anh nhớ đến một “lời phàn nàn kỳ quặc” từ một người dùng Postgres vài tuần trước đó về Valgrind, chương trình của Linux dùng để kiểm tra lỗi bộ nhớ.

Sau một hồi điều tra, Freund cuối cùng cũng phát hiện ra điều gì không ổn. Freund lưu ý trong email của mình: “Kho lưu trữ xz ngược dòng và các tarball xz đã bị đóng cửa sau. Mã độc có trong phiên bản 5.6.0 và 5.6.1 của các công cụ và thư viện xz.

Ngay sau đó, công ty phần mềm nguồn mở doanh nghiệp Red Hat đã gửi cảnh báo bảo mật khẩn cấp cho người dùng Fedora Rawhide và Fedora Linux 40. Cuối cùng, công ty kết luận rằng phiên bản beta của Fedora Linux 40 có chứa hai phiên bản bị ảnh hưởng của thư viện xz. Các phiên bản Fedora Rawhide có thể cũng nhận được phiên bản 5.6.0 hoặc 5.6.1.

Cảnh báo bảo mật khẩn cấp: VUI LÒNG NGỪNG NGAY LẬP TỨC SỬ DỤNG BẤT KỲ PHIÊN BẢN FEDORA RAWHIDE nào cho công việc hoặc hoạt động cá nhân. Fedora Rawhide sẽ sớm được hoàn nguyên về xz-5.4.x và sau khi hoàn tất, các phiên bản Fedora Rawhide có thể được triển khai lại một cách an toàn.

Mặc dù phiên bản beta của Debian, bản phân phối Linux miễn phí có chứa các gói bị xâm nhập nhưng nhóm bảo mật của nó đã hành động nhanh chóng để hoàn thiện chúng. Salvatore Bonaccorso của Debian viết trong một cảnh báo bảo mật cho người dùng vào tối thứ Sáu: “Hiện tại, không có phiên bản ổn định nào của Debian bị ảnh hưởng”.

Freund sau đó đã xác định người gửi mã độc là một trong hai nhà phát triển xz Utils chính, được gọi là JiaT75 hoặc Jia Tan. “Với hoạt động diễn ra trong vài tuần, người cam kết có liên quan trực tiếp hoặc có một số sự xâm phạm khá nghiêm trọng đối với hệ thống của họ. Thật không may, lời giải thích thứ hai có vẻ ít khả thi hơn, vì họ đã thông báo trên nhiều danh sách khác nhau về các “bản sửa lỗi” được đề cập ở trên,” Freund viết trong phân tích của mình, sau khi liên kết một số cách giải quyết do JiaT75 thực hiện.

JiaT75 là một cái tên quen thuộc, họ đã làm việc song song với nhà phát triển ban đầu của định dạng tệp .xz, Lasse Collin trong một thời gian. Như lập trình viên Russ Cox đã lưu ý trong dòng thời gian của mình, JiaT75 bắt đầu bằng cách gửi các bản vá có vẻ hợp pháp đến danh sách gửi thư của Xperia vào tháng 10 năm 2021.

Các nhánh khác của kế hoạch này lộ ra vài tháng sau đó, khi hai danh tính khác Jigar Kumar và Dennis Ens bắt đầu gửi email khiếu nại cho Collin về lỗi và sự phát triển chậm chạp của dự án. Tuy nhiên, như đã lưu ý trong báo cáo của Evan Boehs và những người khác, “Kumar” và “Ens” chưa bao giờ được nhìn thấy bên ngoài cộng đồng Xperia, khiến các nhà điều tra tin rằng cả hai đều là hàng giả tồn tại chỉ để giúp Jia Tan có được vị trí để cung cấp mã cửa hậu.

Một email từ “Jigar Kumar” gây áp lực buộc nhà phát triển ZIP Utils phải từ bỏ quyền kiểm soát dự án. Hình ảnh: Ảnh chụp màn hình từ Kho lưu trữ thư

“Tôi rất tiếc về vấn đề sức khỏe tâm thần của bạn nhưng điều quan trọng là bạn phải nhận thức được giới hạn của chính mình. Tôi hiểu rằng đây là một dự án theo sở thích của tất cả những người đóng góp nhưng cộng đồng mong muốn nhiều hơn thế,” Ens viết trong một tin nhắn, khi Kumar nói trong một tin nhắn khác rằng “Tiến trình sẽ không xảy ra cho đến khi có người bảo trì mới”.

Giữa những tranh cãi qua lại, Collins đã viết rằng “Tôi không mất hứng thú nhưng khả năng chăm sóc của tôi khá hạn chế, chủ yếu là do các vấn đề sức khỏe tâm thần lâu dài cũng như một số điều khác,” và đề nghị Jia Tan nên xem xét với vai trò lớn hơn. Ông kết luận: “Cũng nên nhớ rằng đây là một dự án theo sở thích không được trả tiền. Các email từ “Kumar” và “Ens” vẫn tiếp tục cho đến khi Tan được bổ sung làm người bảo trì vào cuối năm đó, có thể thực hiện các thay đổi và cố gắng đưa gói cửa sau vào các bản phân phối Linux với nhiều quyền hơn.

Sự cố cửa sau xz và hậu quả của nó là một ví dụ về cả vẻ đẹp của nguồn mở lẫn lỗ hổng nổi bật trong cơ sở hạ tầng Internet.

Một nhà phát triển đằng sau FFmpeg, một gói phương tiện nguồn mở phổ biến, đã nêu bật vấn đề trong một tweet, nói rằng “Thất bại xz đã cho thấy sự phụ thuộc vào các tình nguyện viên không được trả lương có thể gây ra những vấn đề lớn như thế nào. Các tập đoàn nghìn tỷ đô la mong đợi sự hỗ trợ miễn phí và khẩn cấp từ các tình nguyện viên.” Và họ mang theo biên lai, chỉ ra cách họ xử lý lỗi “có mức độ ưu tiên cao” ảnh hưởng đến Microsoft Teams.

Bất chấp sự phụ thuộc của Microsoft vào phần mềm của họ, nhà phát triển viết: “Sau khi lịch sự yêu cầu một hợp đồng hỗ trợ từ Microsoft để bảo trì dài hạn, thay vào đó, họ đã đề nghị thanh toán một lần vài nghìn đô la...đầu tư vào bảo trì và tính bền vững là không hấp dẫn và có lẽ sẽ không nhận được sự thăng tiến của người quản lý cấp trung nhưng sẽ được đền đáp gấp ngàn lần trong nhiều năm.”

Thông tin chi tiết về kẻ đứng sau “JiaT75”, cách họ thực hiện kế hoạch của mình và mức độ thiệt hại đang được đội ngũ các nhà phát triển và chuyên gia an ninh mạng tìm hiểu, cả trên mạng xã hội và các diễn đàn trực tuyến. Nhưng điều đó xảy ra mà không có sự hỗ trợ tài chính trực tiếp từ nhiều công ty và tổ chức được hưởng lợi từ việc có thể sử dụng phần mềm bảo mật.

Theo Thenextweb

https://www.theverge.com/2024/4/2/24119342/xz-utils-linux-backdoor-attempt