Tämän päivän kriittiset PHP-haavoittuvuudet ovat vain yksi osa laajempaa muutosta uhkakuvassa. Myös GitLab ja Node.js ovat saaneet kiireellisiä tietoturvapäivityksiä, kun taas Railway- ja OpenCode-alustat ovat kärsineet tietomurroista, jotka ovat vaarantaneet asiakkaiden avaimet tekoälypalveluihin. Ohjelmistoasiantuntija Theo pelkää tilanteen pahenevan merkittävästi ennen kuin se paranee.
The Nordic Times on raportoinut kahdesta vakavasta virheestä PHP-ohjelmointikielessä ja siitä, kuinka pankit ja valtion virastot sulkivat verkkopalveluitaan, kun miljoonia hyökkäysyrityksiä tallennettiin.
Uhka ulottuu kuitenkin PHP:ta ja tavallisia verkkosivustoja pidemmälle. Kaksi erilaista ongelmaa etenee rinnakkain: tietoturvavirheet ohjelmistoissa, joihin lukemattomat palvelut tukeutuvat, sekä varsinaiset tietomurrot yrityksissä, jotka säilyttävät asiakkaiden avaimia tekoälypalveluihin.
Tietoturvavirheet edellyttävät, että joku asentaa päivitykset ajoissa. Tietomurrot voivat tarkoittaa, että joku muu on jo käyttänyt pääsyäsi.
— Todellisuus on, että kaksi eri asiaa tapahtuu samanaikaisesti juuri nyt, sanoo ohjelmistoasiantuntija Theo, joka työskentelee itse kehittäjänä.

