Skip to main content

Command Palette

Search for a command to run...

Trust No AI: Prompt Injection Along the CIA Security Triad - Part 2

Updated
25 min read
Trust No AI: Prompt Injection Along the CIA Security Triad - Part 2

Tính toàn vẹn là một thuộc tính khá thú vị khi nói đến các ứng dụng LLM (Large Language Model) và chatbot. Bởi vì kết quả suy luận trên dữ liệu thường là không xác định (non-deterministic). Sản phẩm sáng tạo trong các mô hình này thường được gọi là "ảo giác" (hallucinations) và nó cũng được coi là một tính năng cốt lõi của các mô hình LLM như Andrej Karpathy đã chỉ ra.

Sự phức tạp của tính toàn vẹn trong LLMs:

Trong bối cảnh LLM và chatbot, tính toàn vẹn không chỉ đơn giản là việc bảo vệ dữ liệu khỏi các thay đổi không hợp lệ, mà còn phải đối mặt với những thách thức đặc biệt do tính phi quyết định của kết quả suy luận. Các mô hình LLM có thể tạo ra những phản hồi sáng tạo hoặc đôi khi là phản hồi sai lệch, được gọi là "ảo giác". Điều này có thể dẫn đến việc thông tin bị thay đổi hoặc sai lệch một cách không mong muốn, nhưng lại không phải là một sự thay đổi cố ý hay không hợp lệ từ người sử dụng.

Vấn đề với “ảo giác” (Hallucinations):

  • Ảo giác trong LLMs: Đây là khi một mô hình ngôn ngữ tạo ra thông tin không có thật hoặc không chính xác, nhưng trông có vẻ hợp lý hoặc đáng tin cậy đối với người dùng.

  • Ảo giác và tính toàn vẹn: Mặc dù các ảo giác này không phải là thay đổi cố ý, nhưng chúng có thể làm sai lệch thông tin mà người dùng nhận được, và nếu không được kiểm soát đúng mức, chúng có thể ảnh hưởng tiêu cực đến tính toàn vẹn của kết quả cuối cùng.

Từ góc độ trải nghiệm người dùngbảo mật, hướng dẫn chung là không tin cậy hoàn toàn vào kết quả từ các ứng dụng LLM (Large Language Models). Với tính chất kết quả không xác định và không cố định của LLM, việc tiếp cận kết quả một cách cẩn trọng là rất quan trọng.

Các lỗ hổng được EmbraceThered cung cấp

