Hertzbleed - нове сімейство атак по сторонніх каналах, що зачіпає сучасні CPU

Група дослідників з Техаського, Іллінойського та Вашингтонського університетів розкрили відомості про нове сімейство атак по сторонніх каналах (CVE-2022-23823, CVE-2022-24436), що отримало кодове ім'я Hertzbleed. Запропонований метод атаки заснований на особливостях динамічного керування частотою в сучасних процесорах і торкається всіх актуальних CPU Intel і AMD. Потенційно проблема може виявлятися і в процесорах інших виробників, що підтримують динамічну зміну частоти, наприклад, в ARM-системах, але проведене дослідження обмежилося перевіркою чіпів Intel та AMD. Вихідні тексти з реалізацією методу атаки опубліковані на GitHub (реалізацію протестовано на комп'ютері з CPU Intel i7-9700).

Для оптимізації енергоспоживання та запобігання перегріву процесори динамічно змінюють частоту залежно від навантаження, що призводить до зміни продуктивності та впливає на час виконання операцій (зміна частоти на 1 Hz призводить до зміни продуктивності на 1 такт на секунду). У ході проведеного дослідження було з'ясовано, що за певних умов на процесорах AMD та Intel зміна частоти безпосередньо корелює з оброблюваними даними, що, наприклад, призводить до того, що час обчислення операцій «2022+23823» та «2022+24436» буде відрізнятися. З аналізу відмінностей часу виконання операцій із різними даними можна побічно відновити інформацію, використовувану при обчисленнях. При цьому у високошвидкісних мережах із передбачуваними постійними затримками атаку можна провести віддалено, оцінюючи час виконання запитів.

При успішному проведенні атаки виявлені проблеми дозволяють визначати закриті ключі на основі аналізу часу обчислень у криптографічних бібліотеках, що використовують алгоритми, математичні обчислення в яких завжди виконуються за постійний час, незалежно від характеру даних, що обробляються. Подібні бібліотеки вважалися захищеними від атак сторонніми каналами, але виявилося, час обчислення визначається як алгоритмом, а й особливостями роботи процесора.

Як практичний приклад, що показує реалістичність застосування запропонованого методу, продемонстрована атака на реалізацію механізму інкапсуляції ключів SIKE (Supersingular Isogeny Key Encapsulation), який увійшов до фіналу конкурсу постквантових криптосистем, що проводиться Національним інститутом стандартів і технологій США (NIST) атак по стороннім каналам. В ході експерименту за допомогою нового варіанту атаки на основі підібраного шифротексту (поступовий підбір на основі маніпуляцій із зашифрованим текстом і отримання його розшифровки) вдалося повністю відновити ключ, що використовується для шифрування, проводячи вимірювання з віддаленої системи, незважаючи на застосування реалізації SIKE з постійним часом обчислень. На визначення 364-розрядного ключа при використанні реалізації CIRCL було витрачено 36 годин, а PQCrypto-SIDH - 89 годин.

Компанії Intel і AMD визнали схильність своїх процесорів до проблеми, але не планують блокувати вразливість через оновлення мікрокоду, оскільки без істотного впливу на продуктивність апаратно усунути вразливість не вдасться. Натомість розробникам криптографічних бібліотек надано рекомендації щодо програмного блокування витоку інформації при виконанні конфіденційних обчислень. Компанії Cloudflare і Microsoft вже додали подібний захист у реалізації SIKE, що призвело до зниження продуктивності CIRCL на 5%, а PQCrypto-SIDH на 11%. В якості іншого обхідного шляху блокування вразливості в BIOS або драйвері можна відключити режими Turbo Boost, Turbo Core або Precision Boost, але ця зміна призведе до кардинального зниження продуктивності.

Компанії Intel, Cloudflare та Microsoft були повідомлені про проблему у третьому кварталі 2021 року, а компанія AMD у першому кварталі 2022 року, але на прохання Intel публічне розкриття відомостей про проблему було відкладено до 14 червня 2022 року. Наявність проблеми підтверджено в процесорах для настільних систем та ноутбуків на базі 8-11 поколінь мікроархітектури Intel Core, а також для різних настільних, мобільних та серверних процесорів AMD Ryzen, Athlon, A-Series та EPYC (дослідники продемонстрували метод на CPU Ryzen з мікроархітектурою Zen 2 та Zen 3).

Джерело: opennet.ru

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