Kaksi polkua: tietoturvavirheet ja tietomurrot
Toisella puolella ovat paljastuneet tietoturvavirheet, ensisijaisesti PHP:ssa, mutta myös Node.js:ssä ja GitLabissa. Päivityksiä on saatavilla, mutta jokainen, joka ei ole asentanut niitä, on haavoittuvainen.
PHP-virheet ovat jo kohteena: hyökkäysyrityksiä tallennettiin ennen julkista paljastamista, ja virhettä hyödynnetään nyt laajasti Amazon Threat Intelligencen mukaan.
Toisella puolella ovat tietomurrot. Railway, alustayhtiö, jossa kehittäjät ajavat palveluitaan, havaitsi epätavallista toimintaa keskiviikkona 21. lokakuuta järjestelmissä, jotka säilyttävät asiakkaiden ympäristömuuttujia. Ohjelmointityökalu OpenCode ilmoitti tietomurrosta jo 17. lokakuuta edellisen yön murron jälkeen.
Tietoturvavirhe on ovi, joka voidaan murtaa auki. Tietomurto tarkoittaa, että joku on jo päässyt sisään.
Theo itse korostaa, että PHP-virheet ja Railwayn sekä OpenCoden tietomurrot eivät ole sama tapahtuma eivätkä johdu samasta syystä. Niitä yhdistää muuttunut uhkaympäristö, ei yhteinen hyökkääjä.
Miksi tekoälyavaimista on tullut ryöstösaalista?
API-avain on digitaalinen pääsyavain, jonka avulla ohjelma voi käyttää maksullista palvelua, kuten tekoälymallia, omistajan tilin kautta. Se ei ole tavallinen salasana, eikä tilin salasanan vaihtaminen riitä. Jokainen, joka saa avaimen haltuunsa, voi käyttää palvelua jonkun muun kustannuksella.
Railwayn ilmoituksen mukaan luvaton osapuoli on saattanut päästä käsiksi salattuihin ympäristömuuttujiin ja saanut joidenkin niistä sisällön selkokielisenä. Tällaiset muuttujat voivat sisältää API-avaimia ja tietokantojen kirjautumistietoja.
Alustava analyysi osoittaa tiettyyn käyttäjäryhmään, mutta yhtiö kehottaa kaikkia asiakkaita vaihtamaan avaimensa ja tarkistamaan lokit varotoimenpiteenä.
Railway uskoo, että tietomurto on osa alustayhtiöihin kohdistuvien hyökkäysten sarjaa, jonka tavoitteena on päästä käsiksi tekoälypalveluihin, ja se on pyytänyt kyseisten palvelujen tarjoajia mitätöimään avaimet.
OpenCode yhdisti tietomurtonsa siihen, mitä se kutsuu laajamittaiseksi tislausyhteisöhyökkäykseksi (distillation attack). Se vaikutti 1,4 prosenttiin sen Console-palvelun käyttäjistä, tarkemmin sanottuna niihin, jotka olivat yhdistäneet ulkoisia tekoälypalveluiden tarjoajia.
Tislaus tarkoittaa yhden tehokkaan tekoälymallin vastausten käyttämistä toisen mallin koulutusmateriaalina. Theon mukaan tämä selittää, miksi muutamassa tunnissa estettävät avaimet ovat silti arvokkaita: joku, jolla ei ole lupaa ostaa pääsyä johtaviin malleihin, voi tuottaa suuria määriä dataa jonkun muun tilillä ennen kuin avain poistetaan käytöstä.
Hän sanoo, että kärsineet kehittäjät ovat raportoineet, että avaimet käytettiin loppuun nopeasti ja että heidän tileiltään laskutettiin luvattomia tekoälymaksuja.
— Jokainen alusta, joka säilyttää API-avaimia, on kohde, sanoo Theo.
Miksi jopa hyvin kirjoitettu koodi kärsii?
PHP-virheet ovat niin vakavia, koska ne ovat itse kielessä, eivät sillä rakennetuilla verkkosivuilla. Tietoturvayhtiö Wiz, joka löysi virheet, kirjoittaa, että jopa yksinkertainen "Hello World" -ohjelma voi olla haavoittuva.
Ajattele asuinkerrostaloa, jonka pääovessa on vika. Sillä ei ole väliä, kuinka hyvät lukot asukkaat ovat asentaneet omiin huoneisto-oviinsa.
Virheet syntyvät, kun PHP käsittelee kaatumisia, erityisesti silloin, kun muisti loppuu kesken. Roskadataa voi silloin jäädä jäljelle seuraavaan pyyntöön asti. Hyökkääjä voi hyödyntää tätä lukeakseen palvelimen muistia, joka voi sisältää salasanoja, API-avaimia ja sertifikaatteja, tai suorittaakseen omaa koodiaan.
Viime vuosikymmenen haavoittuvat julkaisut, aina PHP 5.4 -versiosta alkaen, kärsivät vähintään yhdestä virheistä. Paikatut versiot 8.5.12, 8.4.27, 8.3.36 ja 8.2.35, jotka julkaistiin 21. lokakuuta, korjaavat ne.
Theo varoittaa tulkitsemasta lukua, jonka mukaan PHP pyörittää noin 70 prosenttia kaikista verkkosivustoista, vahingon mittariksi. Tuo luku sisältää valtavan määrän hylättyjä sivustoja, kun taas vierailluimmat palvelut on usein rakennettu jollain muulla. Ongelmana ovat hänen mukaansa sen sijaan ne sivustot, joita kukaan ei enää ylläpidä.
Myös GitLab ja Node.js paikkasivat
Koodialusta GitLab paikkasi samana päivänä kriittisen virheen, joka tietyissä olosuhteissa voi sallia luvattoman osapuolen suorittaa koodia kirjautumatta sisään. Virheellä on korkein riskipistemäärä, 10,0, ja se vaikuttaa vanhempiin asennuksiin, joita organisaatiot hallinnoivat itse. GitLab.com on jo paikattu.
Node.js, joka sallii JavaScript-ohjelmointikielen käytön palvelimilla, julkaisi myös tietoturvapäivityksiä 21. lokakuuta. Ne käsittelevät muun muassa suojattuja yhteyksiksiä, nimien selvitystä ja pakkausta. Virheet ovat täysin erillisiä PHP:n virheistä.
Tekoäly lyhentää hyökkäykseen kuluvaa aikaa
PHP:n haavoittuva koodi on ollut olemassa yli vuosikymmenen ajan. Sen muuttaminen toimivaksi hyökkäykseksi vaati aiemmin erittäin monimutkaisen ketjun vaiheita. Tekoälytyökalut mahdollistivat hyökkäyksen sovittamisen eri versioihin ja asetuksiin.
"Edistyneimpien tekoälymallien ja oikeiden työkalujen avulla yksi tutkija saavutti viikossa sen, mikä olisi aiemmin vienyt maailmanluokan tiimiltä kuukausia", Wiz kirjoittaa.
Jokainen tietoturvapäivitys paljastaa myös, missä virhe oli. Jokainen, joka vertaa vanhaa ja uutta koodia, saa kartan siitä, missä ne, jotka eivät ole vielä päivittäneet, ovat haavoittuvia.
Theo kutsuu tätä haavoittuvuuden ikkunaksi, joka oli aiemmin suhteellisen vaaton, koska päivitysten löytäminen ja hyödyntäminen vei valtavasti työtä. Nyt tekoälyagentit voivat käydä läpi jokaisen koodimuutoksen ja tunnistaa tietoturvaan liittyvät muutokset.
Amazonin uhkatiedusteluyksikkö, Amazon Threat Intelligence, tallennettiin hyökkäysyritys yhtä Amazonin houkutuspalvelinta vastaan jo 17. lokakuuta, neljä päivää ennen kuin virheet paljastettiin julkisesti. Yksikkö kirjoittaa, että on epäselvää, olisivatko yritykset onnistuneet todellisia järjestelmiä vastaan, mutta virhettä hyödynnetään nyt laajasti.
"Tekoälyavusteinen analyysi tekee päivityksen tai tietoturvatiedotteen muuttamisesta toimivaksi hyökkäykseksi halvempaa. Se antaa useammille toimijoille mahdollisuuden iskeä tuntien tai jopa minuuttien kuluessa", kirjoittaa Amazon Threat Intelligence, joka kehottaa toimiin tuntien kuluessa mieluummin kuin 7–30 päivän kuluessa, jonka monet organisaatiot suunnittelevat.
Miksi Theo uskoo tilanteen pahenevan
Yhdistelmä huolestuttaa häntä. Hyökkäyksiä voidaan rakentaa nopeammin kuin koskaan, kun taas päivitykset on saatava käyttöön miljoonille palvelimille, joita hallinnoivat eri omistajat.
Samaan aikaan kysyntä muuttaa tallennetut tekoälyavaimet kauppatavaraksi Theon mukaan.
— Minulla on epämiellyttävä tunne, että tilanne tulee muuttumaan paljon huonommaksi ennen kuin se paranee, Theo sanoo.
Mitä voit tehdä?
Ihmisillä, jotka vain selaavat verkkoa, ei ole päivitettävää PHP:tä, mutta heidän tulisi pitää selaimensa, käyttöjärjestelmänsä ja sovelluksensa ajan tasalla.
Jokaisen, joka ylläpitää verkkosivustoa, tulisi tarkistaa, että PHP on päivitetty paikattuihin versioihin, mikä Amazon Threat Intelligencen mukaan on ainoa täydellinen ratkaisu. Sama pätee itse ylläpidettyihin GitLab-asennuksiin ja Node.js-palveluihin.
Päivitys pysäyttää uudet hyökkäykset, mutta ei tee jo varastetuista avaimista käyttökelvottomia. Railwayn ja muiden avaimia säilyttävien alustojen asiakkaiden tulisi siksi vaihtaa ne ja valvoa tilejään.
— Varmista, että API-avaimesi on suojattu hyvin, pidetty erillään ja helppo mitätöidä, Theo sanoo.




