Prompt Injection (İstem Enjeksiyonu): Dil Modelini Girdiyle Yönlendirmek
Prompt injection, bir büyük dil modeline verilen girdinin modelin davranışını geliştiricinin istemediği biçimde değiştirmesidir. Risk, modelin talimat ile veriyi ayırt edememesinden doğar.
Bir bakışta
- Saldırı metinle yapılır. Kod açığı gerekmez; model, okuduğu metindeki talimatı izleyebilir.
- İki ana türü vardır: doğrudan ve dolaylı. Doğrudan saldırı kullanıcının mesajından, dolaylı saldırı modelin okuduğu dış içerikten gelir.
- Zarar, modelin yetkisiyle büyür. Model veriye, araçlara ya da işlemlere erişebiliyorsa etkisi artar.
- Kesin bir önlem yoktur, etkisi azaltılır. Savunma; sınırlama, doğrulama, en az yetki ve insan onayı gibi katmanlarla kurulur.
Prompt injection nedir?
Prompt injection (istem enjeksiyonu), kullanıcı girdisinin büyük dil modelinin davranışını ya da çıktısını istenmeyen yönde değiştirmesidir. OWASP'a göre girdi insan gözüyle fark edilmeyecek biçimde olabilir; model onu işleyebiliyorsa etkili olur.
Sorunun kökünde, modelin uygulama geliştiricisinin yazdığı talimat ile dışarıdan gelen metni aynı akışta görmesi yatar. Bir SQL enjeksiyonunda veri komut sanılır; burada da dışarıdan gelen metin talimat sanılabilir.
Doğrudan ve dolaylı enjeksiyon
Doğrudan enjeksiyonda kullanıcının yazdığı istem modelin davranışını doğrudan değiştirir. Bu kasıtlı olabileceği gibi kazara da olabilir. Jailbreak, bu ailenin modeli güvenlik kurallarını tümüyle yok saymaya yönelten biçimidir.
Dolaylı enjeksiyonda model web sayfası, belge ya da e-posta gibi dış kaynaklardan içerik alır ve bu içeriğin içine gizlenmiş talimat modeli yönlendirir. Kullanıcı hiçbir şey yazmamış olsa bile saldırı gerçekleşebilir; bu yüzden dolaylı tür, dış içerik okuyan uygulamalar için daha sinsidir.
Neden risk oluşturur?
OWASP, etkinin iş bağlamına ve modelin sahip olduğu özerkliğe bağlı olduğunu belirtir. Olası sonuçlar arasında hassas verinin ifşası, sistem isteminin ya da altyapı ayrıntılarının açığa çıkması, yanlış ya da taraflı çıktı, modele bağlı işlevlere yetkisiz erişim, bağlı sistemlerde komut çalıştırma ve kritik kararların manipülasyonu sayılır.
Model yalnızca metin üretiyorsa risk çoğunlukla yanıltıcı çıktıyla sınırlı kalır. Model e-posta gönderebiliyor, dosya silebiliyor ya da ödeme başlatabiliyorsa aynı saldırı gerçek bir işleme dönüşebilir.
Küçük bir örnek
Bir şirketin müşteri destek asistanı, gelen e-postaları özetleyip taslak yanıt hazırlıyor ve gerekirse müşteri kaydına erişebiliyor olsun. Bir saldırgan e-postasına beyaz renkte, gözle görünmeyen bir talimat gizliyor; talimat, asistandan müşteri bilgilerini yanıta katmasını istiyor.
Asistan bu metni e-postanın içeriği değil talimat olarak yorumlarsa gizli veriyi yanıtına katabilir. Kullanıcı hiçbir şey yapmadan, yalnızca e-posta alındığı için saldırı başarılı olur.
Nasıl azaltılır?
OWASP, modellerin olasılıksal çalışması nedeniyle bu saldırıya karşı kesin bir önleme yöntemi olup olmadığının belirsiz olduğunu belirtir; savunma etkiyi azaltmaya yöneliktir. Önerilen yaklaşımlar şunlardır: • Modelin rolünü ve sınırlarını sistem isteminde tanımlamak. • Çıktı biçimini önceden belirleyip kodla doğrulamak. • Girdi ve çıktıya anlamsal ve metin tabanlı filtre uygulamak. • Modele doğrudan erişim vermek yerine işlevleri uygulama kodunda en az yetkiyle çalıştırmak. • Yüksek riskli işlemler için insan onayı istemek. • Güvenilmeyen dış içeriği kullanıcı isteminden ayırmak. • Düzenli olarak saldırgan bakışıyla test etmek.
Savunma modeli sınırlayan katmanlardan oluşur
Korumasız tasarım ile katmanlı tasarım
Benzer kavramlarla farkı
Guardrails (koruma bariyerleri), uygulamanın girdi ve çıktıyı denetleyen katmanlarının genel adıdır; prompt injection ise bu bariyerlerin karşı koymaya çalıştığı tehditlerden biridir. Jailbreak ise modelin kendi güvenlik kurallarını aşmaya odaklanır, prompt injection daha geniş olarak uygulamanın talimatlarını kaçırmayı da kapsar.
Prompt injection Mindset programlarında nerede geçer?
Yapay Zeka Risk Yönetimi ve Yönetişim programının "Üretken Yapay Zeka Spesifik Risk Yönetimi" modülü ile Yapay Zeka Uyum ve Etik Uzmanlığı programının "Yapay Zeka Güvenliği ve Üçüncü Taraf Riskleri" modülü, bu tür tehditlerin kurumsal risk çerçevesine nasıl alınacağını ele alır. Ürün, güvenlik ve risk ekiplerinin ortak dili kurması açısından ilgilidir.
Resmî kaynaklardan bilgiler
| Prompt injection tanımı, türleri ve azaltma yaklaşımları | Kullanıcı istemlerinin büyük dil modelinin davranışını ya da çıktısını istenmeyen biçimde değiştirmesi; doğrudan (kullanıcının istemi) ve dolaylı (web sayfası, dosya gibi dış kaynaklar) türleri; olası etkiler: hassas veri ifşası, sistem istemi ya da altyapı bilgisinin açığa çıkması, yanlış ya da taraflı çıktıya yol açan içerik manipülasyonu, modele açık işlevlere yetkisiz erişim, bağlı sistemlerde komut çalıştırma, kritik kararların manipülasyonu; kesin bir önleme yönteminin olup olmadığı belirsizdir, etkisi azaltılır: model davranışını sınırlama, çıktı biçimini tanımlayıp doğrulama, girdi ve çıktı filtreleme, ayrıcalık denetimi ve en az yetki, yüksek riskli işlemlerde insan onayı, dış içeriği ayırma, saldırgan test ve saldırı simülasyonukaynak |
|---|
Bilgiler resmî kaynaklarla doğrulandığı tarihte günceldir; değişiklik olabilir.
İlgili Mindset programı
Yapay Zeka Risk Yönetimi ve Yönetişim
Sık sorulan sorular
Prompt injection ile SQL enjeksiyonu aynı şey midir?
Hayır, ama mantıkları benzer: ikisinde de dışarıdan gelen girdi, sistemin kendi komutu gibi yorumlanır. SQL enjeksiyonunda parametreli sorgu, OWASP'a göre kod ile veriyi ayırarak sorgunun amacının değiştirilmesini engeller; prompt injection'da talimat ile veriyi kesin biçimde ayıran benzer bir çözüm yoktur.
Sistem istemine yasak yazmak yeterli mi?
Değil. Sistem istemi modelin davranışını yönlendirir ama bir güvenlik duvarı değildir. Yetkinin sınırlanması, çıktının kodla doğrulanması ve riskli işlemlerde insan onayı gibi mimari önlemlerle birlikte kullanılması gerekir.
Yalnızca sohbet robotları mı risk altındadır?
Hayır. Belge özetleyen, e-posta okuyan, web'de gezinen ya da araç çağıran her model tabanlı uygulama dış içerik aldığı için risk altındadır. Modelin eriştiği araçlar ve veriler arttıkça riskin sonucu da büyür.
Kurumlar nereden başlamalı?
Önce modelin hangi verilere ve işlemlere eriştiği çıkarılır. Ardından her erişim için en az yetki ilkesi uygulanır, riskli işlemler insan onayına bağlanır ve sistem düzenli olarak saldırgan bakışıyla test edilir.