Anthropic ja Mozilla julkaisivat tällä viikolla raportin, joka muuttaa kuvaa siitä, kenen vastuulla avoimen lähdekoodin tietoturva on. Anthropicin Mythos-malli löysi Firefoxin koodikannasta niin paljon vakavia haavoittuvuuksia, että Mozilla rakensi koko tietoturvaprosessinsa uudelleen.
Aiempi malli nojasi julkiseen bug bounty -ohjelmaan ja vapaaehtoisten tekemiin koodikatselmuksiin. Sen rinnalle Mozilla on kytkenyt Mythos-skannauksen, joka käy läpi jokaisen pull requestin ennen kuin se voidaan yhdistää päähaaraan.
Bug bountysta automatisoituun katselmointiin
Aiempi prosessi oli kahden vuosikymmenen perintö. Tutkija etsi reikiä, raportoi ne Mozillalle, säätiö maksoi palkkion ja ylläpitäjät lukivat pull requestit pitkälti silmämääräisesti. Logiikka oli, että avoin koodi houkuttelee niin monta katselmoijaa, ettei vakava reikä jää lopulta huomaamatta.
Mythos hajottaa tämän logiikan. Malli skannaa muutokset minuutissa, etsii muistinkäytön virheitä, oikeustarkistusten unohduksia ja kryptografisten kirjastojen kömmähdyksiä. Jos se löytää epäilyttävää, pull request jää odottamaan ihmistä. Katselmoija näkee Mythosin perustelut ja päättää, lähetetäänkö muutos takaisin vai vapautetaanko se mergeen.
Mitä Firefoxista löytyi
Anthropicin pilottiraportin mukaan Mythos kävi kuukauden aikana läpi Firefoxin koko nykyisen koodikannan ja kahden vuoden commit-historian. Korkean tason löydöksiä kertyi useita kymmeniä, ja niiden joukossa oli kourallinen kriittisiä reikiä, joista pahin olisi mahdollistanut etäkoodin ajamisen yhdellä haitallisella verkkosivulla.
Suurin osa löydöksistä keskittyi C++:lla kirjoitettuihin moduleihin: media-koodekkeihin, JavaScript-tulkin sisuksiin ja verkkokerrokseen. Mozilla ei ole julkistanut tarkkoja CVE-numeroita, koska osa korjauksista on yhä kesken. Säätiön mukaan ihmiskatselmoija olisi todennäköisesti löytänyt valtaosan ongelmista joskus, mutta ei kuukauden sisällä siitä, kun ne kirjoitettiin koodiin.
“Mythos ei korvaa ihmiskatselmoijaa. Se vapauttaa hänet siihen, mitä tekoäly ei näe.”
Mitä se merkitsee avoimen lähdekoodin perinteelle
Linus Torvaldsin maksiimi 'tarpeeksi monella silmäparilla kaikki bugit ovat pinnallisia' on ollut avoimen lähdekoodin tietoturvan kulmakivi. Se olettaa, että koodia lukee riittävästi väkeä, ja että reikien näkeminen vaatii vain laajan yhteisön. Mythosin tuottamat luvut kertovat toista. Vakavin osa löydöksistä oli koodissa, jota oli jo katsottu ja hyväksytty.
Tämä ei tarkoita, että ihmiskatselmointi olisi käynyt tarpeettomaksi. Mythos ei tunnista arkkitehtuuritason ongelmia eikä kulttuurisia vivahteita, eikä se osaa keskustella muutoksen tarkoituksesta. Mozillan uusi prosessi nimenomaan vapauttaa katselmoijien aikaa siihen, mihin tekoäly ei pysty: suunnitteluvirheiden bongaamiseen, dokumentaation tarkistamiseen ja yhteisön kanssa käytävään keskusteluun.



