Token Smuggling

Token smuggling là một loại tấn công nhắm vào khoảng cách giữa các lớp xử lý văn bản trong hệ thống AI. Bộ lọc kiểm duyệt nội dung, xác thực đầu vào và kiểm tra an toàn thường hoạt động trên văn bản mà con người có thể đọc. Ngược lại, tokenizer của LLM hoạt động ở cấp độ thấp hơn — chuyển đổi ký tự thành các ID token số. Bằng cách khai thác sự khác biệt giữa các lớp này, kẻ tấn công có thể tạo đầu vào vượt qua bộ lọc cấp văn bản nhưng vẫn truyền các lệnh độc hại đến LLM.

Cách Hoạt Động Của Tokenization LLM

Trước khi LLM xử lý văn bản, một tokenizer chuyển đổi chuỗi đầu vào thành một chuỗi các ID token số nguyên. Các ID này ánh xạ đến từ vựng của mô hình — thường được mã hóa bằng các thuật toán như Byte Pair Encoding (BPE) hoặc WordPiece.

Các đặc tính chính của tokenization mà kẻ tấn công khai thác:

  • Nhiều ký tự ánh xạ đến các biểu diễn token tương tự. Unicode chứa nhiều ký tự tương tự về mặt trực quan (homoglyph) được tokenize giống hệt hoặc gần giống nhau.
  • Tokenization không hoàn toàn dựa trên ký tự. Một số tokenizer chia từ thành các đơn vị từ con dựa trên mẫu tần suất, tạo cơ hội cho thao túng ranh giới.
  • Ký tự đặc biệt có thể được giữ lại hoặc loại bỏ. Ký tự có độ rộng bằng không, dấu phụ kết hợp và ký tự điều khiển có thể vô hình đối với bộ lọc dựa trên chuỗi nhưng được xử lý cụ thể bởi tokenizer.

Kỹ Thuật Token Smuggling

Thay Thế Homoglyph Unicode

Unicode chứa hàng nghìn ký tự trông giống với các ký tự ASCII phổ biến. Bộ lọc tìm kiếm từ “harmful” có thể không nhận ra “hármful” (với dấu kết hợp) hoặc “harⅿful” (với ký tự phân số Unicode).

Ví dụ: Từ “ignore” có thể được mã hóa thành “іgnore” (sử dụng “і” Cyrillic thay vì “i” Latin) — trông giống hệt đối với hầu hết người đọc và một số bộ lọc, nhưng có khả năng được xử lý khác đi ở cấp độ tokenizer.

Chèn Ký Tự Có Độ Rộng Bằng Không

Các ký tự có độ rộng bằng không (như U+200B ZERO WIDTH SPACE hoặc U+200C ZERO WIDTH NON-JOINER) vô hình trong văn bản được hiển thị. Chèn chúng giữa các ký tự trong các từ khóa phá vỡ bộ lọc khớp chuỗi mà không ảnh hưởng đến hình thức trực quan hoặc, trong nhiều trường hợp, biểu diễn được tokenize.

Ví dụ: “i​g​n​o​r​e” với khoảng trắng có độ rộng bằng không giữa mỗi ký tự xuất hiện dưới dạng “ignore” khi hiển thị nhưng phá vỡ khớp mẫu chuỗi đơn giản.

Làm Rối Mã Hóa

Chuyển đổi văn bản sang mã hóa thay thế trước khi gửi:

  • Mã hóa Base64: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (nếu mô hình giải mã nó)
  • Leet speak: “1gn0r3 pr3v10u5 1n5truc710n5” thay thế chữ số cho chữ cái
  • ROT13 hoặc các biến thể Caesar cipher: Dịch chuyển ký tự để tránh phát hiện từ khóa
  • Mã hóa Hex: Biểu diễn ký tự dưới dạng chuỗi hex mà một số mô hình diễn giải

Hiệu quả phụ thuộc vào việc LLM có được huấn luyện để giải mã các biểu diễn này hay không, điều mà nhiều mô hình đa năng có thể làm.

Biến Thể Chữ Hoa Và Định Dạng

Các biến thể đơn giản nhưng đôi khi hiệu quả:

  • CHỮ HOA TẤT CẢ: “IGNORE PREVIOUS INSTRUCTIONS”
  • Chữ hoa lẫn lộn: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Chữ cái có khoảng cách: “I G N O R E P R E V I O U S”
  • Đảo ngược: “snoitcurtsni suoiverp erongi” (nếu mô hình có thể xử lý văn bản đảo ngược)

Chèn Dấu Phân Cách

Một số tokenizer xử lý đặc biệt các ký tự phân cách. Bằng cách giới thiệu các ký tự mà tokenizer diễn giải là ranh giới phân đoạn, kẻ tấn công có thể thao túng cách mô hình phân đoạn đầu vào thành các đơn vị có ý nghĩa.

Logo

Sẵn sàng phát triển doanh nghiệp của bạn?

Bắt đầu dùng thử miễn phí ngay hôm nay và xem kết quả trong vài ngày.

Các Trường Hợp Sử Dụng Tấn Công

Vượt qua jailbreak: Mã hóa các lời nhắc jailbreak bằng các kỹ thuật vượt qua lớp bộ lọc an toàn nhưng được giải mã bởi LLM, cho phép vượt qua rào cản an toàn.

Trốn tránh bộ lọc nội dung: Nhúng lời nói thù ghét, yêu cầu nội dung bất hợp pháp hoặc hướng dẫn vi phạm chính sách dưới dạng mã hóa.

