- Có thể tấn công các hệ thống AI trong môi trường production bằng cách khai thác lỗ hổng thay đổi kích thước hình ảnh
- Một hình ảnh trông có vẻ bình thường có thể biến thành payload prompt injection khi bị downscale, dẫn tới nguy cơ rò rỉ dữ liệu
- Cuộc tấn công này đã được xác nhận trên nhiều dịch vụ thực tế như Google Gemini CLI, khai thác sự không khớp giữa nhận thức của người dùng và đầu vào mà mô hình thực sự nhận được
- Tùy theo thuật toán downscale và cách triển khai cụ thể, kỹ thuật tấn công và mức độ ảnh hưởng sẽ khác nhau; có thể thử nghiệm tấn công hình ảnh bằng công cụ mã nguồn mở Anamorpher
- Các biện pháp phòng thủ được khuyến nghị gồm cung cấp bản xem trước đầu vào, áp dụng các mẫu thiết kế an toàn và yêu cầu sự phê duyệt rõ ràng từ người dùng
Bối cảnh và vấn đề đặt ra
- Khi đưa một hình ảnh trông bình thường vào hệ thống AI như LLM, có thể xảy ra kịch bản tấn công trong đó prompt injection đa phương thức ẩn bên trong được kích hoạt ở quá trình downscale, làm rò rỉ dữ liệu người dùng ra bên ngoài
- Lỗ hổng này tồn tại vì hình ảnh thực sự được truyền vào mô hình sẽ phải đi qua quá trình scale lại, và chính trong quá trình đó payload do kẻ tấn công chèn vào mới lộ ra
Tấn công thay đổi kích thước hình ảnh nhắm vào hệ thống AI production
- Bài viết blog này trình diễn việc lỗ hổng thay đổi kích thước hình ảnh có thể bị khai thác trong các cuộc tấn công thực tế nhắm vào nhiều sản phẩm AI như Gemini CLI, Vertex AI Studio, Gemini web và API, Google Assistant, Genspark
- Công cụ mã nguồn mở Anamorpher cho phép dễ dàng tạo và kiểm chứng các hình ảnh được tùy biến kiểu này
Ví dụ tấn công rò rỉ dữ liệu (Gemini CLI)
- Trong Gemini CLI, với cấu hình mặc định, máy chủ Zapier MCP sẽ tự động phê duyệt mọi lời gọi công cụ MCP mà không cần người dùng xác nhận (
settings.json với thiết lập trust=True)
- Khi người dùng tải lên một hình ảnh trông bình thường, prompt injection trong hình ảnh đã bị downscale sẽ khiến dữ liệu trong Google Calendar bị rò rỉ tới email của kẻ tấn công
- Vì không có bản xem trước thực tế nên người dùng không thể biết kết quả đã bị biến đổi hay có đang bị tấn công hay không
- Các cuộc tấn công prompt injection tương tự cũng đã được xác nhận trước đó trong nhiều công cụ lập trình dạng agent như Claude Code, OpenAI Codex
- Các công cụ này thường có sẵn nhiều cấu hình và mẫu hệ thống không an toàn theo mặc định, nên cần các biện pháp khắc phục ở mức nền tảng
Các ví dụ tấn công bổ sung
- Các cuộc tấn công prompt injection dựa trên thay đổi kích thước hình ảnh cũng đã thành công trên Vertex AI, giao diện web Gemini, Gemini API, Google Assistant, Genspark
- Đặc biệt trong Vertex AI Studio, người dùng chỉ có thể kiểm tra hình ảnh độ phân giải cao nên không thể thấy hình ảnh đã downscale mà mô hình thực sự nhận vào
- Kết quả là sự không khớp giữa những gì người dùng thấy và đầu vào thực tế của mô hình đã khiến việc tấn công trở nên dễ dàng
- Vector tấn công này phân bố rộng trên nhiều hệ thống và công cụ khác nhau
Cơ chế bên trong của tấn công thay đổi kích thước hình ảnh
- Cuộc tấn công này khai thác đặc tính nội suy của các thuật toán downscale hình ảnh (resampling)
- Các thuật toán downscale tiêu biểu gồm Nearest Neighbor, Bilinear, Bicubic Interpolation, và mỗi loại đòi hỏi kỹ thuật tấn công phù hợp với đặc tính riêng
- Giữa các thư viện như Pillow, PyTorch, OpenCV, TensorFlow cũng tồn tại khác biệt trong cách triển khai như anti-aliasing, căn chỉnh, lỗi nội bộ
- Để tối ưu hóa tấn công, kẻ tấn công cần thực hiện fingerprinting để xác định hệ thống đang dùng thuật toán và cách triển khai nào
- Các hình ảnh kiểm thử như họa tiết bàn cờ, vòng tròn đồng tâm, banded pattern, Moiré, cạnh nghiêng... được dùng để phân tích đặc tính thuật toán và các artifact
Nguyên lý lấy mẫu hình ảnh và định lý Nyquist–Shannon
- Khi một dải có các hoa văn tinh vi được lấy mẫu theo khoảng cách cố định, nếu tốc độ lấy mẫu quá thấp thì mẫu gốc sẽ không được khôi phục chính xác mà bị méo
- Đây là hiệu ứng aliasing được mô tả trong định lý lấy mẫu Nyquist–Shannon; kẻ tấn công lợi dụng điều này để điều khiển pixel sao cho sau khi downscale sẽ xuất hiện một mẫu cụ thể
Anamorpher: công cụ tạo hình ảnh tấn công
- Anamorpher là công cụ mã nguồn mở có thể tạo và trực quan hóa hình ảnh tấn công theo các thuật toán downscale tiêu biểu như Nearest Neighbor, Bilinear, Bicubic
- Ví dụ, với Bicubic Interpolation, giá trị của một pixel đầu ra được quyết định bằng cách gán trọng số cho các pixel xung quanh dựa trên 16 pixel của vùng 4x4
- Kẻ tấn công có thể chọn hình ảnh có độ tương phản cao (ví dụ nền đen đậm), rồi tối ưu độ sáng của các pixel có tầm quan trọng cao bằng phương pháp bình phương tối thiểu để kết quả downscale trở thành một mẫu tấn công rõ nét
- Anamorpher cung cấp giao diện frontend và Python API, đồng thời nhờ backend được mô-đun hóa nên người dùng còn có thể thử nghiệm cả thuật toán downscale tùy chỉnh
Phòng thủ và phương án ứng phó
- Cách an toàn nhất là không dùng downscale hình ảnh và thay vào đó giới hạn kích thước hình ảnh được phép tải lên
- Nếu việc chuyển đổi và downscale là không thể tránh khỏi, thì bắt buộc phải cung cấp bản xem trước của chính hình ảnh đầu vào mà mô hình thực sự nhận được trên mọi kênh nhập liệu như CLI và API
- Đặc biệt, cần buộc phải có sự chấp thuận rõ ràng của người dùng để văn bản trong hình ảnh không thể kích hoạt các lời gọi công cụ nhạy cảm, đồng thời toàn hệ thống phải áp dụng các mẫu thiết kế an toàn và biện pháp ứng phó có hệ thống
Việc cần làm tiếp theo
- Trên thiết bị di động và edge device, rủi ro có thể còn lớn hơn vì chúng thường bị ràng buộc bởi kích thước hình ảnh cố định và sử dụng các thuật toán downscale kém hiệu quả với tỷ lệ cao
- Cần có thêm nghiên cứu và biện pháp phòng thủ tiếp theo cho các hướng như kết hợp với AI giọng nói, thuật toán tinh vi hơn và phương pháp phát hiện injection, prompt injection dựa trên ngữ nghĩa, khai thác artifact của upscale
Kết luận
- Anamorpher hiện đang ở giai đoạn beta
- Trong tương lai, cùng với nghiên cứu bảo mật cho các hệ thống AI đa phương thức và dạng agent, bài viết kỳ vọng sẽ nhận được phản hồi phù hợp và các đề xuất cải tiến
Chưa có bình luận nào.