+− THE DAILY DIFFdev & AI news
SHIP IT

Satu medan tambahan meranapkan 8.5 juta PC. 78 minit.

19 Julai 2024, 04:09 UTC: CrowdStrike menolak Channel File 291 — kemas kini Kandungan Respons Pantas — kepada setiap sensor Windows Falcon dalam talian.

19 Julai 2024, 04:09 UTC: CrowdStrike menolak Channel File 291 — kemas kini Kandungan Respons Pantas — kepada setiap sensor Windows Falcon dalam talian. Templat yang diberikannya diisytiharkan dengan 21 medan input pada Februari; kod yang membekalkan input membina tatasusunan 20. Selama empat bulan tiada apa-apa yang membaca medan 21, kerana setiap peraturan membiarkannya sebagai kad bebas. Kemas kini ini meletakkan corak sebenar di sana. Validator Kandungan bahagian awan mengira 21 terhadap pengisytiharan dan meluluskannya; Penterjemah Kandungan sensor, tanpa pemeriksaan sempadan, membaca slot 21 dalam mod kernel dan Windows page-faults: PAGE_FAULT_IN_NONPAGED_AREA, csagent.sys. Pemacu memuatkan awal dalam but secara sengaja, membaca fail yang sama, ranap lagi — gelung but. Dibalikkan pada 05:27 UTC, 78 minit kemudian, tetapi 8.5 juta mesin (kiraan Microsoft, di bawah 1% daripada Windows) sudah mempunyai fail tersebut, dan penyelesaiannya adalah manusia di setiap papan kekunci: Safe Mode, padam C-00000291*.sys, kunci pemulihan BitLocker. Syarikat penerbangan, hospital, bank dan pusat 911 berhenti; Delta membatalkan kira-kira 7,000 penerbangan dan menuntut sekurang-kurangnya $500 juta daripada CrowdStrike dan Microsoft; Parametrix meletakkan bil Fortune 500 hampir $5.4 bilion. Postmortem daripada Analisis Punca Utama CrowdStrike sendiri, Kajian Pra-Insiden Awal, blog Microsoft, 8-K Delta dan testimoni Dewan. Git blame: 65 CrowdStrike / 25 reka bentuk mod kernel / 10 hari Jumaat. Keputusan mengenai penyelesaian: SHIP IT, tipis.

Baca edisi bertulis (Bahasa Inggeris) ↗

Apa yang diliputi video ini

  • 28 Feb – 24 Apr 2024: sensor 7.11 menghantar Jenis Templat IPC (21 medan diisytiharkan, 20 dibekalkan); ujian tekanan lulus 5 Mac; empat contoh berfungsi kerana medan 21 adalah kad bebas
  • 19 Jul, 04:09 UTC: dua Contoh Templat baharu; ralat logik Validator Kandungan membiarkan yang bukan kad bebas melalui; bacaan di luar sempadan dalam kernel; 05:27 UTC dibalikkan
  • 19–29 Jul: remediasi manual (Safe Mode, padam fail, kunci BitLocker); ~97% sensor kembali pada 24 Jul, ~99% pada 29 Jul
  • 25 Jul – 19 Ogos: pemeriksaan sempadan masa jalan, pengesahan kiraan medan masa kompilasi, pemeriksaan Validator, cincin canary + penyebaran, kawalan pelanggan ke atas Kandungan Respons Pantas, dua ulasan bebas; RCA penuh dengan buangan ranap pada 6 Ogos

Transkrip terjemahan

Diterjemahkan daripada penceritaan asal Bahasa Inggeris. Audio dan kapsyen yang tersedia dikawal oleh YouTube.

0:00 Satu kemas kini keselamatan membawa dua puluh satu medan ke dalam pemacu yang dibina untuk dua puluh, dan lapan setengah juta mesin Windows skrin biru sebelum sarapan. 19 Julai 2024, 04:09 UTC. CrowdStrike menolak Channel File 291 kepada setiap sensor Falcon. Tujuh puluh lapan minit kemudian mereka menariknya; pada masa itu syarikat penerbangan, hospital dan bank menatap segi empat tepat biru yang sama. Catatan pertama CEO mengatakan bukan serangan siber, benar, dan bukan intinya. Bagaimana ia berlaku, mengapa ia mungkin, dan siapa yang dipersalahkan.