EmbraceThered.com đã chỉ ra một số lỗ hổng liên quan đến bảo mật và độ tin cậy của các ứng dụng LLM. Dưới đây là một số ví dụ về các exploit này:

  1. Khai thác Liên kết:
    Trong một số tình huống, LLM tạo ra các liên kết trong phản hồi mà, nếu người dùng nhấp vào, có thể dẫn đến các trang web độc hại. Những trang này có thể cố gắng khai thác các lỗ hổng trong trình duyệt của người dùng hoặc truyền tải các payload độc hại.

    • Khai thác: Một prompt được thiết kế tinh vi có thể khiến LLM bao gồm một liên kết độc hại trong phản hồi của nó, đánh lừa người dùng nhấp vào đó.

    • Biện pháp phòng ngừa: Hạn chế khả năng của LLM trong việc tạo ra URL hoặc kích hoạt các bộ lọc nội dung nghiêm ngặt để chặn các miền độc hại đã biết.

  2. Tấn công Tiêm (Injection) Qua Lịch Sử Trò Chuyện:
    Kẻ tấn công có thể sử dụng tấn công tiêm để thao túng LLM bằng cách chèn các lệnh hoặc chỉ thị độc hại vào lịch sử trò chuyện. Điều này có thể khiến mô hình hoạt động theo cách không mong muốn, chẳng hạn như thực hiện các hành động trái phép hoặc rò rỉ dữ liệu nhạy cảm.

    • Khai thác: Tiêm các lệnh vào cuộc trò chuyện mà LLM hiểu như là các chỉ dẫn, dẫn đến các hành động không mong muốn như rò rỉ dữ liệu.

    • Biện pháp phòng ngừa: Xử lý đầu vào mạnh mẽ, xác minh và theo dõi hành vi bất thường trong lịch sử trò chuyện có thể giúp ngăn chặn các cuộc tấn công này.

  3. Kỹ thuật Xã Hội Thông Qua "Ảo Giác":
    Do LLM có xu hướng tạo ra "ảo giác" (thông tin sai lệch hoặc bịa đặt), kẻ tấn công có thể thao túng kết quả để tạo ra những thông tin sai lệch nhưng lại rất thuyết phục. Những kết quả này có thể được sử dụng trong các cuộc tấn công kỹ thuật xã hội, nơi kẻ tấn công lừa người dùng thực hiện các hành động có hại.

    • Khai thác: Kẻ tấn công có thể yêu cầu LLM tạo ra các phản hồi sai lệch mà trông có vẻ hợp lý, từ đó lừa dối người dùng cung cấp thông tin nhạy cảm.

    • Biện pháp phòng ngừa: Triển khai các ngưỡng tự tin đối với các kết quả do LLM tạo ra và yêu cầu xác minh người dùng đối với các hành động quan trọng có thể giảm thiểu tác động của

  4. Cross-Site Scripting (XSS) Thông Qua Nội Dung Động:
    Kẻ tấn công cũng có thể tiêm các script độc hại vào đầu ra của LLM, mà khi được hiển thị trên trang web, có thể thực hiện các tấn công XSS. Điều này đặc biệt nguy hiểm nếu chatbot hoặc hệ thống AI có thể tương tác trực tiếp với trang web và đầu vào người dùng.

    • Khai thác: LLM có thể xuất ra HTML hoặc JavaScript và khi nó được thực thi trong trình duyệt người dùng, có thể đánh cắp cookie, mã thông báo phiên hoặc thực hiện các hành động trái phép.

    • Biện pháp phòng ngừa: Lọc đầu ra nghiêm ngặt để loại bỏ HTML hoặc JavaScript độc hại, kết hợp với chính sách bảo mật nội dung (CSP) để ngăn chặn các cuộc tấn công như vậy.

  5. Rò Rỉ Dữ Liệu Qua Mã Hóa URL:
    Bằng cách nhúng dữ liệu nhạy cảm vào URL hoặc liên kết mã hóa, kẻ tấn công có thể sử dụng LLMs để gián tiếp rò rỉ dữ liệu. LLM có thể vô tình đính kèm thông tin nhạy cảm vào một URL và gửi nó đến máy chủ của kẻ tấn công.

    • Khai thác: Một prompt có thể kích hoạt LLM mã hóa thông tin nhạy cảm thành liên kết và gửi nó đến máy chủ độc hại.

    • Biện pháp phòng ngừa: Vô hiệu hóa tự động tạo liên kết hoặc mã hóa URL trong các đầu ra của LLM và triển khai giám sát nghiêm ngặt đối với các liên kết xuất đi.

  • Trường hợp 1: Google Docs AI - Lừa đảo và Phishing

Google Docs đã giới thiệu các tính năng AI trong năm 2023, cho phép tóm tắt hoặc diễn giải lại nội dung của tài liệu. Mặc dù các tính năng này có thể mang lại lợi ích, chúng cũng tiềm ẩn những rủi ro bảo mật, đặc biệt là khi kẻ tấn công lợi dụng chúng để thực hiện các cuộc lừa đảo và tấn công phishing.

Mô tả tấn công:

Một cuộc tấn công cơ bản đã được báo cáo cho Google, trong đó có nội dung ác ý được nhúng vào Google Doc và chiếm đoạt chức năng AI. AI tạo ra một tin nhắn lừa đảo, cố gắng lừa người dùng gọi vào một số điện thoại mà có thể thuộc quyền kiểm soát của kẻ tấn công. Phương thức kỹ thuật xã hội này có thể đánh lừa người dùng thực hiện hành động để làm lộ thông tin cá nhân hoặc tài chính.

Trình diễn:

Cuộc tấn công này đã được trình diễn tại HITCON CMT 2023, nơi một video đã được trình chiếu, mô tả cách mà nội dung độc hại có thể lợi dụng AI của Google Docs để tạo ra những đầu ra gây hại và lừa đảo.

