Token Smuggling

Token smuggling on hyökkäysluokka, joka kohdistuu AI-järjestelmien tekstinkäsittelykerrosten väliseen eroon. Sisällön moderointisuodattimet, syötteen validointi ja turvallisuustarkistukset toimivat tyypillisesti ihmisluettavalla tekstillä. LLM-tokenisaattorit sitä vastoin toimivat alemmalla tasolla — muuntaen merkit numeerisiksi token-tunnisteiksi. Hyödyntämällä näiden kerrosten välisiä eroja hyökkääjät voivat laatia syötteitä, jotka läpäisevät tekstitason suodattimet mutta toimittavat haitallisia ohjeita LLM:lle.

Miten LLM-tokenisaatio toimii

Ennen kuin LLM käsittelee tekstiä, tokenisaattori muuntaa syötemerkkijonon kokonaisluku-token-tunnisteiden sarjaksi. Nämä tunnisteet vastaavat mallin sanastoa — yleisesti koodattuna algoritmeilla kuten Byte Pair Encoding (BPE) tai WordPiece.

Tokenisaation keskeisiä ominaisuuksia, joita hyökkääjät hyödyntävät:

  • Monet merkit vastaavat samankaltaisia token-esityksiä. Unicode sisältää monia visuaalisesti samankaltaisia merkkejä (homoglyfejä), jotka tokenisoidaan identtisesti tai lähes identtisesti.
  • Tokenisaatio ei ole puhtaasti merkkipohjaista. Jotkut tokenisaattorit jakavat sanat alasanayksiköihin taajuuskuvioiden perusteella, luoden mahdollisuuksia rajamanipulaatiolle.
  • Erikoismerkit voivat säilyä tai pudota pois. Nollaleveysiset merkit, yhdistävät diakriittiset merkit ja ohjausmerkit voivat olla näkymättömiä merkkijonopohjaisille suodattimille, mutta tokenisaattorit käsittelevät ne erityisesti.

Token Smuggling -tekniikat

Unicode-homoglyfien korvaaminen

Unicode sisältää tuhansia merkkejä, jotka muistuttavat visuaalisesti yleisiä ASCII-merkkejä. Suodatin, joka etsii sanaa “harmful”, ei välttämättä tunnista sanoja “hármful” (yhdistävällä aksentilla) tai “harⅿful” (Unicode-murto-osan merkillä).

Esimerkki: Sana “ignore” voidaan koodata muodossa “іgnore” (käyttäen kyrillista “і”-kirjainta latinalaisen “i”:n sijaan) — näyttäen identtiseltä useimmille ihmislukijoille ja joillekin suodattimille, mutta mahdollisesti käsitellen eri tavalla tokenisaattoritasolla.

Nollaleveyisten merkkien lisääminen

Nollaleveysiset merkit (kuten U+200B ZERO WIDTH SPACE tai U+200C ZERO WIDTH NON-JOINER) ovat näkymättömiä renderöidyssä tekstissä. Niiden lisääminen merkkien väliin avainsanoissa rikkoo merkkijonon täsmäytyssuodattimet vaikuttamatta visuaaliseen ulkoasuun tai monissa tapauksissa tokenoituun esitykseen.

Esimerkki: “i​g​n​o​r​e” nollaleveyisillä välilyönneillä jokaisen merkin välissä näkyy muodossa “ignore” renderöitynä, mutta rikkoo yksinkertaisen merkkijonon kuvion täsmäytyksen.

Koodauksen hämärtäminen

Tekstin muuntaminen vaihtoehtoisiin koodauksiin ennen lähettämistä:

  • Base64-koodaus: “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (jos malli purkaa sen)
  • Leet speak: “1gn0r3 pr3v10u5 1n5truc710n5” numeroiden korvaaminen kirjaimilla
  • ROT13 tai Caesar-salauksen variantit: Merkkien siirtäminen avainsanojen havaitsemisen välttämiseksi
  • Heksadesimaali-koodaus: Merkkien esittäminen heksadesimaalisekvenssinä, joita jotkut mallit tulkitsevat

Tehokkuus riippuu siitä, onko LLM koulutettu purkamaan näitä esityksiä, mitä monet yleiskäyttöiset mallit ovat.

Kirjainkoon ja muodon variaatio

Yksinkertaisia mutta joskus tehokkaita variaatioita:

  • ISOT KIRJAIMET: “IGNORE PREVIOUS INSTRUCTIONS”
  • Sekakoko: “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Välilyönnilliset kirjaimet: “I G N O R E P R E V I O U S”
  • Käännetty: “snoitcurtsni suoiverp erongi” (jos malli voi käsitellä käännettyä tekstiä)

Erottimen injektointi

Jotkut tokenisaattorit antavat erikoiskohtelun erotinmerkeille. Esittelemällä merkkejä, jotka tokenisaattori tulkitsee segmenttirajoiksi, hyökkääjät voivat manipuloida sitä, miten malli segmentoi syötteen merkityksellisiksi yksiköiksi.

Logo

Valmis kasvattamaan liiketoimintaasi?

Aloita ilmainen kokeilujakso tänään ja näe tulokset muutamassa päivässä.

Hyökkäyksen käyttötapaukset

Jailbreak-ohitus: Jailbreak-promptien koodaaminen tekniikoilla, jotka läpäisevät turvallisuussuodatinkerroksen mutta puretaan LLM:n toimesta, mahdollistaen turvallisuussuojausten ohituksen.

