ไฟล์ของ CrowdStrike ที่ทำให้ทุกอย่างพัง เต็มไปด้วยอักขระ null งั้นหรือ? (twitter.com/jeremyphoward) 1 คะแนน โดย GN⁺ 2024-07-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp บทความที่เกี่ยวข้อง เกิดเหตุจอฟ้าจำนวนมากจากข้อผิดพลาดของผลิตภัณฑ์ CrowdStrike บน Windows 6 คะแนน · 4 ความคิดเห็น · 2024-07-20 รายละเอียดเบื้องต้นของสาเหตุการขัดข้องของ CSAgent.sys ของ CrowdStrike 1 คะแนน · 1 ความคิดเห็น · 2024-07-22 ผลกระทบของ CrowdStrike ต่ออุตสาหกรรมการบิน 1 คะแนน · 1 ความคิดเห็น · 2024-07-30 วิกฤตของ CrowdStrike เปิดโอกาสให้คู่แข่งเข้าจู่โจม 5 คะแนน · 5 ความคิดเห็น · 2024-07-20 CrowdStrike ทำให้ Debian และ Rocky Linux เสียหายไปตั้งแต่หลายเดือนก่อน 1 คะแนน · 3 ความคิดเห็น · 2024-07-22 1 ความคิดเห็น GN⁺ 2024-07-21 ความเห็นจาก Hacker News ถ้าระบบนี้อยู่ในเส้นทางที่สำคัญ ก็ไม่ควรผ่าน C/I pipeline มาได้ ไม่ได้เคร่งกับ automated testing มากนัก แต่ระบบที่มีความสำคัญระดับนี้ต้องมีการจัดการสถานะที่ดีมาก ไม่ควร rollout ไป production โดยไม่มี integration test ในทุก environment เข้าใจไม่ได้เลยว่าบริษัทนี้ไม่มี staging หรือ development test server สำหรับทดสอบ target image ทั้งหมดที่บริษัทต้องรองรับ คิดว่าฝ่ายบริหารของบริษัทนี้ไร้ความสามารถ การล่มสลายทางเทคนิคครั้งใหญ่สองครั้งล้วนเป็นปัญหาของ "ซอฟต์แวร์ความปลอดภัย" ทั้งเหตุการณ์แฮ็ก SolarWinds และเหตุการณ์ครั้งนี้ ต่างก็เป็นบริษัทที่ตั้งอยู่ใน Austin คนประเภท "แฮ็กเกอร์" มักเริ่มต้นบริษัทซอฟต์แวร์ความปลอดภัย แต่ไม่ชอบสร้างวัฒนธรรมที่ขับเคลื่อนด้วยกระบวนการ SolarWinds มีวัฒนธรรมด้านความปลอดภัยที่แย่มาก สาเหตุรากของเหตุการณ์นี้ก็น่าจะเป็นกระบวนการ deploy ที่เร็วและหลวมเกินไป ด้านบวกของหายนะครั้งนี้คืออาจทำให้มีการทบทวนการเข้าถึงระดับเคอร์เนลอีกครั้ง บริษัทเกมสุ่ม ๆ ไม่ได้เก่งพอที่จะเขียนซอฟต์แวร์ anti-cheat ระดับเคอร์เนล ปัญหานี้ดูเหมือนจะเป็นไฟล์ทดสอบลำดับที่สองหรือสามที่ฝ่าย QA จะลอง นี่เป็นตลาดที่บริษัทซึ่งมีความสามารถทางเทคนิคจริง ๆ ไม่ได้เปรียบกว่าบริษัทที่ไร้ความสามารถ ผมอ่านคดีของ Craig Wright มา เขาไม่มีแม้แต่ความสามารถทางเทคนิคพื้นฐานในสาขาที่เขาอ้างว่าตัวเองเป็นผู้เชี่ยวชาญระดับโลก George Kurtz ก็เคยก่อปัญหาแบบเดียวกันตอนเป็น CTO ของ McAfee CrowdStrike เคยทำปัญหาแบบเดียวกันบน Debian Stable เมื่อ 3 เดือนก่อน น่ากลัวที่ข้อกำหนด compliance ของ PCI ได้อัด CrowdStrike และแอนติไวรัสเข้าไปในแทบทุกแง่มุมของโครงสร้างพื้นฐานไอทีปัจจุบัน การที่ไฟล์นี้เป็นไฟล์ที่เต็มไปด้วย 0 ไม่ได้หมายความว่าตอนส่งออกไปมันก็เต็มไปด้วย 0 เช่นกัน บั๊กนี้มีอยู่ใน kernel driver มาหลายปีแล้ว และถูก trigger ด้วยข้อมูลที่ผิดพลาด การตั้งค่าทดสอบของ CrowdStrike อาจใช้ได้กับข้อมูลคอนฟิกนี้เอง แต่กลับจับปัญหาไม่ได้ก่อนส่งไป production หวังว่าจะมีการเผยแพร่รายงาน postmortem ที่อธิบายว่าจะป้องกันปัญหานี้อย่างไรในอนาคต ตามข้อมูลของ Kevin Beaumont มีการอ้างว่าไฟล์แตกต่างกันไปในแต่ละลูกค้า มีความเป็นไปได้ว่าไฟล์เหล่านี้ไม่ใช่เนื้อหาไฟล์ต้นฉบับ อาจมีใครบางคนพยายามเขียนทับไฟล์ที่ผิดด้วยไฟล์ all-zero โดยไม่ตั้งใจ อาจเป็นความพยายามหยุดการปล่อยแพตช์จริง เพราะ QA ถูก bypass ไปแล้ว ในอดีตเคยมีกรณีที่ซอฟต์แวร์ความปลอดภัยแทนที่ไฟล์ด้วย 0 จนทำให้การคอมไพล์ซอฟต์แวร์หยุดชะงัก linker เปิดไฟล์ไม่ได้ และแทนที่ object code ด้วย 0 โดยไม่มี error เปิด debugger แล้วเห็นว่า object code ก้อนใหญ่ถูกแทนที่ด้วย 0 จึงถึงเข้าใจปัญหา โพสต์ที่พบบนบอร์ดเทคโนโลยีของ 4chan CSAgent.sys เป็น kernel driver ที่ parse ไฟล์ virus definition ของ CrowdStrike CrowdStrike จัดการไฟล์ virus definition ที่ผิดพลาดไม่ได้ เว็บเซิร์ฟเวอร์เริ่มส่งไฟล์ virus definition ที่ผิดพลาดออกมา CSAgent.sys โหลดไฟล์ virus definition ที่ผิดพลาดแล้ว crash คอมพิวเตอร์รีบูตพร้อม BSOD (จอฟ้า) CSAgent.sys โหลดไฟล์ virus definition ซ้ำอีกครั้งแล้ว crash บั๊กใน CDN ทำให้ kernel driver เกิดปัญหา เพิ่มการตรวจสอบขนาดและขนาดบัฟเฟอร์ของ CSAgent.sys เพื่อไม่ให้ไฟล์ virus definition ที่ผิดพลาดในอนาคตทำให้ crash
1 ความคิดเห็น
ความเห็นจาก Hacker News
ถ้าระบบนี้อยู่ในเส้นทางที่สำคัญ ก็ไม่ควรผ่าน C/I pipeline มาได้
การล่มสลายทางเทคนิคครั้งใหญ่สองครั้งล้วนเป็นปัญหาของ "ซอฟต์แวร์ความปลอดภัย"
ด้านบวกของหายนะครั้งนี้คืออาจทำให้มีการทบทวนการเข้าถึงระดับเคอร์เนลอีกครั้ง
ปัญหานี้ดูเหมือนจะเป็นไฟล์ทดสอบลำดับที่สองหรือสามที่ฝ่าย QA จะลอง
การที่ไฟล์นี้เป็นไฟล์ที่เต็มไปด้วย 0 ไม่ได้หมายความว่าตอนส่งออกไปมันก็เต็มไปด้วย 0 เช่นกัน
บั๊กนี้มีอยู่ใน kernel driver มาหลายปีแล้ว และถูก trigger ด้วยข้อมูลที่ผิดพลาด
ตามข้อมูลของ Kevin Beaumont มีการอ้างว่าไฟล์แตกต่างกันไปในแต่ละลูกค้า
มีความเป็นไปได้ว่าไฟล์เหล่านี้ไม่ใช่เนื้อหาไฟล์ต้นฉบับ
ในอดีตเคยมีกรณีที่ซอฟต์แวร์ความปลอดภัยแทนที่ไฟล์ด้วย 0 จนทำให้การคอมไพล์ซอฟต์แวร์หยุดชะงัก
โพสต์ที่พบบนบอร์ดเทคโนโลยีของ 4chan