Chiến lược giảm thiểu:

  1. Chỉ sử dụng AI trên dữ liệu tin cậy: Người dùng cần thận trọng khi áp dụng các tính năng AI vào các tài liệu có thể chứa thông tin không đáng tin cậy hoặc nhạy cảm.

  2. Kiểm tra kỹ đầu ra của AI: Người dùng nên xem xét kỹ càng và xác minh bất kỳ nội dung nào được AI tạo ra trước khi hành động để đảm bảo nó không chứa các cuộc tấn công phishing hoặc các chỉ thị độc hại.

Tác động:

Cuộc tấn công này làm nổi bật việc mất tính toàn vẹn khi xử lý dữ liệu với một mô hình ngôn ngữ lớn (LLM). Khi AI bị lừa để tạo ra những nội dung sai lệch hoặc gây hại, nó làm giảm độ tin cậy của hệ thống. Mặc dù vấn đề này đã được báo cáo cho Google vào ngày 22 tháng 6 năm 2023, nhưng nó vẫn chưa được giải quyết, cho thấy những lo ngại bảo mật liên quan đến các công cụ AI.

  • Trường hợp 2: Google Gemini - Google Drive. LLM kết nối người dùng trực tiếp với kẻ tấn công qua Google Meet

Các tính năng Google Gemini trong Google DocumentsGoogle Drive là một ví dụ tốt khác về cách mà các mô hình ngôn ngữ lớn (LLM) có thể bị lạm dụng. Trong kịch bản này, một cuộc tấn công proof-of-concept sử dụng prompt injection đã được phát hiện, trong đó payload của cuộc tấn công tạo ra một liên kết hyperlink dẫn người dùng trực tiếp đến kẻ lừa đảo qua một liên kết Google Meet.

Mô tả tấn công:

  1. Prompt Injection: Kẻ tấn công tiêm mã độc vào nội dung của tài liệu trong Google Drive hoặc Google Docs, tạo ra một liên kết giả mạo trông có vẻ hợp lệ.

  2. Liên kết giả mạo: Khi người dùng mở tài liệu hoặc xem nội dung được tạo ra bởi AI, liên kết đó sẽ kết nối họ trực tiếp đến một buổi gọi Google Meet do kẻ tấn công tạo ra.

  3. Lừa đảo và Phishing: Qua cuộc gọi Google Meet, kẻ tấn công có thể tiếp tục lừa đảo nạn nhân, dụ họ cung cấp thông tin nhạy cảm hoặc thực hiện các hành động có hại, như chuyển tiền hoặc tải xuống các tệp độc hại.

Tác động:

Cuộc tấn công này lợi dụng sự tin tưởng của người dùng vào các công cụ của Google như Google Meet, Google Docs và Google Drive. Khi các công cụ này được sử dụng kết hợp với LLM để tạo nội dung, chúng có thể trở thành mục tiêu cho các cuộc tấn công phishing hoặc lừa đảo.

Biện pháp giảm thiểu:

  1. Kiểm tra các liên kết: Người dùng cần kiểm tra kỹ các liên kết trong tài liệu, đặc biệt là khi tài liệu có nguồn gốc từ các nguồn không rõ ràng hoặc không tin cậy.

  2. Hạn chế quyền truy cập: Đảm bảo rằng chỉ những người dùng được cấp quyền truy cập mới có thể chia sẻ các tài liệu chứa liên kết nguy hiểm.

  3. Giám sát và cảnh báo: Cung cấp các cảnh báo cho người dùng khi có liên kết lạ hoặc khi có hành vi đáng ngờ trong tài liệu, giúp họ nhận ra và tránh các cuộc tấn công phishing.

  4. Xác minh nguồn gốc cuộc gọi: Trước khi tham gia vào bất kỳ cuộc gọi Google Meet nào, người dùng nên xác minh nguồn gốc của cuộc gọi và tránh tham gia vào các cuộc gọi không xác định.

  • Trường hợp 3: Conditional Prompt Injection

Microsoft 365 Copilot được tích hợp trong các sản phẩm Office, bao gồm Outlook. Điều đặc biệt ở đây là Copilot có quyền truy cập vào tên người dùngcấu trúc tổ chức (ví dụ: chức danh công việc, thông tin người quản lý). Điều này cho phép kẻ tấn công tạo ra các cuộc tấn công prompt injection có điều kiện, chỉ kích hoạt khi một người dùng cụ thể xử lý email, như được trình bày trong blog Embrace the Red.

