Người dùng Node.js lưu ý: tấn công qua mặt xác thực giúp chèn mã độc vào thư viện npm

WhiteHat News #ID:2018

WhiteHat Support
20/03/2017
129
444 bài viết
Người dùng Node.js lưu ý: tấn công qua mặt xác thực giúp chèn mã độc vào thư viện npm
Việc đăng ký gói npm trên môi trường chạy Node.js JavaScript đang bị ảnh hưởng bởi một cuộc tấn công do không đồng nhất với các tệp kê khai (manifest confusion) có thể cho phép kẻ xấu che giấu mã độc trong các gói của dự án hoặc thực thi mã script tùy ý trong quá trình cài đặt.

Nodejs_1.png

Đây là quá trình nghiên cứu của chuyên gia Darcy Clarke, cựu kỹ sư của GitHub và npm. Theo PoC được công bố: “Tệp kê khai của gói npm được xuất bản độc lập dưới dạng định dạng tarball. Tuy nhiên các tệp này lại không bao giờ được xác thực đầy đủ với nội dung của các tệp tarball này. Trong khi, với hệ sinh thái npm nội dung của các tệp kê khai và các tệp tarball được cho là đồng nhất”.

Vấn đề thực chất bắt nguồn từ tệp kê khai và siêu dữ liệu trong gói npm bị tách rời và chúng không bao giờ được tham chiếu chéo với nhau dẫn đến việc bị kẻ xấu lợi dụng.

Từ đó, chúng có thể khai thác lỗ hổng để xuất bản một module với một tệp kê khai (package.json) có chứa các thuộc tính bị ẩn cũng như chạy các tập lệnh cài đặt, tạo tiền đề cho một cuộc tấn công chuỗi cung ứng và đầu độc môi trường của nhà phát triển.

Nodejs_2.png

Theo Clarke, GitHub đã được thông báo vấn đề này vào đầu tháng 11/2022 nhưng đến nay lỗ hổng vẫn chưa được giải quyết.

Vì thiếu một bản vá lỗi chính thức nên nhà nghiên cứu an ninh Felix Pankratz đã đưa ra một đoạn script bằng Python có thể được dùng để kiểm tra việc không trùng khớp giữa các bản kê khai trong các module của npm.

Các nhà phát triển được khuyến cáo cần phải cẩn trọng với các thuộc tính mà họ sử dụng trong các dự án của mình và luôn cập nhật bản vá để tránh rủi ro bị tấn công.
 
Chỉnh sửa lần cuối:
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ẻ
node.js npm
Bên trên