ช่องโหว่ในเฟิร์มแวร์ UEFI บนเฟรมเวิร์ก InsydeH2O ทำให้สามารถเรียกใช้โค้ดในระดับ SMM

ในเฟรมเวิร์ก InsydeH2O ซึ่งผู้ผลิตหลายรายใช้เพื่อสร้างเฟิร์มแวร์ UEFI สำหรับอุปกรณ์ของตน (การใช้งานทั่วไปของ UEFI BIOS) มีการระบุช่องโหว่ 23 รายการซึ่งอนุญาตให้เรียกใช้โค้ดที่ระดับ SMM (โหมดการจัดการระบบ) ซึ่งมี ลำดับความสำคัญที่สูงกว่า (วงแหวน -2) มากกว่าโหมดไฮเปอร์ไวเซอร์และวงแหวนการป้องกันเป็นศูนย์ และเข้าถึงหน่วยความจำทั้งหมดได้ไม่จำกัด ปัญหานี้ส่งผลต่อเฟิร์มแวร์ UEFI ที่ใช้โดยผู้ผลิตเช่น Fujitsu, Siemens, Dell, HP, HPE, Lenovo, Microsoft, Intel และ Bull Atos

การใช้ประโยชน์จากช่องโหว่จำเป็นต้องมีการเข้าถึงภายในเครื่องด้วยสิทธิ์ของผู้ดูแลระบบ ซึ่งทำให้ปัญหาดังกล่าวได้รับความนิยมเป็นช่องโหว่ระดับที่สอง ซึ่งใช้หลังจากการแสวงหาผลประโยชน์จากช่องโหว่อื่นๆ ในระบบหรือการใช้วิธีการวิศวกรรมสังคม การเข้าถึงในระดับ SMM ช่วยให้คุณสามารถรันโค้ดในระดับที่ไม่ได้ควบคุมโดยระบบปฏิบัติการ ซึ่งสามารถใช้เพื่อแก้ไขเฟิร์มแวร์และทิ้งโค้ดที่เป็นอันตรายหรือรูทคิทที่ซ่อนอยู่ใน SPI Flash ที่ระบบปฏิบัติการตรวจไม่พบ เช่นเดียวกับ เพื่อปิดใช้งานการตรวจสอบในขั้นตอนการบูต (UEFI Secure Boot , Intel BootGuard) และการโจมตีไฮเปอร์ไวเซอร์เพื่อหลีกเลี่ยงกลไกในการตรวจสอบความสมบูรณ์ของสภาพแวดล้อมเสมือน

ช่องโหว่ในเฟิร์มแวร์ UEFI บนเฟรมเวิร์ก InsydeH2O ทำให้สามารถเรียกใช้โค้ดในระดับ SMM

การใช้ประโยชน์จากช่องโหว่สามารถดำเนินการได้จากระบบปฏิบัติการโดยใช้ตัวจัดการ SMI (System Management Interrupt) ที่ไม่ได้รับการยืนยัน รวมถึงในขั้นตอนก่อนการดำเนินการของระบบปฏิบัติการในระหว่างระยะเริ่มแรกของการบูทหรือกลับจากโหมดสลีป ช่องโหว่ทั้งหมดเกิดจากปัญหาหน่วยความจำและแบ่งออกเป็นสามประเภท:

  • SMM Callout - เรียกใช้โค้ดของคุณที่มีสิทธิ์ SMM โดยเปลี่ยนเส้นทางการดำเนินการของตัวจัดการขัดจังหวะ SWSMI ไปเป็นโค้ดภายนอก SMRAM
  • ความเสียหายของหน่วยความจำที่ทำให้ผู้โจมตีสามารถเขียนข้อมูลของตนไปยัง SMRAM ซึ่งเป็นพื้นที่หน่วยความจำแบบแยกพิเศษซึ่งมีการเรียกใช้โค้ดด้วยสิทธิ์ SMM
  • หน่วยความจำเสียหายในโค้ดที่ทำงานที่ระดับ DXE (Driver eXecution Environment)

เพื่อสาธิตหลักการในการจัดการการโจมตี จึงได้มีการเผยแพร่ตัวอย่างของการหาประโยชน์ ซึ่งอนุญาตให้เข้าถึง DXE Runtime UEFI และรันโค้ดของคุณผ่านการโจมตีจากวงแหวนการป้องกันที่สามหรือศูนย์ การใช้ประโยชน์นี้จัดการสแต็กโอเวอร์โฟลว์ (CVE-2021-42059) ในไดรเวอร์ UEFI DXE ในระหว่างการโจมตี ผู้โจมตีสามารถวางโค้ดของเขาลงในไดรเวอร์ DXE ซึ่งยังคงทำงานอยู่หลังจากรีสตาร์ทระบบปฏิบัติการ หรือทำการเปลี่ยนแปลงพื้นที่ NVRAM ของ SPI Flash ในระหว่างการดำเนินการ รหัสของผู้โจมตีสามารถทำการเปลี่ยนแปลงพื้นที่หน่วยความจำที่มีสิทธิ์ แก้ไขบริการรันไทม์ของ EFI และส่งผลต่อกระบวนการบูต

ที่มา: opennet.ru

เพิ่มความคิดเห็น