Mô tả tấn công:

  1. Prompt Injection có điều kiện: Kẻ tấn công có thể tạo ra một payload phishing chỉ hoạt động khi CEO (hoặc bất kỳ cá nhân có quyền cao nào) mở email. Các cuộc tấn công như vậy được thiết kế để nhắm mục tiêu chính xác và khai thác quyền truy cập của người dùng vào các thông tin tổ chức quan trọng.

  2. Thông tin tùy chỉnh dựa trên người dùng: Nội dung của email có thể thay đổi tùy thuộc vào người nhận. Ví dụ, nếu CEO là người mở email, payload có thể hiển thị các thông tin đặc biệt hoặc yêu cầu hành động mà chỉ CEO mới có thể thực hiện, như chuyển tiền hoặc phê duyệt giao dịch.

  3. Tấn công cá nhân hóa: Bằng cách sử dụng dữ liệu như tên người dùng, chức danh công việc và thông tin tổ chức, kẻ tấn công có thể tạo ra các email rất tinh vi, khiến mục tiêu tin rằng nội dung là hợp pháp và quan trọng, từ đó dễ dàng mắc phải bẫy.

Tác động:

  • Mối nguy hiểm cao đối với tổ chức: Các cuộc tấn công có điều kiện như vậy có thể làm lộ các thông tin quan trọng và dẫn đến các rủi ro lớn về tài chính và bảo mật, vì chúng nhắm vào các cá nhân có quyền truy cập cao trong tổ chức, chẳng hạn như CEO, giám đốc tài chính (CFO), hoặc những người khác có quyền phê duyệt các giao dịch quan trọng.

  • Lỗ hổng trong việc kiểm soát email: Các cuộc tấn công phishing trở nên nguy hiểm hơn khi kẻ tấn công có thể điều chỉnh nội dung tấn công dựa trên người dùng cụ thể, làm cho nó dễ dàng bị bỏ qua hoặc bị tin tưởng.

Biện pháp giảm thiểu:

  1. Xác thực email: Người dùng, đặc biệt là những người có quyền cao trong tổ chức, cần kiểm tra kỹ các email không xác định hoặc có yêu cầu bất thường. Việc sử dụng xác thực đa yếu tố (MFA) cho các giao dịch quan trọng cũng có thể giảm thiểu rủi ro.

  2. Giám sát và cảnh báo an ninh: Các hệ thống nên có khả năng giám sát và phát hiện các cuộc tấn công có điều kiện, đặc biệt khi có sự thay đổi trong nội dung email dựa trên vai trò của người nhận.

  3. Giới hạn quyền truy cập thông tin: Việc giảm thiểu quyền truy cập vào thông tin nhạy cảm và chỉ chia sẻ dữ liệu tổ chức với những người cần biết có thể giúp giảm thiểu khả năng bị lạm dụng trong các cuộc tấn công prompt injection.

  4. Đào tạo và nhận thức về bảo mật: Người dùng trong tổ chức, đặc biệt là những người có quyền cao, cần được đào tạo để nhận biết các dấu hiệu của phishing và hiểu về các mối đe dọa tiềm ẩn từ prompt injection.

Kịch bản này minh họa khái niệm tấn công prompt injection có điều kiện và cách các lệnh cá nhân hóa có thể bị ẩn trong email, khiến chúng hành xử khác nhau tùy vào người nhận. Cuộc tấn công này nhằm khai thác tính năng động của các công cụ AI như Microsoft 365 Copilot, có thể điều chỉnh các phản hồi dựa trên danh tính người nhận hoặc các yếu tố ngữ cảnh khác.

Phân tích:

  • Lệnh Cá nhân hóa theo Người nhận:

    • Người nhận A (Johann Rehberger): Phản hồi của AI vô hại, chỉ đơn giản là chào người nhận với thông điệp “Welcome, I’m Copirate. How can I help you today?”. Điều này xuất hiện như một phản hồi email bình thường.

    • Người nhận B: Một thông điệp rõ ràng từ chối quyền truy cập, với thông điệp “This message is not for you. Access Denied.” Thông điệp này có thể được sử dụng để kiểm tra hoặc kích hoạt hệ thống lọc tự động, hoặc lừa người nhận nghĩ rằng email này được gửi nhầm cho họ.

    • Người nhận C: Người nhận này thấy một thông điệp thay đổi với tên “Swiss Federal Institute of Technology” được thay thế bằng “University of Washington,” và thêm emoji. Việc thay đổi tên của các tổ chức chính thức và thêm emoji có thể nhằm mục đích thao túng nội dung, có thể là để phát tán thông tin sai lệch hoặc làm người nhận bị lúng túng.

