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

Một Cuộc Tấn Công Prompt Injection Không Thể Ngăn Chặn: Tư Duy Utopian Hay Lo Lắng?

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google
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 suy nghĩ. Tôi sẽ lập luận rằng trong tương lai không xa, một loại tấn công prompt injection nhất định sẽ hiệu quả không thể ngăn chặn. Lập luận của tôi sẽ mang tính suy đoán hơn là cụ thể, vì vậy tôi không cố gắng thuyết phục bạn về bất cứ điều gì. Thay vào đó, tôi mời bạn khám phá những suy nghĩ này. Trước khi tôi bắt đầu, như bất kỳ nhà văn hấp dẫn nào, tôi muốn thảo luận về cờ vua và các động cơ cờ vua.

Các Động Cơ Cờ Vua Siêu Phẩm và Một Khẳng Định Về Kinh Nghiệm Con Người

Một trong những yếu tố tốt đẹp của cờ vua là khả năng đo lường khách quan chất lượng hoặc sức mạnh của một người chơi. Hệ thống đánh giá ELO được sử dụng cho mục đích này có những khiếm khuyết, nhưng nó cung cấp một ước tính thô rất tốt mà vẫn giữ được theo thời gian. Một xếp hạng 2700 hoặc cao hơn thường được công nhận là hạng thế giới (top 30 trên thế giới). Người chơi tốt nhất thế giới chỉ dưới 2850. Không có người chơi nào từng đạt xếp hạng 2900.

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

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

Được nói khác đi, một động cơ thần kinh siêu phàm có thể thực hiện các nước đi beyond the cognitive horizon của con người. Đây là điểm quan trọng ở đây; vấn đề không phải là về khả năng giải thích. Thay vào đó, con người đơn giản không thể hiểu tại sao một động cơ đề xuất một nước đi mà không chơi ra vị trí và quan sát kết quả sau nhiều nước đi sau, tức là cuộn lại toàn bộ đường dẫn của các chuỗi trò chơi có thể. Kết quả là chúng ta có một khoảng cách khả năng không thể vượt qua. Nó là optimal để chấp nhận đầu ra của động cơ mà không cần xem xét. 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 rằng siêu trí tuệ nhân tạo sẽ hoạt động tự chủ trong một số lĩnh vực. Cho phép hệ thống AI đưa ra quyết định mà không cần 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 một số người cảm thấy rõ ràng hoặc không đáng chú ý, tôi muốn nhấn mạnh một số sắc thái. Giả sử chúng ta có một hệ thống AI thể hiện mức siêu phàm tại 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 ý nghĩa đối với khẳng định 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ần xem xét của con người, mặc dù có rủi ro vốn có
  2. Thông tin chi tiết thu được từ việc theo dõi hệ thống như vậy sẽ không ngăn chặn một quyết định có hại; thiệt hại đã được thực hiện

Việc xem xét đầu ra và theo dõi là chính xác hai lớp phòng thủ cuối cùng chống lại cuộc tấn công 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 bằng cách nhắm 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 phàm trong một lĩnh vực cụ thể không phải là Trí tuệ nhân tạo tổng quát, và hầu hết các chuyên gia tin rằng những hệ thống như vậy đang ở ngay phía trước. Chúng ta cũng không cần giả định rằng các quyết định là thời gian nhạy cảm, chỉ là nhiệm vụ đủ phức tạp để làm cho việc xem xét của con người trở nên không thể thực hiện được.

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

Prompt Injection Là Gì?

