Madrock

พบว่าไม่ต้องข้ามความปลอดภัยบูตด้วยแผ่นดิสก์ -- 17 ปีอายุ Windows ใช้ประโยชน์

โดย Derek on Feb.18, 2010 ภายใต้ การรักษาความปลอดภัย

ปัญหาได้รับการค้นพบใน DOS Virtual Machine (VDM) เปิดในปี 1993 เพื่อสนับสนุนโปรแกรม 16 บิต (การใช้งานจริงสำหรับโหมด 8086) VDM ขึ้นอยู่กับ Virtual 8086 Mode (VM86) ใน 80386 processors และในสิ่งอื่น ๆ intercepts ประจำฮาร์ดแวร์เช่น BIOS สาย ความปลอดภัยทีม Google สมาชิก Tavis Ormandy พบช่องโหว่หลายในการปฏิบัติที่อนุญาตให้โปรแกรม 16 บิต unprivileged เพื่อจัดการ kernel stack ของแต่ละกระบวนการทางเทคนิคจำนวนนี้ นี้อาจช่วยให้โจมตีรันรหัสที่สิทธิ์ระดับระบบ

นอกจากในหลุม unpatched Internet Explorer, รูประกาศนี้ใน Windows ช่วยให้ผู้ใช้สามารถเข้าถึง จำกัด เพื่อเพิ่มสิทธิประโยชน์ของระบบระดับ â €"และนี้เชื่อว่าเป็นไปได้ในรุ่น 32 บิตของ Windows จาก Windows NT 3.1 ขึ้นและรวมถึง Windows 7 ในขณะที่ความเสี่ยงมีโอกาสที่จะมีผลต่อผู้ใช้ในบ้านเพียงเล็กน้อยทางผู้บริหารของเครือข่ายองค์กรอาจจะมีมือเต็มสัปดาห์นี้ของพวกเขา

ปัญหาเกิดจากข้อบกพร่องใน DOS Virtual Machine (VDM) เปิดในปี 1993 เพื่อสนับสนุนโปรแกรม 16 bit (โหมดการใช้งานจริงสำหรับ 8086) VDM ขึ้นอยู่กับ Virtual 8086 Mode (VM86) ใน 80386 processors และในสิ่งอื่น ๆ intercepts ประจำฮาร์ดแวร์เช่น BIOS สาย ความปลอดภัยทีม Google สมาชิก Tavis Ormandy พบช่องโหว่หลายในการปฏิบัติที่อนุญาตให้โปรแกรม 16 บิต unprivileged เพื่อจัดการ kernel stack ของแต่ละกระบวนการทางเทคนิคจำนวนนี้ นี้อาจช่วยให้โจมตีรันรหัสที่สิทธิ์ระดับระบบ

Ormandy ได้เผยแพร่ยังที่เหมาะสมประโยชน์ที่ทำงานภายใต้ Windows XP, Windows Server 2003 และ 2008, Windows Vista และ Windows 7 เมื่อทดสอบโดยภาคี H ของที่ heise Security, เปิดใช้ประโยชน์จากพร้อมท์คำสั่งในบริบทของระบบที่มีระดับสิทธิ์ที่สูงสุดภายใต้ Windows XP และ Windows 7 patch ไม่เป็นมี แต่รายงาน Ormandy Microsoft ที่ได้รับแจ้งจากหลุมแล้วในกลาง 2009 พัฒนาตัดสินใจที่จะเผยแพร่ข้อมูลที่ไม่ว่าเพราะในความคิดของเขามีวิธีแก้ปัญหาง่ายๆปิดการใช้งาน MS - DOS ระบบย่อย

การแก้ปัญหาต้องใช้เพื่อเริ่มต้น นโยบายกลุ่ม แก้ไขและเปิดใช้"เพื่อป้องกันการเข้าถึงโปรแกรม 16 bit ตัวเลือก"ในการกำหนดค่าคอมพิวเตอร์ \ บริหาร Templates \ Windows \ Application Compatibility ส่วน Components เมื่อทดสอบด้วยการตั้งค่าเหล่านี้โดยทีม Security heise ที่ใช้ประโยชน์ไม่ functioned การตั้งค่ารายงานไม่ก่อให้เกิดปัญหาความเข้ากันได้สำคัญสำหรับผู้ใช้มากที่สุดในขณะที่ไม่มีโปรแกรม 16 บิตที่มีการใช้

Update -- ตัวเลือกข้างต้นจะใช้ได้เฉพาะผ่านตัวแก้ไขนโยบายกลุ่มในระบบ Windows 2003 รุ่นบาง Windows ไม่รวมแก้ไขนโยบายกลุ่ม เป็นทางเลือกผู้ใช้ยังสามารถสร้างรีจิสทรีคีย์ใน \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ AppCompat กับค่า D - Word of VDMDissallowed = 1 ภายใต้ Windows XP เพื่อป้องกันระบบจากการเสี่ยงที่จะใช้ประโยชน์จากผู้ใช้สามารถวางข้อความต่อไปนี้ :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows] AppCompat \

