Дослідники з компанії NCC Group
Нагадаємо, що технологія ARM TrustZone дозволяє створювати апаратно ізольовані захищені оточення, які повністю відокремлені від основної системи та виконуються на окремому віртуальному процесорі з використанням окремої спеціалізованої операційної системи. Основним призначенням TrustZone є забезпечення ізольованого виконання обробників ключів шифрування, біометричної автентифікації, платіжних даних та іншої конфіденційної інформації. Взаємодія з основною ОС здійснюється опосередковано через інтерфейс диспетчеризації. Закриті ключі шифрування розміщуються всередині апаратно ізольованого сховища ключів, що при належній реалізації дозволяє запобігти їх витоку у разі компрометації основної системи.
Вразливість пов'язана з недоопрацюванням у реалізації алгоритму обробки еліптичних кривих, що призводило до витоку інформації про перебіг обробки даних. Дослідники розробили техніку атаки по сторонніх каналах, що дозволяє по наявних непрямих витоках відновити вміст закритих ключів, розміщених в апаратно ізольованому
Основною причиною виникнення проблеми є спільне використання загальних апаратних компонентів та кешу для обчислень у TrustZone та в основній системі – ізоляція виконана на рівні логічного поділу, але з використанням загальних обчислювальних блоків та з осіданням слідів обчислень та інформації про адреси переходів у загальному процесорному кеші. За допомогою методу Prime+Probe, що ґрунтується на оцінці зміни часу доступу до прокешованої інформації, можна через перевірку наявності певних шаблонів у кеші з досить високою точністю відстежувати потоки даних та ознаки виконання коду, пов'язаного з обчисленнями цифрових підписів у TrustZone.
Більшість часу формування цифрового підпису з використанням ключів ECDSA в чіпах Qualcomm витрачається виконання операцій множення у циклі з використанням постійного кожному підпису вектора ініціалізації (
У випадку з Qualcomm виявлено два місця витоку подібної інформації в алгоритмі множення: при виконанні операцій пошуку в таблицях та коді умовного вилучення даних на основі значення останнього біта у векторі «nonce». Незважаючи на наявність у коді Qualcomm заходів щодо протидії витокам відомостей по сторонніх каналах, розроблений метод атаки дозволяє обійти ці заходи та визначити кілька бітів значення «nonce», яких достатньо для відновлення 256-розрядних ключів ECDSA.
Джерело: opennet.ru