CrowdStrike onthult de grondoorzaak van wereldwijde systeemuitval

Cybersecuritybedrijf CrowdStrike heeft een analyse van de grondoorzaak gepubliceerd, waarin gedetailleerd wordt beschreven waarom de software-update van Falcon Sensor crashte en miljoenen Windows-apparaten wereldwijd platlegde.

Het incident met “Channel File 291”, dat oorspronkelijk werd benadrukt in de Preliminary Post Incident Review (PIR), is terug te voeren op een probleem met de validatie van inhoud dat ontstond nadat er een nieuw sjabloontype werd geïntroduceerd om inzicht te krijgen in en detectie mogelijk te maken van nieuwe aanvalstechnieken die gebruikmaken van named pipes en andere Windows-mechanismen voor interprocescommunicatie (IPC).

Het heeft specifiek te maken met een problematische contentupdate die via de cloud is geïmplementeerd. Het bedrijf beschrijft het als een ‘samenloop’ van verschillende tekortkomingen die tot een crash hebben geleid. De meest opvallende is een mismatch tussen de 21 invoeren die via het IPC Template Type naar de Content Validator zijn doorgegeven en de 20 die aan de Content Interpreter zijn verstrekt.

Volgens CrowdStrike werd de parametermismatch niet ontdekt tijdens “meerdere lagen” van het testproces, deels vanwege het gebruik van wildcard-matchingcriteria voor de 21e invoer tijdens het testen en in de eerste IPC Template Instances die tussen maart en april 2024 werden geleverd.

Met andere woorden, de nieuwe versie van Channel File 291 die op 19 juli 2024 werd gepusht, was de eerste IPC Template Instance die gebruikmaakte van het 21e invoerparameterveld. Het ontbreken van een specifieke testcase voor niet-wildcard-matchingcriteria in het 21e veld betekende dat dit pas werd gemarkeerd nadat de Rapid Response Content naar de sensoren was verzonden.

“Sensoren die de nieuwe versie van Channel File 291 ontvingen met de problematische inhoud, liepen het risico op een latent out-of-bounds-leesprobleem in de Content Interpreter”, aldus het bedrijf.

“Bij de volgende IPC-melding van het besturingssysteem werden de nieuwe IPC Template Instances geëvalueerd, waarbij een vergelijking met de 21e invoerwaarde werd gespecificeerd. De Content Interpreter verwachtte slechts 20 waarden. Daarom produceerde de poging om toegang te krijgen tot de 21e waarde een out-of-bounds geheugenlezing voorbij het einde van de invoergegevensarray en resulteerde in een systeemcrash.”

CrowdStrike heeft niet alleen het aantal invoervelden in het sjabloontype tijdens het compileren van de sensor gevalideerd om het probleem op te lossen, maar heeft ook runtime-invoerarray-grenscontroles aan de Content Interpreter toegevoegd om geheugenlezingen buiten de grenzen te voorkomen. Ook is het aantal invoervelden dat door het IPC-sjabloontype wordt verstrekt, gecorrigeerd.

“De toegevoegde bounds check voorkomt dat de Content Interpreter een out-of-bounds toegang tot de input array uitvoert en het systeem laat crashen”, merkte het op. “De extra check voegt een extra laag runtime validatie toe dat de grootte van de input array overeenkomt met het aantal inputs dat door de Rapid Response Content wordt verwacht.”

Bovendien heeft CrowdStrike aangegeven dat het van plan is om de testdekking tijdens de ontwikkeling van Template Type te vergroten, zodat er testcases worden opgenomen voor niet-wildcard-matchingcriteria voor elk veld in alle (toekomstige) Template Types.

Er wordt ook verwacht dat sommige sensorupdates de volgende hiaten zullen oplossen:

  • De Content Validator wordt aangepast om nieuwe controles toe te voegen om ervoor te zorgen dat inhoud in sjablooninstanties geen overeenkomende criteria bevat die overeenkomen met meer velden dan als invoer worden verstrekt aan de Content Interpreter.
  • De Content Validator wordt aangepast om alleen joker-matchingcriteria toe te staan ​​in het 21e veld, wat de out-of-bounds-toegang voorkomt in de sensoren die slechts 20 ingangen bieden
  • Het Content Configuration System is bijgewerkt met nieuwe testprocedures om ervoor te zorgen dat elke nieuwe Template Instance wordt getest, ongeacht het feit dat de eerste Template Instance bij het maken ervan met het Template Type is getest
  • Het Content Configuration System is bijgewerkt met extra implementatielagen en acceptatiecontroles
  • Het Falcon-platform is bijgewerkt om klanten meer controle te geven over de levering van Rapid Response Content

Last but not least, CrowdStrike zei dat het twee onafhankelijke externe softwarebeveiligingsleveranciers heeft ingeschakeld om de Falcon-sensorcode verder te beoordelen op zowel beveiliging als kwaliteitsborging. Het voert ook een onafhankelijke beoordeling uit van het end-to-end kwaliteitsproces van ontwikkeling tot implementatie.

Verder heeft het bedrijf beloofd om met Microsoft samen te werken nu Windows nieuwe manieren introduceert om beveiligingsfuncties uit te voeren in de gebruikersruimte, in plaats van te vertrouwen op een kerneldriver.

“De kerneldriver van CrowdStrike wordt geladen vanaf een vroege fase van het opstarten van het systeem, zodat de sensor malware kan observeren en zich hiertegen kan verdedigen voordat processen in de gebruikersmodus starten”, aldus het rapport.

“Door up-to-date beveiligingsinhoud (bijvoorbeeld CrowdStrike’s Rapid Response Content) aan deze kernelmogelijkheden te leveren, kan de sensor systemen verdedigen tegen een snel evoluerend dreigingslandschap zonder wijzigingen aan te brengen in de kernelcode. Rapid Response Content is configuratiegegevens; het is geen code of een kerneldriver.”

De publicatie van de analyse van de grondoorzaken volgt op het moment dat Delta Air Lines heeft aangegeven dat het “geen andere keus” heeft dan schadevergoeding te eisen van CrowdStrike en Microsoft voor het veroorzaken van enorme verstoringen en het naar schatting 500 miljoen dollar aan omzetverlies en extra kosten in verband met duizenden geannuleerde vluchten.

Zowel CrowdStrike als Microsoft hebben inmiddels gereageerd op de kritiek. Ze stellen dat zij niet verantwoordelijk zijn voor de dagenlange uitval en dat Delta hun aanbod voor hulp op locatie heeft afgewezen. Dit geeft aan dat de problemen van de provider mogelijk veel dieper liggen dan alleen de Windows-machines die uitvallen als gevolg van de gebrekkige beveiligingsupdate.

Thijs Van der Does