0:27 Ini adalah The Daily Diff, postmortem. 28 Februari. Sensor 7.11 menghantar pengesan baharu untuk paip bernama. Ia mengisytiharkan dua puluh satu medan input; kod yang membekalkannya membina tatasusunan dua puluh. Tiada siapa yang perasan: selama empat bulan setiap peraturan membiarkan medan dua puluh satu sebagai kad bebas, dan tiada siapa yang membaca kad bebas. Ujian tekanan lulus, empat peraturan dihantar, semuanya baik. 19 Julai, 04:09. Dua peraturan baharu; satu meletakkan corak sebenar dalam medan dua puluh satu.

0:51 Validator awan mengira dua puluh satu terhadap pengisytiharan dan mengatakan baik. Setiap hos Windows dalam talian memuat turunnya sekaligus, kerana tiada cincin canary. Sensor membaca slot dua puluh satu, yang bukan memorinya, dan kernel melakukan apa yang kernel lakukan. 05:27, dibalikkan. Terlambat untuk sesiapa sahaja yang memulakan semula: pemacu memuatkan awal dalam but, membaca fail yang sama, dan ranap lagi. Gelung but. Mengapa ini mungkin? Peraturan adalah konfigurasi yang didorong dari awan, jadi kod tidak melangkau kod

1:16 saluran paip. Penterjemah tidak mempunyai pemeriksaan sempadan; ia mempercayai validator, dan validator mempercayai pengisytiharan. Dan semuanya berjalan dalam mod kernel, di mana penunjuk buruk bukanlah pengecualian tetapi satu ralat halaman Windows mengatakan tidak boleh dilindungi oleh try-except. Patrick Wardle membacanya dari buangan ranap petang itu: indeks sifar x empat belas, slot dua puluh satu. Penyelesaiannya adalah manual. Safe Mode, padam C-00000291, mulakan semula. Dengan BitLocker, mula-mula taipkan empat puluh lapan digit

1:43 kunci pemulihan yang terletak pada sebuah pelayan yang juga biru. git blame. CrowdStrike, enam puluh lima peratus: RCA menyenaraikan enam penemuan, dan penemuan enam adalah ayat penuh: Contoh Templat sepatutnya mempunyai peringkat penyebaran. Reka bentuk mod kernel, dua puluh lima: CrowdStrike mengatakan Windows tidak boleh lagi mengehos keselamatan di luar kernel, Microsoft mengatakan bukan insiden Microsoft, dan ralat halaman tidak peduli.

2:05 Hari Jumaat, sepuluh. Mesej komit mengatakan bukan kod. Jejari letupan: lapan setengah juta peranti, di bawah satu peratus daripada Windows. Delta membatalkan tujuh ribu penerbangan dan menyaman lima ratus juta, Microsoft termasuk. Penanggung insurans meletakkan bil Fortune 500 hampir lima bilion. Berita Hacker: empat puluh lima ratus mata. Ironinya: kemas kini yang bertujuan untuk mengesan teknik serangan novel telah menyampaikan satu. Keputusan, postmortem: SHIP IT, tipis.

2:27 Pemeriksaan sempadan dalam enam hari, cincin berperingkat, kawalan pelanggan ke atas kemas kini kandungan, dua ulasan luar. Tipis, kerana semua itu sudah menjadi amalan standard. Isnin: apa sahaja yang ejen anda tarik dari awan mendapat cincin canary. Konfigurasi adalah kod pada saat sesuatu menguraikannya di mana ia tidak boleh membuang. Hantar saya insiden yang anda masih tidak dibenarkan untuk bincangkan, dalam komen, atau di daily diff dot dev. Dan itu adalah diff untuk hari ini.

2:48 Saya Niko dari Axrisi. Gabung dengan bertanggungjawab.

Sumber

  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

Video berkaitan