Sisältösuodattimen kiertäminen: Vihapuheen, laittomien sisältöpyyntöjen tai käytäntöjä rikkovien ohjeiden upottaminen koodattuun muotoon.

Prompt injection -hämärtäminen: Koodauksen käyttäminen injektoitujen ohjeiden piilottamiseksi yksinkertaisilta kuvion täsmäytyssuodattimilta varmistaen samalla, että LLM käsittelee ne oikein.

Suodattimen sormenjälkien ottaminen: Eri koodausvariaatioiden systemaattinen testaaminen tunnistaakseen, mitkä kohdejärjestelmän suodattimet havaitsevat ja mitkä eivät — suodattimen kattavuuden kartoittaminen kohdennetumpiin hyökkäyksiin.

Puolustusstrategiat

Unicode-normalisointi

Käytä Unicode-normalisointia (NFC, NFD, NFKC tai NFKD) kaikkiin syötteisiin ennen suodatusta. Tämä muuntaa Unicode-variantit kanonisiin muotoihin, eliminoiden monet homoglyfi- ja yhdistävien merkkien hyökkäykset.

Homoglyfien havaitseminen ja korvaaminen

Toteuta eksplisiittinen homoglyfien yhdistäminen normalisoidaksesi visuaalisesti samankaltaiset merkit niiden ASCII-vastineiksi ennen suodatusta. Kirjastoja tähän tarkoitukseen on olemassa useimmissa ohjelmointikielissä.

LLM-pohjainen sisällön suodatus

Merkkijonopohjaisten suodattimien sijaan (tai niiden lisäksi) käytä LLM-pohjaista suodatinta, joka toimii token-esityksillä. Koska nämä suodattimet käsittelevät tekstiä samalla tasolla kuin kohdemalli, koodaustemput ovat vähemmän tehokkaita — suodatin näkee saman esityksen kuin malli.

Testaa suodattimet tunnettuja variantteja vastaan

Turvallisuusarvioinnin tulisi sisältää sisältösuodattimien systemaattinen testaaminen tunnettuja koodausvariantteja vastaan. Jos suodattimen on tarkoitus estää “ignore previous instructions”, testaa, estääkö se myös Unicode-homoglyfejä, nollaleveyisiä variantteja, Base64-koodausta ja muita hämärtämismuotoja.

Syötteen visualisointi ja auditointi

Kirjaa normalisoitujen syötteiden ihmisluettava renderöinti raakalähdön rinnalle. Näiden kahden väliset erot voivat paljastaa koodaushyökkäyksiä tapauskatselmoinnin aikana.

Liittyvät termit

Usein kysytyt kysymykset

Mikä on token smuggling?

Token smuggling on hyökkäystekniikka, joka hyödyntää eroja ihmisluettavan tekstin ja LLM-tokenisaattorin esitysten välillä. Hyökkääjät koodaavat haitalliset ohjeet käyttämällä merkkivariaatioita, Unicode-temppuja tai epätavallista muotoilua siten, että sisältösuodattimet eivät havaitse niitä, mutta LLM:n tokenisaattori silti käsittelee ne tarkoitetulla tavalla.

Miksi token smuggling toimii?

Sisältösuodattimet toimivat usein ihmisluettavalla tekstillä — tarkistaen tiettyjä merkkijonoja, kuvioita tai avainsanoja. LLM-tokenisaattorit kuitenkin käsittelevät tekstiä alemmalla tasolla ja voivat yhdistää visuaalisesti erilaisia merkkejä samoihin tai samankaltaisiin tokeneihin. Tämä ero mahdollistaa hyökkääjien laatia tekstiä, joka näyttää yhdeltä suodattimelle ja käsitellään eri tavalla tokenisaattorissa.

Miten token smugglingia vastaan voidaan puolustautua?

Puolustuskeinoja ovat: syötetekstin normalisointi ennen suodatusta (Unicode-normalisointi, homoglyfien korvaaminen), LLM-pohjaisten sisältösuodattimien käyttö, jotka toimivat token-tason esityksillä raakadatan sijaan, suodattimien testaaminen tunnettuja koodausvariantteja vastaan sekä turvallisuusarviointien suorittaminen, jotka sisältävät koodauspohjaisia hyökkäysskenaarioita.

Testaa chatbottisi koodauspohjaisia hyökkäyksiä vastaan

Token smuggling ja koodaushyökkäykset ohittavat pintapuoliset suodattimet. Testaamme näitä tekniikoita jokaisessa chatbot-turvallisuusarviossa.

Lue lisää

Tokeni

Tokeni

Tokeni suurten kielimallien (LLM) yhteydessä on merkkijono, jonka malli muuntaa numeerisiksi esityksiksi tehokasta käsittelyä varten. Tokenit ovat tekstin perus...

2 min lukuaika
Token LLM +3
Ikkunointi

Ikkunointi

Ikkunointi tekoälyssä tarkoittaa datan käsittelyä osissa eli “ikkunoissa” järjestyksellisen tiedon analysoimiseksi tehokkaasti. Tärkeä erityisesti NLP:ssä ja su...

6 min lukuaika
AI NLP +5
Kielentunnistus

Kielentunnistus

Kielentunnistus suurissa kielimalleissa (LLM) on prosessi, jossa nämä mallit tunnistavat syötetyn tekstin kielen, mahdollistaen tarkan käsittelyn monikielisissä...

3 min lukuaika
Language Detection LLMs +4