Một chiến dịch malware mới được phát hiện với tên gọi mã độc IronWorm đã âm thầm nhắm mục tiêu vào các nhà phát triển phần mềm thông qua các gói npm độc hại. Đây là một loại tấn công chuỗi cung ứng tinh vi, được thiết kế để đánh cắp thông tin nhạy cảm như thông tin xác thực, khóa API và cụm từ khôi phục ví tiền điện tử.
Chiến dịch này lợi dụng quy trình làm việc đáng tin cậy của nhà phát triển để lan truyền. Điều này biến nó trở thành một trong những mối đe dọa chuỗi cung ứng phức tạp nhất được ghi nhận trong những năm gần đây.
Tổng Quan về Chiến Dịch Mã Độc IronWorm
Theo báo cáo của các nhà phân tích bảo mật tại JFrog, IronWorm là một loại infostealer tùy chỉnh, được xây dựng bằng ngôn ngữ Rust. Mã độc này có khả năng quét và thu thập mọi bí mật có thể tìm thấy trên máy của nhà phát triển mục tiêu.
Sau khi xâm nhập, nó ẩn mình đằng sau một rootkit cấp độ kernel và duy trì liên lạc với kẻ tấn công thông qua mạng Tor. Chiến dịch này được phát hiện đang hoạt động và đặc biệt nhắm vào các nhà phát triển phần mềm trong lĩnh vực tiền điện tử và Web3.
JFrog đã cung cấp phân tích chi tiết về mã độc IronWorm trong báo cáo của họ, nêu bật các kỹ thuật tinh vi được sử dụng trong cuộc tấn công. Đây là nguồn thông tin đáng tin cậy để hiểu rõ hơn về mối đe dọa này: JFrog Research – IronWorm.
Cơ Chế Lây Nhiễm và Lan Truyền trong Tấn Công Chuỗi Cung Ứng
Mã độc di chuyển bên trong các gói npm trông hoàn toàn hợp pháp ban đầu. Kẻ tấn công đã tái xuất bản một số gói npm từ các tài khoản bị chiếm quyền kiểm soát. Sau đó, chúng đã khéo léo chèn một binary Linux ẩn vào mỗi gói này.
Ngay khi một nhà phát triển chạy lệnh npm install, binary độc hại sẽ tự động thực thi mà không yêu cầu thêm bất kỳ bước nào. Quá trình này không cần bất kỳ thao tác nhấp chuột hoặc phê duyệt nào từ phía người dùng, làm tăng hiệu quả lây nhiễm.
Kỹ Thuật Tái Phát Tán qua GitHub và npm
Điều làm cho mối đe dọa mã độc IronWorm trở nên đặc biệt nguy hiểm là khả năng tự lan truyền mạnh mẽ. Sau khi đánh cắp thông tin xác thực, IronWorm sử dụng chúng để đẩy các commit độc hại có dấu thời gian cũ vào kho lưu trữ GitHub của nạn nhân.
Hành động này nhằm mục đích chèn mã độc vào các gói khác. Các gói bị nhiễm sau đó sẽ được xuất bản lên npm, nơi chúng có thể lây nhiễm cho nhà phát triển tiếp theo cài đặt chúng. Về cơ bản, cuộc tấn công chuỗi cung ứng này sử dụng chính danh tính của nạn nhân để tiếp tục lây lan.
Quy mô của chiến dịch cũng rất đáng chú ý. Các nhà nghiên cứu đã tìm thấy 57 commit độc hại được đặt lùi thời gian, rải rác trên chín tổ chức GitHub khác nhau. Một số commit này được làm cho trông như đã tồn tại từ nhiều năm trước.
Để đạt được điều này, kẻ tấn công đã sao chép dấu thời gian của commit thực cuối cùng của kho lưu trữ. Đây là một thủ thuật được thiết kế để tránh gây nghi ngờ trong quá trình xem xét mã định kỳ.
Trong môi trường CI (Continuous Integration), khi mã độc IronWorm chạy, nó sử dụng luồng Trusted Publishing của npm để có được thông tin xác thực xuất bản có thời gian tồn tại ngắn. Điều này cho phép nó xuất bản phiên bản gói đã bị trojan hóa lên npm registry mà không cần lưu trữ token.
Kỹ Thuật Che Giấu và Né Tránh Phát Hiện
IronWorm che giấu binary độc hại của nó trong một đường dẫn thư mục mà hầu hết các nhà phát triển sẽ không bao giờ nghĩ đến việc kiểm tra. Binary này được đóng gói bằng công cụ UPX đã được sửa đổi, với chữ ký tiêu chuẩn bị loại bỏ để ngăn chặn việc giải nén tự động.
Một khi hoạt động, mã độc giải mã các chuỗi nội bộ của nó từng cái một, sử dụng một khóa khác nhau ở mỗi vị trí. Điều này khiến việc dịch ngược (reverse engineering) trở nên chậm và khó khăn một cách bất thường.
Rootkit Dựa trên eBPF
IronWorm mang theo một rootkit dựa trên eBPF, có khả năng ẩn các tiến trình và kết nối mạng của nó khỏi các công cụ giám sát hệ thống tiêu chuẩn. Rootkit này hoạt động ở cấp độ kernel, ghi lại danh sách tiến trình trước khi bất kỳ phần mềm giám sát nào có thể nhìn thấy chúng.
Các lệnh như ps và top sẽ trả về kết quả sạch, trong khi mã độc vẫn tiếp tục chạy ẩn trong nền. Rootkit cũng ngăn chặn các nỗ lực gắn debugger vào tiến trình mã độc. Việc cố gắng làm như vậy có thể làm sập shell đang chạy lệnh.
# Ví dụ lệnh kiểm tra tiến trình (bị rootkit ẩn)
ps aux | grep "malicious_process"
top
Mục Tiêu Đánh Cắp Thông Tin Từ Nhà Phát Triển
Hoạt động đánh cắp thông tin xác thực của mã độc IronWorm được thực hiện một cách rộng rãi và có chủ đích. Mã độc quét 86 biến môi trường khác nhau, bao gồm các nền tảng đám mây, cơ sở dữ liệu, hệ thống CI/CD, token kiểm soát mã nguồn và khóa API của dịch vụ AI.
Nó cũng đọc hơn 20 đường dẫn file thông tin xác thực từ đĩa, bao gồm các cấu hình ví và file xác thực từ các công cụ phổ biến gần đây. Hoạt động rò rỉ dữ liệu này nhắm vào nhiều loại tài sản số quan trọng.
Mô-đun Chuyên Biệt
Một mô-đun chuyên dụng của IronWorm nhắm mục tiêu cụ thể vào ví desktop Exodus. Mô-đun này tiêm mã để thu thập mật khẩu ví và cụm từ khôi phục ngay khi người dùng mở khóa ví. Điều này cho phép kẻ tấn công thực hiện hành vi đánh cắp dữ liệu tài chính nghiêm trọng.
Một mô-đun riêng biệt khác nhắm mục tiêu vào các pod Kubernetes, đọc các token tài khoản dịch vụ và trích xuất mọi bí mật mà nó có thể tiếp cận. Sự đa dạng trong mục tiêu cho thấy mức độ nguy hiểm của tấn công chuỗi cung ứng này.
Phản Ứng và Biện Pháp Phòng Ngừa Trước Mã Độc IronWorm
Các nhà nghiên cứu khuyến nghị kiểm toán mọi kho lưu trữ mà một tài khoản bị xâm phạm có quyền ghi. Việc kiểm tra này bao gồm tìm kiếm các commit bị đặt lùi thời gian, các hook build không mong muốn và các thay đổi được gán cho các tên tự động hóa như dependabot hoặc github-actions ngoài ngữ cảnh thông thường của chúng.
Tất cả các khóa API và bí mật liên kết với tài khoản bị ảnh hưởng nên được xoay vòng ngay lập tức để ngăn chặn hành vi rò rỉ dữ liệu tiếp diễn. Các phiên bản gói độc hại cũng nên được gỡ bỏ khỏi public registry kèm theo một cảnh báo bảo mật rõ ràng được đưa ra để cảnh báo người dùng downstream.
Thực hiện các bản vá bảo mật và duy trì cấu hình bảo mật chặt chẽ là điều cần thiết để bảo vệ hệ thống khỏi các cuộc tấn công chuỗi cung ứng tương tự.










