- Google tổ chức sự kiện bugSWAT theo hình thức red-teaming trước triển khai để tăng cường bảo mật AI, đồng thời tạo cơ hội cho các nhà nghiên cứu kiểm thử kỹ lưỡng các hệ thống AI của hãng
- Nhóm từng nhận giải $50,000 vào năm 2023 lần này tiếp tục phát hiện một lỗ hổng mới của Gemini và giành danh hiệu ‘Most Valuable Hacker(MVH)’
- Nhóm hacker được Google cấp quyền truy cập và tài liệu về tính năng preview của Gemini mới để kiểm thử tính năng dưới góc độ bảo mật
- Khi yêu cầu mã Python bằng một prompt đơn giản, nút “Run in Sandbox” sẽ xuất hiện
- Môi trường sandbox của Gemini là môi trường thực thi Python an toàn, được thiết kế dựa trên gVisor và GRTE của Google
- gVisor là một kernel không gian người dùng do Google phát triển, sử dụng kỹ thuật chặn system call để tăng cường bảo mật
- Môi trường sandbox được cô lập hoàn toàn, nên việc thoát ra ngoài là cực kỳ khó
- Tuy vậy, vẫn có những trường hợp có thể làm rò rỉ dữ liệu từ bên trong sandbox
- Họ phát hiện sandbox có cung cấp thư viện
os, từ đó viết mã Python để khám phá hệ thống tệp
- Phát hiện một tệp nhị phân dung lượng 579MB tại
/usr/bin/entry/entry_point
- Nếu in trực tiếp tệp nhị phân dưới dạng base64 thì sandbox sẽ bị sập, nên họ chia nhỏ để in ra theo từng phần 10MB
- Dùng công cụ tên
Caido để tự động thu thập toàn bộ các chunk và khôi phục lại ở máy cục bộ
- Phân tích bằng các lệnh
file, strings, binwalk cho thấy cấu trúc bên trong và các đường dẫn nội bộ của Google bị lộ ra
- Qua phân tích bằng binwalk, họ tìm thấy thư mục
google3 chứa mã nguồn Python nội bộ
- Trong thư mục
assistant có mã liên quan đến RPC cho phép Gemini tương tác với các dịch vụ của Google như YouTube, Flights...
- Có chứa chuỗi dùng để ngăn việc dump một số script cụ thể, nhưng đội bảo mật Google đã xem xét trước và xác định phần này có thể công khai
Phân tích logic chính của sandbox
- Việc gọi các dịch vụ của Google được triển khai trong một lớp cụ thể viết bằng Python
- Ví dụ:
_set_reader_and_writer, run_tool... giao tiếp với dịch vụ Google thông qua file descriptor
- Bên trong binary có thể tự dựng thông điệp dựa trên protobuf schema và thực hiện gọi công cụ trực tiếp
- Dựa trên bài báo
ReAct, Google triển khai để Gemini tự tạo prompt nhiều lần và lập kế hoạch nhằm giải quyết các bài toán phức tạp
- Ví dụ: khi người dùng hỏi “Giờ bay từ Toronto → New York?”, Gemini sẽ đi qua nhiều bước để chọn công cụ và truy xuất dữ liệu
- Họ thử prompt injection để lợi dụng logic này nhằm khiến hệ thống tạo ra sandbox có đặc quyền cao hơn
- Một số sandbox có thể truy cập các tính năng mở rộng của Google như RPC API
- Các tính năng mở rộng được gọi qua những FD luôn mở, và nếu lạm dụng chúng thì có thể dẫn đến khả năng truy cập hệ thống ở mức cao hơn
- Họ xác nhận rằng trong những điều kiện nhất định, chẳng hạn giai đoạn Gemini đang lập kế hoạch, có thể truy cập sandbox nâng cao
Rò rỉ các tệp proto nhạy cảm
- Các tệp Protocol Buffer (proto) được dùng để định nghĩa dữ liệu giữa các hệ thống và có thể chứa thông tin nhạy cảm về cấu trúc hệ thống
- Sau khi chạy
strings entry_point > stringsoutput.txt, việc tìm chuỗi “Dogfood” đã làm lộ ra nhiều đường dẫn proto nhạy cảm
- Ví dụ:
privacy/data_governance/attributes/proto/classification.proto → tệp định nghĩa cách Google phân loại dữ liệu người dùng
- Lệnh
cat stringsoutput.txt | grep '.proto' | grep 'security' làm lộ danh sách nhiều tệp proto liên quan đến bảo mật nhạy cảm
- Ví dụ:
security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto...
Vì sao những tệp này lại có ở đó?
- Đội bảo mật Google đã phê duyệt trước nội dung được đưa vào binary của sandbox, nhưng pipeline build tự động đã thêm vào các tệp proto bảo mật không cần thiết
- Điều này dẫn đến việc các tệp định nghĩa nội bộ có độ nhạy cảm rất cao bị lộ ra bên ngoài
- Nhóm hacker xem đây là một lỗ hổng vì theo tiêu chuẩn của Google, các tệp này được coi là thông tin nhạy cảm
Kết luận và nhìn lại
- Các hệ thống AI có rất nhiều thành phần tương tác với nhau, nên các vấn đề bảo mật ngoài dự kiến xảy ra khá thường xuyên
- Ngay cả một sandbox cũng có thể giao tiếp với công cụ nội bộ và có quyền thay đổi động, nên cần kiểm thử cực kỳ kỹ lưỡng
- Việc hợp tác với đội bảo mật của Google mang lại nhiều giá trị, và toàn bộ trải nghiệm là một cuộc phiêu lưu đầy thử thách nhưng cũng rất thú vị
1 bình luận
Ý kiến Hacker News
stringscó sẵn để trích ra vài tên tệp từ binary thì khó có thể xem là hacking/cracking