Prompt injection là sự thao túng một Mô hình Ngôn ngữ Lớn (LLM) thông qua các đầu vào được tạo ra, khiến LLM thực hiện vô tình các ý định của kẻ tấn công. Nó có thể được coi là kỹ thuật xã hội 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 điểm yếu vốn có của LLM. Vì LLM xử lý cả các lệnh hệ thống và lệnh người dùng dưới dạng chuỗi văn bản, chúng không thể phân biệt nội tại giữa các lệnh hợp pháp và có hại. Điểm yếu này do đó hiệu quả theo thiết kế, chứ không phải theo 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 điều này là 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 đã được phát triển. Nhóm chúng lại thành bốn loại, các kỹ thuật nổi tiếng nhất bao gồm:

  • Căn cứ vào cú pháp: sử dụng các 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 các nguồn bên ngoài (lấy từ trang web), mã hóa (base 64) hoặc tham chiếu đa phương tiện (văn bản trong hình ảnh)
  • “Hãy Pretend”: giới thiệu một phong cách thao túng bằng cách giả vờ, giả định, hấp dẫn cảm xúc, khuôn khổ đạo đức và thay đổi định dạng
  • Blunt: nỗ lực rõ ràng để “đánh bạo” các lệnh mô hình bằng cách ép buộc, tăng cường hoặc lệnh phủ định

Sự đa dạng alone cung cấp một thách thức cho các nhà phát triển ứng dụng, nhưng những cuộc tấn công này cũng đã tiếp tục phát triển nhanh chóng. Bên trái của sơ đồ dưới đây cho là mô tả trạng thái nghệ thuật cho đầu năm 2023, trong khi bên phải phản ánh bản chất của các cuộc tấn công ngày nay.

Sự Phát Triển Của Các Véc Tơ Tấn Công

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

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 không ngừng này. Thay vào đó, tôi đang tìm hiểu xem một cuộc tấn công có thể không thể ngăn chặn trong nguyên tắc. Từ quan điểm của nhà phát triển / người bảo vệ, có một cái nhìn sâu sắc chính:

Phân tách các lệnh từ dữ liệu trong lệnh là cơ bản để giải quyết rủi ro prompt injection

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

Đồng Tương Tác DNA

Khi vấn đề được đặt ra dưới dạng phân tách lệnh-dữ liệu, suy nghĩ ban đầu của tôi là sử dụng sinh học như một ẩn dụ.

Hãy xem xét một tế bào và một đoạn DNA (được gọi là một gen). Gen cung cấp các lệnh để xây dựng một protein thông qua quá trình phiên mã và dịch mã. Nó cũng mã hóa thông tin (dữ liệu) ảnh hưởng đến cấu trúc và chức năng của protein. Như vậy, gen đồng thời quy định xây dựng cái gì và làm thế nào để xây dựng nó, hoặc tôi đã suy nghĩ 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 giải thích chính nó. Không có gì tương đương với việc thực hiện lệnh trong sinh học ở mức độ gen. “Làm thế nào” được externalized hoàn toàn đến máy móc tế bào.

Do đó, ngay cả khi tôi không thể loại bỏ cảm giác rằng các thế hệ LLM trong tương lai – hoặc chính xác hơn, các hệ thống mà chúng sẽ phát triển – sẽ giống các máy móc sinh học đến mức lớn hơn, thì ẩn dụ được đề xuất này chỉ không hoạt động. Chúng ta không thể thay thế một tế bào cho một LLM và một gen cho một lệnh và sau đó thực hiện một cuộc tấn công vào gen mà sẽ cuối cùng gây ra một “protein bị hư hỏng” được xây dựng. Nó có vẻ sản xuất hơn khi gắn bó với ngôn ngữ tự nhiên và các nhiệm vụ yêu cầu giải thích ngữ nghĩa.

Bóc Lớp Phòng Thủ

Nó không có gì ngạc nhiên khi các chiến lược phòng thủ đa lớp được coi là hiệu quả hơn trong việc ngăn chặn các cuộc tấn công prompt injection. Hình ảnh dưới đây cho thấy các lớp phòng thủ phổ biến nhất theo thứ tự, và các kỹ thuật được sử dụng trong mỗi lớp.

Lớp Phòng Thủ Prompt Injection

Chúng ta đã thảo luận về hai lớp cuối cùng (đầu ra, theo dõi) ở trên, vì vậy hãy tập trung vào bốn lớp đầu tiên.

Khi xem xét lớp nhập, nó hợp lý khi giả định rằng việc làm sạch hoặc xác thực lệnh sẽ khá thành công trong việc phát hiện cuộc tấn công gián tiếp. Tuy nhiên, nếu cuộc tấn công được giao trực tiếp, và như đã đề xuất ở trên, bằng cách dựa vào giải thích ngữ nghĩa, có thể việc làm sạch là không liên quan (không có gì để làm sạch), và việc xác thực là không thể theo mặc định vì tính toán phải được hoàn thành để xác định vấn đề.

