Connect with us

Lãnh đạo tư tưởng

Một Cuộc Tấn Công Prompt Injection Không Thể Ngăn Chặn: Suy Nghĩ Viển Vông Hay Mối Quan Ngại Thực Sự?

mm
A digital 3D render of a dark server room with a computer monitor displaying a

Trong bài viết này, tôi muốn mời độc giả tham gia vào một thí nghiệm tư duy. Tôi sẽ lập luận rằng trong một tương lai không xa, một loại tấn công prompt injection nhất định sẽ thực sự không thể ngăn chặn được. Lập luận của tôi sẽ mang tính suy đoán nhiều hơn là cụ thể, vì vậy tôi không cố gắng thuyết phục bạn về điều gì. Thay vào đó, tôi mời bạn khám phá những suy nghĩ này. Trước khi bắt đầu, như bất kỳ tác giả hấp dẫn nào cũng làm, tôi muốn thảo luận về cờ vua và các engine cờ vua.

Engine Cờ Vua Siêu Nhân và Một Khẳng Định Về Trải Nghiệm Con Người

Một trong những yếu tố hay ho của cờ vua mà thiếu vắng trong các bộ môn khác là khả năng đo lường một cách khách quan chất lượng hoặc sức mạnh của một kỳ thủ. Hệ thống xếp hạng ELO được sử dụng cho mục đích này có những điểm yếu, nhưng nó cung cấp một ước tính thô rất tốt và duy trì theo thời gian. Xếp hạng từ 2700 trở lên thường được công nhận là đẳng cấp thế giới (top 30 thế giới). Kỳ thủ giỏi nhất thế giới hiện chỉ dưới 2850. Chưa có con người nào đạt được xếp hạng 2900.

Vào giữa những năm 90, chúng ta chứng kiến engine AI đầu tiên (Deep Blue) đạt đến trình độ đẳng cấp thế giới. Ý nghĩa thực tiễn của cột mốc này là việc các engine được áp dụng rộng rãi bởi các kỳ thủ ở mọi cấp độ để luyện tập và phân tích. Trên thực tế, việc sử dụng engine trở nên thiết yếu đối với các kỳ thủ hàng đầu thế giới. Tuy nhiên, trong vài thế hệ của các engine đẳng cấp thế giới này, việc xem xét các nước đi được đề xuất (tức đầu ra) của chúng là bắt buộc. Thậm chí còn có một định dạng đặc biệt được tạo ra gọi là “cờ vua nâng cao” (advanced chess) trong đó con người thi đấu với một engine bên cạnh, và sự kết hợp con người + máy được coi là vượt trội hơn máy đơn thuần.

Phải mất khoảng 20 năm, cùng với một số tiến bộ quan trọng trong Học Sâu và Học Củng Cố, các engine cờ vua mới đạt đến cấp độ siêu nhân (khoảng 3200 ELO). Nhưng một khi tầng bình lưu đó bị xuyên thủng vào khoảng năm 2017, một điều rất đáng ngạc nhiên đã xảy ra. Thực ra, hai điều đã xảy ra. Điều đầu tiên hoàn toàn như dự đoán; engine trở thành nguồn “chân lý tuyệt đối” trên thực tế trong 99% mọi thế cờ. Trong thực tế, điều đó có nghĩa là chúng ta bước vào “kỷ nguyên tin tưởng mù quáng” vào engine. Ngày nay, gần như không thể để một con người đề xuất một nước đi tốt hơn đáng kể so với engine. Dù “cờ vua nâng cao” có thú vị đến đâu, giờ đây nó là một bài tập vô nghĩa; con người sẽ gần như không đóng góp gì cho ván cờ. Nhưng điều thứ hai đã gây sốc cho hầu hết các kỳ thủ. Những engine thần kinh (tức mạng nơ-ron sâu) siêu nhân này đôi khi chơi theo một phong cách được mô tả tốt nhất là “lãng mạn”. Nói cách khác, chúng sẽ thực hiện những nước đi mà giá trị chỉ có thể được đánh giá sau rất, rất nhiều nước đi sau đó, vượt xa những gì bất kỳ con người hay engine đẳng cấp thế giới nào có thể tính toán. Cảm giác rất giống như thể các engine đã phát triển một “cảm giác” hoặc “trực giác” cho một số thế cờ nhất định. Ngoại trừ việc trực giác này không phải thứ mà con người có thể nắm bắt hoặc bắt chước.

