การตั้งค่าความสมบูรณ์ของหน่วยความจำหลักแบบแยกส่วนของ Windows 10 คืออะไรและทำงานอย่างไร


3

การตั้งค่านี้เมื่อเร็ว ๆ นี้ปรากฏในบ้าน windows 10 เป็นส่วนหนึ่งของการปรับปรุงของผู้สร้าง (1709)

อย่างไรก็ตามนอกเหนือจากข้อมูลคร่าวๆบางอย่างใน บล็อกหน้าตัวอย่างภายในนี้ และ หน้าช่วยเหลือนี้ ฉันไม่พบอะไรเกี่ยวกับผลกระทบของการตั้งค่านี้ แท้จริง เป็น

  • สิ่งที่น่าจะส่งผลต่อประสิทธิภาพคืออะไร?

  • ความเข้ากันได้มีผลกระทบอย่างไรบ้าง

  • สิ่งนี้ช่วยป้องกันการหาประโยชน์เช่น Meltdown หรือ Spectre หรือไม่?

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

การแยกหลักให้การป้องกันเพิ่มเติมจากมัลแวร์และการโจมตีอื่น ๆ โดยแยกกระบวนการคอมพิวเตอร์ออกจากระบบปฏิบัติการและอุปกรณ์ของคุณ เลือกลิงก์รายละเอียดการแยกแกนเพื่อเปลี่ยนการตั้งค่าสำหรับคุณสมบัติการแยกแกน

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


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

ไดรเวอร์บางตัวอาจยังใช้งานไม่ได้ นี่อาจทำให้อุปกรณ์หรือซอฟต์แวร์ทำงานผิดปกติ

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

คำตอบ:


1

ฉันไม่แน่ใจเหมือนกันว่ามันทำอะไรเองและจริง ๆ แล้วฉันทำงานในอุตสาหกรรมไอทีดังนั้นอย่ารู้สึกแย่ที่คุณไม่สามารถหาข้อมูลได้มากมายมันแค่ไม่ได้อยู่ที่นั่น

จากสิ่งที่ฉันรู้ฉันเชื่อว่าจริง ๆ แล้วมันทำสองสิ่ง:

  • หากระบบมีความสามารถในการทำงานเสมือนจริงของฮาร์ดแวร์ (SVM บน AMD, VT-x บน Intel หรือบางอย่างบน ARM ที่ฉันจำชื่อไม่ได้) จะใช้ประโยชน์จากพวกเขาในการแยกพื้นที่หน่วยความจำเสมือนที่ค่อนข้างดีสำหรับแต่ละ กระบวนการ.
  • หากระบบมีการสนับสนุนการเข้ารหัสหน่วยความจำระดับฮาร์ดแวร์ (SME บน AMD หรือ SGX บน Intel) จะใช้สิ่งนั้นเพื่อจัดเตรียมบริบทหน่วยความจำเสมือนแต่ละบริบท (ซึ่งโดยปกติแล้วจะไม่เหมือนกันกับกระบวนการ) ด้วยตัวเอง หน่วยความจำส่วนตัวอย่างแท้จริง (ในทางทฤษฎี)

หากต้องการตอบคำถามเฉพาะแต่ละข้อของคุณ:

  • ผลกระทบด้านประสิทธิภาพโดยทั่วไปค่อนข้างต่ำสำหรับทั้งสองส่วนซึ่งเป็นหนึ่งในข้อดีของการทำเช่นนี้ในฮาร์ดแวร์ อย่างไรก็ตามมีผลกระทบต่างกัน ส่วนการเข้ารหัสมีผลต่อแบนด์วิดท์หน่วยความจำแบบดิบ (แม้ว่าในการทดสอบของฉันเองบนเทคโนโลยีเดียวกันบน Linux แต่ก็ไม่มากเท่าไหร่ ส่วนเสมือนจริงมีผลกระทบส่วนใหญ่ในการสลับบริบท (ตัวอย่างเช่นการโทรเข้าไปยัง WIndows API หรือการเข้าถึงฮาร์ดแวร์ต่างๆ)
  • ความเข้ากันได้ดีคุณไม่ควรเห็นปัญหามากมายเว้นแต่คุณกำลังใช้ซอฟต์แวร์ที่ทำสิ่งที่โง่ ๆ ทางพยาธิวิทยาและคุณมี CPU ที่ค่อนข้างใหม่ หาก CPU ของคุณยังใหม่ไม่พอจะไม่รองรับการทำเวอร์ชวลไลเซชันแบบซ้อนและคุณจะไม่สามารถเรียกใช้เครื่องเสมือนเกือบทุกประเภทในระบบได้ ที่จะเป็นปัญหา แต่มันจะยังคงทำงานในระบบดังกล่าว)
  • ในแง่ของสิ่งที่ปกป้องมันยากที่จะพูดโดยไม่มีคำอธิบายที่ชัดเจนเกี่ยวกับวิธีการทำงาน ฉันสงสัยว่ามันให้การป้องกันที่เหมือนจริงใด ๆ จากข้อผิดพลาดบัฟเฟอร์ที่ล้นเกินเช่น Heartbleed แต่เนื่องจากสามารถป้องกันได้อย่างเหมาะสมในภาษาการเขียนโปรแกรมไม่ใช่ระบบปฏิบัติการ

โอ๊ะโอขอโทษด้วยที่บอกว่าเสียใจ
BlueDrink9
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.