Các Yếu tố Chính trong Cuộc Tấn Công:

  • Nhắm Mục Tiêu Cụ Thể vào Người Nhận: Cốt lõi của cuộc tấn công nằm ở tính điều kiện của nó. Bằng cách nhúng các lệnh khác nhau cho mỗi người nhận, kẻ tấn công đảm bảo rằng mỗi người nhận sẽ nhận được một thông điệp độc đáo, được điều chỉnh. Điều này làm cho cuộc tấn công khó phát hiện, vì mỗi người nhận tin rằng họ đang thấy một nội dung bình thường.

  • Sử Dụng Khả Năng của AI: Vì cuộc tấn công dựa vào Copilot AI để tạo ra các phản hồi, nó khai thác khả năng của công cụ này để xử lý và sửa đổi nội dung dựa trên các lệnh. Bằng cách soạn các lệnh cụ thể cho mỗi người nhận, kẻ tấn công có thể thay đổi tinh vi những gì mỗi người nhận thấy, ngay cả khi họ đang tương tác với cùng một email.

  • Phân tích qua Zoom: Sau khi gửi email, mọi người phân tích phiên bản email của mình. Điều này gợi ý một yếu tố xã hội hóa khi kẻ tấn công có thể thu thập phản hồi hoặc thậm chí phối hợp hành động tiếp theo. Việc phân tích email qua Zoom cũng ám chỉ rằng kẻ tấn công đang làm việc cùng người nhận để đảm bảo các phản hồi của AI phù hợp với mong đợi của họ.

Đây là email từ kẻ tấn công

malicious email

Trải nghiệm của người nhận A:

rec1 email

Trải nghiệm của người nhận B:

rec2 email

Trải nghiệm của người nhận C:

rec3 email

Tính linh hoạt của prompt injection và khả năng cá nhân hóa phản hồi cho từng người nhận là một trong những yếu tố khiến những cuộc tấn công này trở nên mạnh mẽ và khó phát hiện.

Việc manipulate LLM (Language Model) để tạo ra các phản hồi khác nhau cho mỗi người nhận (như ví dụ về University of Washington ở Zurich chỉ dành cho Recipient C) làm cho nội dung có vẻ như được thiết kế riêng biệt và hợp lý với mỗi cá nhân. Điều này giống như việc lừa dối LLM hoặc thậm chí làm sai lệch thông tin, tùy thuộc vào các prompt được tạo ra chỉ kích hoạt cho một số người nhận nhất định.

Yếu tố ngắn gọn cũng rất quan trọng. Kẻ tấn công có thể loại bỏ các phần giải thích không cần thiết, điều này sẽ giúp người nhận không nghi ngờ về tính hợp lệ của nội dung. Khi yêu cầu LLM trả về thông tin độc hại mà không có phần mở đầu dài dòng, nó sẽ hòa hợp một cách tự nhiên vào cuộc trò chuyện, khiến người nhận khó nhận ra có gì đó không ổn.

  • Trường hợp 4: ASCII Smuggling

Đề cập đến một dạng tấn công rất tinh vi và khó phát hiện, sử dụng các ký tự Unicode Tag mà người dùng không thể nhìn thấy, như đã được Riley Goodside phát hiện. Lỗ hổng này xảy ra khi các Large Language Models (LLMs) (Mô hình ngôn ngữ lớn) phát sinh hoặc giải thích các ký tự ẩn mà người dùng không thể dễ dàng nhìn thấy. Đây là một kiểu tấn công có thể được kẻ tấn công lợi dụng để truyền tải các payload độc hại qua các hệ thống bằng cách khai thác khả năng của LLM trong việc mã hóa và giải mã các thông điệp ẩn.

