Nguy hiểm chiếm quyền điều khiển Google Vertex AI nghiêm trọng

Các cấu hình mặc định trong dịch vụ Vertex AI của Google Cloud đã được xác định là nguyên nhân tiềm tàng cho phép người dùng có đặc quyền thấp thực hiện chiếm quyền điều khiển thông qua việc lợi dụng các vai trò Service Agent. Phát hiện này làm nổi bật một rủi ro bảo mật nghiêm trọng đối với các môi trường AI đang phát triển.
Các nhà nghiên cứu tại XM Cyber đã chỉ ra hai vector tấn công cụ thể trong Vertex AI Agent Engine và Ray on Vertex AI. Đáng chú ý, Google đã đánh giá những hành vi này là “hoạt động đúng như thiết kế”, ngụ ý rằng đây là một vấn đề về thiết kế mặc định hơn là một lỗ hổng phần mềm truyền thống.
Hiểu rõ về Service Agent trong Google Vertex AI
Service Agents là các định danh được quản lý mà Google Cloud tự động gán cho các phiên bản Vertex AI. Mục đích chính của chúng là thực hiện các hoạt động nội bộ cần thiết cho dịch vụ. Tuy nhiên, theo mặc định, các tài khoản Service Agent này thường được cấp các quyền hạn rộng lớn trên toàn bộ dự án.
Việc cấp quyền rộng như vậy tạo ra một kẽ hở đáng kể. Khi một người dùng có đặc quyền thấp có thể truy cập hoặc thao túng các Service Agent này, họ có thể lợi dụng các quyền hạn cao của Service Agent để thực hiện các hành động vượt ngoài phạm vi đặc quyền ban đầu của mình.
Cơ chế tấn công: Kịch bản Confused Deputy
Kẻ tấn công khai thác lỗ hổng này thông qua các kịch bản confused deputy. Trong kịch bản này, một người dùng có đặc quyền thấp thuyết phục một dịch vụ có đặc quyền cao thực hiện các hành động nhân danh họ, nhưng với các quyền hạn của dịch vụ đó, không phải quyền hạn của người dùng.
Trong trường hợp của Vertex AI, việc truy cập tối thiểu ban đầu có thể dẫn đến remote code execution (RCE) và khả năng đánh cắp thông tin xác thực từ metadata của instance. Đây là những bước quan trọng để đạt được chiếm quyền điều khiển toàn diện trên hệ thống bị ảnh hưởng.
Cả hai vector tấn công được xác định đều có điểm chung: chúng bắt đầu chỉ với các quyền đọc (read-only) nhưng cuối cùng lại cho phép thực hiện các hành động có đặc quyền cao.
Những hành động này bao gồm truy cập vào các dịch vụ nhạy cảm như Cloud Storage (GCS) hoặc BigQuery, nơi chứa dữ liệu quan trọng và có thể bị đọc hoặc sửa đổi.
Vector Tấn công 1: Khai thác Vertex AI Agent Engine
Các nhà phát triển triển khai các tác nhân AI thông qua các framework như Agent Development Kit (ADK) của Google. Quá trình này thường bao gồm việc ‘pickle’ (tuần tự hóa) mã Python và lưu trữ nó trong các GCS buckets.
Điểm yếu nằm ở chỗ kẻ tấn công, nếu có quyền aiplatform.reasoningEngines.update, có thể tải lên mã độc hại. Mã này được ngụy trang dưới dạng một công cụ hợp pháp, ví dụ như một chức năng chuyển đổi tiền tệ chứa một reverse shell.
Khi một truy vấn kích hoạt công cụ này, reverse shell sẽ được thực thi trên instance của reasoning engine. Điều này cho phép kẻ tấn công thiết lập một kênh giao tiếp trực tiếp với hệ thống.
Sau đó, kẻ tấn công truy vấn metadata của instance để lấy token của Reasoning Engine Service Agent. Token này có định dạng điển hình là service-<project>@gcp-sa-aiplatform-re.iam.gserviceaccount.com.
Với token này, kẻ tấn công có được các quyền rộng lớn để truy cập vào memories (bộ nhớ), sessions (phiên làm việc), storage (lưu trữ) và logging (ghi nhật ký). Điều này cho phép chúng đọc các cuộc trò chuyện, dữ liệu từ các mô hình ngôn ngữ lớn (LLM) và nội dung của các GCS buckets. Đặc biệt, các public bucket hoạt động như một khu vực dàn dựng (staging), không yêu cầu quyền lưu trữ cụ thể để bị lợi dụng.
Vector Tấn công 2: Lợi dụng Ray on Vertex AI
Các Ray cluster, được sử dụng cho các khối lượng công việc AI có khả năng mở rộng, tự động gán một Custom Code Service Agent vào node đầu (head node) của cluster. Đây là một cấu hình mặc định có thể bị lạm dụng.
Người dùng có các quyền như aiplatform.persistentResources.list hoặc aiplatform.persistentResources.get, vốn là một phần của vai trò Vertex AI Viewer, có thể truy cập vào liên kết “Head node interactive shell” trong Google Cloud Console.
Đáng báo động là, liên kết này cung cấp quyền truy cập shell ở mức root, bất chấp giới hạn của vai trò viewer. Điều này tạo ra một con đường rõ ràng để đạt được chiếm quyền điều khiển hoàn toàn.
Tương tự như vector tấn công Agent Engine, kẻ tấn công có thể trích xuất token của Service Agent thông qua metadata của instance. Token này cho phép truy cập đọc và ghi vào các dịch vụ như GCS và BigQuery.
Trong các thử nghiệm, một số hành động IAM nhất định như signBlob có thể bị giới hạn phạm vi, nhưng khả năng đọc/ghi dữ liệu vẫn là một rủi ro đáng kể.
Các chỉ số thỏa hiệp (IOCs)
Mặc dù không có danh sách IOC truyền thống (như địa chỉ IP hoặc hàm băm tệp), một chỉ số quan trọng cần theo dõi là sự xuất hiện của các yêu cầu bất thường đến metadata instance để lấy thông tin xác thực Service Agent.
Mẫu định danh Service Agent cần chú ý:
service-<project>@gcp-sa-aiplatform-re.iam.gserviceaccount.com(cho Reasoning Engine Service Agent)- Các hoạt động truy cập hoặc sửa đổi trái phép vào GCS buckets hoặc BigQuery datasets sau khi có hành vi đáng ngờ.
- Thực thi các lệnh shell không mong muốn trên các head node của Ray cluster.
Việc theo dõi chặt chẽ các hành vi này có thể giúp phát hiện sớm các cuộc tấn công nhằm chiếm quyền điều khiển.
Các biện pháp giảm thiểu và phòng ngừa
Để giảm thiểu rủi ro bảo mật từ các cấu hình mặc định này, các tổ chức nên triển khai một số biện pháp chủ động:
1. Thu hồi các quyền không cần thiết
Sử dụng các vai trò tùy chỉnh (custom roles) để thu hồi các quyền không cần thiết từ các Service Agent. Áp dụng nguyên tắc đặc quyền tối thiểu (principle of least privilege) để đảm bảo Service Agent chỉ có các quyền cần thiết để thực hiện chức năng của chúng, không hơn.
2. Vô hiệu hóa shell trên Head Node
Vô hiệu hóa quyền truy cập shell trên các head node của Ray cluster nếu không cần thiết. Điều này loại bỏ một trong những con đường chính để kẻ tấn công có được quyền truy cập root và thực hiện remote code execution.
3. Xác thực mã công cụ
Luôn xác thực kỹ lưỡng mã nguồn của các công cụ và tác nhân trước khi cập nhật chúng vào Vertex AI Agent Engine. Thực hiện phân tích mã tĩnh và động để phát hiện mã độc hoặc chức năng không mong muốn.
4. Giám sát truy cập Metadata
Triển khai giám sát chặt chẽ các hoạt động truy cập metadata của instance. Các công cụ như Agent Engine Threat Detection trong Google Security Command Center có thể được cấu hình để gắn cờ các sự kiện đáng ngờ, bao gồm RCE và hành vi đánh cắp token.
Đặc biệt chú ý đến các yêu cầu truy xuất token xác thực từ metadata service.
5. Kiểm toán tài nguyên thường xuyên
Thực hiện kiểm toán định kỳ đối với các tài nguyên liên tục (persistent resources) và các reasoning engine đang hoạt động trong môi trường Vertex AI. Phát hiện của XM Cyber nhấn mạnh rằng các doanh nghiệp áp dụng Vertex AI cần phải xem những cấu hình mặc định này là những rủi ro bảo mật tiềm tàng, chứ không phải là các tính năng được tin cậy.
Bằng cách chủ động thực hiện các biện pháp này, các tổ chức có thể giảm thiểu đáng kể nguy cơ bị chiếm quyền điều khiển và bảo vệ dữ liệu nhạy cảm của mình trong môi trường điện toán đám mây AI.







