+− THE DAILY DIFFdev & AI news
SHIP IT

Üks lisaväli kukutas kokku 8,5 miljonit arvutit. 78 minutit.

19.

19. juuli 2024, kell 04:09 UTC: CrowdStrike levitab Windows Falconi anduritele veebis kanali faili 291 – kiirreageerimise sisu värskenduse. Mall, mida see toidab, deklareeriti veebruaris 21 sisendväljaga; sisendeid pakkuv kood ehitab 20 elemendist koosneva massiivi. Neli kuud ei loe keegi välja 21, sest iga reegel jätab selle metamärgiks. See värskendus lisab sinna tegeliku mustri. Pilvepoolne sisukinnitaja loeb deklaratsiooni vastu 21 välja ja laseb selle läbi; anduri sisutõlk, ilma piiride kontrollita, loeb 21. pesa tuumarežiimis ja Windowsi leheküljevigu: PAGE_FAULT_IN_NONPAGED_AREA, csagent.sys. Draiver laaditakse tahtlikult käivitamise alguses, loeb sama faili, kukub uuesti kokku – käivitusahel. See taastati kell 05:27 UTC, 78 minutit hiljem, kuid 8,5 miljonit masinat (Microsofti arvestuse järgi alla 1% Windowsi masinatest) on fail juba olemas ja parandus on igal klaviatuuril inimene: Safe Mode, kustuta C-00000291*.sys, BitLockeri taastevõti. Lennufirmad, haiglad, pangad ja häirekeskused seiskusid; Delta tühistas umbes 7000 lendu ja nõuab CrowdStrike'ilt ja Microsoftilt vähemalt 500 miljonit dollarit; Parametrix hindab Fortune 500 arvete suuruseks ligi 5,4 miljardit dollarit. Järelanalüüs CrowdStrike'i enda juurpõhjuste analüüsist, esialgsest intsidendijärgsest ülevaatest, Microsofti blogist, Delta 8-K aruandest ja Esindajatekoja tunnistustest. Git blame: 65 CrowdStrike / 25 tuumarežiimi disain / 10 reede. Otsus paranduse kohta: SHIP IT, napilt.

Loe kirjalikku väljaannet (inglise keeles) ↗

Mida see video hõlmab

  • 28. veebr – 24. apr 2024: andur 7.11 tarnib IPC mallitüübi (deklareeritud 21 välja, pakutud 20); stressitest läbib 5. märtsil; neli eksemplari töötavad, sest väli 21 on metamärk
  • 19. juuli, 04:09 UTC: kaks uut mallieksemplari; sisukontrollija loogikaviga laseb metamärgivaba läbi; piiridest väljas lugemine tuumas; 05:27 UTC taastatud
  • 19.–29. juuli: käsitsi parandamine (Safe Mode, faili kustutamine, BitLockeri võti); ~97% anduritest tagasi 24. juuliks, ~99% 29. juuliks
  • 25. juuli – 19. aug: käitusaegne piiride kontroll, kompileerimisaegne väljade arvu valideerimine, kinnitaja kontrollid, kaanarik + juurutusringid, kliendi kontroll kiirreageerimise sisu üle, kaks sõltumatut ülevaadet; täielik RCA koos krahhiandmetega 6. augustil

Tõlgitud transkriptsioon

Tõlgitud ingliskeelsest originaaljutustusest. Saadaolevat heli ja subtiitreid kontrollib YouTube.

0:00 Üks turvauuendus viib draiverisse, mis on ehitatud kahekümnele väljale, kakskümmend üks välja, ja kaheksa ja pool miljonit Windowsi masinat näitavad enne hommikusööki sinise ekraani. 19. juuli 2024, kell 04:09 UTC. CrowdStrike levitab kanali faili 291 igale Falconi andurile. Seitsekümmend kaheksa minutit hiljem tõmbavad nad selle tagasi; selleks ajaks vaatavad lennufirmad, haiglad ja pangad sama sinist ristkülikut. Tegevjuhi esimene postitus ütleb, et tegemist ei ole küberrünnakuga, see on tõsi, ja see ei ole asja point. Kuidas see juhtub, miks see on võimalik ja keda süüdistada.

0:27 See on The Daily Diff, järelanalüüs. 28. veebruar. Andur 7.11 tarnib uue nimega torude detektori. See deklareerib kakskümmend üks sisendvälja; kood, mis seda toidab, ehitab massiivi kahekümne elemendiga. Keegi ei märka: neli kuud jätab iga reegel välja kakskümmend üks kui metamärgi, ja keegi ei loe metamärki. Stressitest läbib, neli reeglit tarnitakse, kõik on korras. 19. juuli, 04:09. Kaks uut reeglit; üks paneb välja kakskümmend üks tõelise mustri.

