Уязвимост в чиповете Qualcomm, позволяваща извличането на закрити ключове от хранилището TrustZone

Изследователи от NCC Group разкриха детайли уязвимости (CVE-2018-11976) в чипов Qualcomm, позволяваща да се определи съдържанието на закритите ключове за криптиране, разположени в изолиран анклав Qualcomm QSEE (Qualcomm Secure Execution Environment), основан на технологията ARM TrustZone. Проблемът се проявява в повечето SoC Snapdragon, които са разпространени в смартфони, базирани на платформата Android. Поправките, които решават проблема, вече са включени са включени в априлската актуализация на Android и в нови версии на фърмуера за чиповете Qualcomm. За подготовката на корекцията на компанията Qualcomm беше нужно повече от година — първоначално информацията за уязвимостта беше изпратена на Qualcomm още на 19 март 2018 година.

Напомняме, че технологията ARM TrustZone позволява създаването на хардуерно изолирани защитени среди, които напълно отделени от основната система и работят на отделен виртуален процесор с използване на отделна специализирана операционна система. Основната цел на TrustZone е осигуряване на изолирано изпълнение на обработчиците на ключовете за криптиране, биометричната автентикация, платежни данни и друга конфиденциална информация. Взаимодействието с основната ОС става косвено чрез интерфейс за управление. Закритите ключове за криптиране се съхраняват в хардуерно изолирано хранилище на ключове, което при правилна реализация позволява да се предотврати тяхното изтичане в случай на компрометиране на основната система.

Уязвимостта е свързана с недоработка в реализирането на алгоритъма за обработка на елиптични криви, което води до изтичане на информация относно хода на обработката на данни. Изследователите разработиха техника на атака чрез странични канали, която позволява, въз основа на наличните косвени изтичания, да се възстанови съдържанието на закритите ключове, разположени в хардуерно изолираното Android Keystore. Изтичанията се определят на основата на анализа на активността на блока за предсказване на преходи и изменение на времето за достъп до данни в паметта. По време на експеримента изследователите успешно демонстрираха възстановяване на 224- и 256-битови ключове ECDSA от хардуерно изолираното хранилище на ключове, използвано в смартфона Nexus 5X. За възстановяването на ключа бяха генерирани около 12 хиляди цифрови подписа, за които бяха необходими повече от 14 часа. За провеждане на атаката беше използван инструментариумът Cachegrab.

Основната причина за проблема е съвместната употреба на общи хардуерни компоненти и кеш за изчисления в TrustZone и основната система — изолацията е извършена на ниво логическо разделяне, но с използването на общи изчислителни блокове и с запис на следи от изчисления и информация за адресите на преходите в общия кеш на процесора. С помощта на метода Prime+Probe, базиран на оценка на промените в времето за достъп до кеширана информация, е възможно с достатъчно висока точност да се проследят потоци от данни и признаци на изпълнение на код, свързан с изчисления на цифрови подписи в TrustZone.

По-голямата част от времето за генериране на цифрова подпис с използване на ECDSA ключове в чиповете на Qualcomm се изразходва за извършване на операции по умножение в цикъл с неизменен за всяка подпис вектор на инициализация (nonce). Ако нападателят успее да възстанови поне няколко бита с информация за този вектор, се появява възможност за атака по последователно възстановяване на целия закрит ключ.

В случая с Qualcomm бяха идентифицирани два места за изтичане на подобна информация в алгоритъма на умножение: при извършване на операции за търсене в таблиците и в кода за условно извличане на данни на базата на стойността на последния бит в вектора „nonce“. Въпреки наличието в кода на Qualcomm на мерки за противодействие на изтичане на информация по странични канали, разработеният метод на атака позволява да се заобиколят тези мерки и да се определят няколко бита от стойността на „nonce“, които са достатъчни за възстановяване на 256-битовите ECDSA ключове.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster