CrowdStrike on yksi maailman johtavista tietoturvayhtiöistä. CrowdStrike julkaisi uuden päivityksen Falcon Sensor -tietoturvaohjelmaan 19.7.2024, joka sisälsi virheen estäen Windows-tietokoneiden ja -palvelimien käynnistymisen. Päivitys sisälsi muistivirheen, joka johti siihen, että CrowdStriken ajuri yritti lukea tietoja muistialueelta, joka ei kuulunut sille.

Tämä rikkoi Windowsin muistin turvallisuussääntöjä ja aiheutti Windowsin kaatumisen sinisellä ruudulla (Blue Screen of Death, BSOD). Kaatunut tietokone tai palvelin ei pystynyt käynnistymään uudelleen, vaan jäi uudelleenkäynnistymään.

CrowdStrike poisti virheellisen päivityksen jakelusta, mutta se oli jo ehtinyt vaikuttaa 8,5 miljoonaan Windows-tietokoneisiin ja -palvelimiin eri puolilla maailmaa, erityisesti länsimaissa. Se aiheutti laajoja ongelmia muun muassa pankkipalveluille, televisiolähetyksille, lentoyhtiöiden palveluille ja sairaaloille. Esimerkiksi tuhansia lentoja jouduttiin perumaan. Eikä edes CrowdStriken sponsorisopimus pelastanut Mercedeksen F1-tiimiä.

CrowdStrike ja Microsoft ovat julkaisseet omat raporttinsa tapahtuman tutkinnasta, jossa he käyvät läpi juurisyytä ja kuinka he pyrkivät estämään vastaavat tilanteet tulevaisuudessa.

Miten tämä pystyi tapahtumaan?

CrowdStrike käyttää Windows-ytimen ajureita, jotka ovat ohjelmistoja, jotka toimivat käyttöjärjestelmän ja laitteiston välillä. Ytimen ajurit ovat kriittisiä järjestelmän toiminnalle, mutta niillä on myös suuri valta ja vastuu.

Ytimen ajurit voivat muuttaa järjestelmän asetuksia, hallita laitteita ja päästä käsiksi kaikkiin muistin tietoihin. Siksi ytimen ajurit ovat yleisiä kohteita hyökkääjille.

CrowdStrike käyttää ytimen ajureita tarjotakseen haittaohjelmien torjuntakykyjä, kuten skannata tiedostoja, havaita epäilyttävää toimintaa ja estää ajamasta haitallista koodia. Nämä ovat tärkeitä tehtäviä, mutta ne vaativat myös huolellista ohjelmointia ja testausta.

CrowdStriken virhe oli ohjelmointivirhe, joka ei liittynyt Windowsin käyttöjärjestelmään tai sen tietoturvaominaisuuksiin. Windows ei voinut estää virhettä tapahtumasta, mutta se pystyi havaitsemaan sen ja pysäyttämään järjestelmän turvallisuuden vuoksi.

Windowsin tietoturvaominaisuuksista

Windows on itseään suojaava käyttöjärjestelmä, joka on tuonut kymmeniä uusia tietoturvaominaisuuksia ja arkkitehtuurisia muutoksia viimeisissä versioissaan. Windows on sitoutunut tukemaan ja tekemään yhteistyötä tietoturvatoimittajien kanssa, jotka käyttävät ytimen ajureita, mutta se tarjoaa myös vaihtoehtoisia ja turvallisempia tapoja tietoturvatyökaluille havaita ja reagoida uusiin uhkiin.

Windowsilla on useita integroituja tietoturvaominaisuuksia, jotka auttavat suojautumaan hyökkäyksiltä. Näihin kuuluvat seuraavat oletuksena käytössä olevat keskeiset ominaisuudet:

  1. Secure Boot: Tämä estää varhaisen käynnistyksen haittaohjelmia ja rootkittejä varmistamalla, että kaikki käynnistyksessä käytetyt ohjelmistot ovat allekirjoitettuja ja luotettavia.
  2. Measured Boot: Tämä tarjoaa TPM-pohjaisia (Trusted Platform Module) kryptografisia mittauksia käynnistysajan ominaisuuksista.
  3. Memory integrity: Tunnetaan myös nimellä Hypervisor-Protected Code Integrity (HVCI). Tämä estää dynaamisen koodin luomisen ajon aikana ytimessä ja auttaa varmistamaan ohjausvirran eheyden.
  4. Haavoittuvien ajurien estolista: Oletuksena käytössä oleva, käyttöjärjestelmään integroitu ja Microsoftin hallinnoima estolista, joka täydentää haitallisten ajurien estolistaa.
  5. Protected Local Security Authority: Oletuksena käytössä Windows 11:ssä, tämä suojaa useita tunnistetietoja. Laitteistopohjainen tunnistetietojen suojaus on oletuksena käytössä Windowsin yritysversioissa.
  6. Microsoft Defender Antivirus: Tämä on oletuksena käytössä Windowsissa ja tarjoaa haittaohjelmien torjuntakykyjä koko käyttöjärjestelmässä.

Mitä seuraavaksi?

Microsoft ja CrowdStrike lupaavat tehdä tiivistä yhteistyötä jatkossa varmistaakseen, että vastaavanlaiset ongelmat voidaan estää tulevaisuudessa. Windows jatkaa tietoturvaominaisuuksiensa kehittämistä ja on sitoutunut tarjoamaan kumppaneilleen turvallisia käyttöönotto-ohjeita sekä parhaita käytäntöjä, jotka tekevät tietoturvatuotteiden päivityksistä turvallisempia.

Windows pyrkii myös vähentämään ytimen ajureiden tarvetta päästä tärkeisiin tietoturvatietoihin. Lisäksi se pyrkii tarjoamaan parannettua eristämistä ja manipulointisuojausta uusilla teknologioilla, kuten Virtualization-Based Securityn (VBS) avulla. Windows myös mahdollistaa Zero Trust -lähestymistapoja.

Windows on sitoutunut tukemaan Rust-ohjelmointikieltä osana Microsoftin Secure Future Initiative (SFI) -ohjelmaa ja on äskettäin laajentanut Windows-ytimen tukea Rust-kielelle.

Molempien yhtiöiden raportit osoittavat, ettei virheen taustalla ollut tahallisuutta, vaan ohjelmointivirhe, joka pääsi läpi laadunvarmistuksesta. Tapahtuma osoitti, kuinka valtavat vaikutukset ohjelmointivirheellä voi olla maailmanlaajuisesti.

Kuva: Reddit