Uma falha na implementação do QSEE (Secure Execution Environment) da QUALCOMM (Trusted Execution Environment) usada em vários dispositivos, especialmente em dispositivos Android, permite invasão e que hackers roubem dados confidenciais da área segura isolada do processador.
Para ver este vídeo, por favor, ative o JavaScript…
Implementação da Qualcomm usada em vários dispositivos, como Pixel, LG, Xiaomi, Sony, HTC, OnePlus, Samsung.
Os aplicativos confiáveis em execução no TEE são um ambiente isolado e a extensão de segurança suportada por um processador ARM é parte integrante de qualquer dispositivo móvel moderno.
A falha da Qualcomm permite invasão no Android, mas o que consiste na implementação do TEE?
A implementação do TEE consiste no seguinte sistema operacional confiável, drivers, bibliotecas normais e seguras do mundo, aplicativos confiáveis e outros componentes.
É a principal área central do processador que garante que o código e os dados executados no TEE sejam protegidos. A pesquisa de segurança nessas áreas é difícil, pois possui código proprietário
Uma vulnerabilidade no TEE pode levar ao vazamento de dados protegidos, root nos dispositivos, desbloqueio do carregador de inicialização, execução de APT indetectável e muito mais.
Os pesquisadores do ponto de verificação realizaram pesquisas baseadas em fuzzing em implementações de ETE, o teste de fuzzing é o método para encontrar erros de implementação, fornecendo dados inválidos ou aleatórios por métodos automatizados.
Os pesquisadores observaram que todos os dados relacionados a um trustlet estão concentrados em um só lugar. É sua região de segmento de dados.
Aplicativos confiáveis carregados no Normal World
Após quatro meses de pesquisa, eles encontraram um buraco para executar o aplicativo confiável no Normal World, detectando os endereços de início dos códigos e segmentos de dados do trustlet no Secure World e despejando-os.
Os seguintes problemas surgem quando se carrega a função de manipulador de comando que as chamadas para cmnlib e syscall durante a execução.
- Detecte os endereços base de um trustlet e cmnlib no Secure World;
- Despejar segmentos de dados de um trustlet e cmnlib;
- Execute o syscall de um trustlet no Normal World.
Todos esses problemas podem ser resolvidos se pudermos corrigir um trustlet escolhido antes de carregá-lo no Secure World. Nesse caso, podemos estender sua função de manipulador de comando para mais um ID de comando suportado.
Isso fornece a capacidade de solicitar o endereço base e o bloco de memória do segmento de dados do trustlet do Normal World.
Aplicativo confiável no Secure World
O alvo principal do ataque é o algoritmo de verificação de confiança. “Queremos” cortar “o código QSEOS responsável pelo cálculo da assinatura do bloco de hash ou por comparar os hashes reais dos segmentos com os verificados.”
A próxima etapa é carregar o aplicativo confiável no Secure World sem quebrar a cadeia de confiança.
No processo, eles usaram duas explorações CVE-2015-6639 e CVE-2016-2431, que oferecem a eles
uma maneira possível de corrigir o segmento de dados QSEOS em um dispositivo Nexus 6 com um Android com compilação MOB30D.
Ao executar o comando, os pesquisadores ganharam a capacidade “de substituir o bloco de hash de um trustlet após a verificação, mas antes de usá-lo para validar os segmentos“.
A pesquisa disse que o trustlet passará com êxito na verificação. Um fato interessante é que também podemos carregar trustlets de outro dispositivo.
Segundo os pesquisadores, a vulnerabilidade permite que um invasor execute o aplicativo confiável no mundo normal, remenda o aplicativo confiável no Secure World, quebrando a cadeia de confiança da Qualcomm e muito mais.
A vulnerabilidade afeta vários dispositivos Android e IoT, a Checkpoint relatou a vulnerabilidade para a Qualcomm foi corrigida em junho.
Então, através deste artigo, viu-se que a falha da Qualcomm permite invasão no Android, afeta/afetou vários dispositivos, mas que segundo eles, o problema já foi contornado.
Fonte: GBHackers On Security