"Nuvem" confidencial. Estamos procurando uma alternativa para abrir soluções

Sou engenheiro de treinamento, mas me comunico mais com empresários e diretores de produção. Há algum tempo, o proprietário de uma empresa industrial pediu conselhos. Apesar do fato de a empresa ser grande e criada nos anos 90, a gerência e a contabilidade funcionam da maneira antiga na rede local.

Isso é consequência das preocupações com os negócios e do aumento do controle por parte do Estado. Leis e regulamentos podem ser interpretados pelos órgãos de inspeção de maneira muito ampla. Um exemplo são as alterações ao Código Tributário, eliminando o estatuto de limitações por violações tributárias, a destruição real de segredos bancários e de auditoria .

Como resultado, o proprietário da empresa começou a procurar soluções para o armazenamento confiável de informações e a transferência segura de documentos. Virtual "seguro".

Nós trabalhamos na tarefa com um administrador de sistema em tempo integral: precisamos de uma análise profunda das plataformas existentes.

  • o serviço não deve estar nublado, no sentido clássico da palavra, ou seja, sem economizar nas instalações de uma organização de terceiros. Somente seu servidor;
  • é necessária uma criptografia forte dos dados transmitidos e armazenados;
  • a capacidade de excluir com urgência o conteúdo de qualquer dispositivo com o toque de um botão é necessária;
  • A solução é desenvolvida no exterior.


Sugeri remover o quarto ponto, porque Os pedidos russos possuem certificados oficiais. O diretor disse explicitamente o que deve ser feito com esses certificados.

Escolha as opções


Selecionei três soluções (quanto mais opções, mais dúvidas):


O proprietário da empresa é pouco versado em sutilezas técnicas, por isso projetei o relatório na forma de listas dos prós e contras de cada opção.

Resumo da análise


Syncthing


Prós :


  • Código aberto
  • Atividade do desenvolvedor principal;
  • O projeto existe há muito tempo;
  • Grátis.

Contras:


  • Não há cliente para o shell do iOS;
  • Servidores de turno lento (eles são gratuitos e, portanto, ficam mais lentos). Para quem
    não sabendo, Turn é usado quando é impossível conectar-se diretamente;
  • Configuração de interface complexa (muitos anos de experiência em programação são necessários);
  • Falta de suporte comercial rápido.

Resilio


Prós: suporte para todos os dispositivos e servidores Turn ágil.


Contras: Uma e muito significativa é a completa ignoração pelo serviço de suporte de todas as chamadas. Reação zero, mesmo se você escrever de endereços diferentes.


Pvtbox


Prós:


  • Suporte para todos os dispositivos;
  • Servidor de turno rápido;
  • A capacidade de baixar um arquivo sem instalar o aplicativo;
  • Serviço de suporte adequado, incl. por telefone.

Contras :


  • Projeto jovem (poucas críticas e boas críticas);
  • Uma interface do site muito "técnica" nem sempre é clara;
  • Não há documentação detalhada, muitos problemas precisam ser suportados.

O que o cliente escolheu


Sua primeira pergunta é: qual é o sentido de desenvolver algo de graça? A sincronização foi abandonada imediatamente. Argumentos não funcionaram.

Após alguns dias, o cliente dispensou categoricamente o Resilio Sync devido à falta de suporte, pois não está claro para onde ir em caso de emergência. Além de desconfiar do registro americano da empresa.

Para uma análise mais aprofundada, o Pvtbox Electronic Safe permaneceu. Realizamos uma auditoria técnica completa dessa plataforma, com ênfase na possibilidade de interceptação, descriptografia de dados e entrada não autorizada no armazenamento de informações.

Processo de auditoria


Fizemos uma análise dos compostos no início do programa, no processo de trabalho e em um estado calmo. O tráfego pelos padrões modernos é originalmente criptografado. Vamos tentar realizar um ataque MITM e substituir o certificado em tempo real usando Linux (Xubuntu Linux 18.04), Wireshark , Mitmproxy . Para isso, implementaremos um intermediário entre o aplicativo Pvtbox e o servidor pvtbox.net (há uma troca de dados com o servidor pvtbox.net por meio de uma conexão https).

