Hacker biến gói phần mềm thành 'kẻ ngủ mùa' đánh cắp dữ liệu CI/CD

Chiến dịch tấn công chuỗi cung ứng phần mềm mới sử dụng 'sleeper packages' để đánh cắp thông tin đăng nhập từ các hệ thống CI/CD. Hacker đã lợi dụng Ruby gems và Go modules độc hại để xâm nhập GitHub Actions và tạo backdoor SSH bền vững.
Làm thế nào hacker có thể âm thầm đánh cắp mật khẩu và chứng thư từ hàng nghìn dự án phần mềm mà không ai hay biết? Một chiến dịch tấn công chuỗi cung ứng phần mềm (software supply chain attack) mới đã được phát hiện, sử dụng các gói phần mềm 'ngủ mùa' (sleeper packages) để thực hiện những cuộc tấn công tinh vi. Kẻ tấn công đã lợi dụng Ruby gems và Go modules độc hại để xâm nhập vào các pipeline CI/CD, đánh cắp thông tin đăng nhập và tạo ra các backdoor SSH bền vững. Chúng tôi cho rằng đây là một bước tiến nguy hiểm trong chiến thuật tấn công chuỗi cung ứng phần mềm.
Kẻ ngủ mùa trong thế giới mã nguồn
Tài khoản GitHub có tên 'BufferZoneCorp' đã được xác định là thủ phạm đứng sau chiến dịch này. Đây không phải là một cuộc tấn công trực diện, mà là một chiến lược kiên nhẫn và tính toán. Kẻ tấn công đã tạo ra nhiều repository chứa các Ruby gems và Go modules có vẻ vô hại, hoạt động như những 'kẻ ngủ mùa' chờ thời cơ thích hợp để kích hoạt payload độc hại.
Sleeper packages hay 'gói ngủ mùa' là thuật ngữ chỉ các gói phần mềm được thiết kế để hoạt động bình thường trong một thời gian dài trước khi kích hoạt chức năng độc hại. Chiến thuật này đặc biệt nguy hiểm vì nó có thể vượt qua được nhiều lớp kiểm tra bảo mật ban đầu và tạo được lòng tin từ cộng đồng developer. Khi các gói này đã được tích hợp rộng rãi vào các dự án, chúng sẽ nhận được cập nhật chứa mã độc thực sự.
Kỹ thuật xâm nhập CI/CD pipeline tinh vi
Mục tiêu chính của chiến dịch này là các hệ thống CI/CD (Continuous Integration/Continuous Deployment) - những hệ thống tự động hóa việc kiểm tra, xây dựng và triển khai phần mềm. Đây chính là 'trái tim' của quy trình phát triển phần mềm hiện đại, nơi lưu trữ các thông tin đăng nhập, API key và chứng chỉ quan trọng nhất. Khi xâm nhập thành công, hacker có thể thao túng GitHub Actions (dịch vụ CI/CD của GitHub) và tạo ra các kết nối SSH backdoor.
GitHub Actions tampering (thao túng GitHub Actions) cho phép kẻ tấn công chỉnh sửa các workflow tự động, có thể chèn thêm các bước thực thi mã độc trong quá trình build và deploy. SSH persistence (duy trì kết nối SSH) tạo ra các backdoor bền vững, cho phép hacker quay lại hệ thống bất cứ lúc nào mà không cần thông qua lỗ hổng ban đầu. Chúng tôi đánh giá đây là một trong những kỹ thuật tấn công chuỗi cung ứng tinh vi nhất từng được ghi nhận.
Tác động lan rộng đến hệ sinh thái phần mềm
Sức tàn phá của loại tấn công này không chỉ dừng lại ở các nạn nhân trực tiếp. Khi một gói phần mềm độc hại được tích hợp vào CI/CD pipeline, nó có thể ảnh hưởng đến toàn bộ chuỗi phần mềm downstream (các phần mềm phụ thuộc). Điều này có nghĩa hàng nghìn dự án khác có thể bị nhiễm độc gián tiếp. Ruby và Go là hai ngôn ngữ lập trình phổ biến với hàng triệu package được sử dụng rộng rãi, khiến phạm vi ảnh hưởng tiềm tàng trở nên khổng lồ.
Đối với doanh nghiệp Việt Nam, đây là một cảnh báo nghiêm trọng. Nhiều công ty công nghệ trong nước đang sử dụng Ruby on Rails và Go để phát triển các ứng dụng web và microservices. Việc sử dụng các gói phần mềm từ repository công cộng mà không có quy trình kiểm tra kỹ lưỡng có thể khiến các hệ thống nội bộ trở thành mục tiêu dễ dàng cho các cuộc tấn công tương tự.
Lộ trình bảo vệ khẩn cấp cho doanh nghiệp
Các tổ chức cần thực hiện ngay các biện pháp phòng vệ sau: Đầu tiên, kiểm tra toàn bộ dependency (các gói phụ thuộc) trong dự án, đặc biệt tập trung vào Ruby gems và Go modules được cài đặt trong 3 tháng gần đây. Sử dụng các công cụ như 'bundle audit' cho Ruby và 'go mod graph' cho Go để phân tích cây phụ thuộc. Thứ hai, thiết lập dependency pinning (khóa phiên bản phụ thuộc) để tránh tự động cập nhật các gói có thể chứa mã độc.
Bên cạnh đó, cần triển khai Software Bill of Materials (SBOM) - danh sách chi tiết tất cả các thành phần phần mềm được sử dụng trong dự án. Thực hiện regular audit (kiểm tra định kỳ) các GitHub Actions workflow và SSH keys trên toàn bộ hệ thống. Cuối cùng, thiết lập network segmentation (phân đoạn mạng) để cô lập các môi trường build khỏi hệ thống production, giảm thiểu tác động nếu bị xâm nhập. Chúng tôi khuyến nghị các doanh nghiệp nên coi đây như một bài học đắt giá về tầm quan trọng của supply chain security trong kỷ nguyên DevOps.
Bài viết liên quan
