NPM tiếp tục gặp các vấn đề về bảo mật và bây giờ một vấn đề đã ảnh hưởng đến hệ thống cập nhật

Vài ngày trước GitHub đã tiết lộ hai sự cố trong cơ sở hạ tầng kho lưu trữ gói NPM, trong đó nêu chi tiết rằng vào ngày 2 tháng XNUMX, các nhà nghiên cứu bảo mật bên thứ ba trong chương trình Bug Bounty đã tìm thấy một lỗ hổng trong kho lưu trữ NPM cho phép xuất bản một phiên bản mới của bất kỳ gói nào bằng cách sử dụng mặc dù nó không được phép để thực hiện các cập nhật như vậy.

Lỗ hổng bảo mật do kiểm tra ủy quyền không chính xác trong mã microservices quy trình đó yêu cầu NPM. Dịch vụ ủy quyền đã thực hiện kiểm tra quyền đối với các gói dựa trên dữ liệu được chuyển trong yêu cầu, nhưng một dịch vụ khác đang tải bản cập nhật lên kho lưu trữ đã xác định gói sẽ xuất bản dựa trên nội dung siêu dữ liệu trong gói được tải lên.

Do đó, kẻ tấn công có thể yêu cầu xuất bản bản cập nhật cho gói của mình mà hắn có quyền truy cập, nhưng chỉ ra trong gói thông tin về gói khác, cuối cùng sẽ được cập nhật.

Trong vài tháng qua, nhóm npm đã đầu tư vào các cải tiến về cơ sở hạ tầng và bảo mật để tự động hóa việc giám sát và phân tích các phiên bản gói được phát hành gần đây để xác định phần mềm độc hại và mã độc hại khác trong thời gian thực.

Có hai danh mục chính của các sự kiện đăng phần mềm độc hại xảy ra trong hệ sinh thái npm: phần mềm độc hại được đăng do chiếm đoạt tài khoản và phần mềm độc hại mà những kẻ tấn công đăng thông qua tài khoản của chính họ. Mặc dù việc mua lại tài khoản có tác động cao là tương đối hiếm, so với phần mềm độc hại trực tiếp được đăng bởi những kẻ tấn công bằng cách sử dụng tài khoản của chính họ, việc mua lại tài khoản có thể đạt được nhiều điều khi nhắm mục tiêu đến những người duy trì gói phổ biến. Mặc dù thời gian phát hiện và phản hồi của chúng tôi đối với việc mua lại các gói phổ biến chỉ còn 10 phút trong các sự cố gần đây, nhưng chúng tôi vẫn tiếp tục phát triển khả năng phát hiện phần mềm độc hại và các chiến lược thông báo theo hướng mô hình phản ứng chủ động hơn.

Vấn đề nó đã được sửa 6 giờ sau khi lỗ hổng được báo cáo, nhưng lỗ hổng bảo mật còn tồn tại trong NPM lâu hơn hơn những gì nhật ký đo từ xa bao gồm. GitHub tuyên bố rằng không có dấu vết của các cuộc tấn công sử dụng lỗ hổng này kể từ tháng 2020 năm XNUMX, nhưng không có gì đảm bảo rằng vấn đề chưa được khai thác trước đó.

Vụ thứ hai diễn ra vào ngày 26/XNUMX. Trong quá trình làm việc kỹ thuật với cơ sở dữ liệu dịch vụ replicant.npmjs.com, nó được tiết lộ rằng có dữ liệu bí mật trong cơ sở dữ liệu có sẵn để tham khảo ý kiến ​​bên ngoài, tiết lộ thông tin về tên của các gói nội bộ đã được đề cập trong bảng thay đổi.

Thông tin về những cái tên đó có thể được sử dụng để thực hiện các cuộc tấn công phụ thuộc vào các dự án nội bộ (Vào tháng 30, một cuộc tấn công như vậy đã cho phép mã chạy trên các máy chủ của PayPal, Microsoft, Apple, Netflix, Uber và XNUMX công ty khác).

Bên cạnh đó, liên quan đến tỷ lệ thu giữ kho của các dự án lớn ngày càng tăng và quảng bá mã độc hại thông qua việc xâm nhập tài khoản nhà phát triển, GitHub đã quyết định giới thiệu xác thực hai yếu tố bắt buộc. Thay đổi sẽ có hiệu lực vào quý đầu tiên của năm 2022 và sẽ áp dụng cho những người bảo trì và quản trị viên của các gói có trong danh sách phổ biến nhất. Ngoài ra, thông tin được cung cấp về việc hiện đại hóa cơ sở hạ tầng, trong đó việc giám sát và phân tích tự động các phiên bản gói mới sẽ được giới thiệu để phát hiện sớm các thay đổi độc hại.

Nhớ lại rằng theo một nghiên cứu được thực hiện vào năm 2020, chỉ có 9.27% người quản lý gói sử dụng xác thực hai yếu tố để bảo vệ quyền truy cập và trong 13.37% trường hợp, khi đăng ký tài khoản mới, các nhà phát triển đã cố gắng sử dụng lại các mật khẩu bị xâm phạm xuất hiện trong các mật khẩu đã biết. .

Trong quá trình kiểm tra độ mạnh của mật khẩu được sử dụng, 12% tài khoản trong NPM (13% số gói) đã được truy cập do sử dụng mật khẩu dễ đoán và tầm thường như "123456". Trong số các vấn đề có 4 tài khoản người dùng của 20 gói phổ biến nhất, 13 tài khoản có gói được tải xuống hơn 50 triệu lần mỗi tháng, 40 - hơn 10 triệu lượt tải xuống mỗi tháng và 282 với hơn 1 triệu lượt tải xuống mỗi tháng. Xem xét tải mô-đun dọc theo chuỗi phụ thuộc, việc xâm phạm các tài khoản không đáng tin cậy có thể ảnh hưởng đến 52% tổng số mô-đun trong NPM.

Cuối cùng, nếu bạn muốn biết thêm về nó bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.