การโจมตี PMFault ที่สามารถปิดการทำงานของ CPU ในระบบเซิร์ฟเวอร์บางระบบ

นักวิจัยจากมหาวิทยาลัยเบอร์มิงแฮม ซึ่งก่อนหน้านี้เป็นที่รู้จักในการพัฒนาการโจมตี Plundervolt และ VoltPillager ได้ระบุช่องโหว่ (CVE-2022-43309) ในเมนบอร์ดเซิร์ฟเวอร์บางตัวที่ทำให้ CPU ถูกปิดใช้งานทางกายภาพโดยไม่มีความเป็นไปได้ในการกู้คืนในภายหลัง ช่องโหว่ซึ่งมีชื่อรหัสว่า PMFault สามารถใช้เพื่อสร้างความเสียหายให้กับเซิร์ฟเวอร์ที่ผู้โจมตีไม่มีสิทธิ์เข้าถึงทางกายภาพ แต่มีสิทธิ์เข้าถึงระบบปฏิบัติการที่ได้รับ เช่น โดยการใช้ประโยชน์จากช่องโหว่ที่ยังไม่ได้แพตช์หรือสกัดกั้นข้อมูลประจำตัวของผู้ดูแลระบบ

สาระสำคัญของวิธีการที่เสนอคือการใช้อินเทอร์เฟซ PMBus ซึ่งใช้โปรโตคอล I2C เพื่อเพิ่มแรงดันไฟฟ้าที่จ่ายให้กับโปรเซสเซอร์เป็นค่าที่ทำให้ชิปเสียหาย โดยทั่วไปอินเทอร์เฟซ PMBus จะถูกนำมาใช้ใน VRM (โมดูลควบคุมแรงดันไฟฟ้า) ซึ่งสามารถเข้าถึงได้ผ่านการควบคุมตัวควบคุม BMC ในการโจมตีบอร์ดที่รองรับ PMBus นอกเหนือจากสิทธิ์ของผู้ดูแลระบบในระบบปฏิบัติการแล้ว คุณต้องมีสิทธิ์เข้าถึงซอฟต์แวร์ไปยัง BMC (Baseboard Management Controller) เช่น ผ่านอินเทอร์เฟซ IPMI KCS (Keyboard Controller Style) ผ่านทาง อีเธอร์เน็ต หรือโดยการแฟลช BMC จากระบบปัจจุบัน

ปัญหาที่ทำให้การโจมตีเกิดขึ้นโดยไม่ทราบพารามิเตอร์การตรวจสอบสิทธิ์ใน BMC ได้รับการยืนยันในเมนบอร์ด Supermicro ที่รองรับ IPMI (X11, X12, H11 และ H12) และ ASRock แต่บอร์ดเซิร์ฟเวอร์อื่นๆ ที่สามารถเข้าถึง PMBus ได้เช่นกัน ได้รับผลกระทบ ในระหว่างการทดลอง เมื่อแรงดันไฟฟ้าบนบอร์ดเหล่านี้เพิ่มขึ้นเป็น 2.84 โวลต์ โปรเซสเซอร์ Intel Xeon สองตัวได้รับความเสียหาย ในการเข้าถึง BMC โดยไม่ทราบพารามิเตอร์การตรวจสอบสิทธิ์ แต่ด้วยการเข้าถึงรูทระบบปฏิบัติการ มีการใช้ช่องโหว่ในกลไกการตรวจสอบเฟิร์มแวร์ซึ่งทำให้สามารถโหลดการอัพเดตเฟิร์มแวร์ที่แก้ไขแล้วลงในคอนโทรลเลอร์ BMC รวมถึงความเป็นไปได้ของ การเข้าถึงโดยไม่ได้รับอนุญาตผ่าน IPMI KCS

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

เครื่องมือสำหรับการโจมตีบอร์ด Supermicro และ ASRock รวมถึงยูทิลิตี้สำหรับตรวจสอบการเข้าถึง PMBus ได้รับการเผยแพร่บน GitHub

ที่มา: opennet.ru

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