Ir para conteúdo

IPhone da Apple ataques de força bruta são frustrados por quê?


Posts Recomendados

IPhone da Apple é um excelente exemplo de uma proteção netlock bem projetado. Até hoje, tem sido uncracked em princípio: a soluções de desbloqueio atual, apenas corrigir o firmware em execução no modem de banda base para o efeito que os controlos são netlock anulado.Estas soluções basicamente injetar código para o firmware "on the fly", explorando buffer / heap overflows. Um pequeno pedaço de software homebrew é executado no processador de aplicação apenas para fazer isso - um jailbreak é, portanto, um pré-requisito para um desbloqueio. Os sistemas não podem ser permanentemente aplicadas ao firmware de dispositivos 3G e, mais tarde , porque é assinatura verificada pelo bootloader do baseband antes de ser executado. Sempre que a Apple decida atualizar o firmware baseband, que reparar os buracos da injeção. Downgrades de firmware estão bloqueadas, então uma maneira de desbloquear o baseband permanentemente ainda não foi encontrado para outros modelos que o iPhone 2G em primeiro lugar. Em suma, a proteção funciona assim:

  • Dois números de identificação única para cada dispositivo são geradas a partir do flash NOR e seriados baseband CPU: o norID eo ChipID, 8, respectivamente, 12 bytes de tamanho.
  • O dispositivo específico deviceKey é gerada a partir truncar um hash SHA1 da concatenadas e acolchoada norID e ChipID .
  • A NCK supostamente aleatório ("chave de controle de rede ') é SHA1-hash. Com o NCK hash ea norID e ChipID , a segunda chave nckKeyé gerado. O algoritmo de hash usa algoritmo de criptografia Tiny (TEA) . O nckKey também é específico do dispositivo uma vez que ambos os norID e ChipID são usados.
  • Um dispositivo específico assinatura RSA é gerado: dois hashes SHA1 são gerados a partir da norID e ChipID . O status que o bloqueio tem após o NCK correto foi inserido também é embutido dentro da mensagem. O PCKS 1,5 formato é usado para preencher os hashes eo status de (2 * 160 +32) bit a 2048 bits (256 byte).
  • A assimétrica algoritmo RSA é utilizado para a criptografia da assinatura de desbloqueio. Tenha em mente que o algoritmo usa duas chaves diferentes: uma chave privada para a criptografia e uma chave pública para descriptografar. Com a chave privada RSA, a assinatura é criptografada e armazenada na memória protegida.
  • Esta assinatura é criptografada com TEA, mais uma vez usando o dispositivo específico deviceKey no modo CBC.
Em pseudo-código, é parecido com este:

deviceKey = SHA1_hash (norID + ChipID)

nckKey = custom_hash (norID, ChipID, SHA1_hash (NCK), deviceKey)

rawSignature = generateSignature (SHA1_hash (norID + ChipID), SHA1_hash (ChipID))

Assinatura = RSA_encrypt (rawSignature, privateRSAkey)

encryptedSignature = TEA_encrypt_cbc (Assinatura, nckKey)

O encryptedSignature é então guardada em uma área protegida de memória - o dispositivo tiver sido bloqueado. Isso acontece quando as questões da Apple a AT + clck = "PN", 1, " NCK " comando presumivelmente diretamente após a fabricação do telefone. Ao testar uma chave de código de rede, o firmware baseband lê o encryptedSignature , calcula o deviceKey eo nckKey da entrada NCK, descriptografa oencryptedSignature com o nckKey usando TEA, descriptografa-lo mais uma vez com a chave pública RSA e verifica a assinatura com a hashes SHA1 do ChipID / norID . Aqui está o código pseudo:

deviceKey = SHA1_hash (norID + ChipID)

nckKey = custom_hash (norID, ChipID, SHA1_hash (NCK), deviceKey)

encryptedSignature readEncryptedSignature = ()

Assinatura = TEA_decrypt_cbc (encryptedSignature, nckKey)

rawSignature = RSA_decrypt (Assinatura, publicRSAKey)

if ((rawSignature tem formato correto) e (rawSignature contém SHA1_hash (norID + ChipID), SHA1_hash (ChipID) ) e (byte Bloqueio status rawSignature é OK))

.. aceitar todos os cartões SIM

outro

.. bloco não-autorizada SIMs

Se o NCK -chave está correta, ele é armazenado na parte processador de aplicação de dispositivo e um sinalizador é definido o que torna o firmware aplicação (IOS) alimentar o NCK para o modem de banda durante o arranque. Se o descriptografado rawSignature passa o cheque, o baseband desbloqueado. Isto é o que acontece em dispositivos de fábrica desbloqueado e iPhones que tenham sido oficialmente desbloqueado.Não se sabe se alguns iPhones nunca pode ser desbloqueado pelo projeto, mesmo com o conhecimento do NCK correto: em os EUA, a AT & T não dar NCKs para qualquer iPhone, mesmo para aqueles dispositivos em que o contrato acabou. Esta prática sugere que a AT & T iPhones têm uma barreira permanente. Várias lições podem ser aprendidas com este:

  • O NCK é armazenada apenas indiretamente sobre o dispositivo em um protegida área.
  • A assinatura , que contém as informações sobre o NCK está diretamente ligado ao dispositivo. Assim, a replicação de uma assinatura de outro dispositivo não vai funcionar.
  • O NCK é um número de 15 dígitos que não é presumivelmente dependente do IMEI ou qualquer outro número de série, mas completamente aleatórios.
  • Ataques de força bruta são frustrados porque algumas operações caras são necessárias apenas para verificar o código eo espaço da chave é grande, por exemplo, o número de possíveis combinações de teclas é grande.
  • A validade da assinatura é implicitamente exigido para um dispositivo desbloqueado. Fábrica desbloqueado dispositivos são enviados com tal assinatura , e durante o processo de desbloqueio oficial, esta assinatura é gerada.
  • A falsificação da assinatura de um dispositivo conhecido com norID , ChipID e NCK não pode ser gerado porque a chave privada RSA é desconhecida.
  • Conseqüente assinatura de código faz patches de firmware permanente impossível.
  • Curiosamente, a verificação de assinatura em si é executado no bootloader que não é tocado durante uma atualização de firmware.
Como resultado, a proteção resiste a maioria dos ataques usados ​​para desbloquear.
Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...