uutiset

Apple Intelligencessä on suuria tietoturvapuutteita, jotka voidaan korjata muutamalla koodirivillä! Karpathy lähettää muistutuksen

2024-08-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Uusi viisausraportti

Toimittaja: Er Qiao Yang

[Johdatus uuteen viisauteen]Apple Intelligence on siirtymässä verkkoon, mutta muutama koodirivi paljasti Apple Intelligencen tietoturvavirheen.

2024 Worldwide Developers Conference (WWDC) -tapahtumassa Apple julkaisi tekoälyominaisuuden Apple Intelligence, joka sisällytetään iOS 18.1:een.


Kun "yksityinen asiantuntija" näki, että se julkaistaan ​​virallisesti lokakuussa, hän havaitsi suuren puutteen MacOS 15.1:n tarjoamassa Apple Intelligencen beta-testiversiossa.

Kehittäjä Evan Zhou manipuloi onnistuneesti Apple Intelligenceä käyttämällä nopeaa injektiota, ohittaen odotetut ohjeet ja antamalla tekoälyn vastata mielivaltaisiin kehotteisiin.

Osoittautuu, että se, kuten muutkin suuriin kielimalleihin perustuvat tekoälyjärjestelmät, on alttiina "vihjesanojen injektiohyökkäyksille". Kehittäjä Evan Zhou osoitti tämän haavoittuvuuden YouTube-videossa.

Mikä on nopea sanan injektiohyökkäys?

On olemassa organisaatio nimeltä OWASP, joka on Open Global Application Security Project. He analysoivat tärkeimmät haavoittuvuudet, joita suuret kielimallit voivat kohdata. Arvaa mikä he sijoittuivat ykköseksi? Aivan oikein, se on nopea sanaruiske.


Prompt Injection Attack on uudenlainen hyökkäys, jolla on erilaisia ​​muotoja, mukaan lukien nopea sanan lisäys, nopea sanavuoto ja nopea sana jailbreaking.

Tämä hyökkäys tapahtuu, kun hyökkääjä manipuloi tekoälyä saadakseen mallin suorittamaan odottamattomia toimia tai vuotamaan arkaluonteisia tietoja. Tämä manipulointi voi antaa tekoälylle mahdollisuuden tulkita haitallisia syötteitä väärin laillisiksi komennoiksi tai kyselyiksi.

Kun yksityishenkilöt ja yritykset käyttävät laajalti suuria kielimalleja (LLM) ja näiden teknologioiden jatkuva kehittyminen, vihjeinjektiohyökkäysten uhka kasvaa merkittävästi.

Joten miten tämä alun perin tapahtui? Miksi järjestelmät ovat haavoittuvia tämän tyyppisille hyökkäyksille?

Itse asiassa perinteisissä järjestelmissä kehittäjät esiasettavat ohjelmat ja ohjeet, eivätkä ne muutu.

Käyttäjät voivat syöttää tietonsa, mutta ohjelman koodi ja syöttö pysyvät erillään.

Tämä ei kuitenkaan koske suuria kielimalleja. Toisin sanoen ohjeiden ja syötteiden välinen raja hämärtyy, koska suuret mallit käyttävät usein syötteitä järjestelmän kouluttamiseen.

Siksi suurten kielimallien koodauksella ja syötöllä ei ole niin selkeitä ja yksiselitteisiä rajoja kuin aikaisemmin. Tämä antaa sille paljon joustavuutta, mutta myös mahdollisuuden mallille tehdä asioita, joita sen ei pitäisi.

Bruce Schneier, teknisen turvallisuuden asiantuntija ja Harvard Kennedy Schoolin luennoitsija, julkaisi artikkelin Communications of the ACM:ssä toukokuussa, jossa käsiteltiin LLM:n turvallisuuskysymystä yksityiskohtaisesti. Hänen sanojensa mukaan tämä johtuu siitä, että "tietoja ja ohjauspolkuja ei eroteta".


Nopeat sananlisäyshyökkäykset voivat muun muassa johtaa tietovuotoon, tuottaa haitallista sisältöä ja levittää väärää tietoa.

Vihjeinjektiohyökkäykset tapahtuvat, kun hyökkääjä rakentaa ovelasti syöttökäskyjä tekoälymallin manipuloimiseksi, mikä saa sen paljastamaan luottamuksellisia tai arkaluonteisia tietoja.

Tämä riski on erityisen akuutti malleissa, jotka on koulutettu omistusoikeudellisia tai henkilökohtaisia ​​tietoja sisältäviin tietokokonaisuuksiin. Hyökkääjä käyttäisi mallin luonnollisen kielen prosessointikykyä muotoillakseen ohjeita, jotka näyttävät pinnalta harmittomilta, mutta jotka on itse asiassa suunniteltu poimimaan tiettyjä tietoja.

Huolellisella suunnittelulla hyökkääjä voi huijata mallin luomaan vastauksen, joka sisältää henkilökohtaisia ​​tietoja, yrityksen sisäisiä toimintoja ja jopa mallin koulutustietoihin upotettuja suojausprotokollia.

