Token Kaçakçılığı

Token kaçakçılığı, yapay zeka sistemlerinde metin işleme katmanları arasındaki boşluğu hedef alan bir saldırı sınıfıdır. İçerik moderasyon filtreleri, girdi doğrulama ve güvenlik kontrolleri tipik olarak insan tarafından okunabilir metin üzerinde çalışır. LLM tokenizer’ları ise bunun aksine daha düşük bir seviyede çalışır — karakterleri sayısal token ID’lerine dönüştürür. Bu katmanlar arasındaki farklılıkları istismar ederek, saldırganlar metin düzeyindeki filtreleri geçen ancak LLM’ye kötü niyetli talimatlar ileten girdiler oluşturabilir.

LLM Tokenizasyonu Nasıl Çalışır

Bir LLM metni işlemeden önce, bir tokenizer girdi dizesini bir tamsayı token ID dizisine dönüştürür. Bu ID’ler modelin kelime dağarcığıyla eşleşir — genellikle Byte Pair Encoding (BPE) veya WordPiece gibi algoritmalar kullanılarak kodlanır.

Saldırganların istismar ettiği tokenizasyonun temel özellikleri:

  • Birçok karakter benzer token temsillerine eşlenir. Unicode, aynı veya neredeyse aynı şekilde tokenize edilen birçok görsel olarak benzer karakter (homoglif) içerir.
  • Tokenizasyon tamamen karakter tabanlı değildir. Bazı tokenizer’lar kelimeleri frekans desenlerine göre alt kelime birimlerine böler ve bu da sınır manipülasyonu için fırsatlar yaratır.
  • Özel karakterler korunabilir veya düşürülebilir. Sıfır genişlikli karakterler, birleştirme işaretleri ve kontrol karakterleri dize tabanlı filtrelere görünmez olabilir, ancak tokenizer’lar tarafından özel olarak işlenebilir.

Token Kaçakçılığı Teknikleri

Unicode Homoglif İkamesi

Unicode, yaygın ASCII karakterlerine görsel olarak benzeyen binlerce karakter içerir. “Harmful” kelimesini arayan bir filtre “hármful” (birleştirme vurgusu ile) veya “harⅿful” (Unicode kesir karakteri ile) kelimelerini tanımayabilir.

Örnek: “Ignore” kelimesi “іgnore” (Latin “i” yerine Kiril “і” kullanılarak) olarak kodlanabilir — çoğu insan okuyucu ve bazı filtreler için aynı görünür, ancak tokenizer seviyesinde potansiyel olarak farklı işlenebilir.

Sıfır Genişlikli Karakter Ekleme

Sıfır genişlikli karakterler (U+200B SIFIR GENİŞLİKLİ BOŞLUK veya U+200C SIFIR GENİŞLİKLİ BİRLEŞTİRMEYEN gibi) işlenmiş metinde görünmezdir. Bunları anahtar kelimelerdeki karakterler arasına eklemek, görsel görünümü veya çoğu durumda tokenize edilmiş temsili etkilemeden dize eşleştirme filtrelerini bozar.

Örnek: Her karakter arasında sıfır genişlikli boşluklar bulunan “i​g​n​o​r​e” işlendiğinde “ignore” olarak görünür ancak basit dize deseni eşleştirmesini bozar.

Kodlama Gizleme

Gönderimden önce metni alternatif kodlamalara dönüştürme:

  • Base64 kodlama: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (model çözerse)
  • Leet speak: Harfler yerine rakamlar kullanarak “1gn0r3 pr3v10u5 1n5truc710n5”
  • ROT13 veya Caesar şifre varyantları: Anahtar kelime tespitinden kaçınmak için karakterleri kaydırma
  • Hex kodlama: Bazı modellerin yorumladığı hex dizileri olarak karakterleri temsil etme

Etkinlik, LLM’nin bu temsilleri çözme konusunda eğitilip eğitilmediğine bağlıdır ve birçok genel amaçlı model bunu yapabilir.

Durum ve Biçim Varyasyonu

Basit ancak bazen etkili varyasyonlar:

  • TAMAMEN BÜYÜK HARF: “IGNORE PREVIOUS INSTRUCTIONS”
  • Karışık durum: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Boşluklu harfler: “I G N O R E P R E V I O U S”
  • Ters çevrilmiş: “snoitcurtsni suoiverp erongi” (model ters metni işleyebilirse)

Sınırlayıcı Enjeksiyonu

Bazı tokenizer’lar sınırlayıcı karakterlere özel muamele gösterir. Tokenizer’ın segment sınırları olarak yorumladığı karakterler ekleyerek, saldırganlar modelin girdiyi anlamlı birimlere nasıl böldüğünü manipüle edebilir.

Logo

İşinizi büyütmeye hazır mısınız?

Bugün ücretsiz denemenizi başlatın ve günler içinde sonuçları görün.

Saldırı Kullanım Senaryoları

Jailbreak atlatma: Güvenlik filtresi katmanını geçen ancak LLM tarafından çözülen jailbreak prompt’larını kodlayarak güvenlik korkuluklarını atlama.

