Các chuyên gia bảo mật không nên xem nhẹ các cuộc tấn công “prompt injection” (tạm dịch: tiêm lệnh) giống như cách họ đối phó với SQL injection (một kiểu tấn công vào cơ sở dữ liệu). Đó là lời cảnh báo từ Trung tâm An ninh Mạng Quốc gia (NCSC).
Trong một bài viết, NCSC nhấn mạnh rằng chúng ta có thể không bao giờ loại bỏ hoàn toàn được nguy cơ từ prompt injection. Thay vì cố gắng làm điều bất khả thi, David C., Giám đốc kỹ thuật nghiên cứu nền tảng của NCSC, khuyến khích các tổ chức nên tập trung nguồn lực để giảm thiểu tác động của nó.
Ông giải thích rằng, dữ liệu thường được lưu trữ hoặc sử dụng trong truy vấn. Tương tự, trong tấn công XSS (cross-site scripting) và tràn bộ đệm (buffer overflows), dữ liệu và lệnh có sự khác biệt vốn có trong cách chúng được xử lý. Việc giảm thiểu những vấn đề đó đòi hỏi phải thực thi sự tách biệt giữa dữ liệu và lệnh.
Tuy nhiên, bên trong các mô hình ngôn ngữ lớn (LLM), không có sự phân biệt rõ ràng giữa dữ liệu và lệnh. LLM đơn giản chỉ dự đoán đơn vị (token) tiếp theo có khả năng xuất hiện nhất dựa trên văn bản đã có.
Do không có sự khác biệt cơ bản giữa dữ liệu và lệnh, các cuộc tấn công prompt injection có thể không bao giờ được giảm thiểu hoàn toàn như cách mà chúng ta đã làm với các cuộc tấn công SQL injection.
Diana Kelley, Giám đốc An ninh Thông tin (CISO) tại Noma Security, đồng tình với quan điểm này. Bà cho rằng việc coi prompt injection tương tự như SQL injection có thể khiến các tổ chức gặp nguy hiểm.
Một đặc điểm cơ bản khác của hệ thống LLM khiến các cuộc tấn công này trở nên khả thi là nội dung bên trong tài liệu không nhất thiết chỉ được coi là dữ liệu đơn thuần. Tùy thuộc vào cách ứng dụng xây dựng prompt (lời nhắc) và quy trình truy xuất thông tin, LLM có thể diễn giải nội dung đó như một đoạn mã lệnh để thực thi. Mô hình không có cơ chế đáng tin cậy nào để xác định liệu một chuỗi token (đơn vị) là vô hại hay độc hại.
Kelley chỉ ra lỗ hổng GeminiJack mới được phát hiện gần đây như một ví dụ điển hình về mối đe dọa prompt injection. Nó cho thấy cách nội dung độc hại ẩn trong một tài liệu được chia sẻ có thể tự động thực thi khi nhân viên tìm kiếm thông tin, dẫn đến việc bí mật đánh cắp dữ liệu.
Erez Schwartz, kỹ sư nghiên cứu tại Oasis Security, cho rằng cảnh báo của NCSC cho thấy những hệ lụy lớn hơn khi thế giới ngày càng phụ thuộc vào AI. Ông nhấn mạnh sự cần thiết của việc thực thi nguyên tắc “ít đặc quyền nhất” (least privileged access) cho các tác nhân AI để giảm thiểu các cuộc tấn công prompt injection.
Jason Soroko, thành viên cấp cao tại Sectigo, cho biết prompt injection đã là một trong những rủi ro hàng đầu đối với các ứng dụng LLM theo đánh giá của OWASP. NCSC cảnh báo rằng vấn đề này có thể không bao giờ được giải quyết hoàn toàn mà chỉ có thể được quản lý, vì kiến trúc dự đoán token tiếp theo coi tất cả ngữ cảnh là tương đương và có thể diễn giải lại vô tận.
Soroko nói thêm rằng vấn đề không chỉ giới hạn ở các “vượt ngục” (jailbreaks) quen thuộc như “bỏ qua các hướng dẫn trước đó”. Nguy hiểm thực sự xuất hiện khi các mô hình được kết nối với các công cụ, dòng tiền, cơ sở mã hoặc kho dữ liệu riêng tư. Khi đó, các injection gián tiếp trong các trang web, tài liệu, email, metadata hoặc thậm chí văn bản trong ảnh có thể chiếm quyền điều khiển các tác nhân tự động và bí mật đánh cắp thông tin hoặc kích hoạt các hành động nguy hiểm mà không ai phát hiện ra prompt độc hại.
Trey Ford, Giám đốc chiến lược và ủy thác tại Bugcrowd, nhận định đây chỉ là khởi đầu. Ông dự đoán chúng ta sẽ thấy nhiều hơn các kiểu tấn công “promptware” (phần mềm khai thác prompt), từ việc chèn prompt vào hồ sơ LinkedIn để phá hoại các hoạt động tiếp thị và bán hàng, đến việc cài cắm mã độc vào lời mời trên lịch.
Ford giải thích rằng các chuyên gia bảo mật đang phải đối mặt với một thách thức lớn vì các dịch vụ AI hoạt động trong ngữ cảnh của người dùng và coi các đầu vào là prompt do người dùng cung cấp. Việc phát hiện và ứng phó đòi hỏi mức độ cảnh giác cao, vì tất cả các hành động được thực hiện đều có vẻ bình thường và hợp lệ. Tốc độ của các truy vấn có thể là một điểm khởi đầu để phát hiện, nhưng kẻ tấn công có thể dễ dàng vượt qua vấn đề này.
Damon Small, thành viên hội đồng quản trị tại Xcape, Inc., ủng hộ lời khuyên của NCSC về việc áp dụng chiến lược giảm thiểu rủi ro, coi LLM là vốn dĩ dễ bị tấn công và cần được bảo vệ từ bên ngoài. Điều đó có nghĩa là hạn chế quyền truy cập của mô hình, yêu cầu con người xem xét các hành động quan trọng và theo dõi tỉ mỉ các lệnh gọi API để ngăn chặn các prompt độc hại gây ra thiệt hại đáng kể.
NCSC lưu ý rằng các nỗ lực giảm thiểu prompt injection là một lĩnh vực nghiên cứu sôi động. Các phương pháp tiếp cận bao gồm phát hiện các nỗ lực prompt injection, đào tạo các mô hình để ưu tiên “hướng dẫn” hơn bất cứ thứ gì trong “dữ liệu” trông giống như một hướng dẫn và làm nổi bật cho mô hình những gì là “dữ liệu”.
Cơ quan này khuyên các chuyên gia bảo mật nên tạo ra một thiết kế an toàn, gây khó khăn hơn cho LLM trong việc thực hiện các hướng dẫn có trong dữ liệu và giám sát hệ thống.
Daniel Koch, Phó chủ tịch R&D tại Oasis Security, cho rằng nên tiếp cận prompt injection giống như cách chúng ta xử lý các rủi ro không thể giảm thiểu hoặc chỉ giảm thiểu một phần. Điều đó bao gồm:
- Xây dựng kiến trúc để ngăn chặn thay vì cố gắng ngăn chặn hoàn hảo. Không chỉ dựa vào LLM để thực thi các ranh giới bảo mật. Thay vào đó, hãy kết hợp các thành phần LLM với các biện pháp kiểm soát bảo mật truyền thống như xác thực danh tính, ủy quyền, thực thi chính sách và ngăn ngừa mất mát dữ liệu.
- Giả định rằng các hướng dẫn của mô hình có thể bị ghi đè. Thiết kế quy trình làm việc sao cho ngay cả khi một cuộc tấn công prompt injection thành công, phạm vi ảnh hưởng cũng bị giới hạn bởi các biện pháp bảo vệ bên ngoài.
- Tăng độ khó của việc lạm dụng. Sử dụng các prompt có cấu trúc, phân tách rõ ràng đầu vào của người dùng và thiết kế giao diện người dùng một cách chu đáo. Điều này sẽ không loại bỏ hoàn toàn các cuộc tấn công, nhưng sẽ giảm khả năng xảy ra của chúng.
- Giám sát liên tục. Vì việc ngăn chặn là không hoàn hảo, nên việc phát hiện và ghi nhật ký là rất quan trọng để phát hiện sớm các hành vi thao túng.
Kelley cho rằng, vì LLM vốn dĩ là những “ủy viên có thể gây nhầm lẫn”, các tổ chức phải có các chiến lược bảo vệ chuyên sâu được thiết kế đặc biệt cho các hệ thống phi tất định, với các biện pháp bảo vệ phù hợp để hạn chế những gì các tác nhân AI có thể truy cập và giám sát liên tục các hành vi đáng ngờ. Bà nhấn mạnh rằng sau các lỗ hổng ForcedLeak và GeminiJack, một điều đã trở nên rõ ràng: nếu không có các biện pháp kiểm soát phù hợp, mức độ phơi nhiễm AI của doanh nghiệp sẽ chỉ tăng lên.
Small kết luận rằng, vì sự nhầm lẫn đó không thể khắc phục được, nên cách phòng thủ khả thi duy nhất là ngừng coi AI như một vị thần toàn năng và bắt đầu coi nó như một nhân viên cấp cao với những sai sót đã biết và nguy hiểm.
Giải thích thuật ngữ:
- SQL injection: Một kỹ thuật tấn công bằng cách chèn các câu lệnh SQL độc hại vào các truy vấn cơ sở dữ liệu, cho phép kẻ tấn công truy cập, sửa đổi hoặc xóa dữ liệu trái phép.
- Cross-site scripting (XSS): Một loại lỗ hổng bảo mật web cho phép kẻ tấn công chèn các đoạn mã độc hại vào các trang web mà người dùng khác xem, từ đó đánh cắp thông tin hoặc thực hiện các hành động thay mặt người dùng.
- Buffer overflow (Tràn bộ đệm): Một lỗi xảy ra khi một chương trình ghi dữ liệu vượt quá giới hạn của bộ đệm được cấp phát, có thể dẫn đến việc ghi đè lên các vùng nhớ khác và gây ra sự cố hoặc bị khai thác để thực thi mã độc.
- LLM (Large Language Model): Mô hình ngôn ngữ lớn, một loại mô hình AI được đào tạo trên lượng lớn dữ liệu văn bản để hiểu và tạo ra ngôn ngữ tự nhiên.
- Token: Một đơn vị cơ bản trong xử lý ngôn ngữ tự nhiên, có thể là một từ, một phần của từ hoặc một ký tự.
- OWASP (Open Web Application Security Project): Một tổ chức phi lợi nhuận chuyên về an ninh ứng dụng web, nổi tiếng với danh sách “Top 10” các rủi ro bảo mật web phổ biến nhất.
- Prompt injection: Một kỹ thuật tấn công vào các LLM bằng cách chèn các prompt độc hại để thao túng hành vi của mô hình, khiến nó thực hiện các hành động không mong muốn hoặc tiết lộ thông tin nhạy cảm.
- Least privileged access: Nguyên tắc cấp cho người dùng hoặc hệ thống quyền truy cập tối thiểu cần thiết để thực hiện nhiệm vụ của họ, nhằm giảm thiểu rủi ro bảo mật.