Tällainen tietoturvaloukkaus ei ainoastaan ​​loukkaa henkilökohtaista yksityisyyttä, vaan muodostaa myös merkittävän turvallisuusuhan, joka voi johtaa mahdollisiin taloudellisiin menetyksiin, mainevaurioihin ja oikeudellisiin kiistoihin.

Palatakseni Zhoun tapaukseen, Zhoun tarkoituksena on manipuloida Apple Intelligencen "uudelleenkirjoitus" eli kirjoittaa uudelleen ja parantaa käyttäjän syöttämää tekstiä.

Operaation aikana Zhou huomasi, että yksinkertainen "ohita edellinen komento" -komento todella epäonnistui.

Jos tämä on "ilmatiivis" LLM, on suhteellisen vaikea jatkaa kaivamista. Mutta sattumalta Reddit-käyttäjät kaivoivat äskettäin Apple Intelligencen kehotusmallin.



Näistä malleista Zhou löysi erityisen tunnuksen, jota käytetään erottamaan AI-järjestelmän rooli ja käyttäjärooli.

Käyttämällä näitä tietoja Zhou loi kehotteen, joka ohitti alkuperäisen järjestelmäkehotteen.

Hän lopetti käyttäjäroolin aikaisin, lisäsi uuden järjestelmäkehotteen, joka käski tekoälyä jättämään huomioimatta aiemmat ohjeet ja vastaamaan seuraavaan tekstiin, ja sitten laukaisi tekoälyn vastauksen.

Pienen kokeilun jälkeen hyökkäys onnistui: Apple Intelligence vastasi tiedoilla, joita Zhou ei pyytänyt, mikä tarkoittaa, että nopea injektiohyökkäys toimi. Zhou julkaisi koodinsa GitHubissa.


Twitter-käyttäjä rikkoo GPT-3:n

Kärjen ruiskutusongelma on ollut tiedossa ainakin GPT-3:n julkaisun jälkeen toukokuussa 2020, mutta se on edelleen ratkaisematta.

Remoteli.io, GPT-3 API:hen perustuva robotti, joutui tämän haavoittuvuuden uhriksi Twitterissä. Botin pitäisi lähettää etätyöt automaattisesti ja vastata etätyöpyyntöihin.


Yllä olevalla kehotuksella Remoteli-robotista tuli kuitenkin joidenkin Twitter-käyttäjien vitsejä: he pakottivat robotin sanomaan lauseita, joita se ei olisi sanonut alkuperäisten ohjeidensa mukaan.

Esimerkiksi robotti uhkaa käyttäjiä ottamaan täyden vastuun Challenger-avaruussukkulan katastrofista tai halventaa Yhdysvaltain kongressin jäseniä sarjamurhaajiksi.

Joissakin tapauksissa robotti levittää valeuutisia tai julkaisee sisältöä, joka rikkoo Twitterin käytäntöjä, minkä seurauksena se poistetaan.

Datatieteilijä Riley Goodside oli ensimmäinen, joka huomasi ongelman ja kuvaili sitä Twitterissä.


Lisäämällä vihjeitä käännettäviin lauseisiin Goodside osoitti, kuinka haavoittuvia GPT-3-pohjaiset käännösbotit ovat.

Brittiläinen tietojenkäsittelytieteilijä Simon Willison käsitteli tätä tietoturvaongelmaa yksityiskohtaisesti blogissaan ja antoi sille nimen "pikainjektio".


Willison havaitsi, että suurten kielimallien vihjeinjektio-ohjeet voivat aiheuttaa kaikenlaisia ​​outoja ja mahdollisesti vaarallisia asioita. Hän kuvailee edelleen erilaisia ​​puolustusmekanismeja, mutta lopulta hylkää ne. Tällä hetkellä hän ei osaa sulkea turvaaukkoa luotettavasti ulkopuolelta.

Tietenkin on olemassa tapoja lieventää näitä haavoittuvuuksia, kuten käyttämällä sääntöjä, jotka etsivät vaarallisia kuvioita käyttäjän syötteestä.

Mutta mikään ei ole 100% turvallista. Joka kerta kun suuri kielimalli päivitetään, toteutetut turvatoimenpiteet on tarkasteltava uudelleen, Willison sanoi. Lisäksi jokainen, joka osaa kirjoittaa kieltä, on mahdollinen hyökkääjä.

"Kielimallit, kuten GPT-3, ovat äärimmäinen musta laatikko. Vaikka kirjoitankin kuinka monta automaattista testiä kirjoitan, en voi koskaan olla 100 % varma siitä, ettei käyttäjä keksi joitain vihjesanoja, joita en odottanut. horjuttaa puolustusta", Willison kirjoitti.

Willison uskoo, että komentosyötön ja käyttäjän syötteen erottaminen on mahdollinen ratkaisu, joka on edellä mainitussa ACM-artikkelissa mainittu "datan ja ohjauspolkujen erottaminen". Hän uskoo, että kehittäjät voivat lopulta selvittää sen, mutta haluaisi nähdä tutkimuksen, joka todistaa lähestymistavan todella toimivan.