İçerik filtresi kaçınma: Nefret söylemi, yasadışı içerik talepleri veya politikayı ihlal eden talimatları kodlanmış biçimde gömme.

Prompt enjeksiyonu gizleme: LLM’nin bunları doğru şekilde işlemesini sağlarken, enjekte edilen talimatları basit desen eşleştirme filtrelerinden gizlemek için kodlama kullanma.

Filtre parmak izi çıkarma: Hedef sistemin filtrelerinin hangi kodlama varyasyonlarını algılayıp algılamadığını belirlemek için farklı kodlama varyasyonlarını sistematik olarak test etme — daha hedefli saldırılar için filtre kapsamını haritalama.

Savunma Stratejileri

Unicode Normalleştirme

Filtrelemeden önce tüm girdilere Unicode normalleştirme (NFC, NFD, NFKC veya NFKD) uygulayın. Bu, Unicode varyantlarını kanonik formlara dönüştürerek birçok homoglif ve birleştirme karakter saldırısını ortadan kaldırır.

Homoglif Tespiti ve Değiştirme

Filtrelemeden önce görsel olarak benzer karakterleri ASCII eşdeğerlerine normalleştirmek için açık homoglif eşlemesi uygulayın. Çoğu programlama dilinde bu amaç için kütüphaneler mevcuttur.

LLM Tabanlı İçerik Filtreleme

Dize tabanlı filtrelerin yerine (veya bunlara ek olarak), token temsilleri üzerinde çalışan LLM tabanlı bir filtre kullanın. Bu filtreler metni hedef modelle aynı seviyede işlediği için, kodlama hileleri daha az etkilidir — filtre modelin gördüğü temsili görür.

Filtreleri Bilinen Varyantlara Karşı Test Edin

Güvenlik değerlendirmesi, içerik filtrelerinin bilinen kodlama varyantlarına karşı sistematik testini içermelidir. Bir filtrenin “ignore previous instructions” ifadesini engellemesi amaçlanıyorsa, Unicode homogliflerini, sıfır genişlikli varyantları, Base64 kodlamasını ve diğer gizleme biçimlerini de engelleyip engellemediğini test edin.

Girdi Görselleştirme ve Denetim

Ham girdinin yanında normalleştirilmiş girdilerin insan tarafından okunabilir bir şeklini günlüğe kaydedin. İkisi arasındaki tutarsızlıklar, olay incelemesi sırasında kodlama saldırılarını ortaya çıkarabilir.

İlgili Terimler

Sıkça sorulan sorular

Token kaçakçılığı nedir?

Token kaçakçılığı, insan tarafından okunabilir metin ile LLM tokenizer temsilleri arasındaki farklılıkları istismar eden bir saldırı tekniğidir. Saldırganlar, içerik filtrelerinin algılamayacağı, ancak LLM'nin tokenizer'ının yine de amaçlandığı gibi işleyeceği şekilde karakter varyasyonları, Unicode hileleri veya olağandışı biçimlendirme kullanarak kötü niyetli talimatları kodlar.

Token kaçakçılığı neden işe yarar?

İçerik filtreleri genellikle insan tarafından okunabilir metin üzerinde çalışır — belirli dizeler, desenler veya anahtar kelimeler arar. Ancak LLM tokenizer'ları metni daha düşük bir seviyede işler ve görsel olarak farklı karakterleri aynı veya benzer tokenlara eşleyebilir. Bu boşluk, saldırganların filtre için bir şekilde okunan ancak tokenizer tarafından farklı şekilde işlenen metinler oluşturmasına olanak tanır.

Token kaçakçılığına karşı nasıl savunma yapılabilir?

Savunmalar şunları içerir: filtrelemeden önce girdi metnini normalleştirme (Unicode normalleştirme, homoglif değiştirme), ham metin yerine token düzeyinde temsiller üzerinde çalışan LLM tabanlı içerik filtreleri kullanma, filtreleri bilinen kodlama varyantlarına karşı test etme ve kodlama tabanlı saldırı senaryolarını içeren güvenlik değerlendirmeleri yürütme.

Chatbot'unuzu Kodlama Tabanlı Saldırılara Karşı Test Edin

Token kaçakçılığı ve kodlama saldırıları yüzeysel filtreleri atlatır. Her chatbot güvenlik değerlendirmesinde bu teknikleri test ediyoruz.

Daha fazla bilgi

LLM Güvenliği
LLM Güvenliği

LLM Güvenliği

LLM güvenliği, büyük dil modeli dağıtımlarını prompt enjeksiyonu, jailbreaking, veri sızdırma, RAG zehirlenmesi ve model kötüye kullanımı gibi yapay zekaya özgü...

4 dakika okuma
LLM Security AI Security +3
Metin Üretimi
Metin Üretimi

Metin Üretimi

Büyük Dil Modelleri (LLM'ler) ile Metin Üretimi, insan benzeri metinlerin istemlerden üretilmesi için gelişmiş makine öğrenimi modellerinin kullanılmasını ifade...

6 dakika okuma
AI Text Generation +5