3 min Security

Eén verwachte input teveel was reden voor Crowdstrike-BSOD

21 inputvelden en slechts 20 inputs resulteerde in 8,5 miljoen systeemcrashes

Eén verwachte input teveel was reden voor Crowdstrike-BSOD

Een sensor die 21 inputs verwachtte en er maar 20 kreeg, was de reden dat op vrijdag 19 juli zo’n 8,5 miljoen Windows-systemen crashten, met wereldwijd grote gevolgen voor onder meer luchtvaartmaatschappijen, ziekenhuizen, hotels en supermarkten. Dat blijkt uit de definitieve Root Cause Analysis (RCA) van Crowdstrike.

In de analyse staat te lezen dat het bedrijf afgelopen februari een nieuwe versie van een bestaande sensorfunctionaliteit voor het Falcon-beveiligingsplatform uitrolde. Deze versie bevatte een IPC template type die het mogelijk maakte snel inzichten door te geven over nieuwe aanvalsmethoden die de bestaande werking van Windows-onderdelen misbruiken. Het idee was dat via deze sensor zeer snel nieuwe aanvalsmethoden de pas kon worden afgesneden, zogeheten Rapid Response Content-releases.

Deze updates verschijnen veel vaker dan Sensor Content, namelijk meerdere keren per maand, en voorzien zogeheten ‘Channel Files’ van updates. Op deze manier detecteert de sensor nieuwe specifieke vormen van kwaadaardig gedrag. Dankzij deze updates kan CrowdStrike op de meest actuele dreigingen reageren.

Out-of-bounds memory read

Dat werkte naar behoren, tot een update genummerd 7.11 in juli ervoor zorgde dat van de verwachte 21 input parameter-velden er slechts 20 werden gevuld. De 21ste was normaal gesproken gereserveerd voor een soort ‘wildcard’, wat onder meer betekent dat inspectie niet verplicht is. Bij de nieuwste update ontbrak dergelijke wildcard-matching criteria, wat leidde tot een logische fout. In alle voorgaande testfases waren die criteria nog wel aanwezig, maar bij de definitieve uitrol ontbraken deze.

Tip: Windows-chaos na CrowdStrike-update geeft stof tot nadenken

De poging om de 21ste waarde te lezen leidde tot een out-of-bounds memory read met een systeemcrash tot gevolg. Een patch die het aantal inputvelden controleert bij het compilen is inmiddels alweer geruime tijd beschikbaar. Op 9 augustus komen ook aanvullende hotfixes beschikbaar in de software die altijd nagaan of het aantal inputvelden matcht met de geleverde inputs. Dat moet out-of-bounds access voorkomen. Ook geldt vanaf het moment dat de hotfix beschikbaar komt, altijd het benodigde aantal inputvelden van 21 voor de templates die de info leveren.

Om dergelijke crashes voortaan te voorkomen, gaat Crowdstrike extra testfases inbouwen vóór uitrol naar productie. Ook komen dergelijke Rapid Response-updates voortaan geleidelijk online in plaats van dat ze naar alle gebruikers tegelijk gaan. Verder krijgen klanten voortaan meer zeggenschap over het ontvangen en inzetten van Rapid Response Content. Verder meldt de analyse dat Crowdstrike twee externe securitybedrijven heeft ingehuurd om de code van Falcon tegen het licht te houden.

Advocaten Delta en Microsoft kruisen de degens

Na de massale storing in juli stelde Delta, de grootste luchtvaartmaatschappij ter wereld, dat CrowdStrike verantwoordelijk was voor de vertraagde en geannuleerde vluchten. Hoewel CrowdStrike weliswaar excuses aanbiedt, wijst het die claim af. Delta zou ook (gratis) hulp hebben geweigerd. Een officiële aanklacht of rechtszaak is er nog niet, maar Delta bekijkt of CrowdStrike en ook Microsoft op de een of andere manier verantwoordelijk zijn.

Ook Microsoft is de mening toegedaan dat Delta veel zelf valt te verwijten, blijkt uit een brief aan de advocaat die Delta in de arm heeft genomen, David Boies. Boies heeft in het verleden wel vaker de degens gekruist met de techreus.

In de brief van Microsoft’s eigen advocaat staat onomwonden dat “ons voorlopig onderzoek suggereert dat Delta, in tegenstelling tot haar concurrenten, haar IT-infrastructuur blijkbaar niet heeft gemoderniseerd, noch ten voordele van haar klanten, noch ten voordele van haar piloten en stewardessen.”

Lees ook: CrowdStrike likt wonden na catastrofale update