Investigadores do Grupo NCC
Lembremos que a tecnoloxía ARM TrustZone permítelle crear ambientes protexidos illados por hardware que están completamente separados do sistema principal e executados nun procesador virtual separado mediante un sistema operativo especializado separado. O obxectivo principal de TrustZone é proporcionar execución illada de procesadores para claves de cifrado, autenticación biométrica, datos de pago e outra información confidencial. A interacción co sistema operativo principal realízase indirectamente a través da interface de envío. As claves de cifrado privadas almacénanse nun almacén de claves illado por hardware, que, se se implementa correctamente, pode evitar a súa fuga se o sistema subxacente se ve comprometido.
A vulnerabilidade débese a un fallo na implementación do algoritmo de procesamento de curvas elípticas, que provocou a fuga de información sobre o progreso do procesamento de datos. Os investigadores desenvolveron unha técnica de ataque de canle lateral que permite utilizar filtracións indirectas existentes para recuperar o contido das claves privadas situadas nun espazo illado por hardware.
A principal causa do problema é a compartición de compoñentes de hardware comúns e caché para os cálculos na TrustZone e no sistema principal: o illamento realízase a nivel de separación lóxica, pero usando unidades informáticas comúns e con trazos de cálculos e información sobre a rama. enderezos que se depositan na caché común do procesador. Mediante o método Prime+Probe, baseado na avaliación dos cambios no tempo de acceso á información almacenada en caché, é posible, comprobando a presenza de certos patróns na caché, supervisar os fluxos de datos e os signos de execución de código asociados aos cálculos de sinaturas dixitais en TrustZone cunha precisión bastante alta.
A maior parte do tempo para xerar unha sinatura dixital usando claves ECDSA en chips Qualcomm pásase realizando operacións de multiplicación nun bucle usando un vector de inicialización que non cambia para cada sinatura (
No caso de Qualcomm, identificáronse dous lugares onde se filtraba esa información no algoritmo de multiplicación: ao realizar operacións de busca en táboas e no código de recuperación de datos condicional en función do valor do último bit no vector "nonce". A pesar de que o código Qualcomm contén medidas para contrarrestar as fugas de información a través de canles de terceiros, o método de ataque desenvolvido permítelle evitar estas medidas e determinar varios bits do valor "nonce", que son suficientes para recuperar claves ECDSA de 256 bits.
Fonte: opennet.ru