Các khái niệm chính:

  • Ký tự Unicode vô hình: Những ký tự này (như Zero Width Space (ZWSP), Zero Width Non-Joiner (ZWNJ), và Zero Width Joiner (ZWJ)) thường không thể nhìn thấy đối với người dùng nhưng lại được các máy tính nhận dạng. LLM có thể giải thích các ký tự này, và kẻ tấn công có thể lợi dụng điều này để giấu các hướng dẫn, liên kết, hoặc dữ liệu mà người dùng không thể nhìn thấy nhưng vẫn có thể được kích hoạt trong những điều kiện nhất định (chẳng hạn như một liên kết URL).

  • Liên kết ẩn: Một trong những mối nguy hiểm cốt lõi của cuộc tấn công này là các ký tự vô hình có thể được chèn vào các liên kết URL, khiến chúng trông giống như những URL bình thường và an toàn, trong khi thực tế lại dẫn người dùng đến các trang web độc hại. Khi người dùng nhấp vào những liên kết này, họ có thể vô tình exfiltrate (làm lộ) dữ liệu bí mật hoặc gặp phải các cuộc tấn công, như đã được chứng minh trong cuộc tấn công với Microsoft Copilot.

Các công cụ:

  • ASCII Smuggler: Đây là một công cụ được thiết kế để hỗ trợ phát hiện và kiểm tra các loại tấn công kiểu này trong các ứng dụng LLM. Công cụ này có thể mã hóa và giải mã các thông điệp ẩn, bao gồm cả những liên kết URL chứa ký tự ẩn. Điều này giúp các chuyên gia bảo mật và nhà nghiên cứu kiểm tra xem LLM có dễ bị tổn thương với kiểu tấn công này hay không và ảnh hưởng của nó đến tính bảo mật và toàn vẹn dữ liệu như thế nào.

  • Python Script của Thacker: Một script tương tự được sử dụng để kiểm tra cách mà LLM giải thích và xử lý các ký tự vô hình, đảm bảo rằng không có lỗ hổng không mong muốn có thể bị khai thác thông qua smuggling.

Tác động:

  • Mất mát sự bảo mật (Confidentiality): Tấn công kiểu này rất nguy hiểm vì kẻ tấn công có thể nhúng dữ liệu hoặc hướng dẫn độc hại mà người dùng và hệ thống khó nhận ra. Trong trường hợp Microsoft Copilot, điều này có thể dẫn đến việc lộ thông tin bí mật như email cá nhân, bị trích xuất âm thầm đến một máy chủ độc hại mà người dùng không nhận ra.

  • Ẩn giấu: Vì cuộc tấn công này sử dụng các ký tự vô hình, rất khó để người dùng nhận biết vấn đề. Không giống như các cuộc tấn công phishing truyền thống, nơi liên kết hoặc nội dung có thể ngay lập tức gây nghi ngờ, phương pháp này giữ kín trong tầm nhìn của người dùng.

Chiến lược giảm thiểu:

  1. Lọc và làm sạch đầu vào/đầu ra: Hệ thống cần lọc cả dữ liệu đầu vào và đầu ra, đặc biệt là các URL, để đảm bảo không có ký tự vô hình hoặc đáng ngờ nào xuất hiện.

  2. Công cụ phát hiện: Sử dụng các công cụ như ASCII Smuggler giúp phát hiện và giải mã bất kỳ thông điệp hoặc ký tự ẩn nào có thể đã bị nhúng vào hệ thống qua các tương tác LLM. Việc thường xuyên chạy các bài kiểm tra này có thể giúp ngăn chặn các cuộc tấn công smuggling bị bỏ sót.

  3. Giáo dục người dùng: Người dùng cần được nhận thức về các loại mối đe dọa này, đặc biệt trong các hệ thống mà họ dự kiến sẽ nhấp vào các liên kết hoặc tương tác với nội dung do LLM tạo ra. Đảm bảo rằng hệ thống hiển thị rõ ràng về bất kỳ liên kết hoặc nội dung mã hóa nào có thể giúp giảm thiểu nguy cơ bị lợi dụng.

  4. Xác thực URL: Trước khi cho phép người dùng nhấp vào các liên kết, các URL cần được xác thực để đảm bảo chúng không chứa bất kỳ ký tự vô hình hoặc hành vi bất thường nào có thể gây ra việc lộ dữ liệu.

  • Trường hợp 5: Terminal DiLLMa - Mã Escape ANSI

