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