1 คะแนน โดย GN⁺ 2024-07-29 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

การวิเคราะห์ทางเทคนิคของเหตุไฟฟ้าดับ CrowdStrike

  • ปัญหาด้าน memory safety ของไดรเวอร์ CSagent โดยเฉพาะการละเมิดการเข้าถึงจากการอ่านนอกขอบเขต เป็นสาเหตุรากฐาน
  • ทำการวิเคราะห์โดยใช้ดีบักเกอร์เคอร์เนล WinDBG ของ Microsoft และส่วนขยายฟรีหลายรายการ

ฟังก์ชันของไดรเวอร์ CSagent.sys

  • โมดูล CSagent.sys ถูกลงทะเบียนเป็นไดรเวอร์ file system filter ที่โดยทั่วไปใช้ในเอเจนต์ป้องกันมัลแวร์
  • ใช้เพื่อรับการแจ้งเตือนเกี่ยวกับการดำเนินการกับไฟล์ เช่น การสร้างหรือแก้ไขไฟล์
  • ใช้ให้ผลิตภัณฑ์ความปลอดภัยสแกนทุกครั้งที่มีการบันทึกไฟล์ใหม่ลงดิสก์ เช่น การดาวน์โหลดไฟล์ผ่านเบราว์เซอร์
  • ยังสามารถใช้เป็นสัญญาณสำหรับโซลูชันด้านความปลอดภัยที่ต้องการติดตามพฤติกรรมของระบบ
  • CrowdStrike อธิบายว่าส่วนหนึ่งของการอัปเดตคอนเทนต์คือการเปลี่ยนแปลงลอจิกที่เกี่ยวข้องกับการสร้าง named pipe ของ sensor
  • API ของไดรเวอร์ file system filter ทำให้ไดรเวอร์สามารถรับการเรียกเมื่อเกิดกิจกรรม named pipe ในระบบ (เช่น การสร้าง named pipe) ซึ่งทำให้ตรวจจับพฤติกรรมที่เป็นอันตรายได้

โมดูลไดรเวอร์ต่าง ๆ ของ CrowdStrike

  • CrowdStrike โหลดโมดูลไดรเวอร์ 4 ตัว ได้แก่ CSBoot, CSDeviceControl, CSAgent และ CSFirmwareAnalysis
  • หนึ่งในนั้นได้รับการอัปเดต dynamic control และ content บ่อยครั้ง ตามไทม์ไลน์การทบทวนหลังเหตุการณ์ของ CrowdStrike

การเปลี่ยนแปลงของจำนวนรายงานการขัดข้องที่เกี่ยวข้องกับไดรเวอร์ CrowdStrike

  • ระบุจำนวนรายงานการขัดข้องของ Windows ที่เกิดจากข้อผิดพลาดในการเขียนโปรแกรมของ CrowdStrike นี้โดยเฉพาะ
  • จำนวนอุปกรณ์ที่สร้างรายงานการขัดข้องมีน้อยกว่าจำนวนอุปกรณ์ที่ได้รับผลกระทบที่ Microsoft เคยแชร์ไว้ในบล็อกโพสต์ก่อนหน้า
  • เนื่องจากรายงานการขัดข้องมีการสุ่มตัวอย่าง และเก็บรวบรวมเฉพาะจากลูกค้าที่เลือกอัปโหลดรายงานการขัดข้องไปยัง Microsoft
  • ลูกค้าที่เลือกเปิดใช้งานการแชร์ crash dump จะช่วยให้ผู้ผลิตไดรเวอร์และ Microsoft ระบุและแก้ไขปัญหาด้านคุณภาพและการขัดข้องได้

สามารถปรับใช้ Windows ในโหมดความปลอดภัยสูงได้หรือไม่?

  • Windows สามารถล็อกดาวน์ได้ด้วยเครื่องมือในตัว และยังคงยกระดับค่าเริ่มต้นด้านความปลอดภัยอย่างต่อเนื่อง
  • ใน Windows 11 ฟีเจอร์ความปลอดภัยใหม่หลายสิบรายการถูกเปิดใช้งานโดยค่าเริ่มต้น
  • ฟีเจอร์ความปลอดภัยในตัวประกอบด้วย secure boot, measured boot, memory integrity, รายการบล็อกไดรเวอร์ที่มีช่องโหว่, การปกป้อง Local Security Authority และ Microsoft Defender Antivirus เป็นต้น
  • ฟีเจอร์ความปลอดภัยเหล่านี้มอบชั้นการป้องกันต่อมัลแวร์และความพยายามโจมตีแบบ exploit ใน Windows รุ่นใหม่
  • บริษัทที่ปฏิบัติตามแนวทางที่ดี เช่น การทำงานด้วยบัญชีผู้ใช้มาตรฐาน และยกระดับสิทธิ์เฉพาะเมื่อจำเป็น จะช่วยบรรเทาเทคนิคจำนวนมากใน MITRE ATT&CK