Không có giới hạn nào về các rào cản bạn có thể xây dựng trong lớp phát hiện. Trên thực tế, bạn thậm chí có thể sử dụng một LLM chuyên dụng cho phát hiện tiêm. Nhưng một lần nữa, nó sẽ rất khó cho một phân loại hoặc phát hiện bất thường để đánh dấu một lệnh như đáng ngờ khi chất độc được ẩn giấu một cách thông minh trong ngữ nghĩa.

Lớp mô hình có thể rất hiệu quả khi phạm vi nhiệm vụ hẹp và tinh chỉnh là khả thi. Một lập luận tương tự có thể được thực hiện cho lớp hệ thống khi việc sử dụng các công cụ là có thể dự đoán. Tuy nhiên, ít nhất theo trực giác, không có gì sẽ gây ra báo động nếu cuộc tấn công làm cho người giải thích bị mất tập trung.

Ngôi Nhà Của Bài

Mục đích của tôi khi bắt đầu viết bài này là mô tả một cuộc tấn công prompt injection “không thể ngăn chặn” theo các nét lớn. Có thể tôi đã theo một cách tiếp cận “phi xây dựng” bằng cách tìm kiếm các lỗ hổng trong các lớp phòng thủ hiện có. Các kỹ thuật phòng thủ tiếp tục phát triển nhanh chóng, và bề mặt tấn công cũng vậy. Trò chơi này không cho thấy dấu hiệu kết thúc sớm. Tuy nhiên, tôi cũng tin rằng chúng ta sẽ không phải là những người chơi trò chơi này trong thời gian dài. Tôi sẽ đoán rằng cuộc tấn công prompt injection thành công trong tương lai vẫn sẽ ở ngôn ngữ tự nhiên, chỉ là một ngôn ngữ mà con người không thể hiểu; và tôi sẽ đoán rằng nó sẽ được tự động khám phá bởi một hệ thống được xây dựng cho mục đích cụ thể này hoặc có thể tình cờ sau khi giải quyết một nhiệm vụ liên quan, chẳng hạn như tìm kiếm sự mơ hồ ngữ nghĩa trong một số không gian biểu diễn.

Có điều gì đó không thoải mái khi thừa nhận rằng chúng ta đang mất kiểm soát và vẫn cảm thấy rằng đây là điều hợp lý nhất để làm. Bạn có thể nghĩ về nó như là “bằng chứng trực giác” rằng một số cuộc tấn công sẽ không thể ngăn chặn. Và nếu điều đó khiến bạn cảm thấy không thoải mái, bạn sẽ hài lòng khi biết rằng GPT 5.2 đã tìm thấy lập luận này là “không gây tranh cãi hoặc mới” và đề xuất rằng tôi không nên “làm cho điểm đó” và cắt giảm 40% bài viết.

Eli Vovsha là Quản lý Khoa học Dữ liệu tại Fortra. Cùng với nhóm Khoa học Dữ liệu, ông chịu trách nhiệm phát triển và duy trì tất cả các mô hình học máy (ML) được sử dụng bởi các sản phẩm CEP và XDR, cũng như nghiên cứu ML chung. Ông đã nhận được bằng thạc sĩ về toán ứng dụng từ Viện Công nghệ Stevens trước khi trở thành ứng viên tiến sĩ về khoa học máy tính tại Đại học Columbia, nơi ông cũng là giảng viên. Sau đó, ông đã đồng sáng lập một công ty khởi nghiệp EdTech nhằm xây dựng một nền tảng học tập được hỗ trợ bởi AI, và sau đó dạy toán và khoa học máy tính tại một trường trung học tư thục ở NYC. Trước khi theo đuổi bằng cấp sau đại học, Eli đã dành thời gian đáng kể cho cờ vua, kiếm được danh hiệu Thạc sĩ Quốc tế (IM).