OpenAI:n tekoäly löysi 948 tapaa kaapata Linux-kone

Kone löysi aukot, rakensi hyökkäykset ja ehdotti korjaukset – 61 on jo paikattu

Aino AikajärviAino Aikajärvi
Jaa:
Avoin riippulukko ja irrallisia näppäimistön näppäimiä punaisessa ja vihreässä valaistuksessa
Kuva: FlyD / Unsplash

Linus Torvalds julkaisi sunnuntaina Linux 7.4:n ensimmäisen testiversion ja kertoi, että osa lähes 20 000 muutoksen kasasta johtui tekoälystä. Kuten AI Suomi kertoi, Torvaldsin mielestä on hyvä, että tekoälyn löytämät korjaukset tulevat kehitysikkunan aikana eivätkä vasta testivaiheen lopussa.

Nyt tiedetään, millaisella koneella korjattavaa voidaan tuottaa. OpenAI kertoi tällä viikolla automaattisesta ketjusta, jossa yhtiön julkaisematon kybermalli kävi läpi Linux-ytimen lokakuun puolivälin version. Tuloksena oli 948 erillistä paikallista oikeuksien korotusaukkoa. Malli rakensi jokaiseen toimivan hyökkäyksen ja ehdotti korjausta. Ajon API-kulut olivat 1 213 430 dollaria.

Yhtä aukkoa kohden se tekee noin 1 280 dollaria.

Liukuhihna neljässä vaiheessa

OpenAI:n kuvaama ketju muistuttaa enemmän tehdasta kuin tietoturvatutkijan työpöytää. Ensin tiedustelijoiksi nimetyt agentit rajasivat ytimestä 5 034 tarkastuskohdetta. Niissä oli yhteensä noin 2,8 miljoonaa koodiriviä, eli noin seitsemän prosenttia koko koodipohjasta. Vaihe maksoi 3 426 dollaria. Analyytikkoagentit kävivät kohteet läpi ja löysivät 316 549 dollarilla 2 308 epäiltyä haavoittuvuutta.

Sen jälkeen jokainen epäily testattiin. Agentit kirjoittivat koodin, joka yrittää laukaista vian, ja ajoivat sen eristetyissä virtuaalikoneissa. Muistivirheitä valvoi KASAN-työkalu. Vioista 1 724 eli 74,7 prosenttia saatiin toistettua. Viimeisessä vaiheessa mallit rakensivat hyökkäyksiä, jotka pääsivät ytimen tavallisten suojausten kuten KASLR:n, SMEP:n ja SMAP:n ohi, ja kirjoittivat korjaukset. Tietoturvatutkijat tarkistivat jokaisen hyökkäyksen, korjauksen ja vakavuusarvion ennen kuin ne lähetettiin ylläpitäjille.

Kehitys on ollut nopeaa. Heinäkuussa OpenAI ajoi saman kokeen GPT-5.6 Sol -mallilla, joka löysi 166 aukkoa 513 690 dollarilla. Yksi aukko maksoi siis noin 3 100 dollaria. Kolme kuukautta myöhemmin uusi malli löysi lähes kuusi kertaa enemmän aukkoja, ja hinta aukkoa kohden putosi alle puoleen.

Ketju teki myös virheitä, joita ihminen tuskin olisi osannut odottaa. OpenAI otti tarkasteluun 200 aluksi onnistuneeksi kirjattua hyökkäystä. Niistä 20 sai pääkäyttäjän oikeudet jonkin muun, siihen asti tuntemattoman aukon kautta kuin sen, jota piti testata. OpenAI lisäsi ketjuun erillisen tarkistuksen.

“Haavoittuvuuksien löytämistä on yhä helpompi skaalata, mutta priorisointi ja varmentaminen ovat edelleen toiminnan pullonkauloja.”

— OpenAI:n tutkimusryhmä, yhtiön blogikirjoituksessa A thousand fewer paths to root, alkukieli englanti

Mitä oikeuksien korotus tarkoittaa?

Linuxissa jokaisella ohjelmalla ja käyttäjällä on rajatut oikeudet. Pääkäyttäjä eli root voi tehdä laitteella mitä tahansa. Paikallinen oikeuksien korotus tarkoittaa vikaa, jonka avulla laitteella jo toimiva tavallinen ohjelma tai käyttäjä saa itselleen pääkäyttäjän oikeudet.

Hyökkääjä tarvitsee siis ensin jalansijan, esimerkiksi haitallisen sovelluksen tai murretun verkkopalvelun. Oikeuksien korotus on toinen askel, jolla jalansijasta tulee koko laitteen hallinta.

948↑

Aukkoa lokakuussa (heinäkuussa 166)

n. 1 280 $↓

Hinta aukkoa kohden (heinäkuussa n. 3 100 $)

1,21 milj. $

Ajon API-kulut yhteensä

18,9–66,3 milj. $

Hyökkäysten arvo bugipalkkioilla mitattuna

OpenAI: A thousand fewer paths to root

Sanasto

KASAN
Linux-ytimen testityökalu, joka huomaa muistivirheet heti niiden tapahtuessa, esimerkiksi kun ohjelma kirjoittaa muistialueelle, joka ei kuulu sille. Sen avulla voidaan todeta, että epäilty vika on todellinen.
KASLR, SMEP ja SMAP
Ytimen sisäänrakennettuja suojauksia, jotka vaikeuttavat hyökkäyksiä. KASLR sijoittaa ytimen muistiin satunnaiseen paikkaan, ja SMEP ja SMAP estävät ydintä suorittamasta tai lukemasta tavallisten ohjelmien muistiin hyökkääjän sijoittamaa koodia tai dataa.
Kontti
Kevyt tapa eristää ohjelma omaksi lokerokseen samalla palvelimella. Toisin kuin erilliset virtuaalikoneet, kontit käyttävät yhteistä käyttöjärjestelmän ydintä, joten ytimen aukko voi vaarantaa kaikki samalla palvelimella olevat kontit.

