- Tách biệt với sự cố BSOD quy mô lớn trên Windows, đã từng có trường hợp bản cập nhật của CrowdStrike gây ngừng hoạt động máy chủ trong môi trường Debian và Rocky Linux
- Vào tháng 4, tại một civic tech lab, toàn bộ máy chủ Debian Linux đã đồng loạt bị crash ngay sau khi cập nhật và từ chối khởi động; chỉ có thể khôi phục sau khi gỡ CrowdStrike
- Cấu hình Debian đó được cho là nằm trong diện hỗ trợ, nhưng lại không tương thích với phiên bản Debian ổn định mới nhất, và phân tích nguyên nhân gốc rễ xác nhận có thiếu sót trong ma trận kiểm thử
- Người dùng Rocky Linux cũng cho biết sau khi nâng cấp lên RockyLinux 9.4, các máy chủ dùng CrowdStrike bị crash do lỗi kernel, và đội hỗ trợ CrowdStrike cũng đã thừa nhận vấn đề
- Các tổ chức phụ thuộc vào CrowdStrike cần thận trọng hơn khi áp dụng bản cập nhật và phải có kế hoạch khẩn cấp để ứng phó sự cố
Các trường hợp gián đoạn trên Linux trước sự cố Windows
- Sự cố Blue Screen of Death diện rộng trên PC Windows đã làm gián đoạn hoạt động của nhiều lĩnh vực như hãng hàng không, ngân hàng và nhà cung cấp dịch vụ y tế
- Nguyên nhân là một channel file có vấn đề được CrowdStrike phát hành qua bản cập nhật
- CrowdStrike xác nhận sự cố crash này không ảnh hưởng đến máy Mac hay PC Linux
- Tuy nhiên, người dùng Debian và Rocky Linux cũng đã trải qua gián đoạn đáng kể do bản cập nhật của CrowdStrike, làm dấy lên lo ngại về quy trình cập nhật và kiểm thử
- Điều này có thể trở thành rủi ro tiềm ẩn với các khách hàng phụ thuộc vào sản phẩm CrowdStrike hằng ngày
Các vấn đề được xác nhận trên Debian và Rocky Linux
-
Máy chủ Debian đồng loạt crash
- Vào tháng 4, tại một civic tech lab, bản cập nhật CrowdStrike đã khiến toàn bộ máy chủ Debian Linux đồng loạt crash và không thể khởi động
- Bản cập nhật đó không tương thích với phiên bản Debian ổn định mới nhất, dù cấu hình Linux này được cho là nằm trong diện hỗ trợ
- Đội IT xác nhận rằng máy có thể khởi động nếu gỡ CrowdStrike và đã báo cáo sự việc
-
Chậm phản hồi và thiếu kiểm thử
- Một thành viên trong nhóm liên quan đến sự cố bày tỏ sự không hài lòng với việc CrowdStrike phản hồi chậm
- CrowdStrike thừa nhận vấn đề sau một ngày, nhưng phải mất vài tuần mới cung cấp phân tích nguyên nhân gốc rễ
- Kết quả phân tích cho thấy cấu hình Debian Linux này không nằm trong ma trận kiểm thử của CrowdStrike
- Thành viên này chỉ trích: “Mô hình của Crowdstrike dường như là đẩy phần mềm lên máy của các bạn bất cứ khi nào họ muốn, bất kể có khẩn cấp hay đã được kiểm thử hay chưa”
-
Crash sau khi nâng cấp Rocky Linux 9.4
- Người dùng Rocky Linux cho biết sau khi nâng cấp lên RockyLinux 9.4, các máy chủ dùng CrowdStrike bị crash do lỗi kernel
- Đội hỗ trợ CrowdStrike đã thừa nhận vấn đề này
- Các vấn đề tương thích lặp lại trên nhiều hệ điều hành khác nhau cho thấy một mô hình thiếu kiểm thử và thiếu thận trọng
Những điều tổ chức cần chuẩn bị
- Để giảm các sự cố tương tự trong tương lai, CrowdStrike cần ưu tiên kiểm thử nghiêm ngặt hơn trên mọi cấu hình được hỗ trợ
- Các tổ chức nên áp dụng bản cập nhật CrowdStrike một cách thận trọng và chuẩn bị kế hoạch khẩn cấp để giảm thiểu gián đoạn tiềm ẩn
- Nguồn liên quan
3 bình luận
Có vẻ như AI đã tóm tắt quảng cáo chứ không phải nội dung bài viết.
Trang Neowin có cấu trúc HTML hơi kỳ nên toàn bộ quảng cáo ở thanh trên cùng bị nhận diện là nội dung bài viết. Tôi đã sửa lại rồi.
Ý kiến trên Hacker News
Thật đáng ngạc nhiên là hệ sinh thái OSS/Linux, dù có rất nhiều đống mã được các nhóm độc lập và phối hợp lỏng lẻo ghép nối miễn phí, lại thường vững chắc hơn phần mềm do các công ty trị giá hàng chục tỷ đô la tạo ra
Một trong những lý do có thể là các lập trình viên hệ thống OSS giặt đồ bẩn công khai. Không hẳn là “nhiều con mắt thì lỗi trở nên nông”, mà gần với “chỉ cần có ai đó nhìn vào thì mã tệ đã trở nên đáng xấu hổ” hơn
Tôi đang định công khai một dự án thương mại dưới dạng mã nguồn mở, và trước khi công bố mã nguồn thì phải chỉnh sửa khá nhiều thứ như cải thiện tài liệu, dọn TODO/FIXME, kiểm chứng chú thích. Nhưng bên trong các codebase thương mại đóng, tôi đã thấy nhiều thứ còn tệ hơn nhiều, và có lẽ phần lớn phần mềm enterprise cũng ở mức tương tự
Áp lực thời gian cũng ít hơn, nên dù bản phát hành bị trễ cũng không ảnh hưởng đến kết quả kinh doanh theo quý. Tôi xem phần mềm thương mại giống một công việc marketing hơn là công việc kỹ thuật
Việc những thứ bên ngoài kernel chạy được đã là một phép màu, và điều đó thể hiện qua việc chúng hỏng thường xuyên ra sao sau mỗi lần cập nhật distro, cũng như việc phải build lại toàn bộ để làm cho chúng chạy lại thường xuyên thế nào. Trong production, cập nhật là một quy trình cực kỳ căng thẳng
Còn chưa nói đến audio và video; thêm Wayland vào nữa thì đó là một cơn ác mộng riêng. Vì vậy, xét theo nhiều mặt, tôi cho rằng Windows gần với tiêu chuẩn hơn. Nó bị hành hạ khắc nghiệt từ đủ mọi phía nhưng vẫn thực hiện những công việc quan trọng hằng ngày trên vô số máy
Việc có được trả tiền hay không không quan trọng; chiều sâu trong các quyết định thể hiện qua những bài viết của Raymond Chen và những người khác là điều rất hiếm ngay cả trong thế giới OSS
Tôi nghĩ tình huống này không chỉ của riêng tôi, và mong rằng sẽ luôn có các cộng đồng tạo ra những thứ hữu ích và những công cụ mà họ có thể kiểm soát
Phần mềm thương mại thường có cảm giác như được dán lại bằng băng keo để kịp deadline của quản lý, nên thành ra “sao cũng được” và chỉ cần hoàn thành là hài lòng
Điều quan trọng là những người code trong mã nguồn mở thường làm vì họ quan tâm. Nếu muốn tạo ra thứ gì đó tốt, chạy ổn và thông minh, khả năng thành công sẽ cao hơn so với khi chỉ làm vì được trả tiền hoặc để tránh bị xấu hổ
Một bình luận liên quan trong thread lớn về CrowdStrike hôm qua: “CrowdStrike đã làm chuyện này với fleet Linux production của chúng tôi vào ngày 19/4, và suốt thời gian qua tôi chỉ muốn rant về nó” [1]
Sau đó là nhiều đoạn rant tiếp nối
[1] https://news.ycombinator.com/item?id=41005936
Ngay cả phân tích hậu sự cố nội bộ của họ cũng không có cách thực chất nào để ngăn chuyện tương tự xảy ra lần nữa. Vì cấu trúc là “chúng tôi sẽ đẩy phần mềm vào máy của bạn bất cứ khi nào chúng tôi muốn, bất kể có khẩn cấp hay không, và không cần kiểm thử”
Khi làm trong lĩnh vực này, tôi luôn có câu hỏi “những thứ này rốt cuộc có thật sự hữu ích không?”
Đây là câu hỏi khó trả lời, nhưng tôi tò mò liệu có nghiên cứu của bên thứ ba nào kiểm chứng hiệu quả của các sản phẩm như CrowdStrike hay không. Hay tất cả mọi người chỉ đang làm cuộc sống tệ hơn vì màn kịch an ninh
Tôi vẫn thắc mắc vì sao thêm một thứ xâm lấn như vậy lại có thể hợp lý. Những năm 90, các hãng diệt virus thậm chí còn tạo ra virus, rồi phát tán thứ họ tạo ra lên mạng trong khi kỳ diệu là vẫn chặn được lây nhiễm cho các thuê bao của họ
Nếu hỏi cả web toàn cầu “có ai từng thấy chưa?” thì chắc sẽ có người xuất hiện, nhưng số người gặp lỗ hổng bảo mật vì những công cụ kiểu này là cực kỳ nhiều, còn số người gặp vấn đề về độ ổn định và tính sẵn sàng thì thực tế gần bằng số người dùng công cụ đó
Chất lượng sản phẩm, từ máy bay cho tới phần mềm, đang rơi tự do. Dạo này ai cũng chỉ quan tâm đến doanh thu bổ sung nên thiếu QA đã trở thành mặc định
Lý do chúng ta không thể sản xuất đủ đạn pháo để gửi cho Ukraina, không thể đưa sản xuất chip về trong nước, không thể đóng tàu cũng là như vậy
15 năm trước, đa số người trong ngành thật sự muốn ở đó, ngoại lệ chỉ là số ít. Giờ thì nó đã giống các nghề khác: phần lớn lập trình viên không mấy quan tâm đến sản phẩm đầu ra, và rốt cuộc kết quả cũng tệ hại
Vài năm gần đây tôi hầu như không gặp lập trình viên từ cấp dưới senior trở xuống nào thực sự tự kiểm thử thứ mã rác của mình
Đây là một cấu trúc trong đó những influencer sặc mùi marketing, vốn còn không biết mình đang làm gì, bán rác cho những người muốn che đậy chứng hoang tưởng do nhà cung cấp gieo vào bằng các ô checkbox tuân thủ. Họ không biết threat modeling, cũng không biết hệ điều hành hoạt động thế nào
Nhìn theo tam giác CIA thì họ đã hoàn toàn từ bỏ tính sẵn sàng, hy sinh một phần tính bảo mật khi gửi mọi chuyển động của hệ thống cho một công ty đám mây nào đó, và cố đạt được cảm giác an toàn giả tạo về tính toàn vẹn mà nhà cung cấp thậm chí không bảo đảm. Tôi hầu như không thấy bằng chứng rằng sản phẩm này thực sự làm được điều gì trong một kiến trúc bảo mật phân lớp đúng nghĩa
Đây là điều trái ngược hoàn toàn với một đề xuất bảo mật. Nó là một lâu đài bằng bài dựng trên dối trá và bất tài, và theo nghĩa đen gần với định nghĩa của malware. Nó đưa dữ liệu không thể kiểm soát ra ngoài, có thể đánh sập hệ thống bằng chức năng ra lệnh và điều khiển từ xa, và chạy mã hoàn toàn tùy ý ở ring 0
Tháng 3/2023 tôi đã chỉ ra toàn bộ chuyện này là rủi ro kinh doanh nghiêm trọng, nhưng những người nói trên vẫn thúc đẩy. Tôi đã ghi âm các ý kiến phản đối và giờ định dùng nó để đáp trả
Khi người ta vẫn mua thì dù sản phẩm bị làm thành rác cũng không sao. Mà thực tế nó đã bị làm thành rác rồi
Cũng có báo cáo rằng CrowdStrike đã chèn một DLL có lỗi vào các ứng dụng Windows, khiến ứng dụng có thể bị crash dù bản thân ứng dụng không làm gì sai
https://x.com/molecularmusing/status/1808756095860543916
Có bốn mức hook có thể áp dụng, càng về sau càng kém ổn định, và UI cùng tài liệu lặp lại cảnh báo nhiều lần. Ví dụ XUMD tải thư viện vào các tiến trình đang chạy và hook nhiều API user-mode để cho phép sensor giám sát thông tin
Một số telemetry endpoint chỉ có thể thu thập bằng hook user-mode. XUMD cung cấp thông tin về việc tiến trình sử dụng những API nào, và thông tin này được dùng cho nhiều cơ chế phòng ngừa của sensor dựa trên hành vi tích lũy quan sát được
Khác với AUMD, cloud có thể thay đổi động khả năng hiển thị XUMD mà không cần cập nhật sensor. Các thiết lập gồm Disabled, Cautious, Moderate, Aggressive, Extra Aggressive; càng về sau càng dễ gây vấn đề về hiệu năng hoặc tương thích ứng dụng nên không được khuyến nghị cho production
Vì XUMD được tải vào các tiến trình người dùng vốn không được phát triển cùng với nó, nên có thể xảy ra crash, lỗi khởi động hoặc suy giảm hiệu năng, đặc biệt trong môi trường có cài sản phẩm bảo mật khác. Để xem tiến trình nào đã tải DLL XUMD, có thể chạy
tasklist /m csxumd*trên dòng lệnhTất cả những chuyện này xảy ra vì doanh nghiệp có thể né trách nhiệm đối với thiệt hại hệ quả bằng hợp đồng
Giống như không cho phép loại trừ bằng hợp đồng trách nhiệm hệ quả đối với tổn thất sinh mạng, các điều khoản kiểu này cũng nên bị làm cho không thể thi hành, hoặc ít nhất là bị giới hạn
Nội dung “bản cập nhật không tương thích với bản stable mới nhất của Debian, nhưng cấu hình Linux đó lại được ghi là được hỗ trợ” và “kết quả phân tích cho thấy cấu hình Debian Linux không có trong ma trận kiểm thử” nghe rất gần với gian lận thực sự
Tức là tuyên bố hỗ trợ cấu hình X nhưng thực tế lại không hề kiểm thử cấu hình X. Giống như nói xe có dây an toàn nhưng trong toàn bộ quy trình sản xuất không có chỗ nào kiểm tra dây an toàn đã được lắp và hoạt động hay chưa
Nếu một hãng xe làm vậy thì có lẽ đã bị truy tố, nhưng tôi không hiểu vì sao CrowdStrike lại không. Việc không hỗ trợ một phiên bản Linux nào đó thì có thể hiểu được, nhưng nếu quảng cáo là có hỗ trợ mà thậm chí không kiểm thử, thì ít nhất đó là sơ suất cố ý, và có khi là gian lận trắng trợn
Câu “không ai nhận ra” nghe như một cách nói dễ thương rằng CrowdStrike đã đè để báo chí không nhận ra. Trong bài HN vào ngày xảy ra lỗi, có bình luận nói rằng mọi người đã cố báo cáo vấn đề từ vài tháng trước
Ngay cả bài báo cũng viết như thể người ta đã nhận ra vấn đề. Vậy ai đã không nhận ra? Hay là các vấn đề đó không đủ nổi tiếng để khỏi bị phớt lờ?
Báo chí không quan tâm đến chuyện vài máy chủ chết, trừ khi nó nổi bật ngoài đời thực như việc máy bay bị ngừng khai thác
Phạm vi ảnh hưởng nhỏ, có lẽ còn nhỏ hơn cả một driver Nvidia lỗi
Nếu ở đây có ai dùng CrowdStrike thì tôi tò mò chính xác nó làm gì. Tôi thấy nó được gọi là “phần mềm diệt virus”, nhưng nhìn thứ được cài trên laptop công việc thì trông giống keylogger và công cụ giám sát hoạt động hơn
Dù nói là “không có gì phải giấu”, việc các super user của công ty theo dõi tôi vẫn khiến tôi khó chịu
Thiết bị đó thuộc sở hữu công ty và được dùng để truy cập môi trường công ty, nên nếu mã độc thật sự lọt vào thì nó là một điểm trách nhiệm có thể gây thiệt hại. Nếu cần riêng tư thì dùng một thiết bị riêng là hợp lý
Ở một công ty, người ta nói CrowdStrike được triển khai trên mọi endpoint, nhưng có người kể rằng chỉ chạy nó trong một máy ảo bị giới hạn tài nguyên mà cũng không ai nói gì. Họ cũng thấy máy ảo bị lỗi vào khoảng thời gian đó
Tôi cũng nghe từ một đồng nghiệp cũ ở một tập đoàn lớn khác rằng IT đơn giản là đã bỏ cuộc trong việc cưỡng chế tuân thủ trên các endpoint Linux. Có vẻ một số quản trị viên IT thực chất áp dụng chính sách “đừng hỏi, đừng nói”
Kiểu như nếu bạn tự lo cấu hình một stack thay thế, không gây ồn ào hay nói dối, thì cứ tự làm. Nếu động cơ cưỡng chế phần lớn chỉ là tuân thủ kiểu đánh dấu checkbox thì điều này khá hợp lý
Tôi tò mò kiểu tuân thủ ác ý này phổ biến đến mức nào, và nó đã góp phần ra sao vào việc sự cố hồi tháng 4 không trở thành tin lớn hơn