Como o Grande Firewall da China detecta e bloqueia tráfego totalmente criptografado [pdf]
(gfw.report)- O Great Firewall (GFW) da China implantou, a partir do início de novembro de 2021, uma nova técnica de censura para detectar e bloquear em tempo real, de forma passiva, tráfego de evasão totalmente criptografado
- Protocolos looks like nothing como Shadowsocks, VMess e Obfs4, projetados para fazer com que toda a carga útil pareça aleatória, também passaram a ser alvo de bloqueio
- Sem descriptografar o tráfego criptografado em si, o GFW primeiro filtra conexões que parecem normais usando heurísticas de exceção como impressões digitais de protocolos comuns, proporção de bits, proporção e posição de caracteres ASCII
- Ao aplicar o algoritmo de detecção inferido ao tráfego real, cerca de 0,6% das conexões legítimas podem ser bloqueadas; para reduzir danos colaterais, o GFW aparentemente monitora 26% de todas as conexões e apenas faixas de IP de data centers específicos
- As estratégias de evasão baseadas nessa análise foram compartilhadas com as principais ferramentas de contorno de censura, amplamente distribuídas desde janeiro de 2022 e, em fevereiro de 2023, continuavam eficazes na China
Bloqueio por detecção passiva surgido em novembro de 2021
- Protocolos de evasão totalmente criptografados não começam com um handshake em texto claro, como o TLS, e são projetados para que todos os bytes da conexão sejam indistinguíveis de aleatoriedade
- VMess, Shadowsocks e Obfs4 são protocolos representativos que usam essa abordagem looks like nothing
- Em 6 de novembro de 2021, usuários de internet na China relataram o bloqueio de servidores Shadowsocks e VMess; em 8 de novembro, um desenvolvedor do Outline confirmou uma queda brusca no uso vindo da China
- O período dos bloqueios coincidiu com a 6ª Sessão Plenária do 19º Comitê Central do Partido Comunista Chinês, realizada entre 8 e 11 de novembro de 2021
- Desde maio de 2019, a China já vinha usando análise passiva de tráfego junto com sondagem ativa para identificar servidores Shadowsocks, mas este caso foi o primeiro bloqueio em larga escala e em tempo real de proxies totalmente criptografados apenas com análise passiva de tráfego
Como o GFW detecta
- O GFW não define diretamente o que é “tráfego totalmente criptografado”; em vez disso, primeiro exclui conexões com alta probabilidade de não serem tráfego totalmente criptografado
- São usados pelo menos 5 grupos de heurísticas de exceção simples, porém eficientes
- Impressões digitais de protocolos comuns
- Teste grosseiro de entropia com base em proporção de bits predefinida
- Proporção de caracteres ASCII imprimíveis na primeira carga útil TCP
- Posição dos caracteres ASCII
- Número máximo de caracteres ASCII consecutivos
- O tráfego restante, que não aciona essas regras de exceção, torna-se alvo de bloqueio
- Como o GFW é um sistema de caixa-preta, as regras inferidas podem não ser completas
Resultados de medição e possibilidade de danos colaterais
- Os pesquisadores usaram varredura da internet para verificar que tipo de tráfego e quais endereços IP o GFW inspeciona
- Eles aplicaram o algoritmo de detecção inferido do GFW ao tráfego real coletado no network tap da CU Boulder para avaliar cobertura e possibilidade de falsos positivos
- Os resultados indicam que as regras inferidas se sobrepõem de forma significativa às regras realmente usadas pelo GFW
- Se esse algoritmo de detecção for aplicado de forma ampla, cerca de 0,6% de todas as conexões observadas no network tap podem ser bloqueadas mesmo sendo tráfego legítimo da internet
- Talvez para reduzir bloqueios excessivos causados por falsos positivos, o GFW monitora estrategicamente apenas 26% de todas as conexões e mira somente faixas específicas de IP de data centers populares
Sondagem ativa e estratégias de evasão
- O novo método de censura passiva opera em paralelo com o sistema existente de sondagem ativa (active probing) do GFW
- O sistema de sondagem ativa também depende desse algoritmo de análise de tráfego e aplica adicionalmente regras baseadas no comprimento dos pacotes
- As estratégias de evasão que conseguem evitar esse novo bloqueio também podem impedir o processo pelo qual o GFW identifica o servidor proxy e depois realiza sondagem ativa
- Os pesquisadores compartilharam de forma responsável os resultados e as propostas de evasão com desenvolvedores de várias ferramentas de contorno de censura, como Shadowsocks, V2Ray, Outline, Lantern, Psiphon e Conjure
- Essas estratégias de evasão foram amplamente adotadas e distribuídas desde janeiro de 2022, ajudando milhões de usuários a contornar o novo método de censura e, em fevereiro de 2023, as estratégias adotadas continuavam eficazes na China
2 comentários
Parece que o artigo resumido e os comentários são sobre coisas diferentes.
Comentários do Hacker News
O artigo não fala nada sobre VPN, então fiquei pensando se não bastaria simplesmente usar uma VPN, mas no verbete da Wikipédia sobre a GFW diz que o uso de VPN na China permite acesso à internet internacional, porém pode trazer risco jurídico
Em 2017, o governo chinês declarou ilegais todos os serviços de VPN não autorizados e, como exemplo, cita a estudante da University of Washington Vera Zhou, que, ao visitar os pais hui em Xinjiang, acessou trabalhos da faculdade por VPN e foi enviada a um campo de detenção em Xinjiang de outubro de 2017 até março de 2018, além de depois ter ficado em prisão domiciliar, sem conseguir voltar aos EUA até setembro de 2019
Vera Yueming Zhou parece ter sido enviada aos campos chineses não tanto por usar uma VPN para acessar o site da University of Washington, mas por pertencer a uma minoria religiosa
Na época, a polícia de Kuytun detectou com ferramentas de vigilância digital que Vera havia usado uma VPN para acessar sites como a conta universitária do Gmail e, por ela fazer parte de uma minoria muçulmana, isso podia ser considerado um “sinal de extremismo religioso”
Como a polícia ficou com meu passaporte durante todo o ano em que estive no Vietnã, tomei cuidado, mas alguns dias depois abri o NYT por alguns minutos e a internet caiu por cerca de 3 horas; na vez seguinte caiu por 24 horas, então percebi que não era uma falha aleatória
Não foi um corte imediato, levou alguns minutos, e eu tinha bastante certeza de que havia gente dedicada a observar meu tráfego
Eu não usava VPN e deixei o tráfego visível de propósito, mas sabia que conectar por VPN só aumentaria a suspeita, então depois disso só usei VPN rapidamente em cafés para checar e-mail
Há quem use para reduzir latência em jogos estrangeiros, e o problema é que conexões VPN são bloqueadas com facilidade, não que as pessoas estejam muito preocupadas com implicações legais
Mas durante os “protestos da folha em branco” parece que a polícia de certas regiões foi até a casa das pessoas para verificar se havia VPN no celular
A impressão era de que a maioria dos jovens e pessoas com conhecimento técnico tinha uma VPN, algo comum e leve como andar uns 10 mph acima do limite na estrada
A maioria não sofre perseguição só por usar VPN; parece mais algo usado quando o governo precisa de um pretexto para deter alguém que já queria perseguir
Este caso parece menos um exemplo de risco jurídico decorrente do uso de VPN e mais um caso em que alguém já visado foi punido por outros motivos
Ou seja, mesmo que toda a legislação que proíbe VPN fosse revogada, na prática talvez nada mudasse
Antes da pandemia, passei longos períodos na China e fiz bastante experimento contra a GFW, e sempre me impressionava a rapidez com que descobriam shadowsocks ou túneis SSH improvisados
Em geral, era preciso trocar de IP em até 48 horas, e este relatório parece indicar que agora detectam imediatamente
O método mais estável era aproveitar um enlace físico entrando de Shenzhen em Hong Kong e, ao me deslocar dentro da China, conectar por VPN a esse gateway em Shenzhen
Pelo que me lembro, isso sempre funcionava, então eu achava que a maior parte da análise e do bloqueio de tráfego VPN acontecia na borda da GFW, e menos no interior, mas isso pode estar desatualizado
Foi bloqueado imediatamente e o cliente não conseguiu conectar; mesmo antes da tentativa, vários IPs desconhecidos já tinham tentado se conectar
Fiquei impressionado com o quão minuciosa é a GFW, e é realmente uma pena que seja tão difícil trabalhar e viajar pela China se você precisa de uma conexão estável com a internet
O tráfego em roaming é tunelado para a operadora do país de origem e, por algum motivo, esse túnel não é inspecionado de forma alguma
Com a chegada do eSIM, passou a ser possível comprar um SIM em roaming em poucos minutos e usar direto no celular
Parecia interferência ocorrendo no interior, não na borda, mas não sei ao certo como isso funcionava
Considerando a capacidade técnica de Hangzhou, talvez o ISP local fosse mais competente e estivesse usando contramedidas mais atualizadas
Tenho lembranças de lidar com a fase inicial do GFW enquanto trabalhava, há cerca de 20 anos, em uma empresa que tinha funcionários em Xangai
Toda manhã, quando os colegas chineses abriam o cliente de e-mail, eles se conectavam ao nosso servidor no exterior; a primeira pessoa geralmente conseguia, mas as seguintes falhavam
Na época quase nada se sabia sobre o GFW, e ele também não era tão esperto quanto hoje, mas percebemos que conexões POP eram rapidamente bloqueadas após alguns minutos; parecia que uma regra lenta do firewall entrava em ação no meio do caminho, e era um tanto aleatório, então presumimos que a configuração do firewall não era uniforme
Quando migramos para POPS/SMTPS, melhorou por um tempo, mas ainda havia bloqueios aleatórios; no fim, quando configuramos o servidor para aceitar conexões POP/SMTP em várias portas aleatórias em vez das portas conhecidas, o problema desapareceu até trocarmos o sistema alguns anos depois
Não investiguei a fundo, mas presumi que a conexão era desviada para inspeção e, se isso for verdade, não seria surpreendente se até espionagem industrial fosse feita com os dados acessados
Acho interessante que estejam reprimindo o Shadowsocks com plugin de ofuscação
Quando fui à China entre 2017 e 2019, a combinação de SS com v2ray era praticamente o padrão de fato
Na época, em certos períodos como o começo de junho ou grandes reuniões do governo, havia repressão contra VPNs e, embora fosse difícil bloquear tudo com precisão processual, parecia que aplicavam bloqueios amplos e meio grosseiros a tudo que parecesse VPN
Normalmente a conexão até era estabelecida, mas com limitação de velocidade a ponto de, na prática, não dar para fazer quase nada
Dava a impressão de que VPNs com um certo nível de complexidade eram toleradas de maneira não oficial, e que o interesse maior era bloquear alvos fáceis, que o público em geral pudesse usar sem dificuldade
Quanto à minoria de nerds técnicos que usava ferramentas mais sofisticadas, provavelmente já sabiam quem eram e preferiam ir atrás diretamente se aquilo virasse problema
A China parece não perceber o quanto se sabota ao investir tempo e expertise nisso sem sentido
A fatia do PIB que dedica ao aparato de repressão interna é quase comparável à que os EUA gastam com defesa militar
Talvez seja até bom para o resto do mundo que queimem tanto talento e riqueza para adicionar ineficiência à troca interna de informações
Em primeiro lugar, a razão de a RPC ter um ecossistema doméstico de informação é que filtrou com antecedência o conteúdo externo, e esse sistema já se pagou várias vezes
Também é preciso observar que a RPC não gasta tanto do PIB com defesa quanto os EUA
Se há desperdício, é a RPC gastar com segurança doméstica algo comparável aos EUA, e isso não é bom quando se pensa no quanto a polícia americana foi militarizada
Já os gastos de defesa da RPC ficam abaixo de 2%, enquanto os dos EUA são cerca de 3,5%; mesmo incluindo estimativas de orçamento paralelo, seria algo como 3% contra 6%
Basta ver como as redes sociais destruíram democracias no mundo todo
A democracia americana está presa, em certa medida, numa espiral de morte: https://www.theatlantic.com/ideas/archive/2021/04/how-stop-m...
Não gosto de repressão, mas a China faz esse tipo de coisa há milhares de anos, e agora já não tenho certeza de que nós tenhamos algo melhor. Há casos como Citizens United, Roe v. Wade e affirmative action, e a expectativa de vida da China acabou de ultrapassar a dos EUA
O uso é limitado, mas ao mover informação para dentro e para fora de sistemas assim, talvez dê para usar chaffing and winnowing: https://en.m.wikipedia.org/wiki/Chaffing_and_winnowing
É até engraçado ver várias reações de gente que claramente nunca esteve em um país restrito
Provavelmente alguns provedores de VPN próximos de serviços sombra aprovados funcionam, mas é difícil acreditar que isso aconteça porque eles são mais inteligentes que o GFW
Tenho certeza de que são permitidos e monitorados sem sofrer sanções
Se você nunca tiver problema com o governo, tudo bem, mas não dá para saber se teve problema até ele realmente acontecer
socks5, shadowsocks e WireGuard já eram inúteis há muito tempo
É como estar dentro de casa, invisível para todos, e tentar sair sem ser visto; por melhor que você tente, a tentativa em si fica visível e você acaba sendo pego
Escapar do GFW é parecido, então a melhor opção são VPNs aprovadas ou RDP duradouro sem medição
Não sei se sou mais inteligente que o GFW, mas as ferramentas de evasão de censura que eu mesmo fiz sempre funcionaram, e até as abordagens mais preguiçosas davam certo
Nunca usei provedores de VPN
Para referência, até o WireGuard sem modificações ainda funciona, mas parece haver análise de tráfego offline para encontrá-lo, então mais ou menos uma vez por semana eu acordava e a conexão VPN tinha caído, e eu precisava trocar a ListenPort do servidor
Pessoalmente, o que mais me irrita é que o custo de tráfego de saída da AWS é caro demais
Eles talvez consigam saber se você está usando VPN, mas não me parece que possam monitorar o conteúdo do tráfego
Este artigo é bom, mas entra em detalhes técnicos consideráveis
Não é especificamente sobre o GFW, mas projetos como https://github.com/salesforce/ja3 tratam de como é possível identificar por impressão digital tráfego totalmente criptografado (TLS/HTTPS)
A seção “How it works” do README explica isso bem
Se até firewalls open source fazem isso, seria até surpreendente se o GFW não fizesse
Ainda assim, dá para criar impressões digitais ignorando a ordem e usando os parâmetros TLS anunciados em comum
O artigo linkado menciona um caso em que conexões Tor-obfs foram detectadas pela lista de cipher suites[2][3]
[1] https://www.fastly.com/blog/a-first-look-at-chromes-tls-clie...
[2] https://gitlab.torproject.org/legacy/trac/-/issues/4744
[3] https://blog.torproject.org/ethiopia-introduces-deep-packet-...
O algoritmo descoberto parece tão contraintuitivo que dá a impressão de ter sido encontrado por IA
É algo como: se a primeira carga útil TCP enviada pelo cliente satisfaz uma das condições de exceção, a conexão continua permitida; caso contrário, é bloqueada
As exceções são: a razão popcount/comprimento estar fora de uma certa faixa, ou os 6 primeiros bytes ou mais estarem no intervalo [0x20,0x7e], ou mais de 50% dos bytes estarem nesse intervalo, ou mais de 20 bytes consecutivos estarem nesse intervalo, ou corresponder a uma impressão digital de protocolo TLS/HTTP
O objetivo é filtrar tráfego criptografado incomum
A primeira regra tenta eliminar tráfego que “parece aleatório”, com cerca de 4 bits por byte definidos como 1, explorando principalmente a propriedade IND-CPA da maioria das criptografias
As regras seguintes são exceções para tráfego criptografado ou compactado aceitável
Compressão não é IND-CPA, mas produz alta entropia, então pode cair na primeira regra
Essa abordagem pode funcionar muito bem, e os pesquisadores do artigo também confirmam isso
Se for o caso do PCC, provavelmente isso foi gerado por análise estatística básica e ajustado para reduzir efeitos colaterais e danos colaterais a um limiar aceitável
O nível seria algo como bloquear sem querer cerca de 0,6% do tráfego mundial
Se for o caso dos pesquisadores, o artigo explica em detalhes a análise estatística básica usada para descobrir essas regras
Em dados de alta entropia, a distribuição de 1s e 0s converge para a média, e dados criptografados parecem de alta entropia
É um método grosseiro, mas muito eficiente em termos de cálculo para hardware embarcado
Ex2~4 tratam como exceção muitos protocolos não criptografados, por exemplo texto ASCII usado em IMAP, e esse tipo de texto também pode ter entropia alta o suficiente para falhar estatisticamente no primeiro teste com frequência
Ex5 é necessário porque TLS é essencialmente criptografado e, portanto, de alta entropia, e HTTP também parece ter sido tratado como exceção para evitar que uploads compactados, como imagens ou vídeos, sejam pegos
Não é nada surpreendente que a chave para contornar o GFW seja baixa entropia. Alta entropia é uma característica quase obrigatória da maioria dos esquemas criptográficos
Em teoria, como a criptografia não adiciona informação, se você não comprimir antes de criptografar, também seriam possíveis esquemas de cifra virtuais que preservassem a entropia segundo vários indicadores objetivos, mas não conheço nada além de um esquema meta no qual se comprime antes de criptografar e depois se faz padding do texto cifrado em estilo esteganográfico
Claro, isso vaza informação equivalente à negentropia da mensagem, mas em geral seria informação que não dá para inferir pelo contexto, como o fato de a mensagem ser HTML+texto, por exemplo
Então bastaria codificar TLS em base64?
Isso já era claro 10 ou 12 anos atrás
Quando estudei na China, a VPN da universidade durava só alguns dias
Mas circulava um software de VPN bem pequeno e, não sei se era verdade, mas lembro de dizerem que o Falun Gong cooperava com a CIA
Na época aquilo conseguia evitar a detecção e, pelo que me lembro, provavelmente era algo como ficar girando IPs
O interessante era a rapidez com que essa ferramenta se espalhava “offline” entre os estudantes estrangeiros
Os chineses também tinham, mas entre eles isso era menos conhecido
Não sei se ainda funciona: https://en.m.wikipedia.org/wiki/Freegate
[Edit] Um comentário antigo no HN dizendo que não funciona, além de outras alternativas também difíceis: https://news.ycombinator.com/item?id=10101965