-
บทนำ
- บทความนี้อธิบายวิธีข้ามการเข้ารหัส 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
BitLocker ให้ประโยชน์สูงสุดเมื่อใช้ TPM (PCR 7+11) ร่วมกับ PIN หากไม่มี PIN ก็จะไม่สามารถอ่าน FVEK ได้ และหากป้อน PIN ผิดหลายครั้ง TPM จะเข้าสู่โหมดล็อกเอาต์เพื่อป้องกันการโจมตีแบบเดารหัส
ไม่เข้าใจโมเดลความปลอดภัยของ BitLocker ในการติดตั้งส่วนใหญ่ แค่กดปุ่มเปิดเครื่องก็จะบูตเข้า Windows
การโจมตีบางแบบถูกป้องกันได้อย่างสมบูรณ์ด้วยข้อกำหนด PC client work group platform reset attack mitigation
ผู้เขียนบทความเอง หากมีคำถามให้ส่งข้อความมา งานนี้สนุกมากและขอบคุณที่ให้ความสนใจ
มีทอล์กจาก 38C3 เกี่ยวกับการข้าม BitLocker บน Windows 11
มีเครื่องระดับ "enterprise" ที่ศัตรูซึ่งเข้าถึงตัวเครื่องได้ไม่สามารถทำ "การรีสตาร์ตกะทันหัน" จากภายนอกได้
BitLocker ปกป้องเฉพาะตอนที่คอมพิวเตอร์ปิดอยู่เท่านั้น และควรตั้งค่าให้ต้องใช้รหัสผ่านตอนบูต
Windows เสนอทางเลือกเรื่อง memory encryption และ memory compression
สงสัยว่าสำหรับเอ็กซ์พลอยต์ที่อ่าน memory dump ของเครื่องเป้าหมาย หากเข้าถึงตัวเครื่องได้ จะสามารถใช้อุปกรณ์แบบ "interposer" เพื่อคัดลอกหรือแก้ไขข้อมูลได้หรือไม่
มี Surface 5 Pro ที่ใช้ดิสก์เข้ารหัสด้วย BitLocker ซึ่งระหว่างบูตจะเข้าสู่ BSOD อย่างรวดเร็ว