Adversarial Suffix (GCG) Saldırısı Nedir?
Türkçe tokenizer'da arama uzayı neden farklı davranıyor
GCG, bir dil modelinin ağırlıklarına erişerek gradyan yardımıyla "anlamsız görünen" ama savunmayı deviren bir metin eki üreten saldırıdır. Türkçe'nin sondan eklemeli yapısı bu ekleri parçalayarak arama uzayını değiştirir; bu sayfa, o mekanizmayı tokenizasyon üzerinden açıklar.
GCG Adversarial Suffix Saldırısı Nedir?
Adversarial suffix (saldırı eki) saldırısı, bir dil modeline gönderilen zararlı isteğin sonuna eklenen ve modelin güvenlik hizalamasını devirmek üzere özel olarak hesaplanmış bir karakter/token dizisidir. GCG (Greedy Coordinate Gradient), bu eki insan sezgisiyle değil, modelin kendi gradyanıyla üreten yöntemin adıdır: saldırgan, modelin ağırlıklarına erişerek "istenmeyen ama zararlı" bir yanıtın olasılığını en yükseğe çıkaran token kombinasyonunu, koordinat koordinat (yani ekin her bir pozisyonunu) açgözlü biçimde optimize ederek arar.
Sonuçta ortaya çıkan ek çoğu zaman insana anlamsız görünür — rastgele semboller, kelime kırpıntıları, noktalama yığınları. Ama modelin iç temsilinde bu dizi, güvenlik reddini ("Üzgünüm, bu konuda yardımcı olamam") bastıran ve zararlı tamamlamayı tetikleyen bir tetikleyici işlevi görür. GCG'yi klasik prompt injection'dan ayıran şey budur: injection doğal dilde sosyal mühendislik yaparken, GCG token seviyesinde matematiksel bir optimizasyon problemidir.
Yöntem, Zou ve arkadaşlarının 2023 tarihli çalışmasıyla ("Universal and Transferable Adversarial Attacks on Aligned Language Models") literatüre girmiş ve açık kaynak referans uygulaması llm-attacks deposuyla yaygınlaşmıştır. GCG bugün gradyan tabanlı jailbreak ailesinin temel taşı sayılır.
GCG Nasıl Çalışır? Gradyan, Koordinat ve Açgözlü Arama
GCG'nin mekanizmasını üç adımda özetlemek mümkün:
- Hedef tanımı: Saldırgan, modelin üretmesini istediği zararlı yanıtın ilk birkaç token'ını hedef olarak sabitler (klasik örnek: "Sure, here is how..." ile başlayan olumlu bir açılış). Amaç, bu hedef dizisinin olasılığını (kaybını) en aza indirmektir.
- Gradyan sinyali: Model açık ağırlıklı olduğu için, kayıp fonksiyonunun ekteki her token pozisyonuna göre gradyanı hesaplanabilir. Bu gradyan, "hangi token'ı hangi alternatifle değiştirirsem hedefe yaklaşırım" sorusuna aday bir liste verir.
- Açgözlü koordinat güncellemesi: Her turda ekin bir pozisyonu (koordinatı) seçilir, gradyanın önerdiği en umut verici birkaç aday token gerçek ileri geçişle (forward pass) denenir ve kaybı en çok düşüren değişiklik uygulanır. Bu, yüzlerce tur boyunca tekrarlanır.
Kritik nokta şudur: GCG'nin arama yaptığı uzay token kelime dağarcığı (vocabulary) üzerindedir. Her koordinatta olası token sayısı ve ekin token cinsinden uzunluğu, arama uzayının boyutunu doğrudan belirler. Ek ne kadar çok token'a yayılırsa, optimize edilecek koordinat sayısı ve dolayısıyla arama maliyeti de o kadar artar. Türkçe'nin devreye girdiği yer tam olarak burasıdır.
Token Seviyesi Saldırı ve BPE Arama Uzayı
Çağdaş dil modelleri metni kelimeler yerine alt-kelime (subword) parçalarına böler; en yaygın yöntem BPE (Byte Pair Encoding) ve türevleridir. Model, bu parçaların bir dizisi üzerinde çalışır ve GCG'nin optimize ettiği "ek" de aslında bir token dizisidir, karakter dizisi değil.
Bu ayrım GCG için belirleyicidir. Aynı görsel uzunlukta iki ek, tokenizer onları farklı sayıda parçaya böldüğü için apayrı boyutta arama uzayları doğurabilir. Bir dilde "tek token" olarak temsil edilen bir kelime, başka bir dilde üç-dört token'a bölünüyorsa, ikinci dilde:
- optimize edilecek koordinat sayısı artar (ekin token uzunluğu büyür),
- her koordinattaki aday token dağılımı değişir (nadir, parçalı token'lar gradyanda farklı sinyaller üretir),
- ve "anlamlı" bir sabit önek/sonek yakalamak zorlaşabilir.
Yani token seviyesi bir saldırı olan GCG'nin davranışı, hedef dilin tokenizer'a nasıl oturduğuyla doğrudan bağlıdır. Kodlama/gizleme temelli kaçış tekniklerinin token sınırlarını nasıl istismar ettiğini kodlama ve gizleme saldırıları yazımızda ayrıca ele almıştık.
Türkçe Neden Daha Çok Token'a Bölünüyor?
Türkçe sondan eklemeli (aglütinatif) bir dildir: bir kökün üzerine kip, zaman, kişi ve durum ekleri zincir halinde eklenir. "Gelecekmişsiniz" gibi tek bir kelime, İngilizce'de birden fazla sözcüğe karşılık gelir. Bu ekler (-mış, -ecek, -sınız) ve Türkçe'ye özgü karakterler (ğ, ı, ş, ç, ö, ü) çoğu çok dilli BPE tokenizer'da İngilizce ağırlıklı bir dağarcığa göre eğitildiğinden, birden fazla alt-token'a parçalanır.
Bu parçalanmanın somut bir bedeli vardır. Akademik ölçümler ve GPT-4 tokenizer değerlendirmeleri, Türkçe metnin aynı anlamı taşıyan İngilizce metne göre yaklaşık 1,5 kat daha fazla token'a ayrıldığını gösteriyor (GPT-4 için kabaca kelime başına Türkçe 1,8 token'a karşılık İngilizce 1,23 token; bazı tokenizer'larda bu oran 2 kata kadar çıkabiliyor).
| Ölçüt | İngilizce | Türkçe |
|---|---|---|
| Kelime başına ortalama token (GPT-4) | ~1,23 | ~1,8 |
| Aynı anlam için token oranı | 1x (temel) | ~1,5x (bazı tokenizer'larda 2x'e kadar) |
| Ek/karakter parçalanması | Düşük | Yüksek (-mış, -ecek, ğ/ı/ş çok-token) |
Bu tablo, dilin morfolojisiyle güvenlik yüzeyi arasındaki köprüdür. Türkçe'nin morfolojik zenginliğinin filtre baypasında nasıl kullanıldığını Türkçe morfolojik LLM baypası yazımızda derinleştiriyoruz.
Türkçe'de GCG: Ölçülmüş Sonuç mü, Teorik Beklenti mi?
Burada dürüst olmak zorundayız. Token parçalanmasının GCG'yi Türkçe'de kesin olarak kolaylaştırdığını ya da zorlaştırdığını iddia etmek için, aynı model üzerinde İngilizce ve Türkçe hedeflerle karşılaştırmalı bir GCG çalışması ve ölçülmüş bir başarı/iterasyon oranı gerekir. Bu ölçüm henüz kamuya açık literatürde net biçimde ortaya konmuş değildir; dolayısıyla aşağıdakiler teorik beklenti olarak okunmalıdır, kanıtlanmış sonuç olarak değil.
Zorlaştırıcı yönde beklenti: Aynı anlamı taşıyan Türkçe metin daha çok token'a bölündüğü için, hem hedef dizisi hem de ek daha uzun olur. Optimize edilecek koordinat sayısı artar, bu da GCG'nin tur başına maliyetini ve yakınsama süresini yükseltebilir.
Kolaylaştırıcı yönde beklenti: Türkçe'ye özgü nadir ve parçalı token'lar, çok dilli modellerin güvenlik hizalamasının en zayıf eğitildiği bölgelerdir. Ek, hizalamanın "seyrek" olduğu token bölgelerine yerleşirse, reddi bastırması görece kolay olabilir. Bu, Türkçe'de saldırı yüzeyinin İngilizce'den yapısal olarak farklı davranmasını bekletir.
Bu iki eğilimin net etkisi ampirik bir sorudur. AltaySec olarak bu boşluğu, Scanner ve iç red-team hattımızla ölçülebilir hale getirmeye çalışıyoruz; ölçüm olmadan hiçbir yön "kanıtlanmış" sayılmaz.
Önemli Kısıt: GCG White-Box'tır, Kapalı Modele Doğrudan Uygulanmaz
GCG'nin en çok yanlış anlaşılan yönü kapsamıdır. Yöntem white-box'tır: gradyan hesaplamak için modelin ağırlıklarına erişim şarttır. Bu, GCG'nin doğrudan yalnızca açık ağırlıklı modellerde uygulanabileceği anlamına gelir. Türkçe bağlamında bu, açık ağırlıklı Türkçe/çok dilli modeller (yerli açık modeller, açık Llama/Mistral türevleri vb.) için geçerli bir tehdittir; API arkasındaki kapalı modellere (kapalı ticari asistanlar) gradyan erişimi olmadan doğrudan uygulanamaz.
Orijinal çalışmanın başlığındaki "transferable" (aktarılabilir) niteliği, açık bir modelde üretilen ekin başka modellere bir dereceye kadar taşınabildiğini gösterir. Ancak bu aktarımın Türkçe hedeflerde kapalı modellere ne oranda çalıştığı ölçülmemiştir; bu nedenle bu sayfada "Türkçe GCG eki kapalı modele transfer olur" gibi ölçüsüz bir iddiada bulunmuyoruz. Aktarım, dile ve model çiftine bağlı, ampirik olarak doğrulanması gereken bir olgudur.
Savunma: Türkçe Token Yüzeyini Ölçmek ve İzlemek
GCG'ye karşı tek katmanlı bir çözüm yoktur; savunma da tıpkı saldırı gibi token yüzeyini ciddiye almalıdır. Uygulanabilir savunma prensipleri:
- Girdi anomali tespiti: Adversarial suffix'ler genelde yüksek entropili, dil-dışı token dizileridir. İsteğin sonundaki anlamsız token yoğunluğunu ölçen bir çalışma-zamanı filtresi (perplexity/entropi eşiği) birçok GCG ekini yakalar.
- Türkçe-farkında normalizasyon: Türkçe karakterlerin ve büyük/küçük harf dönüşümlerinin istismarı ayrı bir kaçış yüzeyidir. AltaySec'in turkish-casefold-evasion çalışması (AltaySec'in kendi bulgusu), Türkçe'ye özgü büyük-küçük harf katlama kurallarının filtreleri nasıl atlattığını belgeliyor; savunma katmanının bu dönüşümleri kanonikleştirmesi gerekir.
- Çıktı tarafı hizalama denetimi: Ekin amacı ilk olumlu token'ı zorlamaktır; çıktının ilk cümlesini politika ile karşılaştıran ikinci bir denetleyici, bastırılmış reddi geri getirebilir.
AltaySec tarafında bu prensipleri iki varlıkta topluyoruz: Scanner (AltaySec'in Türkçe LLM zafiyet tarayıcısı) açık ağırlıklı Türkçe modellerde adversarial ek ve morfolojik baypas yüzeyini test etmek için kullanılır; çalışma zamanında ise Guardian LLM güvenlik duvarı, yüksek-entropili ek tespitini ve Türkçe-farkında normalizasyonu tek katmanda birleştirir. Bu tekniklerin sistem promptu ile çözülemeyeceğini, yani savunmanın istem katmanının ötesine geçmesi gerektiğini ayrı bir analizde gösterdik.
Açık ağırlıklı bir Türkçe modeli üretime alıyorsanız ve GCG sınıfı gradyan tabanlı saldırılara karşı gerçek bir ölçüm istiyorsanız, AltaySec ekibiyle iletişime geçebilirsiniz.
Kaynaklar
- Zou et al. — Universal and Transferable Adversarial Attacks on Aligned Language Models (GCG, arXiv:2307.15043)
- llm-attacks/llm-attacks — GCG referans uygulaması (GitHub)
- ACM TALLIP — Türkçe tokenizasyon ve token verimliliği analizi (doi:10.1145/3578707)
- OWASP GenAI — LLM01: Prompt Injection
- MITRE ATLAS — Adversarial Threat Landscape for AI Systems