Nói một cách khác, một engine thần kinh siêu nhân có thể thực hiện những nước đi vượt quá tầm nhận thức của con người. Đây là điểm quan trọng ở đây; vấn đề không phải là tính giải thích được. Thay vào đó, một con người đơn giản không thể hiểu tại sao engine đề xuất một nước đi nếu không chơi ra thế cờ và quan sát kết quả nhiều nước đi sau đó, tức là triển khai toàn bộ quỹ đạo của các chuỗi trò chơi có thể xảy ra. Kết quả là, chúng ta có một khoảng cách năng lực không thể vượt qua. Một cách khách quan, việc chấp nhận đầu ra của engine mà không xem xét là tối ưu. Tôi có thể tóm tắt khẳng định của mình như sau:

Cờ vua là một bằng chứng tồn tại cho thấy AI siêu nhân sẽ vận hành một cách tự chủ hiệu quả trong một số lĩnh vực. Cho phép hệ thống AI đưa ra quyết định mà không có sự xem xét của con người sẽ là cách tối ưu để triển khai hệ thống như vậy.

Vì khẳng định của tôi có thể khiến người ta cảm thấy hiển nhiên hoặc không đáng chú ý, tôi muốn làm nổi bật một vài sắc thái. Giả sử chúng ta có một hệ thống AI thể hiện cấp độ siêu nhân ở một nhiệm vụ phức tạp, quan trọng, với hậu quả cụ thể, không thể đảo ngược. Có hai hàm ý cho tuyên bố của tôi:

  1. Hệ thống sẽ được triển khai để đưa ra quyết định cho nhiệm vụ mà không có sự xem xét của con người, bất chấp rủi ro tiềm ẩn
  2. Thông tin chi tiết thu được từ việc giám sát hệ thống như vậy sẽ không ngăn chặn được một quyết định gây hại; thiệt hại đã xảy ra rồi

Xem xét đầu ra hệ thống và giám sát chính xác là hai lớp phòng thủ cuối cùng chống lại prompt injection. Do đó, cuộc tấn công prompt injection giả định của chúng ta có thể bỏ qua các lớp này đơn giản bằng cách nhắm mục tiêu vào hệ thống phù hợp.

Đây là một kịch bản rất thực tế trong suy nghĩ của tôi. Một hệ thống AI siêu nhân trong một lĩnh vực cụ thể không phải là AGI, và hầu hết các chuyên gia tin rằng những hệ thống như vậy sắp xuất hiện. Chúng ta cũng không phải giả định rằng các quyết định nhạy cảm về thời gian, chỉ cần nhiệm vụ đủ phức tạp để khiến việc xem xét của con người trở nên khó khăn.

Tất nhiên, cho đến nay chúng ta mới chỉ vượt qua hai lớp phòng thủ, và may mắn cho chúng ta, một số lớp khác đã được phát triển. Để giải quyết phần còn lại, hãy đi sâu vào các yếu tố cốt lõi khiến prompt injection khó phòng thủ.

Prompt Injection là gì?

Prompt injection là sự thao túng Mô hình Ngôn ngữ Lớn (LLM) thông qua các đầu vào được tạo ra có chủ đích, khiến LLM vô tình thực hiện ý định của kẻ tấn công. Nó có thể được coi là kỹ thuật xã hội dành cho AI. Quan trọng là, nó không phải là một lỗi phần mềm thông thường. Một cuộc tấn công prompt injection khai thác một lỗ hổng vốn có của LLM. Vì LLM xử lý cả prompt hệ thống và prompt người dùng như các chuỗi văn bản, chúng không thể phân biệt một cách nội tại giữa các hướng dẫn hợp pháp và có hại. Do đó, lỗ hổng này thực chất là do thiết kế, hơn là do tai nạn.

Các Kỹ Thuật Prompt Injection

Prompt injection thường được công nhận là rủi ro số #1 cho các ứng dụng LLM. Có một số lý do tại sao lại như vậy. Yếu tố rõ ràng nhất là sự đa dạng của các kỹ thuật tiêm nhiễm đã được phát triển. Nhóm chúng một cách thô sơ thành bốn loại, các kỹ thuật nổi tiếng nhất bao gồm:

  • Dựa trên cú pháp: sử dụng ký tự đặc biệt, biểu tượng cảm xúc hoặc ngôn ngữ thay thế
  • Gián tiếp: sử dụng nguồn bên ngoài (truy xuất từ trang web), mã hóa (base 64) hoặc tham chiếu đa phương thức (văn bản trong hình ảnh)
  • “Hãy Giả Vờ”: giới thiệu một phong cách thao túng bằng ví dụ như nhập vai, giả định, kháng cáo cảm xúc, đóng khung đạo đức và thay đổi định dạng
  • Trực diện: nỗ lực rõ ràng để “ép buộc” các hướng dẫn của mô hình bằng brute-force, củng cố hoặc prompt phủ định

