TL; DR
Sự thỏa hiệp của axios npm cho thấy các cuộc tấn công chuỗi cung ứng hiện đại Khai thác các phụ thuộc đáng tin cậy để truy cập dữ liệu nhạy cảm trong quá trình thực thi. Sự cố này đã được nhiều nhà nghiên cứu bảo mật phân tích, bao gồm cả các phân tích chi tiết từ... Đơn vị42 Các bài viết trong ngành nêu bật các mô hình quy kết liên quan đến hoạt động của các quốc gia.
Sự cố này ảnh hưởng đến:
- Các nhóm DevOps đang vận hành CI/CD pipelinevới xác thực dựa trên môi trường
- Các dịch vụ phụ trợ xử lý các yêu cầu API đã được xác thực.
- Các ứng dụng sử dụng axios cho giao tiếp HTTP nội bộ và bên ngoài.
Vì axios nằm ở lớp yêu cầu, nên một phiên bản bị xâm nhập có thể truy cập:
- Tiêu đề ủy quyền và Mã thông báo API
- Biến môi trường và bí mật
- Truyền thông dịch vụ nội bộ
Tác động thực sự không nằm ở bản thân sự phụ thuộc, mà là những gì nó có thể truy cập được sau khi được thực thi.
Hành động ngay:
- Khóa các phiên bản phụ thuộc và xem lại các bản cập nhật gần đây.
- Xoay vòng khóa API, mã thông báo và CI/CD Credentials
- Giám sát các yêu cầu gửi đi và hoạt động xác thực.
- Kiểm toán pipelines cho những bí mật bị lộ
Điều gì đã xảy ra trong vụ tấn công Axios npm?
Vụ tấn công Axios tiếp nối xu hướng ngày càng gia tăng trong các cuộc tấn công chuỗi cung ứng, trong đó kẻ tấn công nhắm mục tiêu vào các thành phần phụ thuộc được sử dụng rộng rãi thay vì các lỗ hổng ứng dụng.
Bằng cách xâm nhập vào một gói phần mềm đáng tin cậy, kẻ tấn công có thể thực thi mã bên trong hàng nghìn môi trường cùng một lúc.
Vì axios là một trong những thư viện client HTTP được sử dụng rộng rãi nhất trong hệ sinh thái JavaScript, nên nó được tích hợp sâu rộng vào:
- Dịch vụ phụ trợ
- Ứng dụng giao diện người dùng
- CI/CD pipelines
Điều này khiến nó trở thành một mục tiêu có giá trị cao.
Một khi phiên bản độc hại được đưa vào và thực thi, nó sẽ kế thừa các quyền hạn tương tự như ứng dụng đã nhập khẩu nó. Điều đó bao gồm quyền truy cập vào lưu lượng mạng, thông tin đăng nhập và các dịch vụ nội bộ.
Vụ thỏa hiệp này cũng thu hút sự chú ý rộng rãi hơn ngoài cộng đồng an ninh, với các báo cáo như của Axios. bảo hiểm
Điều này cho thấy khả năng có liên hệ với các tác nhân đe dọa cấp cao và các chiến dịch phối hợp.
Cuộc tấn công Axios thực sự làm gì khi chạy?
Mấu chốt để hiểu được cuộc tấn công này là tập trung vào hành vi trong quá trình thực thi.
Axios hoạt động ở lớp HTTP, có nghĩa là nó xử lý các yêu cầu gửi đi. Điều này giúp nó có khả năng giám sát trực tiếp dữ liệu nhạy cảm đang lưu chuyển trong ứng dụng.
Phiên bản bị xâm phạm có thể:
- Chặn các yêu cầu gửi đi trước khi chúng được gửi đi.
- Chụp
Authorizationtiêu đề và mã thông báo API - Truy cập các biến môi trường thông qua
process.env - Theo dõi sự liên lạc giữa các bộ phận nội bộ.
Ví dụ, một phần mềm chặn độc hại có thể trích xuất các tiêu đề xác thực và âm thầm chuyển tiếp chúng đến một điểm cuối bên ngoài.
Đồng thời, việc truy cập vào các biến môi trường cho phép kẻ tấn công lấy được thông tin đăng nhập mà không cần sửa đổi logic ứng dụng.
Nhìn từ bên ngoài, mọi thứ vẫn hoạt động như mong đợi. Các yêu cầu được hoàn thành thành công, dịch vụ phản hồi bình thường, và pipelineCác tiến trình không cho thấy dấu hiệu lỗi nào. Đồng thời, dữ liệu nhạy cảm có thể đã bị lộ thông qua các đường dẫn thực thi ngầm.
Luồng tấn công Axios: Từ gói phần mềm bị xâm phạm đến việc lộ thông tin bí mật.
1. Thỏa hiệp
Kẻ tấn công giành quyền kiểm soát tài khoản người bảo trì đáng tin cậy hoặc đường dẫn phát hành gói phần mềm bên trong hệ sinh thái axios.
KHAI THÁC. Phân phối
Các phiên bản độc hại được đăng tải lên npm và được tải xuống máy tính của nhà phát triển. CI/CD pipelinevà các bản dựng ứng dụng thông qua cập nhật phụ thuộc thông thường.
3. Thực thi thời gian chạy
Đoạn mã độc sẽ được thực thi khi axios được nhập và sử dụng, kế thừa các đặc quyền thời gian chạy tương tự như ứng dụng.
4. Truy cập bí mật
Lỗ hổng bảo mật này giúp người dùng có thể xem được thông tin về tiêu đề, mã thông báo, biến môi trường và giao tiếp HTTP nội bộ.
5. Sự rò rỉ
Dữ liệu nhạy cảm được âm thầm gửi đến cơ sở hạ tầng do kẻ tấn công kiểm soát trong khi các yêu cầu ban đầu vẫn hoạt động bình thường.
Các chỉ số về sự thỏa hiệp (IoC)
Để điều tra khả năng bị ảnh hưởng, các nhóm nên bắt đầu bằng cách xem xét các chỉ báo đã biết liên quan đến lỗ hổng bảo mật axios. Bảng dưới đây tóm tắt các tín hiệu quan trọng nhất trên các gói phần mềm, hoạt động mạng và các thành phần máy chủ.
Cách diễn giải các IoC này
Mặc dù các chỉ báo này hữu ích, nhưng không nên coi chúng như một chiến lược phát hiện hoàn chỉnh.
Trên thực tế, các cuộc tấn công kiểu này hiếm khi chỉ dựa vào một tín hiệu tĩnh duy nhất. Tên miền thay đổi, nội dung tấn công phát triển và mã băm nhanh chóng trở nên lỗi thời. Điều vẫn nhất quán chính là hành vi.
Ví dụ, các yêu cầu gửi đi bất ngờ trong quá trình thực thi HTTP thông thường có thể cho thấy dữ liệu đã bị đánh cắp. Tương tự, việc sử dụng thông tin đăng nhập hợp lệ trong các ngữ cảnh bất thường thường báo hiệu rằng các bí mật đã bị lộ.
Ở cấp độ máy chủ, sự hiện diện của các tập lệnh hoặc tệp nhị phân tạm thời có thể cho thấy hoạt động sau khi khai thác, đặc biệt khi kết hợp với các bất thường mạng.
Nói cách khác, IoC giúp bạn xác nhận một sự cố.
Tuy nhiên, hiểu được hành vi mới giúp bạn phát hiện vấn đề sớm.
| Phân loại | chỉ số | Chi Tiết |
|---|---|---|
| Bưu kiện | axios@1.14.1 | shasum: 2553649f2322049666871cea80a5d0d6adc700ca |
| Bưu kiện | axios@0.30.4 | shasum: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71 |
| Phụ thuộc | plain-crypto-js@4.2.1 | shasum: 07d889e2dadce6f3910dcbc253317d28ca61c766 |
| mạng | sfrclak[.]com | Miền chỉ huy và kiểm soát |
| mạng | 142.11.206[.]73 | Địa chỉ IP cơ sở hạ tầng liên quan |
| mạng | http://sfrclak[.]com:8000/6202033 | Điểm cuối rò rỉ được quan sát |
| macOS | /Library/Caches/com.apple.act.mond | SHA256: 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a |
| Cửa sổ | %PROGRAMDATA%\wt.exe | Hiện tượng tồn tại tiềm tàng |
| Cửa sổ | %TEMP%\6202033.vbs | Vật phẩm thực thi dựa trên kịch bản |
| Cửa sổ | %TEMP%\6202033.ps1 | Tải trọng PowerShell. SHA256: 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101 |
| Linux | /tmp/ld.py | SHA256: fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf |
Ghi chú điều tra: Các chỉ báo về sự xâm nhập (IoC) này là điểm khởi đầu hữu ích cho việc săn lùng mối đe dọa. Tuy nhiên, kẻ tấn công có thể nhanh chóng thay đổi tên miền, tải trọng và các bằng chứng khác. Vì lý do đó, các nhóm nên đối chiếu các chỉ báo này với các tín hiệu hành vi như lưu lượng HTTP đi ra bất thường, truy cập bất thường vào hệ thống. process.envvà các bản cập nhật phụ thuộc bất thường.
Ví dụ: Cách một dependency npm của Axios bị xâm phạm có thể đánh cắp dữ liệu
Để hiểu cách thức hoạt động của cuộc tấn công Axios npm này trong thực tế, hãy xem xét một ví dụ đơn giản.
Axios cho phép các nhà phát triển định nghĩa các bộ chặn yêu cầu. Các bộ chặn này sẽ tự động thực thi trước mỗi yêu cầu HTTP.
Một phiên bản độc hại của axios có thể lợi dụng cơ chế này:
Vì sao cuộc tấn công Axios npm lại nguy hiểm
Thoạt nhìn, dường như không có gì sai. Yêu cầu được thực thi thành công, ứng dụng hoạt động như mong đợi và pipelineCác bài kiểm tra tiếp tục diễn ra mà không có lỗi.
Tuy nhiên, chi tiết quan trọng xảy ra trước khi yêu cầu được gửi đi. Trong khoảng thời gian thực thi đó, phần mềm phụ thuộc bị xâm phạm có thể âm thầm truy cập và thu thập dữ liệu nhạy cảm như tiêu đề ủy quyền, mã thông báo API, siêu dữ liệu yêu cầu và biến môi trường.
Vì đoạn mã logic này chạy bên trong một thư viện đáng tin cậy nằm trực tiếp trong đường dẫn yêu cầu HTTP, nên nó hoạt động với cùng các đặc quyền như chính ứng dụng. Do đó, nó có thể truy cập dữ liệu mà thông thường sẽ được bảo vệ khỏi các kẻ tấn công bên ngoài.
Điều khiến việc này đặc biệt nguy hiểm không chỉ là việc truy cập dữ liệu, mà còn là việc thiếu tác động rõ ràng. Không có sự gián đoạn chức năng, không có yêu cầu nào bị lỗi và không có tín hiệu ngay lập tức cho thấy có điều gì đó không ổn. Từ góc độ vận hành, mọi thứ vẫn hoạt động như mong đợi.
Trong khi đó, thông tin nhạy cảm có thể đã bị rò rỉ ra khỏi hệ thống thông qua các kết nối đi ra ngoài, lẫn vào lưu lượng truy cập ứng dụng thông thường.
Tại sao đây lại là một vấn đề của DevOps trước tiên?
Đối với các nhóm DevOps, loại tấn công này đặc biệt khó phát hiện vì nó tích hợp liền mạch vào các quy trình làm việc hiện có.
Các phần phụ thuộc được cài đặt tự động. pipelineCác tác vụ chạy bình thường và không xảy ra lỗi ngay lập tức.
Cùng một lúc, CI/CD Môi trường này thường làm lộ các thông tin đăng nhập có giá trị cao, bao gồm:
- Mã thông báo của nhà cung cấp đám mây
- Khóa triển khai
- CI/CD bí mật xác thực
Một thành phần phụ thuộc bị xâm phạm đang chạy trong ngữ cảnh này có thể truy cập trực tiếp vào các thông tin đăng nhập đó.
Điều này tạo ra tình huống mà mọi thứ dường như bình thường, trong khi dữ liệu nhạy cảm vẫn đang được truy cập ngầm.
Rủi ro thực sự: Bí mật bị lộ trên quy mô lớn
Lỗ hổng bảo mật axios npm cho thấy một sự thay đổi quan trọng trong các chiến lược tấn công hiện đại.
Mục tiêu không còn là khai thác lỗ hổng bảo mật, mà là truy cập thông tin đăng nhập hợp lệ.
Vì các hệ thống hiện đại dựa vào xác thực dựa trên môi trường, nên một thành phần phụ thuộc chạy trong thời gian thực có thể truy cập:
- Khóa API
- Mã thông báo dịch vụ
- Thông tin xác thực đám mây
Những thông tin xác thực này không cần phải bị phá vỡ.
Chúng chỉ cần được sử dụng thôi.
Điều này cho phép kẻ tấn công di chuyển ngang, truy cập các dịch vụ và trích xuất dữ liệu bằng cách sử dụng xác thực hợp lệ.
Do đó, mức độ ảnh hưởng phụ thuộc vào những bí mật nào bị lộ, chứ không phải cách thức tấn công được thực hiện.
Vì sao các công cụ bảo mật truyền thống lại bỏ sót điều này?
Các phương pháp truyền thống gặp khó khăn trong việc phát hiện các cuộc tấn công này vì chúng tập trung vào các lỗ hổng đã biết hoặc các chữ ký tĩnh. Tuy nhiên, như đã được nhấn mạnh trong Phân tích của OpenAI Về lỗ hổng bảo mật trong công cụ phát triển axios, rủi ro thực sự xuất hiện ở giai đoạn chạy chương trình, nơi các thành phần phụ thuộc đáng tin cậy tương tác với dữ liệu nhạy cảm.
Tuy nhiên, sự phụ thuộc bị tổn hại có thể không có bất kỳ dấu hiệu rõ ràng nào.
Có thể có:
- Không có CVE
- Không có chữ ký độc hại
- Không có cú pháp bất thường
Đồng thời, phân tích tĩnh không đánh giá hành vi khi thực thi. Nó không thể xác định cách một thành phần phụ thuộc tương tác với dữ liệu nhạy cảm sau khi được thực thi.
Điều này tạo ra một lỗ hổng khiến mã nguồn có vẻ an toàn trong quá trình phân tích nhưng lại trở nên rủi ro trong quá trình thực thi.
Cách phát hiện và ngăn chặn các cuộc tấn công tương tự Axios npm
Để ngăn chặn kiểu tấn công Axios npm này, cần phải chuyển từ kiểm tra tĩnh sang nhận thức trong quá trình thực thi.
Các nhóm cần nắm rõ cách thức hoạt động của các mối quan hệ phụ thuộc, chứ không chỉ nội dung của chúng.
Những chi phí này bao gồm:
- Giám sát quyền truy cập vào dữ liệu nhạy cảm trong quá trình hoạt động
- Phát hiện các bí mật trước khi chúng đến được kho lưu trữ.
- Quét (scanning) pipelinevà các hiện vật liên quan đến thông tin xác thực bị lộ.
- Theo dõi hoạt động mạng đi ra để phát hiện các bất thường.
Tuy nhiên, chỉ phát hiện thôi là chưa đủ.
Từ phát hiện đến phòng ngừa: Điều gì thực sự làm giảm rủi ro?
Sau một sự cố như thế này, các nhóm thường phải đối mặt với một số lượng lớn thông tin đăng nhập có nguy cơ bị lộ.
Thách thức không phải là tìm ra chúng, mà là xác định những cái nào thực sự quan trọng.
Câu hỏi then chốt là:
Những bí mật nào vẫn còn giá trị và có thể bị khai thác?
Nếu không có quá trình xác thực, các nhóm sẽ tốn thời gian vào các thông tin xác thực không hoạt động trong khi các rủi ro thực sự vẫn còn tồn tại.
Để có phản ứng hiệu quả cần:
- Phát hiện bí mật bị lộ
- Xác minh xem họ có còn cấp quyền truy cập hay không.
- Thu hồi hoặc thay đổi chúng nhanh chóng
Điều này giúp giảm thời gian tiếp xúc và thu hẹp khoảng thời gian tấn công của kẻ xâm nhập.
Xygeni giúp giảm thiểu rủi ro trong chuỗi cung ứng như thế nào?
Xygeni Giải quyết thách thức này bằng cách kết hợp việc phát hiện, xác minh và khắc phục sự cố vào một quy trình làm việc duy nhất.
Nó liên tục xác định các bí mật bị lộ trong toàn bộ mã nguồn. pipelinevà các hiện vật. Đồng thời, nó xác thực xem các thông tin xác thực đó có còn hoạt động trong môi trường hay không.
Điều này cho phép các nhóm tập trung vào những gì kẻ tấn công thực sự có thể sử dụng.
Khi các bí mật đang hoạt động được xác định, quy trình khắc phục tự động giúp giảm thời gian tiếp xúc thông qua việc thu hồi hoặc xoay vòng có kiểm soát.
Kết quả là, phản hồi trở nên nhanh hơn, chính xác hơn.cisvà ít gây xáo trộn hơn.
Kết luận
Vụ tấn công vào hệ thống npm của axios phản ánh sự phát triển của các cuộc tấn công chuỗi cung ứng.
Kẻ tấn công không còn cần phải phá vỡ hệ thống nữa. Chúng dựa vào các thành phần phụ thuộc đáng tin cậy để truy cập dữ liệu nhạy cảm trong quá trình thực thi.
Đối với các nhóm DevOps, điều này có nghĩa là hiểu được hành vi trong quá trình thực thi. Đối với các nhà lãnh đạo an ninh, điều này có nghĩa là giảm thiểu rủi ro một cách nhanh chóng và hiệu quả.
Vì trong môi trường hiện đại, rủi ro lớn nhất không phải là những gì được thực hiện.
Đó là những gì được truy cập khi chương trình chạy.




