Este Security White Paper foi anteriormente publicado no wickr.com/security por Chris Howell, Wickr CTO
Wickr de segurança é construída sobre o conceito de um servidor não confiáveis. Em outras palavras, temos o objetivo de fornecer segurança mesmo no caso de uma falha no servidor “pior caso”, onde um atacante onipotente tem controle total dos recursos do servidor, para incluir a capacidade de ler e modificar código de Aplicação back-end e dados e ir indetectado por algum tempo.
de Terceiros especialistas têm continuamente avaliados nosso fim a criptografia de ponta e de segurança desde o início. Como parte de nossas promessas de segurança do cliente recentemente liberadas, uma empresa de segurança independente líder validou que o conteúdo da mensagem não é legível em nossos componentes back-end servidor. Este documento analisa a questão da segurança e do COMPROMISSO dos servidores de forma mais ampla. Ele resume elementos-chave da arquitetura de segurança do Wickr que fornecem resiliência ao back-end server compromise e discute o evento em termos de capacidades reais do atacante, ou impacto no mundo real.
metas do atacante
para entender o que um atacante pode fazer com um compromisso do servidor de Wickr , precisamos entender o papel do servidor na arquitetura de Wickr e considerar o valor dos dados contidos em componentes de back end e bancos de dados. O servidor de Wickr desempenha um papel fundamental na entrega de mensagens em suporte de comunicação síncrona e assíncrona. Ele também fornece serviços centralizados de diretório de usuário, conjuntos de permissão, e perfil e configuração de sincronização.ataques que tentam explorar o servidor de Wickr podem ser categorizados da seguinte forma::ataques dirigidos a informação e metadados, ou recolha e armamento de informações sensíveis sobre o sistema ou os seus utilizadores; ataques dirigidos à disponibilidade ou à destruição de dados.
discutimos cada tipo de ataque nas secções que se seguem.
segurança da mensagem
ao comprometer o servidor, o atacante ganha acesso a mensagens criptografadas, bem como a grupos de chaves efêmeras públicas . No entanto, as mensagens são criptografadas de ponta a ponta e tanto as mensagens e chaves criptografadas nos grupos de chaves são autenticadas de ponta a ponta. Isto significa que os atacantes não têm capacidade para ler ou modificar mensagens encriptadas à medida que passam pelo servidor e não conseguem manipular as piscinas de chaves para executar o homem nos ataques do meio.com estas proteções no lugar, os atacantes que esperam ter acesso ao conteúdo da mensagem devem procurar assumir o controle de uma identidade Wickr. As identidades de Wickr estão enraizadas em pares de chaves assimétricas que são usadas para assinar digitalmente e verificar dados. A confiança é estabelecida através da verificação da cadeia de assinatura de um dado objeto ou componente criptográfico para a identidade raiz, ou usuário (por exemplo, Mensagem para app, app para usuário).
para produzir uma chave autêntica( ou mensagem), um atacante teria que fazer um dos seguintes:
1. Obtenha o componente privado da chave de identidade de um usuário, que poderia ser usado para autenticar aplicativos Wickr conectados na conta.2. Obter o componente privado da chave de identidade de um aplicativo, que poderia ser usado para produzir chaves de mensagens efêmeras autênticas e autenticar mensagens enviadas a partir do aplicativo.3. Enganar um usuário para aceitar uma chave de identidade falsa para um usuário de destino, que teria o mesmo efeito que obter a chave de identidade existente do Usuário.
os componentes privados das chaves de identidade do aplicativo estão seguros em uma loja de dados cliente-lado criptografado e fora do alcance de um atacante servidor-lado. Os componentes públicos são armazenados no servidor, mas são assinados pela chave de identidade (privada) do Usuário, protegendo-os de adulteração. Enganar os usuários para aceitar chaves de identidade falsas é mais um ataque de engenharia social do que um ataque técnico e tem pouco a ver com uma base do lado do servidor . Portanto, a capacidade do atacante do lado do servidor de comprometer uma fonte de autenticidade-e realmente a sua única via técnica de ataque para impactar a segurança da mensagem — se resume à sua capacidade de comprometer a chave de identidade do Usuário.
por várias razões relacionadas principalmente com a usabilidade do sistema, as chaves de identidade do usuário são armazenadas no servidor de Wickr e seguras com forte criptografia simétrica. Proteger esses dados é, em última análise, uma chave de 256 bits que é uma forte derivada criptográfica da senha do Usuário. Esta chave nunca é armazenada ou enviada para o servidor, de modo que um atacante tentando comprometer a chave de identidade de um usuário teria que executar um ataque de adivinhação de senha contra a versão armazenada usando um algoritmo de geração de derivados de senha que é especificamente projetado para fazer o processo como recurso e demorado quanto possível. Para Senhas não triviais, poderíamos esperar que este processo leve muitos anos até mesmo muitos milhares ou milhões de anos se o usuário simplesmente escolher uma senha de qualidade de até 8 caracteres de comprimento. Para comprometer várias contas, o atacante precisaria gastar o mesmo esforço de novo e de novo. Este nível de protecção significa que os ataques do lado do servidor contra as chaves de identidade do utilizador são inviáveis contra todas as contas menos as mais fracas. Veja o Livro Branco de Wickr sobre proteção de senha.
informação e metadados
com o controle do servidor de Wickr, o atacante tem acesso a qualquer informação que o serviço tem sobre seus usuários. Ao projetar para esta ameaça, Wickr limita a quantidade de informações de usuário que armazenamos para o que é minimamente necessário para fornecer um serviço de qualidade. O seguinte é uma lista de informações de conta de usuário disponíveis para Wickr serviços, no momento da redação deste texto:
Wickr Me:
- Data em que a conta foi criada
- Tipo de dispositivo(s) em que tal conta foi utilizado (por exemplo, iOS, Android)
- Data da última utilização
- número Total de envio/receção de mensagens
- Número de ID externo do (números de telefone) ligado a conta (não o plaintext externo IDs de si)
- Limitada registros recentes alterações às configurações da conta (por exemplo, adição ou remoção de um dispositivo; não inclui o conteúdo da mensagem ou informações de Encaminhamento e entrega)
- Wickr número da versão
Wickr Pro:
- Wickr Pro ID (endereço de e-mail)
- Rede de afiliação
- número de Telefone, se fornecido pelo administrador de rede como uma segunda forma de autenticação
- Data em que a conta foi criada
- Tipo de dispositivo(s) em que uma conta foi usado
- Data da última utilização
- número Total de envio/receção de mensagens
- Número de ID externo do (números de telefone) ligado a conta (não o plaintext externo IDs de si)
- Limitada registros recentes alterações às configurações da conta (por exemplo, adição ou remoção de um dispositivo; não inclui conteúdo da mensagem ou o roteamento e a entrega de informações)
- Wickr número de versão
- Pagamento-informações relacionadas
- configurações de Rede, incluindo um número limitado de registros de alterações recentes definições de rede (por exemplo, habilitar ou desabilitar a federação)
Wickr Empresa (cliente-implantação controlada):
- Wickr Enterprise ID (identificador)
- Rede de afiliação
- Data em que a conta foi criada
- Tipo de dispositivo(s) em que uma conta foi usado
- Data da última utilização
- número Total de envio/receção de mensagens
- Limitado de registros de alterações recentes definições de conta (exemplo, adicionar ou remover um dispositivo; não incluem o conteúdo da mensagem ou o roteamento e a entrega de informações)
- Wickr número de versão
- configurações de Rede, incluindo um número limitado de registros de alterações recentes definições de rede (e.g., habilitando ou desativando a Federação)
o acima estaria, portanto, em risco de divulgação no caso de um compromisso com o servidor. Nossas Diretrizes de processo legal e política de Privacidade contêm discussões mais detalhadas sobre como limitamos a coleta e uso de informações do usuário em nossa plataforma.
O controle do servidor também fornece a um atacante a capacidade de coletar informações e metadados que o serviço ignora. Os dois melhores exemplos disso no Wickr São endereços IP do cliente e rastreamento de mensagens.
Wickr como um serviço é inteiramente desinteressado no endereço IP dos clientes Wickr. Nós não os gravamos em registros de aplicativos de configuração padrão ou os armazenamos em registros de usuário. Eles estão, no entanto, disponíveis para certos componentes da infra-estrutura back-end, e assumindo que o atacante controla o componente direito e realiza a análise de tráfego e correlação correta, esta informação estaria em risco.
Wickr também é desinteressado em quem está se comunicando com quem na rede. Nós não gravamos esta informação em registros de configuração padrão. No entanto, assumindo que o atacante investe uma quantidade suficiente de tempo e esforço no processo, o número, as vezes, os tipos de mensagens enviadas e recebidas, e os IDs de Wickr fonte e destinatário estariam em risco. IDs de Wickr de texto simples não estão disponíveis nas reservas de dados de Wickr Me, então este tipo de análise seria muito mais difícil (embora não impossível) de fazer em Wickr Me.
disponibilidade
embora talvez não seja a forma mais interessante de ataque que se possa imaginar contra um serviço de mensagens seguro, os ataques que visam a disponibilidade de serviços têm um likelihoods muito real e impactos bastante óbvios. Não há muito a discutir sobre este tópico neste documento além de reconhecer o risco, mas um atacante com controle de servidores Wickr teria o poder de desativar serviços e excluir dados, se simplesmente causar caos ou negar serviço para usuários legítimos.
resumo
esperamos que este artigo tenha sido informativo para os clientes que desejam entender o impacto no mundo real de uma violação do servidor de Wickr. Em suma, tal evento, se explorado por um adversário capaz, colocaria potencialmente em risco o seguinte:
1. A segurança de futuras mensagens de contas com senhas fracas.2. A confidencialidade das informações e metadados limitados da conta.3. A disponibilidade de serviços.
escolha senhas de qualidade.
Se as senhas de qualidade são usadas, um compromisso do servidor de Wickr (conhecido ou desconhecido) pode ser considerado um evento de baixo ou nenhum impacto.
considere a reaquisição periódica.
criando periodicamente um novo par de chaves e re-verificando com outros (por exemplo, anualmente, semestralmente) pode reduzir ainda mais o risco de um ataque de adivinhação de senha bem sucedido para comprometer a chave de identidade do Usuário. É também um método eficaz de reabilitação de uma conta de usuário que você acredita já ter sido comprometida através de adivinhação de senha ou compromisso do lado do cliente. Os usuários podem rekey sua conta completando o fluxo de ‘senha esquecida’ em Wickr Pro e Wickr Enterprise ou criando um novo ID em Wickr Me.