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

Token smuggling hyödyntää eroa sen välillä, miten ihmiset lukevat tekstiä ja miten LLM-tokenisaattorit käsittelevät sitä. Hyökkääjät käyttävät Unicode-variaatioita, nollaleveysiä merkkejä, homoglyfejä tai epätavallisia koodauksia piilottaakseen haitallisia ohjeita sisältösuodattimilta samalla kun ne pysyvät luettavina tokenisaattorille.
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.
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:
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.
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: “ignore” nollaleveyisillä välilyönneillä jokaisen merkin välissä näkyy muodossa “ignore” renderöitynä, mutta rikkoo yksinkertaisen merkkijonon kuvion täsmäytyksen.
Tekstin muuntaminen vaihtoehtoisiin koodauksiin ennen lähettämistä:
Tehokkuus riippuu siitä, onko LLM koulutettu purkamaan näitä esityksiä, mitä monet yleiskäyttöiset mallit ovat.
Yksinkertaisia mutta joskus tehokkaita variaatioita:
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.
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.
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.
Toteuta eksplisiittinen homoglyfien yhdistäminen normalisoidaksesi visuaalisesti samankaltaiset merkit niiden ASCII-vastineiksi ennen suodatusta. Kirjastoja tähän tarkoitukseen on olemassa useimmissa ohjelmointikielissä.
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.
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.
Kirjaa normalisoitujen syötteiden ihmisluettava renderöinti raakalähdön rinnalle. Näiden kahden väliset erot voivat paljastaa koodaushyökkäyksiä tapauskatselmoinnin aikana.
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.
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.
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.
Token smuggling ja koodaushyökkäykset ohittavat pintapuoliset suodattimet. Testaamme näitä tekniikoita jokaisessa chatbot-turvallisuusarviossa.
Tokeni suurten kielimallien (LLM) yhteydessä on merkkijono, jonka malli muuntaa numeerisiksi esityksiksi tehokasta käsittelyä varten. Tokenit ovat tekstin perus...
Ikkunointi tekoälyssä tarkoittaa datan käsittelyä osissa eli “ikkunoissa” järjestyksellisen tiedon analysoimiseksi tehokkaasti. Tärkeä erityisesti NLP:ssä ja su...
Kielentunnistus suurissa kielimalleissa (LLM) on prosessi, jossa nämä mallit tunnistavat syötetyn tekstin kielen, mahdollistaen tarkan käsittelyn monikielisissä...