Projeto Salmon: Como resistir efetivamente à censura na Internet com proxies com níveis de confiança do usuário



Os governos de muitos países, de uma maneira ou de outra, restringem o acesso dos cidadãos a informações e serviços na Internet. A luta contra essa censura é uma tarefa importante e difícil. Normalmente, soluções simples não podem se orgulhar de alta confiabilidade ou eficiência a longo prazo. Métodos mais sofisticados de superação de bloqueios têm desvantagens em termos de facilidade de uso, baixo desempenho ou não permitem manter a qualidade do uso da Internet no nível adequado.

Um grupo de cientistas americanos da Universidade de Illinois desenvolveu um novo método para superar bloqueios, que se baseia no uso de tecnologia proxy, além de segmentar usuários por nível de confiança para identificar efetivamente agentes que trabalham para censores. Apresentamos a sua atenção os principais pontos deste trabalho.

Descrição da Abordagem


Os cientistas desenvolveram a ferramenta Salmon - um sistema de proxies gerenciados por voluntários de países sem restrições ao uso da Internet. Para proteger esses servidores do bloqueio por censores, o sistema usa um algoritmo especial para atribuir aos usuários um nível de confiança.

O método envolve a exposição de possíveis agentes censores que parecem ser usuários regulares para descobrir o endereço IP do servidor proxy e bloqueá-lo. Além disso, a reação aos ataques da Sibyl é realizada usando os requisitos para fornecer, ao registrar no sistema, um link para uma conta válida na rede social ou para receber uma recomendação de um usuário com um alto nível de confiança.

Como isso funciona


Supõe-se que o censor seja um órgão controlado pelo estado que tenha a capacidade de assumir o controle de qualquer roteador dentro do país. Supõe-se também que a tarefa do censor é bloquear o acesso a determinados recursos e não calcular usuários para novas prisões. O sistema não pode impedir esse desenvolvimento de eventos - o estado tem muitas oportunidades para descobrir quais serviços os cidadãos usam. Um deles é o uso de servidores honeypot para interceptar comunicações.

Supõe-se também que o estado tenha recursos significativos, incluindo recursos humanos. Um censor pode resolver tarefas que exigem centenas e milhares de funcionários em período integral.

Mais alguns pontos básicos:

  • A tarefa do sistema é permitir o desvio de bloqueios (ou seja, fornecer o endereço IP de um servidor proxy) a todos os usuários que vivem em regiões com censura online.
  • Os agentes / funcionários de agências e departamentos de censura da Internet podem tentar se conectar ao sistema sob o disfarce de usuários comuns.
  • O censor pode bloquear qualquer servidor proxy cujo endereço ele tome conhecimento.
  • Nesse caso, os organizadores do sistema Salmon entendem que o censor de alguma forma reconheceu o endereço do servidor.

Tudo isso nos leva à descrição dos três principais componentes de um sistema de bloqueio.

  1. O sistema calcula a probabilidade de o usuário ser um agente de organizações de censura. Usuários que são reconhecidos como altamente prováveis ​​por esses agentes são banidos.
  2. Cada usuário tem um nível de confiança que precisa ser conquistado. Os proxies de velocidade mais alta são dedicados a usuários com os mais altos níveis de confiança. Além disso, isso permite que você separe usuários confiáveis ​​e testados pelo tempo de iniciantes, porque é precisamente entre eles que provavelmente haverá agentes de censura.
  3. Usuários com um alto nível de confiança podem convidar novos usuários para o sistema. O resultado é um gráfico social de usuários confiáveis.

Tudo é lógico: o censor geralmente precisa bloquear o servidor proxy aqui e agora, ele não esperará muito tempo para tentar "bombear" as contas de seus agentes no sistema. Além disso, é claro que novos usuários podem receber inicialmente um nível diferente de confiança - por exemplo, amigos e parentes dos criadores do projeto são menos propensos a cooperar com estados censurados.

Níveis de confiança: detalhes da implementação


Não apenas os usuários têm um nível de confiança, mas também servidores proxy. O sistema atribui a um usuário com um determinado nível um servidor com o mesmo nível de confiança. Ao mesmo tempo, o nível de confiança do usuário pode aumentar e diminuir e, no caso de servidores, apenas aumenta.

Cada vez que os censores bloqueiam o servidor com o qual um determinado usuário trabalha, seu nível de confiança diminui. A confiança aumenta se o servidor não for bloqueado por muito tempo - a cada novo nível, o tempo necessário dobra: para passar do nível n para n + 1, você precisa de 2 n + 1 dias de operação ininterrupta do servidor proxy. O caminho para o sexto nível de confiança máximo leva mais de dois meses.



A necessidade de esperar tanto para descobrir os endereços dos servidores proxy da mais alta qualidade é uma medida extremamente eficaz para combater os censores.

O nível de confiança do servidor é o nível mínimo de confiança designado aos usuários por ele. Por exemplo, se um novo servidor no sistema for atribuído aos usuários, entre os quais uma classificação mínima de 2, o proxy receberá o mesmo. Se o servidor for usado por uma pessoa com classificação 3, mas os usuários do segundo nível permanecerão, a classificação do servidor será 2. Se todos os usuários do servidor tiverem aumentado o nível, aumentará para o proxy. Ao mesmo tempo, o servidor não pode perder o nível de confiança; pelo contrário, se estiver bloqueado, os usuários serão multados.

Usuários de alta confiança recebem dois tipos de recompensas. Em primeiro lugar, os servidores não são os mesmos. Existem requisitos mínimos de largura de banda (100 Kbps), mas o proprietário de um servidor voluntário pode oferecer mais - não há limite superior. O sistema Salmon seleciona os servidores mais produtivos para usuários com a classificação mais alta.

Além disso, os usuários com um alto nível de confiança ficam mais isolados dos ataques do censor, porque o censor precisa esperar meses para descobrir o endereço do proxy. Como resultado, a probabilidade de bloqueio de servidor para pessoas com alto risco é várias vezes menor do que para proprietários de baixa confiança.

Para conectar o máximo de usuários merecedores possível aos melhores proxies, os criadores do Salmon desenvolveram um sistema de recomendação. Usuários com classificação alta (L) podem convidar seus amigos para participar da plataforma. As pessoas convidadas recebem uma classificação L-1.

O sistema de recomendação funciona em ondas. A primeira onda de usuários convidados tem a oportunidade de convidar seus amigos somente após cerca de quatro meses. Os usuários da segunda onda e subsequente devem esperar 2 meses.

Módulos do sistema


O sistema consiste em três componentes:

  • Cliente Salmon para Windows;
  • programa daemon baseado em servidor instalado por voluntários (versões para Windows e Linux);
  • Um servidor de diretório central que armazena um banco de dados de todos os servidores proxy e distribui endereços IP entre os usuários.




Interface do aplicativo cliente do sistema

Para usar o sistema, uma pessoa deve criar uma conta usando uma conta do Facebook.

Conclusão


No momento, o método Salmon não é generalizado, apenas pequenos projetos-piloto para usuários no Irã e na China são conhecidos. Apesar de ser um projeto interessante, ele não garante totalmente o anonimato, a proteção dos voluntários e os próprios criadores admitem que ele é suscetível a ataques usando serviços de honeypot. No entanto, a implementação de um sistema com níveis de confiança parece um experimento interessante, que pode ser continuado.

Por hoje é tudo, obrigado por assistir!

Links e materiais úteis da Infatica :


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


All Articles