Атака SgxSpectre може порушити конфіденційні дані, що зберігаються в анклавах Intel SGX

Новітня атака Spectre, названа SgxSpectre, може піддати ризику конфіденційні дані, що зберігаються в анклавах SGX

SgxSpectre - ще одна атака Spectre, яка створює ризик для конфіденційних даних

Несправність процесора Spectre-Meltdown[1] виявлені на початку 2018 року, становлять більший виклик, ніж очікували Microsoft, Intel та інші технологічні гіганти. Мало того, що вдалося поширити від чіпів Intel і AMD до чіпів Skylake, Kaby Lake, Coffee Lake; це дозволило хакерам ініціювати кілька кампаній з розповсюдження шкідливих програм[2] і програмні атаки.

На початку березня 2018 року група з шести ІТ-дослідників з Університету штату Огайо виявила новий варіант атаки Spectre, який отримав назву SgxSpectre, який можна використовувати для зламу анклавів Intel Software Guard Extensions (SGX), які відповідають за ізоляцію чутливих компоненти. Насправді дані, які охороняються цими анклавами, ймовірно, є найбільш чутливими з усіх, оскільки компонентам операційної системи не дозволяється взаємодіяти з даними, захищеними анклавом.

Керолайн Тріпель і Деніел Лустіг, дослідники з Прінстонського університету, і Маргарет Мартоносі від Nvidia передбачили можливість таких атак і виклали сценарій у науковій роботі дзвонив

«MeltdownPrime і SpectrePrime: використання автоматично синтезованих атак. Протоколи когерентності на основі недійсності».[3] Це новітні вразливості Meltdown і Spectre, які можуть закінчитися атакою на конфіденційні дані.

Попередні уразливості Meltdown і Spectre не мали доступу до конфіденційних даних, захищених SGX

Intel Software Guard Extensions (SGX) є відносно новою функцією, яка доступна в сучасних процесорах Intel. Це дозволяє створювати так звані анклави для захисту програмного забезпечення, яке має справу з надзвичайно чутливими даними та інформацією кодування.

Наслідки попередніх атак Spectre і Meltdown на SGX були неясними. Тим не менш, імунітет анклавів SGX з самого початку викликав багато питань. Виявилося, що жодна з цих уразливостей не має ознак, що дозволяють зламати захист SGX, але, очевидно, хакери націлені на дані всередині анклавів. Ось чому SgxSpectre розвинувся.

За словами дослідників уразливості SgxSpectre,[4] вразливість дозволяє використовувати «умова змагання між введеними, спекулятивно виконаними посиланнями на пам’ять, які призводять до спостережуваних слідів кешу бічного каналу, та затримкою роздільної здатності гілок». Наразі вразливість може вплинути на Intel SGX, SDK, Rust-SGX і Graphene-SDX.
Система може постраждати, якщо ввімкнути певний шаблон коду в бібліотеках програмного забезпечення. Зловмисник, який націлений на інформацію, що зберігається в анклавах, використовує спекулятивне виконання та виконує передбачення коду анклаву, шукаючи невеликі варіації розміру кешу. Як пояснили дослідники,

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

Intel випустила інструмент для сканування уразливостей

Вся процедура може здатися складною для людей, які не заплутані в ІТ-світі. Коротше кажучи, за допомогою вразливостей Meltdown і Spectre хакери знайшли спосіб використати слабкі сторони шаблонів коду SDX. Ці вразливості згодом дозволяють хакерам змінювати бібліотеки часу виконання SDK і атакувати будь-яку систему, розроблену за допомогою офіційного пакета SDK SGX від Intel.

Intel і Microsoft негайно відреагували на виявлені вразливості Meltdown і Spectre і почали випускати виправлення. На жаль, не всі вони працюють, тому слід обов’язково стежити за новинами про цю вразливість.

Непряма філія обмежена спекуляція (IBRS) є одним із виправлень, представлених Intel. Він звертається до Spectre Variant з наданням адаптованого мікрокоду. Однак цей патч не орієнтований на вразливість SGX SDK.
Кінцевий термін випуску виправлення SgxSpectre – 16 березня 2018 року. Розробникам додатків доведеться змінити старішу версію SDK на ту, яку Intel збирається випустити в програми на основі SGX.

Для тих, хто хоче перевірити, чи є на їх комп’ютері вразливі коди, фахівці створили інструмент для сканування уразливостей,[5] який перевіряє програми анклаву та перевіряє шаблон коду. У разі виявлення експлойтів SgxPectre користувач буде попереджений і закликаний встановити набір інструментів, розроблений Intel разом із застарілим набором інструментів розробки програмного забезпечення для постачальників програм SGX.