Công nghệ

GlassWorm ẩn mình một năm trong tiện ích VS Code trước khi bị triệt phá

Susan Hill

Suốt hơn một năm, một số lập trình viên đang xây những ứng dụng trên điện thoại của bạn đã âm thầm làm việc cho kẻ khác mà không hề hay biết. Một phần mềm độc hại tên GlassWorm nằm bên trong các tiện ích của Visual Studio Code, trình soạn mã được dùng nhiều nhất thế giới, và bên trong những gói mã nguồn mở mà các lập trình viên đó kéo vào dự án mỗi ngày. Nó thu thập mật khẩu, chiếm tài khoản của họ và dùng chúng để cấy chính mình vào càng nhiều phần mềm hơn. CrowdStrike, Google và Shadowserver Foundation vừa cắt đứt các sợi dây của nó.

Điều này quan trọng ngay cả với người chưa bao giờ mở một trình soạn mã, bởi chuỗi cung ứng phần mềm đúng nghĩa là một chuỗi. Ứng dụng nhắn tin trên điện thoại, ứng dụng ngân hàng, trò chơi trên máy chơi game đều dựa trên hàng nghìn viên gạch mã nguồn mở nhỏ do người khác viết và bảo trì. Đầu độc một viên gạch ấy và chất độc có thể trôi xuôi dòng tới tận những sản phẩm hoàn chỉnh mà hàng triệu người dùng. GlassWorm được tạo ra để cưỡi trên dòng chảy đó mà không bị phát hiện.

Điều khiến nó khác biệt là cách ẩn náu. Những kẻ điều hành viết các chỉ dẫn độc hại bằng ký tự Unicode vô hình, thứ mã hiện ra như khoảng trắng trong trình soạn, nên một lập trình viên rà lại tập tin chẳng thấy gì bất thường. Các nhà nghiên cứu tại Koi Security, những người đầu tiên nhận diện chiến dịch, gọi nó là con sâu đầu tiên tự lây lan qua tiện ích của trình soạn mã. Mỗi máy bị nhiễm trở thành điểm xuất phát cho máy kế tiếp.

Phần lớn các cuộc tấn công chuỗi cung ứng là đánh nhanh rút gọn: một gói bị nhiễm độc được phát hiện, gỡ xuống và vá trong vài ngày. GlassWorm được tạo ra để tồn tại lâu. Vì tự đánh cắp những thông tin đăng nhập cần để lây lan, nó có thể cấy lại chính mình rất lâu sau khi bất kỳ tiện ích nào bị gỡ, và nhờ vậy một chiến dịch duy nhất đã chạm tới hàng trăm dự án cùng hàng chục nghìn lượt tải trong hơn một năm.

Các đường lây nhiễm chính là hệ thống ống nước thường ngày của công việc phần mềm hiện đại. Những kẻ điều hành tải các tiện ích gài bẫy lên Open VSX, chợ ứng dụng nuôi VS Code và những người anh em Cursor, Windsurf, Positron và VSCodium, ngụy trang thành công cụ vô hại như đồng hồ bấm giờ hay trình định dạng mã. Chúng luồn mã bị chỉnh sửa vào các gói trên npm và kho gói Python qua những script cài đặt tự chạy, và bằng thông tin lấy từ nạn nhân trước, chúng ép những thay đổi độc hại vào nhánh chính của hơn 300 kho mã trên GitHub. Khi đã vào một máy, GlassWorm săn tìm chìa khóa: token npm, đăng nhập GitHub, các token xuất bản cho phép lập trình viên đăng tiện ích, và ví tiền mã hóa. Nó biến những máy nhiễm thành máy chủ trung chuyển cho lưu lượng tội phạm khác, và trong vài trường hợp cài phần mềm truy cập từ xa ẩn, cho kẻ điều hành xem màn hình theo thời gian thực.

Triệt phá nó đồng nghĩa với việc đánh vào cách những kẻ điều hành giữ liên lạc với các máy của chúng, và ở đây GlassWorm được dựng để sống sót. Thay vì dựa vào một máy chủ ra lệnh duy nhất có thể rút phích cắm, nó dùng bốn kênh cùng lúc. Một kênh mã hóa chỉ dẫn vào trong các giao dịch trên blockchain Solana, một sổ cái công khai được thiết kế để vĩnh viễn và ngoài tầm với. Một kênh khác giấu dữ liệu cấu hình trong mạng chia sẻ tập tin BitTorrent. Kênh thứ ba nhét các địa chỉ web đã mã hóa vào tiêu đề sự kiện Google Calendar. Kênh thứ tư chỉ là một máy chủ thuê thông thường. Đội Counter Adversary Operations của CrowdStrike, cùng Google và Shadowserver, cắt đứt toàn bộ bộ kênh này trong một đòn phối hợp duy nhất.

Cắt dây không giống như làm sạch vết thương. Cắt các kênh khiến những kẻ điều hành không thể gửi lệnh mới và tải trọng mới, nhưng chẳng hề gỡ GlassWorm khỏi những máy nó đã kiểm soát, và mỗi mật khẩu nó đã lấy vẫn cứ bị lấy. Đây cũng không phải lần đầu chiến dịch bị gián đoạn. Sau khi Koi Security phơi bày, GlassWorm quay lại, một lần với hai chục tiện ích độc hại mới và vài tháng sau với hàng chục cái nữa. Kênh blockchain mà giới nghiên cứu từng mô tả là không thể triệt phá nay đã bị triệt phá, nhưng những kẻ đứng sau đã nhiều lần cho thấy chúng dựng lại.

Các nhà điều tra tin rằng những kẻ điều hành nhiều khả năng ở Nga. Phần mềm kiểm tra cài đặt ngôn ngữ và múi giờ của máy tính khi khởi động và lặng lẽ thoát nếu thấy mình nằm trên một hệ thống ở Nga hoặc một nước láng giềng thuộc không gian Xô viết cũ, một dấu vết quen thuộc của các nhóm tội phạm hoạt động từ khu vực này và tránh nạn nhân bản địa. CrowdStrike tóm gọn sự dịch chuyển một cách thẳng thừng: kẻ tấn công không còn chỉ nhắm vào sản phẩm, chúng nhắm vào những lập trình viên tạo ra chúng. Shadowserver Foundation đã bắt đầu thông báo cho các tổ chức bị ảnh hưởng để họ làm sạch hệ thống và thay mọi thông tin đăng nhập có thể đã rò rỉ, còn với tất cả những ai ở phía dưới chuỗi, công việc thật sự bắt đầu từ bây giờ, khi các nhóm rà soát xem họ đã cài những tiện ích và gói nào kể từ đầu năm 2025. Hạ tầng đã tắt. Việc dọn dẹp mới chỉ bắt đầu.

Thảo luận

Có 0 bình luận.