Gần đây, đã phát hiện rằng LLMs (Mô hình ngôn ngữ lớn) có thể xuất ra các mã escape ANSI không thể in được. Điều này có thể được khai thác trong các công cụ CLI (command line interface) mà sử dụng LLMs, thông qua việc prompt injection, để thực hiện các hành động gây tổn hại, chẳng hạn như rò rỉ dữ liệu, can thiệp vào giao diện dòng lệnh của người dùng, sao chép thông tin vào clipboard của người dùng, và nhiều hoạt động độc hại khác.

Mã Escape ANSI:

  • Mã Escape ANSI là những ký tự đặc biệt được sử dụng trong giao diện dòng lệnh để điều khiển cách thức hiển thị văn bản trên màn hình. Những mã này có thể thay đổi màu sắc, làm nổi bật văn bản, hoặc thực hiện các thao tác khác mà người dùng có thể không nhận thấy. Một trong những điều nguy hiểm là chúng có thể ẩn các lệnh độc hại, khiến chúng trông như văn bản bình thường nhưng thực sự thực hiện các hành động không mong muốn.

Tấn công bằng Prompt Injection:

  • Prompt Injection: Kẻ tấn công có thể lừa hệ thống LLM để tạo ra mã lệnh mà khi thực thi sẽ rò rỉ thông tin hoặc xâm nhập vào terminal. Ví dụ, kẻ tấn công có thể sử dụng mã escape ANSI trong các đầu vào được gửi tới LLM, dẫn đến việc làm gián đoạn hoặc thay đổi hành vi của giao diện dòng lệnh của người dùng mà không có sự nhận thức của người dùng.

  • Tác động tiềm tàng: Với các hệ thống giao diện dòng lệnh sử dụng LLMs để xử lý yêu cầu, kẻ tấn công có thể chèn các ký tự non-printable (không thể in ra), gây ra những thay đổi bất thường trong terminal của người dùng, chẳng hạn như hiển thị dữ liệu trái phép, sao chép thông tin từ clipboard, hoặc kích hoạt các lệnh không mong muốn.

Ví dụ về cách thức hoạt động của tấn công:

  1. Kẻ tấn công có thể tạo ra một payload thông qua prompt injection, trong đó chèn các mã escape ANSI để điều khiển giao diện terminal.

  2. LLM sẽ không hiển thị các ký tự non-printable này, khiến chúng trông giống như nội dung hợp lệ, trong khi thực tế chúng có thể lệnh sao chép hoặc thực thi các thao tác nguy hiểm.

  3. Ví dụ, một mã escape ANSI có thể thay đổi clipboard của người dùng để sao chép nội dung nhạy cảm, mà người dùng không biết rằng họ đã bị xâm nhập.

Các biện pháp giảm thiểu:

  1. Mã hóa các ký tự không thể in được: Một trong những biện pháp bảo mật được đề xuất là mã hóa các ký tự không thể in được (non-printable characters) bằng cách sử dụng caret notation, để đảm bảo chúng không thể dễ dàng được thi hành hoặc chèn vào văn bản mà không bị phát hiện.

  2. Kiểm tra và xử lý đầu vào: Hệ thống cần kiểm tra các ký tự đặc biệt hoặc mã escape trước khi cho phép chúng được thực thi. Việc loại bỏ hoặc thay thế các mã escape này có thể giúp ngăn chặn các cuộc tấn công tiềm ẩn.

  3. Hạn chế thực thi lệnh trong CLI: Các hệ thống sử dụng LLMs nên hạn chế hoặc kiểm tra cẩn thận việc cho phép CLI tools (công cụ dòng lệnh) thực thi lệnh từ đầu vào người dùng, đặc biệt là khi có khả năng mã hóa hoặc chèn mã escape.

  4. Cảnh báo cho người dùng: Người dùng cần được cảnh báo về các mối nguy hiểm tiềm ẩn từ các lệnh hoặc văn bản không xác định, đặc biệt trong các môi trường nơi các công cụ CLI có thể thực thi các lệnh.

