Các nhà nghiên cứu tìm ra cách các thư viện NPM độc hại có thể trốn tránh việc phát hiện lỗ hổng

Phát hiện lỗ hổng

Phát hiện mới từ công ty JFrog cho thấy nhắm mục tiêu vào hệ sinh thái npm có thể trốn tránh kiểm tra bảo mật bằng cách lợi dụng “hành vi không mong muốn” trong công cụ giao diện dòng lệnh (CLI) npm.

Các lệnh kiểm tra và cài đặt của npm CLI có các khả năng tích hợp sẵn để kiểm tra một gói và tất cả các phần phụ thuộc của nó để tìm các lỗ hổng đã biết, hoạt động hiệu quả như một cơ chế cảnh báo cho các nhà phát triển bằng cách làm nổi bật các lỗ hổng.

Nhưng như JFrog đã thiết lập, các tư vấn bảo mật không được hiển thị khi các gói tuân theo các định dạng phiên bản nhất định, tạo ra một tình huống trong đó các lỗi nghiêm trọng có thể được đưa vào hệ thống của họ trực tiếp hoặc thông qua các phần phụ thuộc của gói.

Cụ thể, sự cố chỉ phát sinh khi phiên bản gói đã cài đặt có dấu gạch nối (ví dụ: 1.2.3-a), được bao gồm để biểu thị phiên bản phát hành trước của mô-đun npm.

Mặc dù những người duy trì dự án coi sự khác biệt giữa các phiên bản gói npm thông thường và các phiên bản phát hành trước là một chức năng dự kiến, nhưng điều này cũng khiến nó dễ bị lạm dụng bởi những kẻ tấn công đang tìm cách đầu độc hệ sinh thái nguồn mở.

Xem tiếp:   Uber tuyên bố không có dữ liệu nhạy cảm nào bị lộ trong vụ vi phạm mới nhất… Nhưng còn nhiều điều hơn thế này

“Các tác nhân đe dọa có thể khai thác hành vi này bằng cách cố ý chèn mã độc hại hoặc dễ bị tấn công vào các gói trông có vẻ ngây thơ của họ. Các gói này sẽ được các nhà phát triển khác đưa vào do chức năng có giá trị hoặc do lỗi do kỹ thuật lây nhiễm như đánh máy hoặc nhầm lẫn phụ thuộc,” Or Peles nói .

Nói cách khác, một kẻ thù có thể xuất bản một gói có vẻ lành tính ở định dạng phiên bản trước khi phát hành, sau đó có thể được các nhà phát triển khác chọn và không được cảnh báo về thực tế là gói đó độc hại mặc dù có ngược lại.

Sự phát triển một lần nữa nhắc lại cách chuỗi cung ứng phần mềm được xây dựng như một chuỗi tin cậy giữa các bên khác nhau và cách một sự thỏa hiệp của một liên kết có thể ảnh hưởng đến tất cả các ứng dụng hạ nguồn tiêu thụ sự phụ thuộc của bên thứ ba lừa đảo.

Để chống lại các mối đe dọa như vậy, các nhà phát triển nên tránh cài đặt các gói npm với phiên bản phát hành trước, trừ khi nguồn được biết là hoàn toàn đáng tin cậy.

Check Also

JumpCloud đổ lỗi cho diễn viên ‘Nhà nước quốc gia tinh vi’ vì vi phạm an ninh

Ngày 18 tháng 7 năm 2023THNBảo mật dữ liệu / Tấn công mạng Hơn một …