Em um artigo anterior, falei sobre o modo de restringir o acesso a acessórios em dispositivos executando iOS. No artigo, concentrei-me nos recursos do iOS, o que torna a segurança dos dados do usuário dependente da única linha de proteção "intransponível": o código de bloqueio da tela. Quase todas as medidas de proteção estão de alguma forma ligadas a um código de bloqueio. A Apple periodicamente (em um horário complexo) desativa a biometria no iPhone, forçando o usuário a inserir uma senha para desbloquear a tela. Ligou ou reiniciou o telefone - você precisa de um código de bloqueio. Modo SOS usado - código de bloqueio. O telefone não é usado por várias horas - novamente o código de bloqueio. Conecte-se ao computador - e digite o código de bloqueio novamente. Deseja definir uma senha para backup? A partir do iOS 13 e aqui você precisa de um código de bloqueio.
Parece que o usuário só precisa definir um código de bloqueio longo e complexo para proteger completamente o dispositivo. No entanto, esse comportamento não é diferente do sistema de segurança hipotético do edifício, onde apenas a entrada está protegida - enquanto as portas dos escritórios estão sempre abertas, não há senhas nos computadores dos escritórios e você pode obter acesso ilimitado à rede interna de qualquer dispositivo, simplesmente conectando-se à rede Wi-Fi (é claro, também completamente aberto).
Ficção científica? De fato, o descrito parece estranho, mas é nesse estado que o sistema de segurança do iOS está agora. De fato, toda a proteção é inteiramente baseada em uma única linha de defesa, que é o código de bloqueio de tela - com apenas uma pequena condição: a conta do usuário é protegida por autenticação de dois fatores.
O que posso fazer se souber o código de bloqueio do iPhone
Se o código de bloqueio da tela for conhecido, praticamente todos os dados poderão ser extraídos do iPhone, incluindo senhas de contas. Como fazer isso? Crie um backup protegendo-o com uma senha. E para que serve o código de bloqueio? Aqui está a sequência de etapas para criar esse backup:
- Conectamos o iPhone ao computador. A partir do iOS 11, para conectar-se a um computador no iPhone, você precisa não apenas clicar em "concordar" com a solicitação de conexão, mas também inserir um código de bloqueio .
- Inicie o iTunes ou iOS Forensic Toolkit e veja se a senha do backup está definida. Não está instalado? Ótimo, instale o seu e crie um backup! (Por que definir uma senha - eu a escreverei separadamente; em poucas palavras, apenas dados como o Keychain e alguns outros entram na cópia de backup com a senha). Apenas uma coisa pode interferir: a partir do iOS 13, é necessário inserir um código de bloqueio para definir uma senha para o backup. A senha está definida, mas desconhecida para você? Também não importa: a partir do iOS 11, a senha do backup pode ser redefinida ... digitando o código de bloqueio de tela no iPhone!
O código de bloqueio pode ser usado para acesso completo e ilimitado às senhas do chaveiro no próprio iPhone. Além disso, conhecendo o código de bloqueio, é possível visualizar facilmente todas as senhas salvas pelo usuário no Keychain e em um gerenciador de senhas de terceiros conectado ao sistema de preenchimento automático do iOS (por exemplo, Roboform).
Conhecendo o código de bloqueio, você pode facilmente desatar o telefone roubado do iCloud. Para fazer isso, basta alterar a senha do iCloud diretamente nas configurações do telefone; Digite a senha original para o proprietário do iPhone, pois isso não é necessário. Com destreza mínima, a senha do iCloud muda em alguns segundos, após o que o Find my iPhone desliga instantaneamente.
Usando o código de bloqueio, é possível descriptografar o banco de dados de senhas do usuário no iCloud, suas mensagens SMS e iMessage, bem como dados de integridade. Há um ponto sutil aqui: para acessar esses dados, é necessário que a conta do usuário seja protegida por autenticação de dois fatores.
O que a autenticação de dois fatores tem a ver com isso?
Bem, descobrimos o que exatamente é acessível ao invasor que aprendeu o código de bloqueio. Mas o que a autenticação de dois fatores tem a ver com isso?
O fato é que somente com a inclusão da autenticação de dois fatores, alguns recursos avançados do iCloud ficam disponíveis. Ao mesmo tempo, todo o smartphone se transforma no fator adicional necessário para ... mas para quê.
- Para redefinir a senha no iCloud (corresponde à senha da conta Apple ID). Eles redefinem a senha do iCloud e, em seguida, no polegar: desconectado Encontre meu iPhone, desatando o iPhone do bloqueio do iCloud; fotos arrastadas da nuvem (você pode pesquisar no Celebgate aqui), backups extraídos, uma lista de chamadas e assim por diante.
- Para acessar senhas na nuvem do iCloud. Aqui, apenas observo que as senhas do chaveiro da nuvem do iCloud Keychain são criptografadas com uma chave que depende do código de bloqueio. A propósito, o código de bloqueio é adequado para qualquer dispositivo que participe da sincronização. Sem autenticação de dois fatores, as senhas simplesmente não serão sincronizadas com a nuvem; portanto, este item está aqui.
- Dados de saúde. Isso inclui dados sobre a atividade do usuário - o número de etapas, a frequência cardíaca (se um relógio ou rastreador for usado) e assim por diante. Informações muito úteis se você puder gerenciá-las com competência. Novamente, os dados de integridade caem na nuvem se, e somente se a autenticação de dois fatores estiver ativada, e para descriptografá-los, você precisará inserir um código de bloqueio.
- "Hora da tela". Existem limitações e estatísticas sobre o uso de todos os dispositivos do usuário e de seus filhos. Novamente, a sincronização na nuvem não funciona sem o 2FA.
- SMS e iMessage. Você pode ativar a sincronização no iCloud apenas com autenticação de dois fatores; tradicionalmente, é necessário um código de bloqueio para descriptografar.
“Que horror! Não, definitivamente não incluirei autenticação de dois fatores, é apenas perigoso! " Raciocínio lógico? Honestamente, na verdade não: habilitar a autenticação de dois fatores com o iPhone, conhecendo seu código de bloqueio, será muito, muito simples, o que nos leva de volta ao primeiro ponto. Mas desativar o 2FA hoje é muito difícil, quase impossível.
Protegendo o código de bloqueio contra ataques de força bruta
Usando um código de bloqueio, um invasor (ou órgãos policiais) pode fazer uma série de coisas indesejáveis para o usuário. O código de bloqueio é quase a única e última linha de defesa restante. Se travar, um invasor pode fazer quase qualquer coisa com o próprio iPhone ou com dados na nuvem - um análogo completo do prédio, cujo sistema de segurança inteiro está limitado a um bloqueio digital na entrada. Você pode simplesmente ir além na cadeia: as senhas das contas do Keychain o ajudarão a fazer login nas redes sociais; se você encontrar uma senha para sua conta do Google, poderá acessar os dados que acumularam dispositivos do usuário com o Android.
A Apple está ciente de tudo isso. Por um longo tempo, ao configurar seu iPhone ou iPad, você será solicitado a inserir um código de bloqueio de 6 dígitos (anteriormente havia apenas 4). Sim, você pode ativar um código de bloqueio de quatro dígitos, mas a segurança desta etapa é duvidosa: códigos de bloqueio de quatro dígitos usando ferramentas especiais podem ser decifrados em meia hora. Mas pode levar até 19 anos para pesquisar senhas compostas por 6 dígitos - isso é bastante seguro. No entanto, as soluções conhecidas por nós usam algum tipo de solução alternativa: as primeiras centenas de milhares de senhas em alguns casos (AFU, certas gerações de hardware) são classificadas muito mais rapidamente e, em vez de pesquisa exaustiva, são usados dicionários de frequência.
E a proteção contra excesso de hardware? Todos os dispositivos iOS de 64 bits têm um subsistema de segurança Secure Enclave, cujo hardware geralmente é o Secure Element, que limita a velocidade e o número de tentativas possíveis. Até o momento, a proteção do Secure Enclave foi mais ou menos contornada em todas as gerações de iPhone e iPad, exceto no último, com base no SoC A12. Entre os modelos "seguros" - iPhone Xs, Xs Max e Xr. Nesses modelos, a velocidade da pesquisa será limitada a uma senha em 10 minutos; Até onde eu sei, os fabricantes de ferramentas de hackers ainda não conseguiram contornar essa limitação. Porém, para modelos mais antigos, especialmente no modo AFU (após o primeiro desbloqueio, ou seja, o telefone foi retirado do usuário no estado ligado e o usuário o desbloqueou pelo menos uma vez após a ativação), a velocidade da pesquisa é várias vezes mais rápida.
E qual é a verdade, você pode desativar o iCloud Lock sem saber a senha do iCloud?
Verdadeiro - mas apenas para dispositivos registrados em uma conta com autenticação de dois fatores ativa. Surpreendentemente, é assim: talvez o mecanismo mais poderoso, um impedimento avançado, após o aparecimento de roubos de iPhone reduzidos várias vezes, você possa desligá-lo, sabendo apenas o código de bloqueio e nada mais.
Como isso é feito? Eu preciso do iPhone e do código de bloqueio. Inicie o aplicativo de sistema Localizar iPhone. No aplicativo - um campo de entrada de senha com a inscrição "Obrigatório". Ignore-o clicando em "Esqueceu o ID ou senha da Apple?" E veremos uma solicitação de código de bloqueio do telefone:
Nós inserimos o código de bloqueio e, na próxima etapa, definimos uma nova senha para o iCloud:
O problema está resolvido: agora sabemos a senha do Apple ID / iCloud; O bloqueio do iCloud pode ser desativado nas configurações do sistema.
Um método alternativo não requer o uso do aplicativo Find My Phone. Entramos no Apple ID nas configurações do dispositivo e, em seguida, abrimos o item Senha e segurança:
Em seguida é Alterar senha. Haverá uma solicitação para o código de bloqueio do dispositivo:
Depois disso, altere a senha do iCloud / Apple ID:
Mesmo depois disso, o proprietário original ainda pode recuperar o controle da conta enviando uma solicitação de restauração e especificando um número de telefone confiável.
As configurações do Número de telefone confiável indicam o número de telefone para o qual o SMS será enviado para autenticação de dois fatores. É esse número que o proprietário poderá usar para restaurar o acesso à conta se o invasor alterar sua senha de ID da Apple.
Você não pode excluir um único número, mas isso não irá parar o invasor. O primeiro passo será adicionar um novo "número de telefone confiável", o segundo é excluir o antigo que pertencia ao antigo titular da conta. A partir desse momento - realmente tudo: a recuperação rápida do acesso à conta do proprietário original do dispositivo falhará. Na melhor das hipóteses, isso será possível após um longo procedimento de verificação, durante o qual os rastros do dispositivo roubado serão perdidos.
Como isso seria certo?
Do meu ponto de vista, o sistema de segurança do iOS agora deixa muito a desejar. A única linha de defesa é a proteção completamente inadequada. (Aqui mencionarei a proteção por senha de “Screen Time”; não é perfeita, mas melhor que nada. De alguma forma, falarei mais sobre essa proteção.)
Como a segurança pode ser aprimorada? Eu sugeriria as seguintes medidas.
- “Retorne, como no iOS 10”: antes do iOS 11, ninguém conseguia redefinir a senha para o backup local. Esqueceu sua senha? Você pode fazer backup no iCloud e redefinir o telefone para as configurações de fábrica; A senha de backup foi redefinida. Mas era impossível simplesmente remover o iPhone, descobrir o código de bloqueio e remover o backup: a senha para o backup pode ser longa e muito difícil (você ainda precisa digitá-lo uma vez durante a instalação e o segundo ao restaurar o dispositivo) e quebrá-lo é extremamente lento , da ordem de centenas de tentativas por segundo usando a aceleração de hardware na GPU.
- Não permita que números de telefone confiáveis sejam adicionados ou removidos sem a confirmação da senha do iCloud. Agora, para adicionar um novo número confiável ao qual você pode obter o código 2FA, basta digitar o código de bloqueio do iPhone.
- Impedir a redefinição de senha do Apple ID / iCloud com um código de bloqueio. Tente alterar ou redefinir a senha da sua conta do Google - verifique se o sistema de recuperação de acesso pode ser conveniente e seguro.
- E ainda mais, não permita a desconexão do Find my iPhone depois de redefinir a senha. Aqui, novamente, enviarei para o Google: basta alterar (nem redefinir, apenas alterar!) A senha da Conta do Google e desativar a proteção FRP (Factory Reset Protection) por três dias: o período é suficiente para ter tempo para fazer algo Sobre o dispositivo roubado. Esse momento é de particular importância à luz do fato de que os ladrões agora não apenas tiram o smartphone da vítima, mas os forçam a informá-los do código de bloqueio, alterando instantaneamente a senha da nuvem e desatando o dispositivo do iCloud.
É possível, de alguma forma, fortalecer a segurança do iOS? Os usuários corporativos podem usar o sistema Apple Configurator, onde você pode definir restrições sobre a manipulação de contas. Faz sentido para os usuários finais definir a senha "Screen Time". Se você não se acostumar com as restrições pessoais, a experiência de usar o dispositivo não será afetada, mas você não poderá redefinir a senha do backup: além do código de bloqueio da tela, o sistema também solicitará que você digite a senha "Screen Time". Além disso, você pode configurar as restrições de forma que, sem a senha “Screen Time”, não seja possível alterar a senha da conta ou excluí-la do iPhone.