Det er nå tre uker siden oppdateringen som viste hvor sårbar verden er for IT-feil. I overkant av 8,5 millioner Microsoft-maskiner gikk i stå, og flere slet med følgene over en uke senere.
Denne uka fikk vi flere svar, da Crowstrike kom med sin analyse av rotårsaken til feilen. Den er, som tidligere omtalt, i Falcon-sensoren til selskapet.
Du kan lese hele rapporten her.
Store dataproblemer i hele verden
Tre klare feil
I sin oppsummering trekker Crowdstrike fram tre forhold som til sammen gjorde feilen så alvorlig som den ble:
- Det var et misforhold mellom antall verdier mellom deres Content Validatator (21 parametre) og Contend Interpreter (20 parametre).
- Det var en ukjent out-of-bounds read-feil i Content Interpreter.
- Det manglet en test for å finne ut hvordan et ikke-wildcard ville fungere som det 21. parameteret.
Alt dette skal være blant annet basert på regex-er, og Crowdstrike skriver utfyllende i rapporten om hva de har gjort, og skal gjøre videre for å løse dette.
Crowdstrike-feilen kosta 160 milliarder – her kommer søksmålene
Stresstestet i mars
– Ved denne anledningen førte misforholdet til at systemene krasjet, som følge av at det ble skapt en «out-of-bounds memory read», skriver Crowdstrike om misforholdet mellom antallet parametere.
Problemet skal ha kommet som følge av en videreutvikling av en funksjon, som ble lagt til i sensoren i februar i år, og ble sendt ut som template instances gjennom Rapid Response Content i den tilhørende "Channel File 291", som også er navnet på rapporten.
Tanken var at den nye tilnærmingen skulle kunne avsløre og hindre nye angrepsmetoder, som misbrukte enkelte mekanismer i Windows.
Denne funksjonen var utviklet og testet i tråd med det Crowdstrike betegner som standard utviklingsprosesser for programvare.
Nesten halvparten dropper full sjekk før oppdateringer
Passerte flere tester og valideringer
Løsningen ble utsatt for en stresstest 5. mars. Da ble det sendt ut "Rapid Response Content" i produksjon, som en del av en oppdatering.
I tillegg kom det tre nye Rapid Response oppdateringer mellom 8. april og 24. april, forklarer Crowdstrike. Alt dette skal ha virket som forventet.
Den nye malen definerte at det skulle være 21 felter for parametere, mens integrasjonskoden som skulle utløse Content Interpreteren kunne bare levere 20 inputverdier.
Dette misforholder ble ikke oppdaget, til tross for flere runder med valideringer og tester, ei heller ved testing av sensor eller stresstestene. Den trolige forklaringen blir utpekt å være at det ble brukt wildcard-matching for det 21. input-feltet under testingen.
Endrer rutinene
Crowdstrike vil gjøre flere undersøkelser og endringer som følge av hendelsen.
Selskapet har planer om å hente inn to uavhengige aktører til å gå over koden til Falcon-sensoren, samt rutinene for kvalitetskontroll og releaser.
I tillegg skal det også lukkes mulighet for at feilen gjentar seg, ved at det blant annet skal bli validering av antall felter for parametre. Brukere skal også få mulighet til selv å velge når de vil deploye Rapid Response Content.