Chỉ riêng sự đa dạng đã tạo ra thách thức cho các nhà phát triển ứng dụng, nhưng các cuộc tấn công này cũng tiếp tục phát triển nhanh chóng. Phía bên trái của biểu đồ dưới đây nhằm mô tả trạng thái tiên tiến nhất vào đầu năm 2023, trong khi phía bên phải phản ánh bản chất của các cuộc tấn công ngày nay.

Evolution of Attack Vectors

Các nhà phát triển ứng dụng LLM cũng phải tính đến sự đánh đổi giữa khả năng sử dụng và an toàn tiêu chuẩn. Họ chắc chắn có thể giới thiệu mọi lớp phòng thủ phù hợp và mẫu thiết kế, nhưng với cái giá nào? Các lớp phòng thủ làm tăng độ trễ đáng kể và tạo ra Dương tính Giả (FPs) – gắn cờ nhầm các prompt an toàn là độc hại – cả hai yếu tố đều có tác động tiêu cực đến trải nghiệm người dùng. Kết quả là, một mức độ thỏa hiệp là không thể tránh khỏi trong thực tế, và không có giải pháp “viên đạn bạc”.

Tuy nhiên, trong bài viết này, tôi không thực sự quan tâm đến trò chơi mèo vờ chuột bất tận này. Thay vào đó, tôi đang thăm dò liệu một cuộc tấn công có thể là không thể ngăn chặn được về nguyên tắc. Từ góc độ nhà phát triển/người phòng thủ, chỉ có một thông tin chi tiết chính:

Việc tách biệt hướng dẫn khỏi dữ liệu trong prompt là nền tảng để giải quyết rủi ro prompt injection

Chúng ta có thể giả định rằng các sự đánh đổi không phải là một yếu tố, và bất kỳ lớp phòng thủ hoặc kỹ thuật nào cũng có thể được sử dụng. Dưới giả định (mạnh mẽ) này, liệu có thể dựng lên một kịch bản trong đó việc tách biệt hướng dẫn-dữ liệu trong một prompt là thực sự không thể?

Phép Loại Suy DNA

Một khi vấn đề được đóng khung theo hướng tách biệt hướng dẫn-dữ liệu, suy nghĩ ban đầu của tôi là sử dụng sinh học làm phép loại suy.

Hãy xem xét một tế bào và một đoạn DNA (được gọi là gen). Gen cung cấp hướng dẫn để xây dựng một protein thông qua phiên mã và dịch mã. Nó cũng mã hóa thông tin (dữ liệu) tác động đến cấu trúc và chức năng của protein. Như vậy, gen đồng thời quy định cái gì cần xây dựng, và cách xây dựng nó, hoặc tôi lý luận như vậy. Tuy nhiên, điều này đơn giản là sai vì một gen không quyết định cách diễn giải chính nó. Không có sự tương đương với việc tuân theo hướng dẫn trong sinh học ở cấp độ gen. Phần “cách thức” được ngoại hóa hoàn toàn cho bộ máy tế bào.

Do đó, ngay cả khi tôi không thể thoát khỏi cảm giác rằng các thế hệ LLM tương lai – hay chính xác hơn, các hệ thống mà chúng phát triển thành – sẽ giống với các cỗ máy sinh học ở mức độ lớn hơn nhiều, thì phép loại suy được đề xuất chỉ đơn giản là không hoạt động. Chúng ta không thể thay thế một tế bào bằng một LLM và một gen bằng một prompt và sau đó thực hiện một mũi tiêm vào gen mà cuối cùng sẽ khiến một protein “bị hư hỏng

Eli Vovsha is a Data Science Manager at Fortra. Together with the Data Science team, he is responsible for developing and maintaining all of the machine learning (ML) models used by the CEP and XDR products, as well as general ML research. He received his M.S degree in applied math from Stevens Institute of Technology before becoming a PhD candidate in computer science at Columbia University, where he was also an instructor. He later co-founded an EdTech startup aiming to build an AI-powered learning platform, and then taught math and computer science at a private NYC high school. Prior to pursuing his graduate degrees, Eli dedicated significant time to chess, earning the International Master (IM) title.