0:51 Pilvevalidaator loeb deklaratsiooni vastu kakskümmend üks ja ütleb, et kõik on korras. Iga võrgus olev Windowsi host laadib selle korraga alla, sest kaanaringi pole. Andur loeb pesa kakskümmend üks, mis ei ole tema mälu, ja tuum teeb seda, mida tuumad teevad. 05:27, tagastatud. Liiga hilja kõigile, kes taaskäivitasid: draiver laadib vara sisse käivitamisel, loeb sama faili ja kukub uuesti kokku. Käivitusahel. Miks see võimalik on? Reeglid on pilvest pärinev konfiguratsioon, seega kood ei jäta koodi vahele

1:16 torustikku. Tõlgil puudub piiride kontroll; ta usaldab valideerijat, ja valideerija usaldab deklaratsiooni. Ja see kõik töötab tuumarežiimis, kus halb osuti ei ole erand, vaid leheküljeviga, mida Windowsi sõnul ei saa kaitsta try-exceptiga. Patrick Wardle loeb selle samal pärastlõunal krahhiandmetest välja: indeks null x neliteist, pesa kakskümmend üks. Parandus on käsitsi. Safe Mode, kustuta C-00000291, taaskäivita. BitLockeriga sisestage esmalt neljakümne kaheksa kohaline

1:43 taastevõti, mis asub serveris, mis on samuti sinine. git blame. CrowdStrike, kuuskümmend viis protsenti: RCA loetleb kuus järeldust, ja järeldus kuus on täielik lause: mallieksemplarid peaksid olema etapiviisiliselt juurutatud. Tuumarežiimi disain, kakskümmend viis: CrowdStrike ütleb, et Windows ei saa veel hostida turvalisust väljaspool tuuma, Microsoft ütleb, et see ei ole Microsofti intsident, ja leheküljeviga ei hooli.

2:05 Reede, kümme. Commiti sõnum ütleb, et tegemist ei ole koodiga. Mõjuala: kaheksa ja pool miljonit seadet, alla ühe protsendi Windowsi masinatest. Delta tühistab seitse tuhat lendu ja kaebab viiesaja miljoni eest kohtusse, kaasa arvatud Microsoft. Kindlustajad hindavad Fortune 500 arveid ligi viiele miljardile. Hacker News: nelituhat viissada punkti. Iroonia: uuendus, mis oli mõeldud uute rünnakutehnoloogiate tuvastamiseks, tõi ühe ise kaasa. Otsus, järelanalüüs: SHIP IT, napilt.

2:27 Piiride kontroll kuue päeva jooksul, etapiviisilised ringid, kliendi kontroll sisuuuenduste üle, kaks välist ülevaadet. Napilt, sest see kõik oli juba tavapärane praktika. Esmaspäev: mida iganes teie agent pilvest tõmbab, saab kaanaringi. Konfiguratsioon on kood hetkel, mil miski seda parsimisel ei saa viga visata. Saatke mulle intsident, millest te ikka veel rääkida ei tohi, kommentaarides või daily diff dot devis. Ja see on tänane diff.

2:48 Mina olen Niko Axrisist. Ühendage vastutustundlikult.

Allikad

  1. CrowdStrike, Root Cause Analysis — Channel File 291 (Aug 6, 2024, 12 pp.)www.crowdstrike.com
  2. CrowdStrike, Executive Summary of the RCA (Aug 6, 2024)www.crowdstrike.com
  3. CrowdStrike, Preliminary Post Incident Review (Jul 24, 2024)www.crowdstrike.com
  4. CrowdStrike, Remediation and Guidance Hub — Channel File 291 (the workaround steps)www.crowdstrike.com
  5. CrowdStrike, tech alert of Jul 19, 2024 (archived: Safe Mode → delete C-00000291*.sys → BitLocker key)web.archive.org
  6. Microsoft, David Weston, "Helping our customers through the CrowdStrike outage" (Jul 20, 2024; the 8.5 million figure)blogs.microsoft.com
  7. Delta Air Lines, Form 8-K (Aug 8, 2024; ~7,000 cancellations, at least $500 million)www.sec.gov
  8. Adam Meyers (CrowdStrike SVP), written testimony, House Homeland Security Subcommittee (Sep 24, 2024)homeland.house.gov
  9. George Kurtz on X, Jul 19, 2024, 09:45 UTCx.com
  10. Patrick Wardle on X, Jul 19, 2024 (the crash-dump index 0x14)x.com
  11. Hacker News, Jul 19, 2024 — "CrowdStrike Update: Windows Bluescreen and Boot Loops" (4,489 points)news.ycombinator.com
  12. The Guardian, Jul 24, 2024 — "CrowdStrike global outage to cost US Fortune 500 companies $5.4bn" (Parametrix estimate)www.theguardian.com
  13. Hacker News, Jul 21, 2024 — "Initial details about why CrowdStrike's CSAgent.sys crashed" (519 points)news.ycombinator.com
  14. Wikipedia — 2024 CrowdStrike-related IT outagesen.wikipedia.org

Seotud videod