แผนในอนาคต

  • Microsoft จะร่วมมือกับ ecosystem เพื่อช่วยให้ผู้ให้บริการ anti-malware ใช้ฟังก์ชันในตัวของ Windows เพื่อปรับแนวทางให้ทันสมัย และเพิ่มทั้งความปลอดภัยและเสถียรภาพ
  • จัดทำแนวทาง safe rollout, best practice และเทคโนโลยีเพื่อทำให้การอัปเดตผลิตภัณฑ์ความปลอดภัยปลอดภัยยิ่งขึ้น
  • ลดกรณีที่จำเป็นต้องใช้เคอร์เนลไดรเวอร์เพื่อเข้าถึงข้อมูลความปลอดภัยที่สำคัญ
  • มอบการแยกส่วนและการป้องกันการแก้ไขที่ดียิ่งขึ้นด้วยเทคโนโลยีอย่าง VBS enclave
  • เปิดใช้แนวทาง zero trust เช่น high-integrity attestation ซึ่งเป็นวิธีประเมินสถานะความปลอดภัยของอุปกรณ์จากสถานะของฟีเจอร์ความปลอดภัยพื้นฐานของ Windows
  • Windows ได้ประกาศพันธสัญญาต่อภาษาโปรแกรม Rust ในฐานะส่วนหนึ่งของ Secure Future Initiative ของ Microsoft และขยายการรองรับ Rust ใน Windows kernel
  • ให้ข้อมูลในบล็อกโพสต์นี้ในฐานะส่วนหนึ่งของพันธสัญญาในการนำบทเรียนจากเหตุการณ์ CrowdStrike และขั้นตอนถัดไปมาใช้

1 ความคิดเห็น

 
GN⁺ 2024-07-29
ความคิดเห็นใน Hacker News
  • Microsoft มีแผนจะร่วมมือกับระบบนิเวศแอนตี้มัลแวร์เพื่อปรับปรุงซอฟต์แวร์ความปลอดภัยให้ทันสมัย

    • จัดทำแนวทาง วิธีปฏิบัติที่เป็นเลิศ และเทคโนโลยีสำหรับการอัปเดตอย่างปลอดภัย
    • ลดความจำเป็นของ kernel driver ในการเข้าถึงข้อมูลความปลอดภัยที่สำคัญ
    • พยายามระบุฟังก์ชันที่สามารถรันใน user mode เพื่อลดสิ่งที่ต้องรันใน kernel mode
  • ดูเหมือนว่ายังต้องรอการวิเคราะห์จาก CrowdStrike

    • อธิบายว่าทำไมซอฟต์แวร์ความปลอดภัยในอดีตจึงรันใน kernel mode
    • Microsoft กำลังผลักดันเทคโนโลยีใหม่เพื่อให้ผู้ขายด้านความปลอดภัยย้ายไปยัง user mode
    • CrowdStrike รันใน user mode อยู่แล้วบน Mac และ Linux
    • หากรันใน user mode บน Windows ด้วย ก็สามารถลดความเสี่ยงของข้อผิดพลาดร้ายแรงอย่างจอฟ้าได้
    • ถ้า Windows กันผู้ขายด้านความปลอดภัยออกจาก kernel mode แบบที่ Apple ทำ ปัญหานี้ก็คงไม่เกิดขึ้น
  • เป็นเรื่องน่าสังเกตว่าไม่มีการพูดถึง eBPF

    • eBPF เป็นมาตรฐานบน Linux และใช้งานได้บน Windows เช่นกัน แต่ยังไม่ถูกนำมาใช้ใน Windows OS หลัก
    • static analysis อาจจับบั๊ก Blue Friday ได้หรือไม่ก็ได้ แต่ก็เพิ่มระดับการป้องกันได้มากกว่าโมเดล kernel module ปัจจุบัน
  • ไม่น่าแปลกใจที่ Microsoft เองก็เป็นคู่แข่งรายสำคัญของ CrowdStrike

  • น่าจะผ่านการตรวจทานจากฝ่ายการตลาดและฝ่ายกฎหมายมาแล้ว

    • สิ่งสำคัญคือการเลือก OS/ดิสโทรที่ปรับปรุงจากบทเรียนที่ได้จากเหตุการณ์นี้
  • ทางเลือกที่มีแต่ Microsoft ตัดสินว่าผู้ใช้จะทำอะไรได้บ้างนั้นแย่กว่า

    • มีคนที่สนับสนุนลัทธิเผด็จการดิจิทัลแบบเบ็ดเสร็จ
  • ชอบการวิเคราะห์เชิงเทคนิคที่มีทั้งลำดับขั้นของกระบวนการดีบักและลิงก์ทรัพยากร

    • อยากให้การย้อนดูบทเรียนจากการดีบักมีลักษณะแบบนี้มากขึ้น
  • ทั้งประกาศของ MS และ CrowdStrike ไม่ได้อธิบายว่าการชนกันครั้งนี้หลุด QC ไปได้อย่างไร

    • ไม่เข้าใจว่าปัญหาที่ทำให้ล่มและเกิดซ้ำได้ 100% ถึงไม่ถูกจับได้ตั้งแต่ขั้นต้นของ QC
  • มีประสบการณ์วิจัยด้าน Control Flow Integrity (CFI/XFI)

    • การทำ sandbox ให้ kernel module เป็นสิ่งที่เป็นไปได้
    • ปัจจุบันสามารถคอมไพล์โค้ดด้วยแฟลกที่เหมาะสมเพื่อกำจัดข้อผิดพลาดด้าน memory safety ได้อย่างสิ้นเชิง
    • สามารถเปลี่ยน BSOD ให้เป็นข้อความล็อกที่สุภาพ และปิดใช้งานไดรเวอร์ที่มีข้อบกพร่องได้