Combate à poluição

O envenenamento e a conseqüente poluição de redes P2P possuem muitas formas de ataque, já explicadas anteriormente. Porém, para toda ação há uma reação e muitas formas de combater a poluição em redes P2P também foram elaboradas. Algumas não muito efetivas, outras melhores, porém nenhuma com garantia de funcionamento (assim como nenhuma técnica de envenenamento tem garantia de funcionamento).

Normalmente, as técnicas antipoluição em redes P2P são classificadas em três categorias: detecção sem download, detecção com download, detecção através de moderação. A primeira categoria consiste de técnicas aplicadas após uma busca na rede mostrar seus resultados. A segunda consiste de técnicas, de certa forma, mais danosas para a rede, porém muitas vezes mais efetiva. A terceira consiste de técnicas usadas em redes aonde existe uma moderação responsável.

Considerando a categoria da detecção com download, existem duas técnicas conhecidas para diminuir a poluição em uma rede P2P: “Matching” (aqui traduzida para verificação) e Filtro.

Verificação

A técnica de Verificação é interessante, embora de mais difícil implementação. A idéia dessa técnica é manter um banco de dados (seja ele num servidor centralizado ou descentralizado) que contenha características que verifiquem que determinados arquivos são não-poluídos. Essas características podem ser o hash de um arquivo ou a representação de freqüência (no caso de músicas, sons e vídeos). Por exemplo, considerando um sistema com banco de dados com hashes dos arquivos. O usuário baixa um arquivo, e o sistema confere o hash do arquivo (durante ou após o download), caso o hash não seja verificado com sucesso o arquivo é dado como poluído.

Existem sistemas de Verificação, como o Sig2Dat que pode ser usado com o KaZaA. Esse sistema possui um banco de dados com hashes dos arquivos da rede e fazem a verificação. Outro exemplo é o Audible Magic, que se baseia na freqüência dos sons.

Apesar disso, esse método antipoluição possui desvantagens: o banco de dados requer constante manutenção (o que gera custo) e deve-se ter certeza que os hashes do banco de dados são de arquivos não-poluídos. Além disso, um banco de dados desse tipo pode ser alvo de processos judiciais.


Filtro

A técnica de filtro depende unicamente dos usuários. Ela consiste do usuário conferir os arquivos que baixa imediatamente após o download. Muitos usuários levam em média 12 horas para conferir os arquivos que baixam devido ao fato de muitos deixarem os downloads ocorrendo enquanto fazem outras coisas e nesse tempo, os arquivos permanecem em suas pastas compartilhadas, permitindo que outros usuários também o adquiram, gerando a poluição na rede.

Essa técnica depende muito da vontade dos usuários em determinados momentos e da disponibilidade dele para verificar o arquivo logo após o download. Ela seria bastante útil se houvesse algum tipo de incentivo para o usuário filtrar os arquivos, já que o fato de, com a filtragem, ele estar melhorando a rede que ele utiliza não é incentivo suficiente.




---------------------------------------------------------------------------------------------------------------------------------------------------------

Considerando-se agora a categoria de detecção sem download do arquivo poluído.

Confiança total

Essa técnica é simples e consiste de um usuário baixar arquivos apenas de usuários em sua lista, chamada de “lista de amigos”. Esses “amigos” atuam como filtros (mencionados anteriormente) e disponibilizam apenas arquivos não-poluídos. Caso um usuário baixe algo poluído de algum “amigo”, ele desiste de baixar arquivos daquela pessoa.

Vale lembrar que o conceito de “amigo” aqui é diferente do conceito conhecido (de amizade) e consiste apenas de uma pessoa (conhecida ou não) que você tem na sua lista na rede P2P. Portanto, o usuário que opta por baixar arquivos apenas de seus “amigos”, deve manter sua lista atualizada e excluir qualquer “amigo” que possua certa quantidade de arquivos poluídos.

Rede de confiança

Semelhante ao conceito explicado anteriormente, porém aplicado a idéia de rede. O usuário A é “amigo” dos usuários B e G. O usuário B é “amigo” dos usuários C,D,E,F. Deve-se considerar que A confia totalmente em B e G e B confia totalmente em C,D,E e F. Então, B passa sua lista de “amigos” (C,D,E,F) para A e A passa sua lista (G) para B. Com isso, A passa a baixar arquivos de B,C,D,E,F,G enquanto B passa a baixar arquivos de A,C,D,E,F,G. Caso seja baixado algum arquivo poluído na rede, o usuário comunica o seu “amigo” que lhe forneceu a lista.

Confiança Total e Rede de Confiança são dois métodos eficientes, porém limitam muito a rede, embora seja uma opção do usuário.

Sistemas de Reputação

Provavelmente o método mais eficiente de combate a poluição em redes P2P. Esse método consiste em avaliar os usuários ou os arquivos de determinada rede. Se um usuário possui apenas arquivos não-poluídos, esse usuário terá uma avaliação alta dos outros usuários. Caso um usuário possua arquivos poluídos, sua avaliação será baixa, diminuindo cada vez mais o número de usuários que decidem baixar arquivos dele.

No caso dos arquivos ocorre o mesmo tipo de avaliação: os usuários vão marcando os arquivos que estiverem poluídos, diminuindo o número de pessoas que optam por baixar aquele arquivo.

Outra forma alternativa é reputar os arquivos através do tempo em que ele está na rede, embora alguns arquivos poluídos em redes muito descentralizadas possam permanecer muito tempo na rede sem serem removidos, mesmo mediante um sistema de reputação.

Esse tipo de sistema é muito eficiente contra a inserção em massa de versões falsas, porém se um poluidor substituir freqüentemente os arquivos falsos, o sistema de reputação acaba se tornando ineficaz. Ainda assim, esse é o melhor tipo de combate a poluição, pois a ação conjunta de muitos usuários é capaz de classificar os arquivos de forma muito eficiente.

Um exemplo de sistema de reputação famoso é o Credence, que é um sistema de reputação desenvolvido para o software LimeWire (que utiliza a rede Gnutella). Com a motivação de que a grande quantidade de arquivos poluídos no LimeWire deveria ser controlada, foi desenvolvido o sistema Credence, um sistema de reputação capaz de avaliar os arquivos em redes P2P.

A avaliação de arquivos com o Credence acontece apenas depois que os usuários baixarem e utilizarem determinado arquivo, evitando avaliações precipitadas. O voto é, então, criptograficamente assinado e colocado no sistema. O Credence ainda possui um interessante esquema de avaliar votos. Este esquema consiste em ponderar os usuários, colocando um determinado peso para cada um. Quanto mais votos corretos um usuário possuir, maior será seu peso. Isso influi no balanceamento dos votos na rede, já que muitos usuários podem votar incorretamente ou votar errado repetida e propositalmente.

Sistemas Moderados

Em sistemas moderados as formas de combate à poluição dependem do moderador. Nesses sistemas normalmente a poluição é combatida de forma mais eficiente, já que existe uma pessoa responsável pela rede e que tem autorização de banir usuários que estejam poluindo e excluir arquivos poluídos. Em uma rede moderada, o controle da poluição depende apenas dos seguintes fatores: disponibilidade do moderador, capacidade de ação (realmente buscar e excluir arquivos poluídos e usuários poluidores) e capacidade de detecção (perceber quais arquivos estão realmente poluídos).