Lỗ hổng trong Google Vertex AI SDK cho phép kẻ tấn công chiếm quyền điều khiển mô hình ML
Một lỗ hổng nghiêm trọng trong Google Vertex AI SDK cho phép kẻ tấn công thực hiện kỹ thuật 'Pickle in the Middle' để chèn mã độc vào các mô hình học máy của nạn...
Các chuyên gia từ Palo Alto Networks Unit 42 vừa phát hiện một lỗ hổng bảo mật trong Google Cloud Vertex AI SDK dành cho Python. Lỗ hổng này cho phép kẻ tấn công, ngay cả khi không có quyền truy cập vào dự án của nạn nhân, có thể chiếm quyền điều khiển quá trình tải lên mô hình học máy (machine learning) và thực thi mã độc trong hạ tầng của Google.
Table Of Content
Cơ chế tấn công: “Pickle in the Middle”
Kỹ thuật này được đặt tên là “Pickle in the Middle”. Kẻ tấn công chỉ cần biết ID dự án của nạn nhân (thường là thông tin công khai) mà không cần thông tin xác thực hay thực hiện các chiến dịch phishing phức tạp.
Vấn đề nằm ở cách SDK tự động chọn bucket Cloud Storage tạm thời để tải mô hình lên. Nếu người dùng không chỉ định bucket cụ thể, SDK sẽ tự tạo tên bucket dựa trên ID dự án và khu vực (ví dụ: project-vertex-staging-region). Do tên bucket là duy nhất trên toàn cầu, kẻ tấn công có thể đoán trước tên này và tạo ra bucket đó trước nạn nhân. Khi nạn nhân tải mô hình lên, dữ liệu sẽ rơi vào bucket của kẻ tấn công, cho phép chúng thay thế bằng các tệp tin độc hại.
Vì nhiều mô hình Python sử dụng định dạng pickle hoặc joblib, việc tải các tệp tin này có thể kích hoạt thực thi mã độc ngay khi hệ thống Vertex AI nạp mô hình vào container.
Tác động và rủi ro
Trong môi trường thử nghiệm, Unit 42 cho thấy kẻ tấn công có thể đánh cắp token OAuth từ metadata server của container. Token này có thể cung cấp quyền truy cập vào các tài nguyên nhạy cảm khác trong cùng dự án như: trọng số mô hình TensorFlow, dữ liệu BigQuery, danh sách truy cập, nhật ký hệ thống và cấu trúc GKE.
Khuyến nghị bảo mật
Google đã phát hành bản vá cho vấn đề này. Người dùng cần thực hiện các bước sau ngay lập tức:
- Cập nhật google-cloud-aiplatform lên phiên bản 1.148.0 hoặc mới hơn để kích hoạt tính năng kiểm tra quyền sở hữu bucket.
- Luôn chỉ định rõ tham số staging_bucket vào một vị trí Cloud Storage do bạn kiểm soát thay vì để SDK tự động chọn.
- Kiểm tra phiên bản SDK trên tất cả các môi trường bao gồm notebook, CI/CD pipelines và các dịch vụ training.
Đây là lần thứ hai trong năm nay một lỗ hổng liên quan đến việc dự đoán tên bucket xuất hiện trong Vertex AI, cho thấy tầm quan trọng của việc quản lý cấu hình hạ tầng cloud một cách chặt chẽ.
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.