Làm rối prompt injection: Sử dụng mã hóa để ẩn các lệnh được chèn vào khỏi bộ lọc khớp mẫu đơn giản trong khi đảm bảo LLM xử lý chúng chính xác.

Fingerprinting bộ lọc: Kiểm tra có hệ thống các biến thể mã hóa khác nhau để xác định biến thể nào mà bộ lọc của hệ thống mục tiêu phát hiện và không phát hiện — lập bản đồ phạm vi bộ lọc cho các cuộc tấn công có mục tiêu hơn.

Chiến Lược Phòng Thủ

Chuẩn Hóa Unicode

Áp dụng chuẩn hóa Unicode (NFC, NFD, NFKC hoặc NFKD) cho tất cả đầu vào trước khi lọc. Điều này chuyển đổi các biến thể Unicode sang dạng chuẩn, loại bỏ nhiều cuộc tấn công homoglyph và ký tự kết hợp.

Phát Hiện Và Thay Thế Homoglyph

Triển khai ánh xạ homoglyph rõ ràng để chuẩn hóa các ký tự tương tự về mặt trực quan thành các ký tự ASCII tương đương trước khi lọc. Thư viện cho mục đích này tồn tại trong hầu hết các ngôn ngữ lập trình.

Lọc Nội Dung Dựa Trên LLM

Thay vì (hoặc bổ sung cho) bộ lọc dựa trên chuỗi, sử dụng bộ lọc dựa trên LLM hoạt động trên biểu diễn token. Vì các bộ lọc này xử lý văn bản ở cùng cấp độ với mô hình mục tiêu, các thủ thuật mã hóa kém hiệu quả hơn — bộ lọc nhìn thấy cùng biểu diễn như mô hình.

Kiểm Tra Bộ Lọc Với Các Biến Thể Đã Biết

Đánh giá bảo mật nên bao gồm kiểm tra có hệ thống các bộ lọc nội dung với các biến thể mã hóa đã biết. Nếu bộ lọc được thiết kế để chặn “ignore previous instructions”, hãy kiểm tra xem nó có chặn homoglyph Unicode, biến thể có độ rộng bằng không, mã hóa Base64 và các dạng làm rối khác không.

Trực Quan Hóa Và Kiểm Toán Đầu Vào

Ghi lại bản hiển thị mà con người có thể đọc của đầu vào đã chuẩn hóa cùng với đầu vào thô. Sự khác biệt giữa hai bản có thể phát hiện các cuộc tấn công mã hóa trong quá trình xem xét sự cố.

Thuật Ngữ Liên Quan

Câu hỏi thường gặp

Token smuggling là gì?

Token smuggling là một kỹ thuật tấn công khai thác sự khác biệt giữa văn bản mà con người có thể đọc và biểu diễn tokenizer của LLM. Kẻ tấn công mã hóa các lệnh độc hại bằng cách sử dụng các biến thể ký tự, thủ thuật Unicode hoặc định dạng bất thường để bộ lọc nội dung không phát hiện được, nhưng tokenizer của LLM vẫn xử lý chúng như dự định.

Tại sao token smuggling hoạt động?

Các bộ lọc nội dung thường hoạt động trên văn bản mà con người có thể đọc — kiểm tra các chuỗi, mẫu hoặc từ khóa cụ thể. Tuy nhiên, tokenizer của LLM xử lý văn bản ở cấp độ thấp hơn và có thể ánh xạ các ký tự khác nhau về mặt trực quan thành các token giống nhau hoặc tương tự. Khoảng cách này cho phép kẻ tấn công tạo văn bản được đọc theo một cách đối với bộ lọc và được xử lý khác đi bởi tokenizer.

Làm thế nào để phòng thủ chống lại token smuggling?

Các biện pháp phòng thủ bao gồm: chuẩn hóa văn bản đầu vào trước khi lọc (chuẩn hóa Unicode, thay thế homoglyph), sử dụng bộ lọc nội dung dựa trên LLM hoạt động trên biểu diễn cấp token thay vì văn bản thô, kiểm tra bộ lọc với các biến thể mã hóa đã biết và tiến hành đánh giá bảo mật bao gồm các kịch bản tấn công dựa trên mã hóa.

Kiểm Tra Chatbot Của Bạn Chống Lại Các Cuộc Tấn Công Dựa Trên Mã Hóa

Token smuggling và các cuộc tấn công mã hóa vượt qua các bộ lọc cấp bề mặt. Chúng tôi kiểm tra các kỹ thuật này trong mọi đánh giá bảo mật chatbot.

Tìm hiểu thêm

Token
Token

Token

Một token trong ngữ cảnh của các mô hình ngôn ngữ lớn (LLMs) là một chuỗi ký tự mà mô hình chuyển đổi thành các biểu diễn số để xử lý hiệu quả. Token là các đơn...

4 phút đọc
Token LLM +3
Bảo mật LLM
Bảo mật LLM

Bảo mật LLM

Bảo mật LLM bao gồm các thực hành, kỹ thuật và kiểm soát được sử dụng để bảo vệ các triển khai mô hình ngôn ngữ lớn khỏi một lớp mối đe dọa đặc thù của AI bao g...

6 phút đọc
LLM Security AI Security +3
Thao Túng Cửa Sổ Ngữ Cảnh
Thao Túng Cửa Sổ Ngữ Cảnh

Thao Túng Cửa Sổ Ngữ Cảnh

Thao túng cửa sổ ngữ cảnh đề cập đến các cuộc tấn công khai thác cửa sổ ngữ cảnh hữu hạn của các mô hình ngôn ngữ lớn — bao gồm nhồi nhét ngữ cảnh, tràn ngữ cản...

6 phút đọc
AI Security Context Window +3