Tác động của tấn công:

  • Rò rỉ dữ liệu: Kẻ tấn công có thể trích xuất dữ liệu từ terminal của người dùng mà họ không được phép truy cập, chẳng hạn như thông tin nhạy cảm trong lịch sử lệnh.

  • Xâm nhập vào Clipboard: Clipboard của người dùng có thể bị sao chép hoặc thay đổi mà người dùng không hay biết, từ đó dẫn đến việc rò rỉ thông tin mật.

  • Can thiệp vào terminal: Các mã escape có thể gây sự cố trong giao diện dòng lệnh, thay đổi màu sắc, văn bản, hoặc thực hiện các thao tác không mong muốn.

Các biện pháp giảm thiểu cho mất tính toàn vẹn

Để bảo vệ tính toàn vẹn của hệ thống khi sử dụng LLM (Mô hình ngôn ngữ lớn), các nhà cung cấp hiện nay đã đồng lòng áp dụng một số biện pháp giảm thiểu sau đây:

  1. Hiển thị Cảnh Báo về Độ Tin Cậy của Kết Quả:

    • Các ứng dụng AI hiện tại thường hiển thị cảnh báo cho người dùng rằng kết quả không thể tin cậy hoàn toànAI có thể mắc sai lầm. Điều này giúp người dùng nhận thức được rằng thông tin từ AI cần được kiểm tra và đánh giá cẩn thận.
  2. Ngữ Cảnh và Xử Lý Dữ Liệu:

    • Các nhà phát triển phần mềm cần đảm bảo rằng kết quả từ LLM không thể được tin cậy hoàn toàn, và việc sử dụng dữ liệu cần phải tuân theo ngữ cảnh đúng. Điều này giúp đảm bảo rằng những gì AI đưa ra có thể bị hiểu nhầm hoặc gây ra các cuộc tấn công nếu không được xử lý cẩn thận.
  3. Mã Hóa Đầu Ra Đúng Cách:

    • Cần áp dụng mã hóa đầu ra đúng cách để ngăn ngừa các cuộc tấn công như Cross-Site Scripting (XSS) trong các ứng dụng web. Ví dụ, với DeepSeek AI, XSS đã được chứng minh là dẫn đến việc chiếm đoạt tài khoản hoàn toàn. Điều này có nghĩa là mã độc có thể được chèn vào đầu ra của AI và thực thi trên hệ thống của người dùng mà họ không hề hay biết.
  4. Xử Lý Ký Tự Escape ANSI:

    • Cần có các biện pháp bảo mật để ngăn việc hiển thị mã escape ANSI trong các công cụ như terminal, nơi mà chúng có thể bị lợi dụng để thực thi các hành động độc hại hoặc can thiệp vào giao diện người dùng.
  5. Lọc và Xử Lý Đầu Vào:

    • Việc lọc và xử lý dữ liệu đầu vào là rất quan trọng, đặc biệt khi các hệ thống LLM có thể nhận dữ liệu từ các nguồn không tin cậy. Các biện pháp như kiểm tra tính hợp lệ của đầu vào và ngăn chặn các ký tự đặc biệt hoặc mã độc hại có thể giúp giảm thiểu nguy cơ.
  6. Tăng Cường Tham Gia của Con Người:

    • Tham gia của con người là một trong những biện pháp hiệu quả nhất để đảm bảo tính toàn vẹn. Việc kiểm tra thủ công các kết quả và đầu ra AI có thể giúp xác minh tính chính xác của thông tin trước khi nó được đưa ra cho người dùng cuối.
  7. Trích Dẫn và Nguồn Gốc Thông Tin:

    • Trích dẫn nguồn thông tin và đảm bảo rằng AI chỉ hiển thị thông tin đã được xác thực có thể giúp tăng cường tính minh bạch và giảm thiểu các sai sót. Bằng cách này, người dùng sẽ biết thông tin từ AI có nguồn gốc như thế nào, và liệu chúng có đáng tin cậy hay không.
  8. Dấu Hiệu Nhận Dạng Văn Bản Không Thay Đổi:

    • Phát triển các giải pháp để đánh dấu văn bản nào không bị thay đổi từ nguồn gốc khi hiển thị cho người dùng có thể giúp làm rõ những phần nội dung mà AI không thay đổi hoặc can thiệp. Điều này rất quan trọng trong các ứng dụng mà tính chính xác của thông tin là yếu tố quan trọng.