OpenAI ilmoitti perjantaina löytäneensä tietoturvaongelman, joka liittyy suosittuun Axios-JavaScript-kirjastoon. Pohjois-Koreaan yhdistetyt hakkerit kaappasivat kirjaston ylläpitäjän tilin ja ujuttivat siihen haittakoodin. Axios kerää noin sata miljoonaa latausta viikossa, ja hyökkäys ulottui OpenAI:n macOS-sovellusten allekirjoitusmateriaaliin saakka. Yhtiön mukaan käyttäjätietoja ei vuotanut.
Näin hyökkäys eteni
Axios on JavaScript-ekosysteemin käytetyimpiä HTTP-kirjastoja. Sitä käyttävät niin yksittäiset kehittäjät kuin suuryrityksetkin verkkoliikenteen hallintaan. Maaliskuun 31. päivänä hyökkääjät kaappasivat yhden kirjaston pääylläpitäjän npm-tilin ja julkaisivat kaksi saastutettua versiota – 1.14.1 ja 0.30.4 – alle 40 minuutin sisällä.
Saastutettuihin versioihin lisättiin riippuvuus nimeltä plain-crypto-js. Kun kehittäjä asensi Axiosin, riippuvuuden postinstall-koukku latasi ja suoritti automaattisesti haittaohjelman. Elastic Security Labsin analyysin mukaan ketju toimi kolmessa vaiheessa: ensin JavaScript-lataaja tunnisti käyttöjärjestelmän, sitten se haki alustakohtaisen hyötykuorman, joka asensi WAVESHAPER.V2-nimisen etähallintaohjelman.
Etähallintaohjelma toimi Windows-, macOS- ja Linux-ympäristöissä. Se osasi suorittaa komentoja, listata tiedostoja ja asentaa lisähaittaohjelmia, ja se otti yhteyttä komentopalvelimeensa minuutin välein.
OpenAI:n allekirjoitusmateriaali altistui
OpenAI käyttää GitHub Actions -työnkulkua macOS-sovellustensa koodin allekirjoittamiseen. Tämä työnkulku latasi saastuneen Axios-version automaattisesti maaliskuun 31. päivänä. Ongelman ydin on siinä, että työnkululla oli pääsy allekirjoitussertifikaattiin ja notarisointimateriaaliin, joita käytetään ChatGPT:n, Codexin ja muiden macOS-sovellusten todentamiseen.
Allekirjoitussertifikaatin avulla hyökkääjä voisi teoriassa levittää haittaohjelmia, jotka näyttäisivät aidoilta OpenAI-sovelluksilta. OpenAI:n oma analyysi kuitenkin osoittaa, ettei sertifikaattia todennäköisesti onnistuttu varastamaan. Yhtiö perustelee tätä hyötykuorman suorituksen ajoituksella ja työnkulun rakenteella.
“Emme löytäneet viitteitä siitä, että käyttäjätietoja olisi käytetty, järjestelmiämme olisi murrettu tai ohjelmistoamme olisi muutettu.”
Varotoimena OpenAI kumoaa ja vaihtaa kaikki altistuneet sertifikaatit. macOS-käyttäjien on päivitettävä ChatGPT, Codex, Codex CLI ja Atlas viimeistään 8. toukokuuta, minkä jälkeen vanhat versiot lakkaavat toimimasta.
Pohjois-Korea tutkinnan keskiössä
Googlen uhkatiedusteluryhmä GTIG yhdisti hyökkäyksen UNC1069-ryhmään, joka on Pohjois-Koreaan sidoksissa oleva taloudellisesti motivoitunut uhkatoimija. Ryhmä on ollut aktiivinen ainakin vuodesta 2018. Yhteys perustuu WAVESHAPER.V2-haittaohjelman koodiyhtäläisyyksiin aiempiin kampanjoihin sekä kehitysympäristöistä löytyneisiin viittauksiin BlueNoroff-ryhmän infrastruktuuriin.
Microsoft tunnisti saman toimijan nimellä Sapphire Sleet ja CrowdStrike nimellä Stardust Chollima. Kolmen suuren kyberturvallisuusyhtiön riippumattomat analyysit päätyvät samaan johtopäätökseen: hyökkäyksen takana on Pohjois-Korean valtiollinen toimija. Motiivina on todennäköisesti taloudellinen hyöty, sillä UNC1069 on aiemmin erikoistunut kryptovaluuttavarkauksiin.
Avoimen lähdekoodin riskejä myös Suomessa
Tapaus on toistaiseksi laajin npm-ekosysteemiin kohdistunut toimitusketjuhyökkäys, ja se koskettaa kaikkia Axiosia käyttäviä organisaatioita. Suomessa avoimen lähdekoodin JavaScript-kirjastoja hyödyntävät käytännössä kaikki ohjelmistotalot. Jokainen kehittäjä, joka asensi Axiosin kriittisen 39 minuutin aikaikkunan sisällä, saattoi altistua haittaohjelmalle.
WithSecure (entinen F-Secure) on tutkinut toimitusketjuhyökkäyksiä Suomessa aktiivisesti. Mikko Hyppönen, joka rakensi uraansa F-Securella yli kolme vuosikymmentä, on puhunut toistuvasti siitä, miten kyberrikolliset hyödyntävät luottamusketjuja. Axios-tapaus on selkein esimerkki siitä, miten yksittäisen npm-ylläpitäjätilin kaappaaminen voi vaarantaa miljoonien käyttäjien turvallisuuden.
OpenAI:lle tapaus on kiusallinen muistutus siitä, ettei mikään yritys ole immuuni toimitusketjuhyökkäyksille. npm-ekosysteemissä kriittisiä paketteja ylläpitävät usein yksittäiset vapaaehtoiset, joiden tilien suojaus voi olla ainoa este kymmenien miljoonien käyttäjien turvallisuudelle. Kun tekoälyjätitkin ovat haavoittuvia, paine parantaa avoimen lähdekoodin turvallisuuskäytäntöjä kasvaa entisestään.



