Атака PMFault, якая дазваляе вывесці са строю CPU на некаторых серверных сістэмах

Даследнікі з Бірмінгемскага ўніверсітэта, раней вядомыя распрацоўкай нападаў Plundervolt і VoltPillager, выявілі ўразлівасць (CVE-2022-43309) у некаторых серверных матчыных поплатках, якая дазваляе фізічна вывесці з ладу CPU без магчымасці яго наступнага аднаўлення. Уразлівасць, якая атрымала кодавае імя PMFault, можа быць скарыстана для пашкоджання сервераў, да якіх у атакавалага няма фізічнага доступу, але ёсць прывілеяваны доступ да аперацыйнай сістэмы, атрыманы, напрыклад, у выніку эксплуатацыі нявыпраўленай уразлівасці ці перахопу ўліковых дадзеных адміністратара.

Сутнасць прапанаванага метаду ў выкарыстанні інтэрфейсу PMBus, у якім прымяняецца пратакол I2C, для павышэння падаецца на працэсар напружання да велічынь, якія выклікаюць пашкоджанне чыпа. Інтэрфейс PMBus звычайна рэалізуецца ў модулі VRM (Voltage Regulator Module), доступ да якога можна атрымаць праз маніпуляцыі з BMC-кантролерам. Для здзяйснення нападу на поплаткі, якія падтрымліваюць PMBus, акрамя паўнамоцтваў адміністратара ў аперацыйнай сістэме неабходна наяўнасць праграмнага доступу да BMC (Baseboard Management Controller), напрыклад, праз інтэрфейс IPMI KCS (Keyboard Controller Style), праз Ethernet ці праз перапрашыўку BMC з бягучай сістэмы.

Наяўнасць праблемы, якая дазваляе здзейсніць напад без ведання параметраў аўтэнтыфікацыі ў BMC, пацверджана ў матчыных поплатках Supermicro з падтрымкай IPMI (X11, X12, H11 і H12) і ASRock, але ўразлівасці таксама схільныя і іншыя серверныя платы, на якіх можна атрымаць доступ да PMB. Падчас праведзеных эксперыментаў пры падвышэнні напругі да 2.84 вольт на дадзеных поплатках было пашкоджана два працэсара Intel Xeon. Для доступу да BMC без ведання параметраў аўтэнтыфікацыі, але пры наяўнасці root-доступу да аперацыйнай сістэмы, выкарыстоўвалася ўразлівасць у механізме верыфікацыі прашывак, якая дазволіла загрузіць у BMC-кантролер мадыфікаванае абнаўленне прашыўкі, а таксама магчымасць неаўтэнтыфікаванага доступу праз IPMI KCS.

Метад змены напругі праз PMBus таксама можа ўжывацца для здзяйснення нападу Plundervolt, якая дазваляе праз паніжэнне напругі да мінімальных велічынь выклікаць пашкоджанне змесціва вочак з дадзенымі ў CPU, выкарыстоўваных пры вылічэннях у ізаляваных анклавах Intel SGX і генерацыі памылак у першапачаткова карэктных алгарытмах. Напрыклад, калі дамагчыся змены значэння, выкарыстоўванага пры множанні падчас шыфраванні, на вынахадзе апынецца некарэктны шыфратэкст. Маючы магчымасць звяртацца да апрацоўшчыка ў SGX для шыфравання сваіх дадзеных, атакавалы можа, выклікаючы збоі, назапасіць статыстыку аб змене шыфратэксту на вынахадзе і аднавіць значэнне ключа, які захоўваецца ў анклаве SGX.

Інструментарый для правядзення нападу на поплаткі Supermicro і ASRock, а таксама ўтыліта для праверкі наяўнасці доступу да PMBus, апублікаваныя на GitHub.

Крыніца: opennet.ru

Дадаць каментар