"VDMDisallowed"= DWORD : 00000001

เป็นไฟล์ชื่อ vdmdisallow.reg และดับเบิลคลิกที่ไฟล์ Windows จะแล้วโดยอัตโนมัตินำเข้าสำคัญ (สิทธิผู้ดูแลระบบจะต้องดำเนินการนี้)

Update 2 - A Microsoft ยืนยันขณะนี้การเพิ่มรูสิทธิ์ใน Windows บริษัท ฯ กล่าวว่าต้องการให้เสร็จสมบูรณ์ของการตรวจสอบช่องโหว่แล้วจะตัดสินใจว่าอย่างไรและเมื่อปิดมัน

See also :

Redmond -- เมื่อฝนมัน pours โดยเฉพาะในพื้นที่ Seattle Tavis Ormandy ได้ เผยแพร่รายละเอียด เกี่ยวกับการเพิ่มสิทธิ์ตัดของทุกรุ่นของ Windows รวมถึง Windows 7

ประโยชน์ใช้ประโยชน์จากข้อผิดพลาดในการใช้ Windows ของ'DOS virtual machine'ใช้ในการทำงานแบบดั้งเดิมโปรแกรม 16 - bit ประโยชน์สามารถหลีกเลี่ยงด้วยการเปลี่ยนคุณสมบัติ VDM'ปิด แต่อันตรายของหลักสูตรคือ lusers Windows พอจะไม่ทราบเกี่ยวกับปัญหาและ / หรือรำคาญเปลี่ยนคุณลักษณะ'การปิด

โปรแกรม 16 บิตต้องสนับสนุน BIOS; kernel Windows สนับสนุน BIOS เสมือนขัดจังหวะในของ'Virtual - 8086'รหัสจอโหมด รหัสที่ใช้ในสองขั้นตอน # GP เปลี่ยน handler ดักในขั้นตอนที่สองเมื่อ CS : EIP ผิดกับมายากลเฉพาะ'ค่า

การเปลี่ยนแปลงต้อง (ภายหลังการตรวจสอบ) คืนบริบทและสาย stack จากกรอบดัก faulting แต่กระบวนการตรวจสอบจะสมบูรณ์, อาศัยเช่นเดียวกับที่สามสมมติฐานไม่ถูกต้อง

  • การตั้งค่าบริบท VDM ต้อง SeTcbPrivilege . อุปสรรคในการรับบริบท VDM สามารถ subverted โดยขอ VDM ระบบย่อย NT แล้วใช้ CreateRemoteThread () เพื่อเรียกใช้รหัสในระบบย่อย VDM บริบทของ ระบบย่อย VDM แล้วมี flag จำเป็นตั้ง
  • Ring 3 (unprivileged) รหัสไม่สามารถติดตั้งส่วนของรหัสข้อ selectors.Using สองบิตอย่างมีนัยสำคัญของ CS / SS ในการคำนวณสิทธิ์ของงานไม่ทำงานเมื่อมาถึง Virtual - 8086 โหมด 20 บิตที่อยู่ (โดยการเพิ่ม CS <<4 16 - bit IP) ยังใช้เพื่อการแผนที่ลงบนพื้นที่ที่อยู่เชิงป้องกัน Virtual - 8086 ถ้า CS สามารถตั้งค่าข้อแล้วการคำนวณสิทธิ์สามารถ circumvented
  • Ring 3 (unprivileged) รหัสไม่สามารถปลอม frame.Returns กับดักผู้ใช้โหมดผ่าน IRET บริบทที่ไม่ถูกต้องอาจทำให้เกิด IRET ล้มเหลวก่อนกระทำซึ่งจะ forges กรอบกับดัก และแม้จะ randomisation ที่อยู่เป็นเล็กน้อยใช้ NtQuerySystemInformation () เพื่อรับไบออสที่อยู่ในระยะที่สอง handler

ระบบได้รับผลกระทบ

bug นี้วันหลัง 17 ปีและมีผลต่อระบบทั้งหมดออกตั้งแต่ 27 กรกฎาคม 1993 -- Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, และ Windows 7 เห็นด้านล่างสำหรับรายละเอียดเพิ่มเติม

ดูเพิ่มเติม
MITRE : CVE - 2010 - 0232
Windows plagued โดยปีสิทธิ์การเพิ่ม bug 17
NEOPHASIS : Handler ดักช่วยให้ผู้ใช้ Kernel Stack Switch

: , , , , , , , , , , , , , , , , , , , , ,

ปล่อยให้ตอบกลับ