- O iOS 18 introduziu um novo recurso de segurança de reinicialização por inatividade: "reinicialização automática se não for desbloqueado por 3 dias"
- Digitar a senha ao ligar o iPhone e digitá-la depois para desbloqueá-lo são coisas muito diferentes
- Quando a senha é digitada na primeira inicialização do iPhone, o chaveiro do Secure Enclave Processor (SEP) é aberto, e é isso que criptografa os dados do iPhone
- No estado Before First Unlock (BFU), os dados do usuário permanecem criptografados, Face ID e Touch ID não funcionam, e é necessário inserir a senha. Como a senha do Wi‑Fi está criptografada, não é possível conectar-se ao Wi‑Fi, mas ainda é possível conectar-se à rede celular se o SIM não estiver protegido por PIN. A pré-visualização do conteúdo das notificações não é exibida.
- No estado After First Unlock (AFU), os dados do usuário são descriptografados. Como o chaveiro permanece aberto enquanto o iOS está em execução, a conexão Wi‑Fi e a pré-visualização de notificações de mensagens ficam disponíveis. Porém, esse estado é mais vulnerável a ataques.
- Fraquezas de segurança no estado AFU: se um invasor contornar a tela de bloqueio, poderá acessar dados já descriptografados. Com acesso físico, aumentam as chances de explorar vulnerabilidades via USB, Wi‑Fi, Bluetooth ou ataques de hardware
Rumores sobre reinicialização do iPhone
- Autoridades policiais mantêm iPhones isolados da internet para obter dados forensicamente relevantes enquanto o aparelho está no estado AFU.
- Havia rumores de que, no iOS 18, o iPhone reiniciaria mesmo estando totalmente isolado de redes sem fio
- Também houve alegações de que um iPhone com iOS 18 poderia instruir via rádio um iPhone com versão inferior do iOS a reiniciar (tecnicamente pouco provável)
Descoberta do recurso de reinicialização por inatividade
- A Apple costuma deixar pistas ao adicionar novos recursos por meio de strings de depuração
- A partir do iOS 18.1, apareceu a string
inactivity_reboot. No iOS 18.2, ela mudou para inactivity_reboot_enabled
- Testes confirmaram que ocorre reinicialização por inatividade quando o aparelho não é desbloqueado por 3 dias (72 horas)
Engenharia reversa da reinicialização por inatividade
- O Secure Enclave Processor (SEP) rastreia o horário do último desbloqueio e, quando passam mais de 3 dias, notifica o módulo de kernel AppleSEPKeyStore.
- O módulo de kernel AppleSEPKeyStore notifica o espaço do usuário para iniciar a reinicialização. O SpringBoard encerra com segurança todos os processos do espaço do usuário.
- Após a reinicialização, o
keybagd lê a variável NVRAM "aks-inactivity" e, se estiver definida, envia um evento analítico para a Apple.
- Se a reinicialização falhar, ocorre um kernel panic
Engenharia reversa do Secure Enclave Processor
- O SEP é um dos segredos mais bem protegidos da Apple, e seu firmware é criptografado.
- O firmware do SEP é composto por vários apps, e o app relacionado ao SEPKeyStore é chamado de "sks".
- O SEP gera uma mensagem quando passam mais de 3 dias (72 horas) e a envia para a extensão de kernel SEPKeyStore.
É uma medida voltada apenas para a polícia?
- Efeito de melhoria de segurança: a imprensa noticiou esse recurso como algo voltado principalmente às autoridades policiais, mas houve um grande avanço de segurança também no aspecto de prevenção a furtos.
- Equipamentos antigos usados por autoridades policiais costumam ser vendidos a preços baixos em plataformas como o eBay, e isso reduz casos em que ladrões os usam para acessar dados de iPhones.
- Na prática, é difícil para ladrões obter ferramentas de invasão de última geração ou reunir recursos para desbloquear o aparelho em até 3 dias.
- Importância de manter o dispositivo atualizado: manter a versão mais recente do iOS é muito importante para proteger com segurança os dados pessoais.
- Necessidade de adaptação por parte das autoridades policiais:
- As autoridades precisam ajustar seus procedimentos de extração de dados para concluí-los em até 3 dias.
- Alguns fabricantes de ferramentas forenses já anunciaram que conseguem coordenar procedimentos de extração de dados em até 24 horas.
- Isso mostra a limitação de que os dados só podem ser extraídos no estado AFU.
- Assimetria das ameaças de segurança:
- Para ladrões, esse recurso atua como uma barreira de segurança importante, tornando na prática muito difícil obter dados.
- Já para as autoridades policiais, surge a pressão de simplificar processos e responder mais rapidamente.
Pontos principais
- Não tem relação com atividade sem fio:
- Esse recurso não está relacionado à atividade de redes sem fio.
- A alegação, mencionada em documentos de autoridades policiais, de "reinicialização causada por comunicação sem fio entre dispositivos" é difícil de considerar confiável.
- Reinicializações em dispositivos anteriores ao iOS 18 provavelmente se devem a bugs de software.
- Papel do SEP:
- A medição do tempo de inatividade e o disparo da reinicialização são feitos no SEP.
- O SEP se comunica com a extensão de kernel SEPKeyStore para executar o comando de reinicialização.
- É muito provável que manipulações externas de horário via internet ou rede celular não afetem o temporizador de 3 dias.
- Recurso de segurança robusto:
- Para impedir a reinicialização por inatividade, um invasor precisaria de permissão para executar código no kernel.
- Mesmo que analistas forenses consigam atrasar a reinicialização para extrair dados, a invasão inicial ainda teria de ocorrer dentro de 3 dias.
- Mudança no cenário de ameaças:
- Apresenta novos desafios tanto para ladrões quanto para analistas forenses.
- Para ladrões, na prática bloqueia o acesso a contas bancárias e outros dados sensíveis armazenados no iPhone.
- Para as autoridades policiais, aumenta a pressão para reagir mais rapidamente ao tentar acessar os dados.
1 comentários
Comentários do Hacker News
No estado AFU, os dados do usuário ficam descriptografados. Os desenvolvedores podem escolher diferentes chaves para proteger os dados. A Apple usa chaves específicas para proteger informações sensíveis, como os dados de saúde do usuário
Foi levantada a dúvida sobre por que há tanta ênfase na parte de não estar conectado à rede. O GrapheneOS já oferece uma função de reinicialização automática após certo tempo, e isso é eficaz para evitar vazamento de dados
Foram levantadas duas perguntas:
Foi levantada a curiosidade sobre por que a Apple criptografa o firmware do SEP. Se isso não for essencial para o modelo de segurança, pode ser por proteção de propriedade intelectual
É um excelente texto que mostra como a Apple está à frente em segurança de dispositivos
Foi mencionado que o iOS 18 poderia instruir outros celulares a reiniciar sem fio, mas parece que isso não foi retomado depois
Há a opinião de que isso é semelhante à forma como BFU e AFU são tratados no AOSP
Suspeita-se que isso esteja sendo gerenciado pelo Secure Enclave. Isso tornaria muito difícil desativar, mesmo que o iOS estivesse completamente comprometido
Há a pergunta sobre por que foi definido especificamente o período de 3 dias, em vez de um atraso configurável pelo usuário
Agradecimento pelo ótimo texto e reconhecimento pela excelente análise