Thư viện Axios bị chèn mã độc, nguy cơ bị kiểm soát từ xa trên mọi hệ điều hành

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
128
1.762 bài viết
Thư viện Axios bị chèn mã độc, nguy cơ bị kiểm soát từ xa trên mọi hệ điều hành
Một cuộc tấn công chuỗi cung ứng vừa được phát hiện nhắm vào Axios (thư viện HTTP phổ biến hàng đầu trong hệ sinh thái JavaScript với hàng chục triệu lượt tải mỗi tuần). Sự cố này không chỉ ảnh hưởng tới lập trình viên mà còn đặt ra rủi ro nghiêm trọng cho hàng loạt hệ thống web, dịch vụ backend và ứng dụng doanh nghiệp trên toàn cầu.
1775103286241.png

Theo các chuyên gia an ninh mạng, hai phiên bản Axios (1.14.1 và 0.30.4) đã bị chèn một dependency độc hại mang tên “plain-crypto-js”. Điều đáng chú ý là các phiên bản này được phát hành hợp lệ thông qua tài khoản npm chính thức của maintainer, cho thấy tài khoản này đã bị xâm nhập.

Nguyên nhân cốt lõi không nằm ở mã nguồn Axios, mà đến từ việc kẻ tấn công chiếm quyền kiểm soát token truy cập npm, sau đó phát hành phiên bản “nhiễm độc” thông qua pipeline hợp pháp. Đây là đặc trưng điển hình của tấn công chuỗi cung ứng: lợi dụng niềm tin vào phần mềm phổ biến để phát tán mã độc ở quy mô lớn.​

Cơ chế tấn công diễn ra như thế nào?

Thay vì sửa code trực tiếp, kẻ tấn công thêm một dependency giả. Khi người dùng cài đặt Axios, npm sẽ tự động chạy script “postinstall” của dependency này. Chính tại bước này, mã độc được kích hoạt.

Một dropper viết bằng Node.js sẽ xác định hệ điều hành của nạn nhân và tải xuống payload tương ứng:​
  • Trên macOS: tải trojan C++ và chạy ngầm​
  • Trên Windows: sử dụng PowerShell và VBScript để tải RAT​
  • Trên Linux: tải script Python và thực thi bằng nohup​
Các payload này kết nối tới máy chủ điều khiển (C2), gửi thông tin hệ thống và duy trì kết nối định kỳ 60 giây/lần để nhận lệnh từ xa. Sau khi thực thi, mã độc tự xóa dấu vết và thay thế file cấu hình bằng phiên bản “sạch”, khiến việc phát hiện hậu kiểm gần như không khả thi nếu không có giám sát chuyên sâu.​

Mức độ nguy hiểm và phạm vi ảnh hưởng

Axios là một trong những thư viện HTTP phổ biến nhất thế giới, được sử dụng rộng rãi trong:​
  • Frontend (React, Vue, Angular)​
  • Backend (Node.js services)​
  • Hệ thống doanh nghiệp và API​
Với hơn 80 triệu lượt tải mỗi tuần, bất kỳ sự cố nào liên quan đến Axios đều có thể lan rộng với tốc độ cực nhanh. Mặc dù chỉ tồn tại trong thời gian ngắn, hai phiên bản độc hại vẫn đủ để ảnh hưởng tới:​
  • Môi trường phát triển​
  • Pipeline CI/CD​
  • Server production nếu deploy tự động​
Đây là lý do khiến sự cố được đánh giá là cực kỳ nghiêm trọng, dù không phải là lỗ hổng truyền thống có mã CVE hay điểm CVSS.​

Rủi ro và hậu quả khi bị khai thác

Khi bị nhiễm mã độc, hệ thống có thể đối mặt với các rủi ro nghiêm trọng:​
  • Bị cài backdoor (RAT) cho phép điều khiển từ xa​
  • Đánh cắp thông tin hệ thống, mã nguồn, secrets​
  • Thực thi mã tùy ý hoặc cài thêm payload khác​
  • Xâm nhập sâu vào hệ thống nội bộ thông qua CI/CD​
Đặc biệt, trong môi trường doanh nghiệp, một máy developer bị nhiễm cũng có thể trở thành điểm khởi đầu cho tấn công diện rộng.​

Phát hiện, khắc phục và phòng tránh

Hiện tại, các phiên bản độc hại đã bị gỡ khỏi npm. Tuy nhiên, nguy cơ vẫn tồn tại với những hệ thống đã từng cài đặt. Các biện pháp cần thực hiện ngay:​
  • Kiểm tra và gỡ bỏ Axios phiên bản 1.14.1 và 0.30.4​
  • Hạ cấp về phiên bản an toàn (1.14.0 hoặc 0.30.3)​
  • Xóa dependency “plain-crypto-js” trong node_modules​
  • Kiểm tra các dấu hiệu nhiễm như:
    • /Library/Caches/com.apple.act.mond (macOS)​
    • %PROGRAMDATA%\wt.exe (Windows)​
    • /tmp/ld.py (Linux)​
  • Nếu phát hiện dấu hiệu bất thường:
    → coi như hệ thống đã bị xâm nhập
    → thay đổi toàn bộ mật khẩu, API key, token​
Ngoài ra, các tổ chức cần rà soát lại pipeline CI/CD để xác định có sử dụng phiên bản bị ảnh hưởng hay không, đồng thời chặn kết nối tới máy chủ C2 đã được xác định.​

Khuyến nghị từ chuyên gia an ninh mạng

Các chuyên gia khuyến nghị:​
  • Áp dụng kiểm soát chặt chẽ dependency (dependency auditing)​
  • Sử dụng công cụ phát hiện hành vi bất thường trong quá trình build​
  • Giới hạn quyền và thời hạn của token truy cập npm​
  • Triển khai cơ chế kiểm tra integrity cho package​
  • Không phụ thuộc hoàn toàn vào trust của registry​
Các cuộc tấn công chuỗi cung ứng ngày càng trở nên tinh vi và khi tin tưởng vào một thư viện phổ biến, người dùng vô tình mở ra một “cửa hậu” nếu chuỗi phát hành bị xâm nhập.​
Theo The Hacker News
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
axios http javascript npm
Bên trên