У процесорах Intel виявили чергову вразливість до крадіжки даних

Виявлено новий спосіб злому систем по побічному каналу, що зачіпає кілька поколінь процесорів Intel. Даний спосіб атаки дозволяє отримати конфіденційні дані через регістр EFLAGS та аналіз таймінгу виконання інструкцій. Фактично це відгалуження вразливості Meltdown, яка була виявлена ​​в 2018 році і зачіпає багато мікропроцесорів на базі x86, а пізніше було виявлено ще низку вразливостей даного типу.

За словами дослідників з Університету Цінхуа та Університету Меріленда, новий спосіб злому використовує вразливість у тимчасовому виконанні, яка дозволяє витягувати секретні дані з простору пам'яті користувача за допомогою тимчасового аналізу.

Дослідники вважають, що лазівка ​​для злому - це недолік у зміні регістру EFLAGS при перехідному виконанні, що впливає на синхронізацію інструкцій JCC (перехід за кодом умови). Регістр EFLAGS – це регістр ЦП, який містить різні прапори, пов'язані зі станом процесора, а інструкція JCC – це інструкція ЦП, яка допускає умовне розгалуження на основі вмісту регістру EFLAGS. Атака виконується у два етапи: перший полягає у запуску тимчасового виконання та кодування секретних даних через регістр EFLAGS, а другий – у вимірі часу виконання інструкції JCC для декодування даних.

Експериментальні дані показали, що атака дозволила витягти 100% даних у випадку із системами на Intel Core i7-6700 та Intel Core i7-7700, і мала деякий успіх проти нового процесора Intel Core i9-10980XE. Експеримент проводився на Ubuntu 22.04 jammy із ядром Linux версії 5.15.0. Тим не менш, дослідники відзначають, що ця атака за часом не така надійна, як методи побічного каналу зі станом кеша, і щоб отримати кращі результати в останніх чіпах, атаку довелося б повторювати тисячі разів.

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

Тим не менш, вони, як і раніше, пропонують деякі нетривіальні заходи, такі як зміна реалізації інструкції JCC, щоб зробити вимір змагального виконання неможливим за будь-яких умов, або переписування EFLAGS після тимчасового виконання, щоб зменшити його вплив на інструкцію JCC.

Источник: toneto.net