2 คะแนน โดย GN⁺ 2025-01-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทนำ

    • บทความนี้อธิบายวิธีข้ามการเข้ารหัส BitLocker บน Windows 11 (เวอร์ชัน 24H2) โดยทำผ่านการดึงคีย์เข้ารหัสโวลุ่มแบบเต็ม (FVEK) จากหน่วยความจำ
  • พื้นหลัง

    • หากผู้โจมตีสามารถเข้าถึงอุปกรณ์ทางกายภาพได้ ก็อาจรีสตาร์ตคอมพิวเตอร์อย่างกะทันหันและทำ RAM dump ของอินสแตนซ์ Windows ที่เพิ่งทำงานล่าสุดเพื่อให้ได้ข้อมูลที่มีความอ่อนไหว
    • เนื้อหาใน RAM จะเสื่อมสภาพอย่างรวดเร็วเมื่อไฟถูกตัด ดังนั้นจึงมีวิธีอย่างการทำให้ RAM เย็นลงทางกายภาพหรือใช้แหล่งจ่ายไฟภายนอกเพื่อป้องกันปัญหานี้
    • Secure Boot เป็นมาตรฐานความปลอดภัยที่จำกัดสิ่งที่สามารถรันได้ระหว่างการเริ่มต้นอุปกรณ์ แต่ก็มีวิธีในการข้ามมัน
  • ขั้นตอนที่ 1: สร้างอุปกรณ์ USB ที่บูตได้

    • ต้องเตรียมอุปกรณ์เก็บข้อมูล USB ที่มีขนาดใหญ่กว่า RAM ของระบบเป้าหมาย
    • ใช้สคริปต์ flashimage.sh เพื่อสร้างและใช้งานแอปพลิเคชันที่บูตได้
  • ขั้นตอนที่ 2: รีสตาร์ตระบบเป้าหมายแบบกะทันหัน

    • เป้าหมายคือทำให้ช่วงเวลาที่คอมพิวเตอร์ดับสนิทมีน้อยที่สุด
    • ระหว่างที่ Windows กำลังโหลด การรีสตาร์ตระบบก่อนที่หน้าจอล็อกอินจะปรากฏมีประสิทธิภาพ
  • ขั้นตอนที่ 3: บูตจากอุปกรณ์ USB

    • บูตจากอุปกรณ์ USB ไปยัง Memory-Dump-UEFI ทันทีเพื่อเข้าสู่ UEFI shell
    • รัน app.efi เพื่อสร้าง memory dump
  • ขั้นตอนที่ 4: วิเคราะห์ dump

    • เนื่องจากระบบไฟล์ FAT32 มีข้อจำกัดขนาดไฟล์ที่ 4GB จึงอาจมีการสร้าง dump หลายไฟล์
    • สามารถใช้โปรแกรม concatDumps เพื่อรวม dump หลายไฟล์ให้เป็นไฟล์เดียว
    • สามารถใช้โปรแกรม searchMem เพื่อค้นหารูปแบบเฉพาะภายใน dump ได้
  • Pool tag

    • Pool tag คือรหัสระบุ 4 ตัวอักษรที่ชี้ตำแหน่งของ memory pool ของเคอร์เนล Windows
    • ไฟล์ pooltag.txt มี pool tag หลายรายการและวัตถุประสงค์ของแต่ละรายการ
  • การกู้คืนคีย์ FVEK

    • สามารถพบคีย์ FVEK ใต้ pool tag dFVE ซึ่งเกี่ยวข้องกับ full volume encryption crash dump filter ของ BitLocker Drive Encryption
    • อาจพบคีย์ได้ภายใต้แท็ก None ด้วย
  • ขั้นตอนถัดไป

    • ต้องเพิ่มอัลกอริทึมที่ใช้กับคีย์ที่ได้มา
    • สามารถใช้เครื่องมือ dislocker เพื่อปลดล็อกไดรฟ์ได้
  • หมายเหตุสุดท้าย

    • หากต้องการเข้าใจการทำงานของ BitLocker อย่างถ่องแท้ ทางที่ดีที่สุดคือทำการดีบักในระดับเคอร์เนล
    • Microsoft พยายามทำลายคีย์ แต่ไม่สามารถทำลายได้ครบทุกคีย์

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

 
GN⁺ 2025-01-01
ความคิดเห็นจาก Hacker News
  • BitLocker ให้ประโยชน์สูงสุดเมื่อใช้ TPM (PCR 7+11) ร่วมกับ PIN หากไม่มี PIN ก็จะไม่สามารถอ่าน FVEK ได้ และหากป้อน PIN ผิดหลายครั้ง TPM จะเข้าสู่โหมดล็อกเอาต์เพื่อป้องกันการโจมตีแบบเดารหัส

    • กำลังพยายามตั้งค่าแบบคล้ายกันบน Linux โดย systemd-cryptsetup/cryptenroll ใช้ได้เฉพาะกับ LUKS จึงตั้งใจจะเข้ารหัสไดเรกทอรีที่มีความอ่อนไหวด้วย fscrypt
    • TPM นั้นยากมากเมื่อจะทำอะไรที่เกินกว่าพื้นฐาน
    • กำลังทำเป็นโปรเจ็กต์ส่วนตัว และจะเขียนเล่าเมื่อทำเสร็จ
  • ไม่เข้าใจโมเดลความปลอดภัยของ BitLocker ในการติดตั้งส่วนใหญ่ แค่กดปุ่มเปิดเครื่องก็จะบูตเข้า Windows

    • ถ้าเครื่องที่มีฮาร์ดไดรฟ์เข้ารหัสถูกขโมยไป ก็เลยสงสัยว่าแค่เปิดเครื่องขึ้นมาก็ใช้งานได้เลยหรือไม่
    • คิดว่าทราฟฟิกบนบัส SPI น่าจะต้องถูกเข้ารหัส แต่ดูเหมือนว่าเครื่องจะยอมให้คีย์มาอย่างง่ายดาย
    • LUKS มีหน้าต่างถามรหัสผ่านเพื่อปลดล็อกไดรฟ์
  • การโจมตีบางแบบถูกป้องกันได้อย่างสมบูรณ์ด้วยข้อกำหนด PC client work group platform reset attack mitigation

    • หากระบบปฏิบัติการไม่ได้ปิดตัวลงอย่างสะอาด เฟิร์มแวร์จะล้าง RAM และหยุดไว้ก่อนการบูตครั้งถัดไป
    • สงสัยว่า Windows ไม่ได้ใช้สิ่งนี้ หรือระบบที่นำมาทดสอบไม่ได้ติดตั้งการทำงานนี้ไว้
  • ผู้เขียนบทความเอง หากมีคำถามให้ส่งข้อความมา งานนี้สนุกมากและขอบคุณที่ให้ความสนใจ

  • มีทอล์กจาก 38C3 เกี่ยวกับการข้าม BitLocker บน Windows 11

  • มีเครื่องระดับ "enterprise" ที่ศัตรูซึ่งเข้าถึงตัวเครื่องได้ไม่สามารถทำ "การรีสตาร์ตกะทันหัน" จากภายนอกได้

    • น่าเสียดายที่ OEM ที่ใช้งานกันอย่างแพร่หลายยังคงปล่อยให้ "การรีสตาร์ตกะทันหัน" ทำได้ง่ายมาก
  • BitLocker ปกป้องเฉพาะตอนที่คอมพิวเตอร์ปิดอยู่เท่านั้น และควรตั้งค่าให้ต้องใช้รหัสผ่านตอนบูต

  • Windows เสนอทางเลือกเรื่อง memory encryption และ memory compression

    • Intel และ AMD กำลังพยายามฝังสิ่งเหล่านี้ลงใน CPU โดยเป้าหมายคือเซิร์ฟเวอร์ที่มีหลาย VM มากกว่าโน้ตบุ๊ก
  • สงสัยว่าสำหรับเอ็กซ์พลอยต์ที่อ่าน memory dump ของเครื่องเป้าหมาย หากเข้าถึงตัวเครื่องได้ จะสามารถใช้อุปกรณ์แบบ "interposer" เพื่อคัดลอกหรือแก้ไขข้อมูลได้หรือไม่

    • สงสัยว่าจะปรับเปลี่ยนหน่วยความจำได้เหมือนอุปกรณ์ "Action Replay" ของ Gameboy หรือไม่
    • สงสัยว่าสามารถแทรกอุปกรณ์ไว้ระหว่าง RAM กับเมนบอร์ดเพื่อจับสถานะหน่วยความจำได้หรือไม่
    • ไม่ใช่วิศวกรไฟฟ้า ดังนั้นข้อเสนอนี้อาจไม่สมจริง แต่ดูเหมือนว่าจะมีข้อจำกัดด้านพื้นที่ทางกายภาพและแบนด์วิดท์
  • มี Surface 5 Pro ที่ใช้ดิสก์เข้ารหัสด้วย BitLocker ซึ่งระหว่างบูตจะเข้าสู่ BSOD อย่างรวดเร็ว

    • สงสัยว่าวิธีนี้จะใช้ได้ในกรณีนี้หรือไม่ และกำลังรอเอ็กซ์พลอยต์เพื่อดึงรูปถ่ายออกจากดิสก์