Tấn công đánh máy
Có vẻ như tất cả các biện pháp an ninh trong những người đang làm việc trên kho lưu trữ gói Python PyPI (Chỉ mục gói Python), Chúng không được sử dụng nhiều, Vì mặc dù họ buộc người dùng phải sử dụng xác thực hai yếu tố và thực hiện các biện pháp bảo mật để tránh đưa ra các gói độc hại càng nhiều càng tốt, họ vẫn tiếp tục gặp phải một số lượng lớn vấn đề với nó.
Và một trong những vấn đề lớn mà NPM gặp phải là việc tải các gói độc hại một cách trắng trợn, đây là vấn đề mà nó đã gặp phải trong những năm gần đây và chưa thể xóa bỏ và lý do đề cập đến điều này là vì tình trạng này cũng giống với PyPi. đang gặp phải, mặc dù ở mức độ thấp hơn, vì các nỗ lực đã được thực hiện để triển khai các bộ lọc bảo mật khác nhau và tôi đề cập đến việc cố gắng vì các gói độc hại tiếp tục xuất hiện.
Sở dĩ đề cập đến điều này là vì Lệnh cấm tạm thời gần đây đã được áp dụng đối với việc đăng ký người dùng mới và tạo dự án mới trong kho lưu trữ gói Python PyPI do cuộc tấn công tự động liên tục điều này đã dẫn đến việc tải xuống số lượng lớn các gói độc hại. Biện pháp này được thực hiện sau khi 566 gói chứa mã độc được tải lên. Họ bắt chước phong cách của 16 thư viện Python phổ biến, trong kho lưu trữ trong ngày 26 và 27 tháng XNUMX.
Tên của các gói độc hại này Chúng được hình thành bằng cách sử dụng kỹ thuật đánh máy, bao gồm việc gán các tên tương tự nhưng có sự khác biệt tối thiểu ở từng ký tự. Ví dụ: các tên như "temsorflow" được sử dụng thay vì "tensorflow", "requyests" thay vì "requests", "asyincio" thay vì "asyncio", trong số những tên khác. Những cuộc tấn công này lợi dụng những người dùng bị phân tâm, những người có thể mắc lỗi chính tả khi tìm kiếm hoặc nhấp vào các liên kết trong diễn đàn và cuộc trò chuyện nơi kẻ tấn công để lại hướng dẫn sai lệch.
Gói độc hại Chúng dựa trên mã từ các thư viện hợp pháp và bao gồm các thay đổi cài đặt phần mềm độc hại vào hệ thống. Phần mềm độc hại này tìm kiếm và gửi dữ liệu và tệp nhạy cảm, chẳng hạn như mật khẩu, mật mã, ví tiền điện tử, mã thông báo và cookie phiên. Mã độc hại được nhúng trong tệp setup.py, tệp này được thực thi trong quá trình cài đặt gói và khi được kích hoạt, sẽ tải xuống các thành phần độc hại từ máy chủ bên ngoài.
Cuộc tấn công đánh máy tự động này được thực hiện trong vài giờ với một vài đợt nhanh chóng, chứng kiến hơn 500 gói được phát hành và nhắm mục tiêu vào 16 gói PyPI phổ biến. Mặc dù phản ứng nhanh chóng và mạnh mẽ của PyPI chắc chắn đã giúp giảm thiểu hậu quả của cuộc tấn công này, nhưng điều đáng chú ý là không phải tất cả các hệ sinh thái đều nhanh chóng và hiệu quả trong việc đối phó với một cuộc tấn công như vậy.
Cuộc tấn công vào kho lưu trữ PyPI khá rộng rãi và đã ảnh hưởng đến một số thư viện Python phổ biến. Những kẻ tấn công đã tải xuống các biến thể độc hại của các gói như TensorFlow, BeautifulSoup, PyGame, SimpleJson, Matplotlib, PyTorch, CustomTKInter, Selenium, Dramaturgo, Asincio và Yêu cầu. Ngoài ra, đã xác định được các trường hợp giả mạo thư viện như py-cord, colorama, capmonstercloudclient, gối và bip-utils.
Liên quan đến cuộc tấn công vào cộng đồng Top.gg, kẻ tấn công đã xâm phạm tài khoản GitHub của một trong những nhà phát triển, cho phép anh ta đánh cắp cookie trình duyệt và thực hiện các thay đổi độc hại.
Ba gói độc hại đã được thêm vào kho lưu trữ PyPI và các miền giả đã được đăng ký để phân phối các phần phụ thuộc vào các gói độc hại. Thông qua một tài khoản bị tấn công, một thay đổi đã được thực hiện đối với kho lưu trữ GitHub của dự án Top.gg, trong đó tệp require.txt được thêm vào chứa liên kết đến bản sao độc hại của gói “colorama” được lưu trữ trên một miền giả. Mục đích là để lừa các nhà phát triển tải xuống phiên bản độc hại của gói, vì miền giả giống với miền hợp pháp được sử dụng để tải xuống các gói từ PyPI.
Các cuộc tấn công này nêu bật tầm quan trọng của bảo mật trong kho lưu trữ gói và nhu cầu người dùng cũng như nhà phát triển phải cảnh giác trước những nỗ lực có thể xâm phạm bảo mật và tải xuống phần mềm độc hại.
nếu bạn là tôiMuốn tìm hiểu thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết theo dõi.