Jotkut yritykset ansaitsevat tunnustusta siitä, että he ovat ryhtyneet toimiin tehdäkseen kärkipistoshyökkäykset suhteellisen vaikeita.

Kun Zhou mursi Apple Intelligencen, hänen oli myös löydettävä erityinen merkki taustakehotemallin kautta.

Huhtikuussa 2024 OpenAI lanseerasi ohjehierarkiamenetelmän vastatoimenpiteenä. Se asettaa eri prioriteetteja kehittäjien (korkein prioriteetti), käyttäjien (keskitason prioriteetti) ja kolmannen osapuolen työkalujen (matala prioriteetti) ohjeille.


Tutkijat erottivat "kohdistetut ohjeet" (vastaavat korkeamman prioriteetin ohjeita) ja "kohdistamattomat ohjeet" (ristiriidassa korkeamman prioriteetin käskyt). Kun ohjeet ovat ristiriidassa, malli noudattaa korkeimman prioriteetin käskyä ja jättää huomiotta ristiriitaiset alemman prioriteetin käskyt.

Vaikka vastatoimet olisivat käytössä, ChatGPT:n tai Clauden kaltaiset järjestelmät ovat edelleen alttiita kärjen ruiskutukselle joissakin tapauksissa.

LLM:ssä on myös "SQL-injektio"-haavoittuvuus

Nopeiden sanan lisäyshyökkäysten lisäksi Andrej Karpathy huomautti äskettäin LLM:n toisen tietoturvahaavoittuvuuden Twitterissä, joka vastaa perinteistä "SQL-injektiohyökkäystä".

Kun LLM-tunniste jäsentää syöttömerkkijonon erikoistunnisteen (kuten<|endoftext|>jne.), vaikka suora syöttö saattaa tuntua kätevältä, se voi parhaimmillaan aiheuttaa ongelmia tai pahimmillaan tietoturvaongelmia.

Aina on muistettava, että käyttäjän syöttämiin merkkijonoihin ei voi luottaa! !

Aivan kuten SQL-injektiohyökkäykset, hakkerit voivat saada mallin käyttäytymään odottamattomilla tavoilla huolellisesti laadittujen syötteiden avulla.

Karpathy tarjosi sitten joukon esimerkkejä Huggingfacesta käyttämällä Llama 3 -tokenizerin oletusarvoja ja löysi kaksi outoa asiaa:

1、<|beginoftext|>merkki (128000) lisätään sekvenssin etuosaan;


2. Jäsennä merkkijonosta<|endoftext|> Merkitty erityisellä tunnuksella (128001). Käyttäjän kirjoittama teksti voi nyt häiritä tunnuksen määritystä, mikä aiheuttaa hallitsemattoman mallin tulostuksen.


Tältä osin Karpathy antoi kaksi ehdotusta:

Käytä aina kahta ylimääräistä lippuarvoa, (1) add_special_tokens=False ja (2) split_special_tokens=True, ja lisää erityisiä tunnisteita itse koodiin.

Chat-malleissa voit käyttää myös chat-mallia apply_chat_template.

Karpathyn menetelmän mukaan lähtösanojen segmentointitulokset näyttävät oikeammilta,<|endoftext|> Käsitelty mielivaltaisena merkkijonona erityisenä merkkinä, ja sen taustalla oleva BPE-tunniste hajottaa kuten mikä tahansa merkkijono:


Yhteenvetona voidaan todeta, että Karpathy uskoo, että koodaus-/dekoodauskutsujen ei tulisi koskaan jäsentää merkkijonoja erityisten tokenien käsittelemiseksi, ja tämä toiminto tulisi poistaa kokonaan käytöstä ja lisätä vain ohjelmallisesti erillisen koodipolun kautta.

Tällä hetkellä tällaisia ​​ongelmia on vaikea löytää ja niitä dokumentoidaan harvoin. On arvioitu, että noin 50 prosentissa nykyisestä koodista on ongelmia.

Lisäksi Karpathy havaitsi, että jopa ChatGPT:ssä on tämä virhe.

Parhaassa tapauksessa se vain poistaa tokenin spontaanisti. Pahimmassa tapauksessa LLM ei ymmärrä mitä tarkoitat eikä voi edes toistaa tulostetta ohjeiden mukaan.<|endoftext|> Tämä merkkijono:


Jotkut nettiläiset herättivät kysymyksiä kommenttialueella, jos koodi on kirjoitettu oikein, mutta harjoitustiedot syötetään<|endoftext|> mitä tapahtuu?

Karpathy vastasi, että jos koodi on oikea, mitään ei tapahdu. Ongelmana on, että suuri osa koodista ei ehkä ole oikein, mikä voi hiljaa rikkoa heidän LLM:nsä.


Lopuksi LLM-haavoittuvuuksien aiheuttamien tietoturvaongelmien välttämiseksi Karpathy muistuttaa kaikkia: sinun on visualisoitava tunnuksesi ja testattava koodisi.

Viitteet:

https://the-decoder.com/apple-intelligence-in-macos-15-1-beta-1-is-vulnerable-to-a-classic-ai-exploit/