WireGuard, um projeto VPN revolucionário no kernel que pretende ser rápido, moderno e seguro, agora pode ser integrado diretamente às ROMs do Android.
É difícil imaginar a Internet moderna sem VPN. Durante muitos anos, as VPNs ampliaram redes privadas através de redes públicas, permitindo aos usuários enviar e receber dados em redes públicas ou compartilhadas, como se seus dispositivos de computação estivessem diretamente conectados à rede privada. rede. Consequentemente, isto teve o efeito de permitir aos utilizadores contornar restrições geográficas específicas, bem como manter os dados seguros. O cenário do software VPN, no entanto, tem tido uma infinidade de problemas, que o WireGuard, um novo protocolo de tunelamento seguro, pretende resolver.
OpenVPN, IPsec e seus problemas
As soluções VPN mais conhecidas atualmente no Android são OpenVPN e IPsec, mas não estão isentas de problemas. A popularidade do OpenVPN faz sentido, pois é mais fácil de configurar do que o IPsec e já existe há muito tempo. Embora o projeto seja uma solução aceitável para a maioria dos usuários, sua complexidade é esmagadora. OpenVPN consiste em cerca de 120.000 linhas de código. Essa quantidade de código torna o projeto quase impossível de auditar e proteger, como testemunhado pelo enorme rastro de bugs de segurança nos últimos anos. O OpenVPN também reside no espaço do usuário, o que o torna bastante lento, já que cada pacote deve ser copiado diversas vezes e incorrer em diversas trocas de contexto. IPsec, IKEv2, L2TP, PPTP e tecnologias relacionadas dos anos 90 também são bastante populares, mas igualmente problemáticas, sendo bases de código grandes e volumosas - StrongSwan tem cerca de 430.000 linhas de código, além de toda a camada XFRM do kernel - e é baseado em criptografia desatualizada dos anos 90 sabedoria. O uso comum desses protocolos também é muito “tagarela”, enviando tráfego desnecessariamente, resultando na redução da vida útil da bateria em laptops e telefones celulares.
Um novo projeto VPN empolgante: WireGuard
Recentemente tivemos o prazer de conversar com um de nossos desenvolvedores reconhecidos, zx2c4. Na vida real, ele é Jason Donenfeld e é autor de WireGuard, um túnel VPN de próxima geração, que em breve poderá destronar o OpenVPN e o IPsec. Lançado em 2015, WireGuard oferece criptografia de ponta, é mais fácil de auditar, pois é menos de 4.000 linhas de código, e é bastante fácil de usar.
WireGuard é uma nova VPN que roda dentro do kernel Linux e utiliza criptografia de última geração. Seu objetivo é ser mais rápido, mais simples, mais enxuto e mais útil que o IPSec, evitando ao mesmo tempo a enorme dor de cabeça. Pretende ter um desempenho consideravelmente melhor que o OpenVPN. O WireGuard foi projetado como uma VPN de uso geral para execução em interfaces incorporadas e em supercomputadores, adequada para muitas circunstâncias diferentes. Ele é executado em UDP.
A recepção ao WireGuard tem sido muito positiva, tanto dentro da comunidade de segurança quanto dentro da comunidade do kernel, com Greg KH, o mantenedor estável do kernel Linux, endossando após uma revisão completa do código. Tem sido apresentado em todo o mundo, com Apresentação FOSDEM sendo talvez particularmente relevante para os leitores do XDA. O WireGuard papel branco também foi revisado por pares pela comunidade acadêmica.
O protocolo é muito bom para telefones celulares porque foi desenvolvido como uma “VPN furtiva”, que por padrão não envia nenhum pacote a menos que haja dados reais a serem enviados. Isto tem o efeito de não descarregando a bateria como outros clientes VPN costumam fazer. Além disso, o WireGuard permite roaming livre entre diferentes endereços IP, o que significa que você pode fazer a transição entre Conexões Wi-Fi e celulares, ou entre quaisquer outros tipos de conexões, sem a necessidade de estabelecer qualquer conexões; é totalmente perfeito.
O a velocidade é a melhor da classe, oferecendo implementações de suas cifras aceleradas por SSSE3, AVX, AVX2, AVX512 e NEON. O uso do ChaCha20 significa que ele é extremamente rápido em quase todos os hardwares. Nos testes, o WireGuard supera facilmente outros protocolos.
WireGuard não é apenas a VPN mais rápida do mercado, mas a criptografia também foi verificado formalmente, o que significa que existem provas matemáticas de que suas construções criptográficas são seguras no modelo simbólico. Embora a criptografia seja moderna, ela também é conservadora, errando mais para o lado da paranóia do que para o lado da frivolidade. Isso, combinado com sua base de código pequena e facilmente auditável, torna o WireGuard muito confiável do ponto de vista da segurança.
Suporte WireGuard e Android
Embora o WireGuard seja desenvolvido principalmente como um módulo de kernel otimizado para Linux, existe um espaço de usuário versão portátil em andamento, para que possa ser distribuída em aplicativos da Play Store sem precisar de root acesso. No entanto, embora a implementação do espaço do usuário ainda seja mais rápida que a da concorrência, grande parte da magia do WireGuard brilha quando o módulo nativo do kernel é usado. Por esta razão, o principal interesse do WireGuard para a comunidade de desenvolvimento XDA reside em integrando o módulo do kernel em ROMs diretamente.
Na verdade, o WireGuard já chegou a algumas ROMs. Mais notavelmente, está integrado em ROMs populares de Sultanxda para o OnePlus 3/3T e outros desenvolvedores certamente o seguirão. O procedimento de patch é bastante simples e pode ser feito com algumas etapas simples. O melhor lugar para encontrar a referência é o página do repositório git android_kernel_wireguard assim como Thread XDA do zx2c4 sobre como adicioná-lo às ROMs.
O atualmente em desenvolvimento aplicativo Android usa o módulo do kernel de forma oportunista, se estiver disponível, e caso contrário volta a usar a implementação do espaço do usuário. O aplicativo possui uma GUI para definir túneis VPN, verificar o status e adiciona um botão de alternância à área de notificação para ativar e desativar túneis. Abaixo você pode ter uma ideia da interface de alternância simples das primeiras versões do aplicativo.
A equipe de desenvolvimento do WireGuard está atualmente recrutando desenvolvedores de GUI Android para trabalhar com eles à medida que avançam na tecnologia principal. Se algum desenvolvedor XDA estiver interessado, não hesite em entrar em contato zx2c4. O projeto WireGuard é totalmente de código aberto e transparente.
No geral, o WireGuard parece ser o futuro das VPNs e dos túneis de rede seguros, abrangendo soluções sólidas como uma rocha. criptografia moderna, uma base de código auditável segura e um protocolo inovador adequado para smartphones. Seu uso no servidor e desktop Linux já é altamente considerado, avançando solidamente para o Linux principal. Nós do XDA estamos ansiosos para ver o WireGuard chegar ao Android e aos nossos ROMs.
Se você estiver ansioso para testar o WireGuard em seu dispositivo, entre em contato com o desenvolvedor da ROM ou recompile a ROM por conta própria. Você também pode obter a versão alfa do aplicativo no tópico oficial ou loja de aplicativos do Google.
Visite o tópico WireGuard no XDA