Атака 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, але вразливості також піддаються інші серверні плати, на яких можна отримати доступ до PMBus. У ході проведених експериментів при підвищенні напруги до 2.84 вольт на цих платах було пошкоджено два процесори Intel Xeon. Для доступу до BMC без знання параметрів аутентифікації, але за наявності root-доступу до операційної системи, використовувалася вразливість у механізмі верифікації прошивок, що дозволило завантажити в BMC-контролер модифіковане оновлення прошивки, а також можливість неавтентифікованого доступу через IPMI KCS.

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

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

Джерело: opennet.ru

Додати коментар або відгук