Iniciamos o aplicativo para garantir que o programa e a sincronização de arquivos funcionem nele. No Linux, você pode observar imediatamente o log se executar o programa a partir do terminal.


Desligamos o aplicativo e substituímos o endereço do host pvtbox.net no arquivo / etc / hosts por privilégios de superusuário. O endereço é substituído pelo endereço do nosso servidor proxy.


Agora, prepararemos nosso servidor proxy para o ataque MITM no computador com o endereço 192.168.1.64 em nossa rede local. Para fazer isso, instale o pacote mitmproxy versão 4.0.4.

Inicie o servidor proxy na porta 443:
$ sudo mitmproxy -p 443

Iniciamos o programa Pvtbox no primeiro computador, observamos a saída do mitmproxy e os logs do aplicativo.


O Mitmproxy relata que o cliente não confia no certificado de falsificação do servidor proxy. Nos logs do aplicativo, também observamos que o certificado do servidor proxy não passa na verificação e o programa se recusa a trabalhar.

Instale o certificado proxy mitmproxy no computador com o aplicativo Pvtbox para tornar o certificado "confiável". No computador, instale o pacote ca-certificates. Em seguida, copie o certificado mitmproxy-ca-cert.pem do diretório .mitmproxy do servidor proxy para o computador com o aplicativo Pvtbox no diretório / usr / local / share / ca-certificates.

Executamos os comandos:
$ sudo openssl x509 -in mitmproxy-ca-cert.pem -informa PEM -out mitmproxy-ca-cert.crt
$ sudo update-ca-certificates


Inicie o aplicativo Pvtbox. O certificado falhou novamente, o programa se recusa a trabalhar. O aplicativo provavelmente usa o mecanismo de segurança de fixação de certificados .

Um ataque semelhante foi realizado no host signserver.pvtbox.net, bem como na conexão ponto a ponto entre nós. O desenvolvedor indica que o aplicativo para estabelecer conexões ponto a ponto usa o protocolo webrtc aberto, que usa criptografia de ponta a ponta usando o protocolo DTLSv1.2.

As chaves são geradas para cada instalação de conexões e transmitidas por um canal criptografado através do signserver.pvtbox.net.

Teoricamente, seria possível interceptar ofertas e respostas a mensagens webrtc, substituir as chaves de criptografia e ser capaz de descriptografar todas as mensagens que chegassem via webrtc. Mas não foi possível realizar um ataque de mitm no signserver.pvtbox.net, portanto, não há possibilidade de interceptar e substituir as mensagens enviadas através do signserver.pvtbox.net.

Consequentemente, não é possível realizar esse ataque em uma conexão ponto a ponto.

Também foi encontrado um arquivo com certificados que acompanham o programa. O arquivo está localizado no caminho /opt/pvtbox/certifi/cacert.pem. Este arquivo foi substituído por um arquivo que contém um certificado confiável do nosso servidor proxy mitmproxy. O resultado não foi alterado - o programa se recusou a se conectar ao sistema, o mesmo erro foi observado no log,
que o certificado não passa na verificação.

Resultados da Auditoria


Não consegui interceptar ou substituir o tráfego. Os nomes dos arquivos e, ainda mais, seu conteúdo são transmitidos de forma criptografada, são usados ​​na criptografia de ponta a ponta.O aplicativo implementa vários mecanismos de proteção que impedem a escuta telefônica e a implementação.

Como resultado, a empresa adquiriu dois servidores dedicados (fisicamente em locais diferentes) para acesso permanente às informações. O primeiro servidor é usado para receber, processar e armazenar informações, o segundo - para backup.

O terminal de trabalho do diretor e um telefone celular iOS foram conectados à nuvem individual recebida. Outros funcionários foram conectados por um administrador de sistema regular e pelo suporte técnico da Pvtbox.

Nos últimos tempos, não houve reclamações de um amigo. Espero que minha resenha ajude os leitores de Habr em uma situação semelhante.

Source: https://habr.com/ru/post/pt465861/


All Articles