Vulnerabilidade nos chips Qualcomm que permite extraer claves privadas do almacenamento TrustZone

Investigadores do Grupo NCC descuberto os detalles vulnerabilidades (CVE-2018-11976) en chips Qualcomm, que permite determinar o contido das claves de cifrado privadas situadas nun enclave illado Qualcomm QSEE (Qualcomm Secure Execution Environment), baseado na tecnoloxía ARM TrustZone. O problema maniféstase en a maioría Snapdragon SoC, que se estendeu nos teléfonos intelixentes baseados na plataforma Android. As correccións que solucionan o problema xa están incluído na actualización de Android de abril e novos lanzamentos de firmware para chips Qualcomm. Qualcomm tardou máis dun ano en preparar unha corrección; a información sobre a vulnerabilidade enviouse inicialmente a Qualcomm o 19 de marzo de 2018.

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. Android Keystore. As fugas determínanse en función da análise da actividade do bloque de predición de ramas e dos cambios no tempo de acceso aos datos na memoria. No experimento, os investigadores demostraron con éxito a recuperación de claves ECDSA de 224 e 256 bits do almacén de claves illado por hardware utilizado no teléfono intelixente Nexus 5X. A recuperación da chave requiriu xerar unhas 12 mil sinaturas dixitais, o que levou máis de 14 horas. Ferramentas utilizadas para levar a cabo o ataque Cachegrab.

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 (nuncio). Se o atacante pode recuperar polo menos algúns bits con información sobre este vector, faise posible realizar un ataque para recuperar secuencialmente toda a clave privada.

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

Engadir un comentario