Một trường bổ sung đã làm hỏng 8,5 triệu máy tính. 78 phút.
Ngày 19 tháng 7 năm 2024, 04:09 UTC: CrowdStrike đẩy Channel File 291 – một bản cập nhật Nội dung Phản ứng Nhanh – đến mọi cảm biến Windows Falcon trực tuyến.
Ngày 19 tháng 7 năm 2024, 04:09 UTC: CrowdStrike đẩy Channel File 291 – một bản cập nhật Nội dung Phản ứng Nhanh – đến mọi cảm biến Windows Falcon trực tuyến. Mẫu nó cung cấp đã được khai báo với 21 trường đầu vào vào tháng 2; mã cung cấp các đầu vào xây dựng một mảng gồm 20. Trong bốn tháng không có gì đọc trường 21, vì mọi quy tắc đều để nó là ký tự đại diện. Bản cập nhật này đặt một mẫu thực vào đó. Content Validator phía đám mây đếm 21 so với khai báo và cho phép nó; Content Interpreter của cảm biến, không có kiểm tra giới hạn, đọc vị trí 21 ở chế độ kernel và Windows gặp lỗi trang: PAGE_FAULT_IN_NONPAGED_AREA, csagent.sys. Trình điều khiển tải sớm khi khởi động một cách có chủ đích, đọc cùng một tệp, gặp sự cố lần nữa – vòng lặp khởi động. Đã được hoàn nguyên lúc 05:27 UTC, 78 phút sau, nhưng 8,5 triệu máy (số liệu của Microsoft, dưới 1% Windows) đã có tệp, và cách khắc phục là một người tại mỗi bàn phím: Chế độ An toàn, xóa C-00000291*.sys, khóa khôi phục BitLocker. Các hãng hàng không, bệnh viện, ngân hàng và trung tâm 911 dừng hoạt động; Delta hủy khoảng 7.000 chuyến bay và yêu cầu bồi thường ít nhất 500 triệu đô la từ CrowdStrike và Microsoft; Parametrix ước tính hóa đơn cho Fortune 500 gần 5,4 tỷ đô la. Báo cáo khám nghiệm tử thi từ Phân tích Nguyên nhân Gốc của CrowdStrike, Đánh giá Sự cố Sơ bộ Sau Sự cố, blog của Microsoft, 8-K của Delta và lời khai trước Hạ viện. Git blame: 65 CrowdStrike / 25 thiết kế chế độ kernel / 10 ngày thứ Sáu. Phán quyết về bản sửa lỗi: SHIP IT, sít sao.
Đọc phiên bản viết (tiếng Anh) ↗
Nội dung video này đề cập
- 28 tháng 2 – 24 tháng 4 năm 2024: cảm biến 7.11 xuất IPC Template Type (21 trường được khai báo, 20 được cung cấp); kiểm tra căng thẳng đạt vào 5 tháng 3; bốn trường hợp hoạt động vì trường 21 là ký tự đại diện
- 19 tháng 7, 04:09 UTC: hai Phiên bản Mẫu mới; lỗi logic của Content Validator cho phép phiên bản không phải ký tự đại diện vượt qua; đọc ngoài giới hạn trong kernel; 05:27 UTC đã được hoàn nguyên
- 19–29 tháng 7: khắc phục thủ công (Chế độ An toàn, xóa tệp, khóa BitLocker); ~97% cảm biến hoạt động trở lại vào 24 tháng 7, ~99% vào 29 tháng 7
- 25 tháng 7 – 19 tháng 8: kiểm tra giới hạn thời gian chạy, xác thực số lượng trường thời gian biên dịch, kiểm tra Validator, canary + vòng triển khai, quyền kiểm soát của khách hàng đối với Nội dung Phản ứng Nhanh, hai đánh giá độc lập; RCA đầy đủ với bản ghi sự cố vào 6 tháng 8
Bản ghi đã dịch
Được dịch từ lời tường thuật tiếng Anh gốc. Âm thanh và phụ đề có sẵn được điều khiển bởi YouTube.
0:00 Một bản cập nhật bảo mật mang hai mươi mốt trường vào một trình điều khiển được xây dựng cho hai mươi, và tám triệu rưỡi máy tính Windows màn hình xanh trước bữa sáng. Ngày 19 tháng 7 năm 2024, 04:09 UTC. CrowdStrike đẩy Channel File 291 đến mọi cảm biến Falcon. Bảy mươi tám phút sau họ rút nó; lúc đó các hãng hàng không, bệnh viện và ngân hàng nhìn chằm chằm vào cùng một hình chữ nhật màu xanh. Bài đăng đầu tiên của CEO nói không phải một cuộc tấn công mạng, đúng vậy, và không phải là vấn đề. Nó xảy ra như thế nào, tại sao nó có thể xảy ra, và ai phải chịu trách nhiệm.
0:27 Đây là The Daily Diff, khám nghiệm tử thi. Ngày 28 tháng 2. Cảm biến 7.11 xuất một bộ phát hiện mới cho các đường ống được đặt tên. Nó khai báo hai mươi mốt trường đầu vào; mã cung cấp cho nó xây dựng một mảng gồm hai mươi. Không ai nhận thấy: trong bốn tháng mọi quy tắc đều để trường hai mươi mốt là một ký tự đại diện, và không ai đọc một ký tự đại diện. Một kiểm tra căng thẳng đạt, bốn quy tắc được xuất, tất cả đều tốt. Ngày 19 tháng 7, 04:09. Hai quy tắc mới; một quy tắc đặt một mẫu thực vào trường hai mươi mốt.
0:51 Trình xác thực đám mây đếm hai mươi mốt so với khai báo và nói là tốt. Mọi máy chủ Windows trực tuyến tải xuống ngay lập tức, vì không có vòng canary. Cảm biến đọc vị trí hai mươi mốt, không phải bộ nhớ của nó, và kernel làm những gì kernel làm. 05:27, đã được hoàn nguyên. Quá muộn cho bất kỳ ai đã khởi động lại: trình điều khiển tải sớm khi khởi động, đọc cùng một tệp, và gặp sự cố lần nữa. Vòng lặp khởi động. Tại sao điều này có thể xảy ra? Các quy tắc là cấu hình được đẩy từ đám mây, vì vậy không có mã bỏ qua pipeline mã.
1:16 Trình thông dịch không có kiểm tra giới hạn; nó tin tưởng trình xác thực, và trình xác thực tin tưởng vào khai báo. Và tất cả đều chạy ở chế độ kernel, nơi một con trỏ xấu không phải là một ngoại lệ mà là một lỗi trang mà Windows nói không thể được bảo vệ bởi try-except. Patrick Wardle đọc nó từ một bản ghi sự cố chiều hôm đó: chỉ mục không x mười bốn, vị trí hai mươi mốt. Cách khắc phục là thủ công. Chế độ An toàn, xóa C-00000291, khởi động lại. Với BitLocker, trước tiên hãy nhập khóa
1:43 khôi phục bốn mươi tám chữ số sống trên một máy chủ cũng bị lỗi màn hình xanh. git blame. CrowdStrike, sáu mươi lăm phần trăm: RCA liệt kê sáu phát hiện, và phát hiện sáu là một câu đầy đủ: Phiên bản Mẫu nên có triển khai theo từng giai đoạn. Thiết kế chế độ kernel, hai mươi lăm: CrowdStrike nói Windows chưa thể lưu trữ bảo mật bên ngoài kernel, Microsoft nói không phải là sự cố của Microsoft, và lỗi trang không quan tâm.
2:05 Ngày thứ Sáu, mười. Thông báo commit nói không phải mã. Phạm vi ảnh hưởng: tám triệu rưỡi thiết bị, dưới một phần trăm Windows. Delta hủy bảy nghìn chuyến bay và kiện đòi năm trăm triệu, bao gồm cả Microsoft. Các công ty bảo hiểm ước tính hóa đơn Fortune 500 gần năm tỷ. Hacker News: bốn nghìn năm trăm điểm. Trớ trêu thay: một bản cập nhật nhằm phát hiện các kỹ thuật tấn công mới lại mang đến một kỹ thuật. Phán quyết, khám nghiệm tử thi: SHIP IT, sít sao.
2:27 Kiểm tra giới hạn trong sáu ngày, các vòng triển khai theo từng giai đoạn, quyền kiểm soát của khách hàng đối với các bản cập nhật nội dung, hai đánh giá bên ngoài. Sít sao, vì tất cả những điều đó đã là thực hành tiêu chuẩn rồi. Thứ Hai: bất kỳ tác nhân nào của bạn kéo từ đám mây sẽ nhận được một vòng canary. Cấu hình là mã ngay khi có thứ gì đó phân tích nó ở nơi nó không thể gây lỗi. Gửi cho tôi sự cố mà bạn vẫn chưa được phép nói về, trong phần bình luận, hoặc tại daily diff dot dev. Và đó là diff cho hôm nay.
2:48 Tôi là Niko từ Axrisi. Hợp nhất một cách có trách nhiệm.
Nguồn
- CrowdStrike, Root Cause Analysis — Channel File 291 (Aug 6, 2024, 12 pp.)www.crowdstrike.com
- CrowdStrike, Executive Summary of the RCA (Aug 6, 2024)www.crowdstrike.com
- CrowdStrike, Preliminary Post Incident Review (Jul 24, 2024)www.crowdstrike.com
- CrowdStrike, Remediation and Guidance Hub — Channel File 291 (the workaround steps)www.crowdstrike.com
- CrowdStrike, tech alert of Jul 19, 2024 (archived: Safe Mode → delete C-00000291*.sys → BitLocker key)web.archive.org
- Microsoft, David Weston, "Helping our customers through the CrowdStrike outage" (Jul 20, 2024; the 8.5 million figure)blogs.microsoft.com
- Delta Air Lines, Form 8-K (Aug 8, 2024; ~7,000 cancellations, at least $500 million)www.sec.gov
- Adam Meyers (CrowdStrike SVP), written testimony, House Homeland Security Subcommittee (Sep 24, 2024)homeland.house.gov
- George Kurtz on X, Jul 19, 2024, 09:45 UTCx.com
- Patrick Wardle on X, Jul 19, 2024 (the crash-dump index 0x14)x.com
- Hacker News, Jul 19, 2024 — "CrowdStrike Update: Windows Bluescreen and Boot Loops" (4,489 points)news.ycombinator.com
- The Guardian, Jul 24, 2024 — "CrowdStrike global outage to cost US Fortune 500 companies $5.4bn" (Parametrix estimate)www.theguardian.com
- Hacker News, Jul 21, 2024 — "Initial details about why CrowdStrike's CSAgent.sys crashed" (519 points)news.ycombinator.com
- Wikipedia — 2024 CrowdStrike-related IT outagesen.wikipedia.org



