Изследователи от NCC Group
Нека припомним, че технологията ARM TrustZone ви позволява да създавате хардуерно изолирани защитени среди, които са напълно отделени от основната система и работят на отделен виртуален процесор, използвайки отделна специализирана операционна система. Основната цел на TrustZone е да осигури изолирано изпълнение на процесори за ключове за криптиране, биометрично удостоверяване, данни за плащане и друга поверителна информация. Взаимодействието с основната ОС се осъществява индиректно чрез интерфейса за изпращане. Частните ключове за шифроване се съхраняват в хардуерно изолирано хранилище на ключове, което, ако се внедри правилно, може да предотврати тяхното изтичане, ако основната система е компрометирана.
Уязвимостта се дължи на пропуск в изпълнението на алгоритъма за обработка на елиптичните криви, което доведе до изтичане на информация за напредъка на обработката на данните. Изследователите са разработили техника за атака на страничен канал, която позволява използването на съществуващи непреки течове за възстановяване на съдържанието на частни ключове, намиращи се в хардуерно изолиран
Основната причина за проблема е споделянето на общи хардуерни компоненти и кеш за изчисления в TrustZone и в основната система - изолацията се извършва на ниво логическо разделяне, но с помощта на общи изчислителни единици и със следи от изчисления и информация за клон адреси, които се съхраняват в общия кеш на процесора. Използвайки метода Prime+Probe, базиран на оценка на промените във времето за достъп до кешираната информация, е възможно, чрез проверка на наличието на определени шаблони в кеша, да се наблюдават потоци от данни и знаци за изпълнение на код, свързани с изчисленията на цифровите подписи в TrustZone с доста висока точност.
По-голямата част от времето за генериране на цифров подпис с помощта на ECDSA ключове в чипове на Qualcomm се изразходва за извършване на операции за умножение в цикъл, като се използва вектор за инициализация, който е непроменен за всеки подпис (
В случая на Qualcomm две места, където е изтекла такава информация, са идентифицирани в алгоритъма за умножение: при извършване на операции за търсене в таблици и в условния код за извличане на данни въз основа на стойността на последния бит във вектора „nonce“. Въпреки факта, че кодът на Qualcomm съдържа мерки за противодействие на изтичането на информация през канали на трети страни, разработеният метод за атака ви позволява да заобиколите тези мерки и да определите няколко бита от стойността „nonce“, които са достатъчни за възстановяване на 256-битови ECDSA ключове.
Източник: opennet.ru