Команда вчених Колумбійського університету (США) розробила метод атаки на апаратне і програмне забезпечення більшості сучасних електронних пристроїв, що дозволяє отримати контроль над атакується системою.

Атака, яка отримала назву CLKSCREW, базується на використанні рішень для управління енергоспоживанням. В даний час практично всі виробники чіпсетів оснащують свої продукти системами контролю над енергоспоживанням. Об’єктом для свого дослідження вчені Колумбійського університету обрали систему Dynamic Voltage and Frequency Scaling (DVFS), що дозволяє виробникам пристроїв контролювати напругу і частоту споживаного процесорами електричного струму. Представлена ще в 1994 році система в наші дні використовується практично скрізь. Саме DVFS застосовується для охолодження процесорів і запобігання їх нагрівання.

CLKSCREW являє собою класичну диференціальну атаку на основі наведення апаратних помилок (Differential Fault Attack, DFA). Даний клас атак передбачає використання апаратного забезпечення на межі з метою зіставлення отриманих результатів з результатами під час нормальної роботи. Для обходу систем безпеки достатньо змінити лише один байт даних, зібраних за допомогою DFA.

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

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

У своєму дослідженні вчені атакували чіп TrustZone, що використовується в центральних процесорах Android-пристроїв для виконання криптографічних операцій від імені головної ОС. В ході атаки CLKSCREW з допомогою шкідливого коду вчені максимально розігнали процесор. Оскільки TrustZone і центральний процесор використовують одну і ту ж систему управління енергоспоживанням, чіпсет також перейшов в режим сверхнагрузки.

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

DFA – клас атак, які базуються на генерації випадкових апаратних помилок під час виконання криптоалгоритма і подальшого їх аналізу.

Джерела:

securitylab.ru