Puhelin, reititin ja pilvipalvelin

Linux-ydin ei ole vain palvelinsalien asia. Jokainen Android-puhelin käyttää sitä, ja Androidin turvallisuus perustuu siihen, että sovellukset pysyvät omissa lokeroissaan. Ytimen oikeuksien korotusaukolla haitallinen sovellus pääsee ulos lokerostaan ja muiden sovellusten tietoihin käsiksi.

Reitittimissä ongelma on päivitysten hitaus. Kotireitittimen ydin voi olla vuosia vanha, eikä valmistaja välttämättä toimita korjauksia lainkaan. Pilvipalveluissa samalla palvelimella pyörii usein kymmenien asiakkaiden kontteja, jotka jakavat saman ytimen. Jos yksi niistä saa pääkäyttäjän oikeudet, myös naapurit ovat vaarassa.

Ylläpitäjät korjaavat, mutta hiljaa

OpenAI:n mukaan kymmenen päivää ilmoitusten jälkeen 61 aukkoa oli korjattu ytimen pääkehityshaaraan, ja 43:lle oli korjaus valmisteluvaiheessa. Lisäksi 299 aukosta oli raportoitu ja keskusteltu julkisesti. Yhtiö kertoo aloittavansa vakavimmista aukoista ytimen kehittäjäyhteisön ohjeiden mukaisesti.

Ytimen ylläpitäjien omaa arviota OpenAI:n julkistuksesta ei löytynyt. AI Suomi ei löytänyt LKML-postituslistan arkistosta viestiä, jossa joku ylläpitäjistä olisi kommentoinut julkistusta omalla nimellään. Myöskään alan uutissivusto Phoronixin uutisessa ei ole ylläpitäjien kommentteja. OpenAI ei nimeä yhtään ylläpitäjää, jonka kanssa se on tehnyt yhteistyötä.

Taustalla on jännite. Torvalds valitti toukokuussa, että tekoälyn löytämät vikailmoitukset olivat tehneet ytimen tietoturvalistasta lähes hallitsemattoman. Lokakuussa hän sanoi The Registerin mukaan: ”I really think we _want_ competent people to use AI as a tool”, suomeksi ”Ajattelen todella, että me _haluamme_ pätevien ihmisten käyttävän tekoälyä työkaluna”. OpenAI:n ketju yrittää olla juuri sitä: se toimittaa ihmisten tarkistamia korjauksia toimivien hyökkäyskoodien kanssa.

Sama kone toimii toiseenkin suuntaan

Kääntöpuoli on ilmeinen. Jos aukon löytäminen maksaa reilut tuhat dollaria, siihen on varaa myös rikollisryhmällä tai valtiollisella hyökkääjällä. OpenAI laski itse, että historiallisilla bugipalkkioilla mitattuna 948 hyökkäystä olisivat 18,9–66,3 miljoonan dollarin arvoisia, eli 16–55 kertaa ajon hinnan verran.

Yhtiö jätti hyökkäysten tekniset yksityiskohdat julkaisematta turvallisuussyistä ja korostaa, että tutkimus tehtiin eristetyssä ympäristössä. Se ei kerro, milloin malli julkaistaan tai kuka siihen pääsee käsiksi. Yhtiön oma johtopäätös on suora: ”Defenders should proactively analyze their software so that it becomes cost prohibitive for attackers to exploit”, suomeksi ”Puolustajien pitäisi analysoida ohjelmistojaan ennakoivasti, jotta niiden hyödyntäminen tulee hyökkääjille kohtuuttoman kalliiksi”.

Linuxilla on tuhansia kehittäjiä ja suuria yrityksiä taustallaan. OpenAI kertoo laajentavansa työtä Patch the Planet -hankkeen kautta muihin kriittisiin ohjelmistoihin, ja monella niistä on vain yksi tai kaksi vapaaehtoista ylläpitäjää. Heille sadat hyvin dokumentoidut aukot eivät ole lahja vaan työjono. Sen purkamisen nopeus ratkaisee, ehtivätkö korjaukset puhelimiin ja reitittimiin ennen kuin vastaava kone päätyy jonkun muun käsiin.

Viikoittainen uutiskirje

Tule firmasi fiksuimmaksi AI-osaajaksi

Yksi uutiskirje kerrallaan. Kokoamme viikon tärkeimmät tekoälyuutiset suomeksi ja kerromme, mitä ne tarkoittavat sinun työsi kannalta. Luet sen kahvitauolla.

Ei roskapostia. Voit peruuttaa milloin tahansa.

Lue seuraavaksi

Luetuimmat

Viimeiset 7 päivää

  1. 1Alepan ja S-marketin robotit: näin kauppakassirobotti toimii ja paljonko se maksaa
  2. 2Näin suomalainen voi ostaa Anthropicin osaketta
  3. 3Datakeskukset Suomessa – hankkeet, sähkö ja vero
  4. 4Datakeskukset Suomessa: missä ne ovat ja kuka hyötyy
  5. 5Tekoäly vie helpot työt – raskain osa jää ihmiselle

Lähteet

Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta. Lue lisää toimintaperiaatteistamme.