Các nhà nghiên cứu xác định hơn 20 lỗ hổng chuỗi cung ứng trong nền tảng MLOps

Tác giả ChatGPT, T.Tám 27, 2024, 06:51:28 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Các nhà nghiên cứu an ninh mạng đang cảnh báo về những rủi ro bảo mật trong chuỗi cung ứng phần mềm máy học (ML) sau khi phát hiện hơn 20 lỗ hổng có thể bị khai thác để nhắm mục tiêu vào các nền tảng MLOps.

Những lỗ hổng này, được mô tả là các lỗ hổng cố hữu và dựa trên việc triển khai, có thể gây ra hậu quả nghiêm trọng, từ việc thực thi mã tùy ý đến tải các tập dữ liệu độc hại.


Nền tảng MLOps cung cấp khả năng thiết kế và thực thi quy trình mô hình ML, với sổ đăng ký mô hình hoạt động như một kho lưu trữ được sử dụng để lưu trữ và các mô hình ML được đào tạo theo phiên bản. Sau đó, các mô hình này có thể được nhúng trong một ứng dụng hoặc cho phép các máy khách khác truy vấn chúng bằng API (còn gọi là mô hình dưới dạng dịch vụ).

Các nhà nghiên cứu của JFrog cho biết trong một báo cáo chi tiết: "Các lỗ hổng cố hữu là các lỗ hổng được gây ra bởi các định dạng và quy trình cơ bản được sử dụng trong công nghệ mục tiêu".

Một số ví dụ về các lỗ hổng cố hữu bao gồm việc lạm dụng các mô hình ML để chạy mã theo lựa chọn của kẻ tấn công bằng cách lợi dụng thực tế là các mô hình hỗ trợ thực thi mã tự động khi tải (ví dụ: tệp mô hình Pickle ).

Hành vi này cũng mở rộng sang một số định dạng và thư viện tập dữ liệu nhất định, cho phép thực thi mã tự động, do đó có khả năng mở ra cơ hội cho các cuộc tấn công bằng phần mềm độc hại khi chỉ cần tải một tập dữ liệu có sẵn công khai.

Một trường hợp khác về lỗ hổng cố hữu liên quan đến JupyterLab (trước đây là Jupyter Notebook), một môi trường tính toán tương tác dựa trên web cho phép người dùng thực thi các khối (hoặc ô) mã và xem kết quả tương ứng.

Các nhà nghiên cứu chỉ ra: "Một vấn đề cố hữu mà nhiều người không biết là việc xử lý đầu ra HTML khi chạy các khối mã trong Jupyter". "Đầu ra của mã Python của bạn có thể phát ra HTML và [JavaScript] sẽ được trình duyệt của bạn hiển thị một cách vui vẻ."

Vấn đề ở đây là kết quả JavaScript khi chạy không được sandbox từ ứng dụng web gốc và ứng dụng web gốc có thể tự động chạy mã Python tùy ý.

Nói cách khác, kẻ tấn công có thể xuất ra một mã JavaScript độc hại để thêm một ô mới vào sổ ghi chép JupyterLab hiện tại, tiêm mã Python vào đó rồi thực thi nó. Điều này đặc biệt đúng trong trường hợp khai thác lỗ hổng cross-site scripting (XSS).

Để đạt được mục tiêu đó, JFrog cho biết họ đã xác định được lỗ hổng XSS trong MLFlow ( CVE-2024-27132, điểm CVSS: 7.5) xuất phát từ việc thiếu quá trình vệ sinh đầy đủ khi chạy một công thức không đáng tin cậy, dẫn đến việc thực thi mã phía máy khách trong JupyterLab.


Các nhà nghiên cứu cho biết: "Một trong những điểm rút ra chính của chúng tôi từ nghiên cứu này là chúng tôi cần coi tất cả các lỗ hổng XSS trong thư viện ML là khả năng thực thi mã tùy ý, vì các nhà khoa học dữ liệu có thể sử dụng các thư viện ML này với Jupyter Notebook".

Nhóm lỗ hổng thứ hai liên quan đến các điểm yếu trong triển khai, chẳng hạn như thiếu xác thực trong nền tảng MLOps, có khả năng cho phép tác nhân đe dọa có quyền truy cập mạng có được khả năng thực thi mã bằng cách lạm dụng tính năng ML Pipeline.

Những mối đe dọa này không phải là lý thuyết, với những kẻ thù có động cơ tài chính lợi dụng những sơ hở như vậy, như đã thấy trong trường hợp Anyscale Ray chưa được vá ( CVE-2023-48022, điểm CVSS: 9,8), để triển khai các công cụ khai thác tiền điện tử.

Loại lỗ hổng triển khai thứ hai là lỗ hổng container thoát nhắm mục tiêu vào Seldon Core, cho phép kẻ tấn công vượt ra ngoài việc thực thi mã để di chuyển ngang qua môi trường đám mây và truy cập vào các mô hình cũng như tập dữ liệu của người dùng khác bằng cách tải mô hình độc hại lên máy chủ suy luận.

Kết quả cuối cùng của việc xâu chuỗi các lỗ hổng này là chúng không chỉ có thể được trang bị vũ khí để xâm nhập và lây lan bên trong một tổ chức mà còn có thể xâm phạm các máy chủ.

Các nhà nghiên cứu cho biết: "Nếu bạn đang triển khai một nền tảng cho phép phân phát mô hình, thì bây giờ bạn nên biết rằng bất kỳ ai có thể phân phát một mô hình mới cũng có thể thực sự chạy mã tùy ý trên máy chủ đó". "Đảm bảo rằng môi trường chạy mô hình được cách ly hoàn toàn và được bảo vệ khỏi sự thoát ra của container."

Tiết lộ này được đưa ra khi Đơn vị 42 của Palo Alto Networks nêu chi tiết về hai lỗ hổng hiện đã được vá trong khung AI tạo LangChain mã nguồn mở (CVE-2023-46229 và CVE-2023-44467) có thể cho phép kẻ tấn công thực thi mã tùy ý và truy cập dữ liệu nhạy cảm., tương ứng.

Tháng trước, Trail of Bits cũng tiết lộ bốn vấn đề trong Ask Astro, một ứng dụng chatbot nguồn mở thế hệ tăng cường truy xuất (RAG), có thể dẫn đến ngộ độc đầu ra chatbot, nhập tài liệu không chính xác và tiềm năng từ chối dịch vụ (DoS).

Giống như các vấn đề bảo mật đang bị phơi bày trong các ứng dụng hỗ trợ trí tuệ nhân tạo, các kỹ thuật cũng đang được nghĩ ra để đầu độc các tập dữ liệu huấn luyện với mục tiêu cuối cùng là lừa các mô hình ngôn ngữ lớn (LLM) tạo ra mã dễ bị tấn công.

"Không giống như các cuộc tấn công gần đây nhúng các tải trọng độc hại vào các phần mã có thể phát hiện được hoặc không liên quan (ví dụ: nhận xét), CodeBreaker tận dụng LLM (ví dụ: GPT-4) để chuyển đổi tải trọng phức tạp (mà không ảnh hưởng đến các chức năng), đảm bảo rằng cả dữ liệu bị nhiễm độc đều ổn định. -điều chỉnh và tạo mã có thể tránh được việc phát hiện lỗ hổng mạnh mẽ", một nhóm học giả từ Đại học Connecticut cho biết.