Antes da conferência Hack in the Box (HITB) deste ano em Cingapura, o pesquisador de segurança que usa o xerub do Twitter conseguiu expor a chave de descriptografia totalmente desenvolvida para o coprocessador criptográfico do iPhone 5s que lida com o Touch ID, chamado Secure Enclave.
Ele também postou a chave de descriptografia online.
O lançamento desta chave não significa que o telefone não está mais seguro: os dados confidenciais armazenados no Secure Enclave estão protegidos por outras chaves que não foram comprometidas e provavelmente não. Tudo o que os especialistas em segurança podem fazer é usar a biblioteca "img4lib" para descriptografar e examinar mais de perto o software secreto da Apple em execução no coprocessador criptográfico, e não ler nenhum dado armazenado nela..
Para quem se pergunta, o Secure Enclave é fabricado no chip S2, alimentando o Apple Watch Series 1 e Series 2 e os chips da Apple A-series, a partir do chip A7 do iPhone 5s em diante.
Só estou especulando aqui, mas examinar o firmware do Secure Enclave pode fornecer informações valiosas sobre seu funcionamento interno, o que, por sua vez, poderia facilitar a descoberta de explorações usadas para o jailbreak. No entanto, quaisquer explorações direcionadas especificamente ao Enclave Seguro seriam específicas para o iPhone 5s e exigiriam acesso físico ao telefone para carregar o firmware personalizado.
O Secure Enclave possui seu próprio processo de inicialização segura para garantir que seu firmware separado seja verificado e assinado pela Apple. Para não confundir com o código do iOS em execução no processador principal, o firmware do Secure Enclave só pode ser alterado através de um processo personalizado de atualização de software criado apenas para ele, separadamente do processador principal da série A.
A chave está totalmente crescida https://t.co/MwN4kb9SQI use https://t.co/I9fLo5Iglh para descriptografar e https://t.co/og6tiJHbCu para processar
- ~ (@xerub) 16 de agosto de 2017
O hacker do iOS Will Strafach, também conhecido como Chronic, apontou rapidamente que isso não é um grande problema para os usuários finais, porque o Secure Enclave não foi realmente invadido. "A chave de descriptografia, neste caso, é para o firmware, permitindo que mais pesquisadores o analisem", disse ele no Twitter.
Quando o iPhone 5s foi lançado em 2013, ele estreou o sensor de impressão digital Touch ID. Para armazenar e proteger com segurança os dados confidenciais do sensor de impressão digital, a Apple criou um chip dentro de um chip Secure Enclave incorporado ao processador A7 principal do telefone.
Pense nisso como uma entidade separada, com sua própria memória criptografada e um gerador de números aleatórios de hardware. Toda a comunicação entre o Secure Enclave e o processador A7 principal é isolada em uma caixa de correio acionada por interrupção e em buffers de dados de memória compartilhada.
O processador apenas encaminha os dados para o Secure Enclave, mas não pode lê-los. Em outras palavras, o processador principal não pode obter diretamente chaves do dispositivo ou ler dados criptografados armazenados no Secure Enclave, nem alterar suas funções - isso exigiria a implantação de um novo firmware assinado criado especificamente para o Secure Enclave.
Basicamente, um coprocessador ARMv7a, o Secure Enclave executa uma versão personalizada da Apple da família de microkernel L4. Especula-se que os dados armazenados com segurança na memória criptografada do Secure Enclave sejam aplicados pela tecnologia TrustZone e SecurCore da ARM.
Diferentemente da memória do Secure Enclave no A8 e dos processadores mais recentes, a do Secure Enclave do A7 não é autenticada com a chave efêmera (criada quando o telefone é iniciado).
O Secure Enclave (retângulo menor) está embutido no chip principal da série A.
Como mencionado acima, o Secure Enclave possui seu próprio firmware, kernel, drivers e serviços que ativam o Touch ID e fornecem todas as funções criptográficas ao sistema.
Além de regular toda a comunicação entre o sensor Touch ID e o Secure Enclave por um caminho seguro, o coprocessador criptográfico fornece outros recursos e serviços:
- Criptografa os dados gravados no armazenamento flash
- Descriptografa dados lidos do sistema de arquivos
- Impõe atrasos crescentes depois que uma senha inválida é inserida na tela Bloquear
- Gerencia o processo de autenticação Apple Pay e permite que uma transação continue
- Recebe a digitalização raster da sua impressão digital do sensor Touch ID
- Armazena temporariamente a verificação em sua própria memória criptografada
- Vetoriza a varredura para análise e descarta a varredura
- Determina se há uma correspondência com as impressões digitais registradas
- Armazena com segurança o mapa de nós resultante, sem nenhuma informação de identidade
De acordo com o documento do iOS Security Guide da Apple e o registro de patentes relacionado, o Secure Enclave usa a Autorização de software do sistema para garantir a integridade da proteção de dados e seu próprio firmware, mesmo que o kernel tenha sido comprometido, para impedir instalações de downgrade.
Nos processadores A9 ou posteriores da série A, o Secure Enclave também é responsável por gerar com segurança o ID exclusivo (UID), que é uma chave AES de 256 bits exclusiva para cada dispositivo.
Esse UID é armazenado com segurança na memória criptografada do Secure Enclave e, como tal, é desconhecido para a Apple e outras partes do sistema.
Tudo o que o iOS pode ver são os resultados de operações de criptografia ou descriptografia realizadas por mecanismos AES dedicados implementados em silicone usando o UID como chave (ou GID, que é um ID do grupo de dispositivos compilado no chip e comum a todos os processadores em uma classe de dispositivos) ; por exemplo, todos os dispositivos iOS que usam o processador A9).
De acordo com o programa de recompensas de bugs da Apple, qualquer extração bem-sucedida de material confidencial protegido pelo Secure Enclave deve receber US $ 100.000.