Ерік Біггерс (Eric Biggers), один із розробників шифру Adiantum та мейнтейнер підсистеми ядра Linux fscrypt, запропонував набір патчів для блокування проблем з безпекою, що виникають через особливості процесорів Intel, що не гарантує постійний час виконання інструкцій для різних даних, що обробляються. У процесорах Intel проблема проявляється починаючи із сімейства Ice Lake. Аналогічна проблема спостерігається й у процесорах ARM.
Наявність залежності часу виконання інструкцій від оброблюваних у цих інструкціях даних розцінюється автором патчів як уразливість у процесорах, оскільки така поведінка не може гарантувати безпеку криптографічних операцій, що виробляються в системі. Багато реалізації криптографічних алгоритмів розраховані те що, що дані впливають тимчасово виконання інструкцій і порушення цієї поведінки може призвести до створення атак стороннім каналам, відновлюють дані з урахуванням аналізу часу їх обробки.
Потенційно залежність часу виконання від даних також може використовуватися для організації атак визначення даних ядра з простору користувача. За заявою Еріка Біггерса, постійний час виконання за умовчанням не забезпечується навіть для інструкцій, що виконують операції додавання та XOR, а також для спеціалізованих інструкцій AES-NI (інформація не підтверджена тестами, за іншими даними при множенні векторів та підрахунку бітів виникає затримка на один цикл ).
Для відключення цієї поведінки компанії Intel і ARM запропонували нові прапори: PSTATE-біт DIT (Data Independent Timing) для CPU ARM і MSR-біт DOITM (Data Operand Independent Timing Mode) для CPU Intel, що повертають стару поведінку з постійним часом виконання. Компанії Intel та ARM рекомендують включати захист у міру необхідності для особливо важливого коду, але насправді важливі обчислення можуть зустрічатися в будь-яких частинах ядра та простору користувача, тому розглядається можливість постійної активації режимів DOITM та DIT для всього ядра.
Для процесорів ARM у гілку ядра Linux 6.2 вже прийнято патчі, що змінюють поведінку для ядра, але дані патчі розглядаються як недостатні, тому що вони охоплюють тільки код ядра і не змінюють поведінку для простору користувача. Для процесорів Intel увімкнення захисту поки що знаходиться лише на стадії рецензування. Вимірювання впливу патча на продуктивність поки що не проводилося, але за даними з документації Intel включення режиму DOITM знижує продуктивність (наприклад, через відключення деяких оптимізацій, таких як специфічне для певних даних попереджувальне завантаження) та у майбутніх моделях процесорів зниження продуктивності може посилитися.
Джерело: opennet.ru