Um grupo de pesquisadores da Universidade de Michigan publicou os resultados de um estudo sobre a possibilidade de identificação (VPN Fingerprinting) de conexões a servidores baseados em OpenVPN ao monitorar o tráfego de trânsito. No final, foram identificados três métodos para identificar o protocolo OpenVPN entre outros pacotes de rede, que podem ser utilizados em sistemas de inspeção de tráfego para bloquear redes virtuais baseadas em OpenVPN.
Os testes dos métodos propostos na rede do provedor de internet Merit, que conta com mais de um milhão de usuários, mostraram a possibilidade de identificar 85% das sessões OpenVPN com um baixo nível de falsos positivos. Para a verificação, foi preparado um conjunto de ferramentas, que inicialmente identificou passivamente o tráfego OpenVPN e, em seguida, validou a precisão do resultado através de uma verificação ativa do servidor. Para o analisador criado pelos pesquisadores, foi espelhado um fluxo de tráfego com uma intensidade de aproximadamente 20 Gbps.

Durante o experimento, o analisador conseguiu identificar com sucesso 1718 de 2000 conexões OpenVPN de teste estabelecidas por um cliente falso, utilizando 40 diferentes configurações padrão do OpenVPN (o método funcionou com sucesso para 39 das 40 configurações). Além disso, durante os oito dias do experimento, foram identificadas 3638 sessões OpenVPN no tráfego de trânsito, das quais 3245 foram confirmadas. Observa-se que o limite superior de falsos positivos no método proposto é três ordens de magnitude menor do que nos métodos anteriormente sugeridos, que se baseavam em aprendizado de máquina.
A eficácia dos métodos de proteção contra a rastreabilidade do tráfego OpenVPN em serviços comerciais foi avaliada separadamente — de 41 serviços testados, VPN-o tráfego conseguiu ser identificado em 34 casos. Os serviços que não foram detectados, além do OpenVPN, utilizaram camadas adicionais para ocultar o tráfego (por exemplo, passando o tráfego OpenVPN por meio de um túnel criptografado extra). Na maioria dos serviços que foram identificados com sucesso, foram utilizados métodos de distorção de tráfego por meio da operação XOR, camadas adicionais de ofuscação sem a devida aleatoriedade do tráfego ou a presença de serviços OpenVPN não ofuscados na mesma. servidor.
Os métodos de identificação utilizados baseiam-se na associação a padrões específicos do OpenVPN em cabeçalhos de pacotes não criptografados, no tamanho dos pacotes ACK e nas respostas do servidor. No primeiro caso, como objeto de identificação na fase de negociação da conexão, pode ser utilizada a associação ao campo "opcode" no cabeçalho dos pacotes, que assume uma faixa fixa de valores e muda de maneira específica dependendo da fase de estabelecimento da conexão. A identificação consiste em identificar uma sequência específica de alteração do opcode nos primeiros N pacotes do fluxo.
O segundo método baseia-se no fato de que os pacotes ACK são utilizados no OpenVPN apenas na fase de negociação da conexão e, ao mesmo tempo, possuem um tamanho específico. A identificação baseia-se no fato de que pacotes ACK de um determinado tamanho aparecem apenas em partes específicas da sessão (por exemplo, ao usar o OpenVPN, o primeiro pacote ACK geralmente é o terceiro pacote com dados transmitidos na sessão).

O terceiro método é uma verificação ativa e ocorre porque, em resposta a um pedido de redefinição da conexão, o servidor OpenVPN envia um pacote RST específico (a verificação não funciona no modo "tls-auth", uma vez que o servidor OpenVPN ignora pedidos de clientes não autenticados via TLS).

Fonte: opennet.ru
