Nhiều lỗi bảo mật được phát hiện trong các trình quản lý gói của các phần mềm phổ biến

0
493
composer

Nhiều lỗ hổng bảo mật đã được tiết lộ trong các trình quản lý gói phổ biến. Nếu bị khai thác thì chúng có thể bị lạm dụng để thực thi mã tùy ý và truy cập các thông tin nhạy cảm, bao gồm mã nguồn và token truy cập từ các máy bị xâm nhập.

Tuy nhiên, cần lưu ý rằng các lỗ hổng yêu cầu các nhà phát triển bị nhắm vào phải xử lý một gói độc hại cùng lúc với một trong những trình quản lý gói bị ảnh hưởng.

Chuyên gia Paul Gerste của SonarSource cho biết: “Điều này có nghĩa là một cuộc tấn công không thể trực tiếp nhắm vào thiết bị của nhà phát triển từ xa mà nó yêu cầu nhà phát triển phải bị lừa tải xuống các file bị nhiễm độc. Nhưng có phải lúc nào bạn cũng biết và tin tưởng chủ sở hữu của tất cả các gói mà bạn sử dụng từ internet hoặc kho lưu trữ nội bộ của công ty không?”.

Trình quản lý là một hệ thống hoặc một bộ công cụ được sử dụng để tự động cài đặt, nâng cấp, cấu hình các ứng dụng của bên thứ 3 cần thiết để phát triển ứng dụng.

Hiện luôn có những rủi ro bảo mật cố hữu do các thư viện giả mạo tìm cách xâm nhập vào các kho lưu trữ. Điều này đòi hỏi các phần phụ thuộc (dependencies) phải được kiểm tra kỹ lưỡng để chống lại những cuộc tấn công lỗi chính tả (typosquatting) và nhầm lẫn phần phụ thuộc (dependency confusion) . Hành động quản lý các phần phụ thuộc thường không được coi là một hoạt động tiềm ẩn rủi ro.

Nhưng các vấn đề mới được phát hiện trong các trình quản lý gói khác nhau nhấn mạnh rằng chúng có thể bị những kẻ tấn công vũ khí hóa để lừa nạn nhân thực thi mã độc. Các lỗi đã được xác định trong các trình quản lý gói bao gồm những lỗi sau:

  • Composer 1.x < 1.10.23 và 2.x < 2.1.9
  • Bundler < 2.2.33
  • Bower < 1.8.13
  • Poetry < 1.1.9
  • Yarn < 1.22.13
  • pnpm < 6.15.1
  • Pip (no fix)
  • Pipenv (no fix)

Đứng đầu trong số các điểm yếu là một lỗ hổng chèn lệnh (command injection) trong lệnh duyệt của Composer có thể bị lạm dụng để thực thi mã tùy ý bằng cách chèn URL vào một gói độc hại đã được xuất bản.

Nếu gói quản lý bị tấn công lợi dụng lỗi chính tả hoặc lỗi dependency confusion, việc chạy lệnh duyệt cho thư viện có thể dẫn đến việc truy xuất mã độc mà sau đó có thể được sử dụng để khởi động các cuộc tấn công tiếp theo.

Việc phát hiện lỗ hổng argument injection và lỗ hổng đường dẫn tìm kiếm không đáng tin cậy (untrusted search path) được phát hiện trong Bundler, Thơ, Yarn, Composer, Pip và Pipenv có nghĩa là tin tặc có thể thực thi mã bằng file git có chứa mã độc hoặc file do kẻ tấn công kiểm soát như Gemfile được sử dụng để chỉ định các phụ thuộc (dependencies) cho các chương trình Ruby.

Sau khi công bố vào ngày 9/9/201, các bản sửa lỗi đã được phát hành để giải quyết các vấn đề trong Composer, Bundler, Bower, Poetry, Yarn và Pnpm. Nhưng Composer, Pip và Pipenv mặc dù đều bị ảnh hưởng bởi lỗi đường dẫn tìm kiếm không đáng tin cậy đã chọn cách không giải quyết lỗi.

Gerste cho biết: “Các nhà phát triển là mục tiêu béo bở của tội phạm mạng vì họ có quyền truy cập vào tài sản sở hữu trí tuệ cốt lõi của một công ty, đó là mã nguồn. Xâm nhập thành công cho phép những kẻ tấn công thực hiện hành vi gián điệp hoặc nhúng mã độc vào các sản phẩm của công ty. Điều này thậm chí có thể được sử dụng để thực hiện các cuộc tấn công chuỗi cung ứng.”