Hơn một năm sau khi backdoor khét tiếng XZ Utils làm rung chuyển thế giới an ninh mạng, các nhà nghiên cứu bảo mật đã phát hiện rằng các image Docker bị nhiễm độc vẫn còn có sẵn công khai trên Docker Hub . Phát hiện này làm nổi bật một vấn đề dai dẳng trong bảo mật container mà tầm ảnh hưởng vượt xa sự cố cụ thể này.
Backdoor XZ Utils , được chèn bởi nhà phát triển Jia Tan vào tháng 3 năm 2024, là một trong những cuộc tấn công chuỗi cung ứng tinh vi nhất từng được phát hiện. Mã độc hại này nhắm vào các máy chủ SSH bằng cách móc nối vào các hàm mã hóa, có khả năng cho phép kзлоумышленники có thể truy cập trái phép vào các hệ thống bị nhiễm. Mặc dù backdoor đã được nhanh chóng xác định và vá lỗi trong các bản phân phối Linux chính, di sản của nó vẫn tiếp tục ám ảnh hệ sinh thái container.
![]() |
---|
Bài viết này thảo luận về backdoor XZ Utils và những tác động của nó đối với bảo mật container, làm nổi bật những rủi ro đang diễn ra trong các Docker image |
Các Image Docker Trở Thành Kho Lưu Trữ Lâu Dài Cho Các Lỗ Hổng
Phân tích gần đây của Binarly Research Team về Docker Hub đã tiết lộ hơn 35 image vẫn chứa backdoor XZ , chủ yếu tập trung vào các container dựa trên Debian . Phản ứng của cộng đồng đối với phát hiện này khá trái chiều, với nhiều người đặt câu hỏi liệu điều này có thực sự đại diện cho một mối đe dọa bảo mật thực sự hay chỉ đơn giản là hành vi dự kiến của các image container bất biến.
Vấn đề cốt lõi xuất phát từ cách thức hoạt động của các image Docker như những bản chụp nhanh bất biến. Một khi được tạo ra, những image này bảo tồn trạng thái chính xác của các gói phần mềm tại thời điểm xây dựng, bao gồm bất kỳ lỗ hổng nào có mặt. Điều này có nghĩa là các container được xây dựng trong khoảng thời gian ngắn khi các gói XZ bị backdoor có sẵn sẽ tiếp tục mang theo rủi ro đó vô thời hạn.
Tuy nhiên, tác động thực tế vẫn còn hạn chế. Backdoor này nhắm cụ thể vào các máy chủ SSH , hiếm khi được chạy bên trong container. Hầu hết các ứng dụng được container hóa đều tuân theo các thực hành tốt nhất tránh chạy SSH daemon, khiến các kịch bản khai thác trở nên không phổ biến trong các triển khai điển hình.
Tổng quan về các hệ thống bị ảnh hưởng
- Số lượng Images được phát hiện: Hơn 35 Docker images chứa backdoor XZ
- Mục tiêu chính: Các container images dựa trên Debian
- Dòng thời gian phát hiện: Hơn 1 năm sau khi phát hiện backdoor ban đầu (tháng 3/2024)
- Yêu cầu khai thác: SSH server đang chạy trong container + truy cập mạng
- Trạng thái hiện tại: Các images vẫn có sẵn công khai trên Docker Hub
Cộng Đồng Tranh Luận Về Các Thực Hành Bảo Mật Docker
Phát hiện này đã làm bùng phát lại các cuộc thảo luận về các thực hành bảo mật container trong cộng đồng phát triển. Một số người lập luận nên từ bỏ hoàn toàn Docker để chuyển sang các máy ảo truyền thống, nêu ra khó khăn trong việc theo dõi các lỗ hổng trên hệ sinh thái rộng lớn của các image được cộng đồng duy trì.
Những người khác chỉ ra rằng vấn đề này không chỉ riêng với container. Các VM truyền thống và hệ thống bare-metal đối mặt với những thách thức tương tự khi sử dụng các gói phần mềm lỗi thời. Sự khác biệt chính là bản chất bất biến của Docker làm cho những lỗ hổng này trở nên dễ thấy và có thể theo dõi hơn, thay vì ẩn giấu trong các hệ thống chạy lâu dài tích lũy các bản vá theo thời gian.
Các image container về cơ bản là các hệ thống tập tin được đóng gói bất biến nên các phiên bản cũ của các gói bị ảnh hưởng có trong các image Docker cũ cho mọi CVE từng được vá trong Debian .
Cuộc tranh luận mở rộng đến các thực hành quản lý kho lưu trữ. Trong khi một số nhà nghiên cứu bảo mật yêu cầu xóa các image bị ảnh hưởng, Docker Hub và các registry tương tự thường tránh xóa các artifact dễ bị tổn thương để duy trì các bản build có thể tái tạo và bảo tồn bằng chứng lịch sử.
Chi tiết kỹ thuật về Backdoor XZ
- Phương thức chèn: Sửa đổi IFUNC resolvers trong thư viện liblzma.so
- Các hàm mục tiêu: RSA_public_decrypt, RSA_get_key, EVP_PKEY_get1_RSA
- Các bản phân phối bị ảnh hưởng: Debian (testing), Fedora , OpenSUSE
- Mức độ hoàn thiện của backdoor: 90% mã backdoor có mặt trong các image được tìm thấy
- Công cụ phát hiện: Công cụ phân tích tĩnh XZfind (miễn phí, được phát hành bởi Binarly )
Thách Thức Chuỗi Cung Ứng Rộng Lớn Hơn
Sự cố này minh họa một thách thức cơ bản trong chuỗi cung ứng phần mềm hiện đại. Ngay cả những lỗ hổng tồn tại trong thời gian ngắn cũng có thể có tác động lâu dài khi chúng được nhúng vào các image dẫn xuất và quy trình xây dựng tự động. Backdoor XZ không bao giờ xuất hiện trong bản phát hành ổn định của Debian , nhưng nó vẫn tồn tại trong các image thử nghiệm mà các nhà phát triển thường sử dụng cho phát triển tích cực.
Tình huống trở nên phức tạp hơn khi xem xét khía cạnh kinh tế của triển khai đám mây. Việc di chuyển hàng trăm ứng dụng sang các VM riêng lẻ có thể tốn hàng chục nghìn đô la mỗi tháng, khiến container trở thành một lựa chọn hấp dẫn bất chấp những đánh đổi về bảo mật. Áp lực kinh tế này thường khiến các nhóm chấp nhận một mức độ rủi ro nhất định để đổi lấy hiệu quả vận hành.
Các chuyên gia bảo mật khuyến nghị tập trung vào nguồn gốc image và cập nhật thường xuyên thay vì tránh hoàn toàn container. Các tổ chức nên kiểm tra các image cơ sở của họ, triển khai quét lỗ hổng tự động, và duy trì các chính sách rõ ràng về nguồn image nào có thể chấp nhận được cho việc sử dụng sản xuất.
Câu chuyện backdoor XZ Utils phục vụ như một lời nhắc nhở rằng bảo mật chuỗi cung ứng đòi hỏi sự cảnh giác liên tục. Mặc dù mối đe dọa trực tiếp từ những image Docker còn sót lại này có thể hạn chế, chúng đại diện cho một mô hình rộng lớn hơn về cách các sự cố bảo mật có thể có tác động lâu dài trong toàn bộ hệ sinh thái phần mềm. Chìa khóa là xây dựng các hệ thống có thể nhanh chóng xác định và phản ứng với những mối đe dọa như vậy, thay vì hy vọng chúng sẽ không xảy ra.
Tham khảo: Persistent Risk: XZ Utils Backdoor Still Lurking in Docker Images