A Apple está introduzindo ativamente para as massas a idéia de que agora tudo está em ordem com a privacidade dos dados do usuário para seus produtos. Mas os pesquisadores da Hexway descobriram que o mecanismo Bluetooth LE (BLE) padrão e usado ativamente permite que você aprenda bastante sobre o seu iPhone.
Se o Bluetooth estiver ativado, qualquer pessoa dentro do alcance do sinal poderá descobrir:
- status do dispositivo
- cobrar informações;
- nome do dispositivo
- Status de Wi-Fi
- disponibilidade de buffer;
- versão iOS
- número de telefone

Provavelmente, isso se deve ao novo recurso “Find my” anunciado este ano ( o recurso 'Find My' da Apple usa alguma criptografia muito inteligente | WIRED ). Sua essência é criar um ecossistema de dispositivos Apple que troquem informações BLE entre si para rastrear dispositivos roubados e perdidos sem usar GPS e canais de comunicação móvel, mesmo quando desligados . Embora tenha sido afirmado que
... construiu o recurso em um sistema de criptografia exclusivo, cuidadosamente projetado para evitar exatamente esse tipo de rastreamento - mesmo pela própria Apple
Tradução: [Find my] usa um sistema de criptografia exclusivo projetado para impedir o rastreamento [por outras pessoas], incluindo a Apple.
Exemplos de vetores de ataque relevantes
Airdrop
Essa tecnologia permite trocar arquivos entre dispositivos Apple sem conexão à Internet. Cada vez que você "compartilha" o dispositivo envia um hash do seu telefone para o SHA256. Assim, ao criar um banco de dados de números de telefone (hash: número de telefone), você pode obter telefones de maneira bastante eficiente em locais lotados ... e enviar mensagens personalizadas para seus proprietários via iMessage (você pode obter o nome do proprietário por meio do TrueCaller ou do nome do dispositivo). O lucro para as lojas é mais do que óbvio: envia spam a todos que passam.
Obtendo senhas de Wi-Fi
Quando conectado a uma rede Wi-Fi da Apple, o dispositivo envia uma solicitação de transmissão e um dispositivo compatível com a Apple pode ajudá-lo a acessar a rede, se o usuário desejar. Se você receber 3 bytes de hashes de um funcionário e, ao tentar se conectar à rede corporativa, fizer uma transmissão com os dados recebidos, talvez o outro funcionário seja muito gentil e, vendo um nome familiar na solicitação, compartilhe a senha com você.
Como isso funciona
Análise de pacotes BLE
Modificando os scripts do pacote py-bluetooth-utils, é possível visualizar o sniffer do tráfego BLE. A Apple usa mensagens ADV_IND para enviar o status do dispositivo.
Anuncie a estrutura do pacote

Mensagens próximas
Exemplos de tipos de mensagem:
0x05 - Airdrop
0x07 - Airpods
0x10 - Nos arredores
0x0b - Conexão do relógio
0x0c - Transferência
0x0d - Configurações de Wi-Fi
0x0e - Ponto de acesso
0x0f - Rede de junção Wi-Fi
Também nos pacotes Nearby, você pode obter os status:
0x0b - Tela inicial
0x1c - Tela inicial
0x1b - Tela inicial
0x11 - Tela inicial
0x03 - Desativado
0x18 - Desativado
0x09 - Desativado
0x13 - Desativado
0x0a - Desativado
0x1a - Desativado
0x01 - Desativado
0x07 - Tela de bloqueio
0x17 - Tela de bloqueio
0x0e - Ligando
0x5b - Tela inicial
0x5a - Desativado
Como resultado, você pode criar um simples analisador de pacotes BLE:

Wifi
Ao tentar se conectar ao Wi-Fi do dispositivo A, um pacote da seguinte estrutura é enviado contendo os três primeiros bytes dos hashes SHA256 do AppleID (5-7 bytes), número de telefone (8-11 bytes), e-mail (12-14 bytes):

Presumivelmente, os dispositivos da Apple fizeram o hash de todos os contatos e compararam com os recebidos no pacote de publicidade. Quando o dispositivo B recebe um pacote com hashes de contatos correspondentes, o dispositivo B oferece uma senha de conexão de rede ao dispositivo A.
Se você gerar uma tabela de hashes de números de telefone para uma região específica (cerca de vários milhões), nos 3 primeiros bytes do hash, você poderá obter uma colisão na ordem de várias dezenas de números por hash. Existem duas maneiras de verificar a exatidão dos números:
- Alguns números podem ser excluídos verificando-os através do HLR ( HLR Lookup - Front Page - Index ).
- Como o número deve estar associado ao AppleID, você pode verificar o iMessage.
De qualquer forma, o conjunto de números obtido permitirá descriptografar o proprietário com bastante eficiência (por exemplo, usando ainda métodos de engenharia social).
Airdrop
O Apple AirDrop possui três configurações de privacidade:
- Recebendo desativado.
- Somente contatos.
- Todo mundo.
Quando o AirDrop é iniciado, um pacote da seguinte estrutura é enviado, contendo dois bytes de hashes AppleID, email e número de telefone:

Ao mesmo tempo, o AirDrop é usado apenas para iniciar a transferência; para a transferência de dados, é usada a conexão peer2peer via Wi-Fi (AWDL - Apple Wireless Direct Link).
Durante a autenticação, o remetente envia os dados de registro do remetente para verificar as configurações de privacidade do destinatário. Esta mensagem contém o hash SHA256 completo do remetente. Assim, um invasor pode responder a todas as outras solicitações do AirDrop BLE, recebendo hashes completos de números.
Esquema de operação do AirDrop:

Resumindo
Apenas parte do vazamento de informações possível com o BLE é considerada. No momento, é difícil chamar isso de vulnerabilidade, antes, de uma implementação mal pensada do novo ecossistema da Apple. O que, em princípio, eles mesmos declararam:
A Apple avisa que ainda é uma versão um pouco simplificada do protocolo Find My e que o sistema ainda está sujeito a alterações antes de ser realmente lançado no MacOS Catalina e iOS 13 ainda este ano. ©
Com fio
Tradução: a Apple avisou que uma versão simplificada do protocolo Find My está sendo usada no momento e deve ser atualizada em versões futuras até o final do ano.
No momento, não há como evitar vazamentos de dados além de desativar o Bluetooth. Além disso, esse comportamento é típico das versões iOS 10.3.1 e superior (incluindo iOS 13 beta). Os dispositivos mais antigos (até iPhone 6s) também usam essa funcionalidade, mas com um número limitado de mensagens, possivelmente para economizar energia da bateria.
Referências
GitHub - hexway / apple_bleee: pesquisa Apple BLE
Apple bleee. Todo mundo sabe o que acontece no seu iPhone - hexway