Curitiba/PR Contato
Administração e Suporte em Ti

Este documento, encontrei revirando em minhas pesquisas do período de faculdade. Segue na integra, como foi entregue nas aulas de Sistemas Inteligentes… 🙂

 

Objetivo:

Pesquisar uma ferramenta, um sistema, descrevendo seu histórico, funcionalidade e que seja baseado em inteligência artificial.

Ferramenta Antispam

A(s) ferramenta(s) escolhida(s) aqui, embora muitos pensem que seja apenas um aplicativo, um programa de bloqueio dos repugnantes SPAM. O mesmo se utiliza de inteligência artificial para verificar se um e-mail é realmente SPAM ou não, como irei descrever no conteúdo deste trabalho. Mas para começar temos primeiro que dizer o que é SPAM.

Historia:

Diversas são as versões sobre origem da palavra SPAM, uma data “oficial” pode ser considerada como 5 de março 1994. Canter e Siegel, dois advogados, enviaram uma mensagem sobre uma loteria de Green Cards americanos, para um forum da USENET, ocasionando espanto e revolta de muitos assinantes do grupo. No dia 12 de abril de 1994, os advogados enviaram a mesma mensagem para diversos grupos de discussão da USENET. utilizando um programa que automatizou o envio em massa da mensagem  As reações foram imediatas, com apelos de violação da Netiqueta – regras de boas maneiras para os usuários da rede. O grande número de mensagens trocadas sobre o assunto comprometeu o desempenho da rede. Durante as discussões sobre o ocorrido, surgiu a referência ao termo spam, que é um tipo de carne suína enlatada da empresa Hormel Foods Corporation, fabricado desde 1930, e assim associado ao envio de mensagens não-solicitadas sendo um grupo de humoristas ingleses Monty Phyton responsáveis por isso, onde:

Um casal discutindo com uma garçonete em um restaurante a respeito da quantidade de SPAM presente em seus pratos. Enquanto o casal pergunta por um prato que não contenha a carne enlatada, a garçonete repete constantemente a palavra “SPAM” para indicar a quantidade. A discussão faz com que um grupo de vikings presente no restaurante comece a cantar de maneira operática “SPAM, amado SPAM, glorioso SPAM, maravilhoso SPAM!”, impossibilitando qualquer conversa.

O quadro, escrito para ironizar o racionamento de comida na Inglaterra, durante e após a Segunda Guerra Mundial. SPAM foi um dos poucos alimentos excluídos desse racionamento, o que eventualmente levou as pessoas a enjoarem da marca. A Hormel Foods Corporation não se posicionou contra, e não aprova o uso do termo para designar o envio de mensagens eletrônicas não-solicitadas, mas passou a exigir a palavra SPAM em letras maiúsculas seja reservada para designar seu produto e marca registrada.

Existem versões, menos populares, a respeito  A primeira afirma que SPAM significa Sending and Posting Advertisement in Mass, ou “enviar e postar publicidade em massa”, a segunda que significa Shit Posing As Mail, ou “porcaria fingindo ser correspondência” e a terceira que significa Single Post to All Messageboards, ou “mensagem única para todos os fóruns de discussão.”

Descrição de Funcionamento:

Existem diversos servidores de e-mail trabalhando no mercado tendo como base sistemas operacionais diferentes, proprietários ou não.  O sistema aqui exposto, ou ferramenta como queiram,  funciona de forma semelhante, independente do sistema operacional escolhido. Sendo dessa forma vou relatar as experiências vivenciadas sob meu sistema operacional preferido, que são baseados em sistemas Unix-Like (Linux), de onde tenho conseguido bastante documentação sobre o proposto. Vou tentar me ater apenas a ferramenta de bloqueio de spam, e como ela se usa de inteligência artificial para isto.

As regras ANTISPAM podem ser comparadas a três linhas de defesa que um SPAM deve tentar passar antes de chegar a um usuário final de uma rede. Podemos enumerar essas 3 linhas de defesa da seguinte forma:

  1. Regras, filtros internos ou técnicas ANTISPAM que são implementadas dentro do código-fonte do servidor SMTP;.
  2. Uso de plugins (programas externos) que não são compilados dentro do servidor SMTP, mas são aplicativos separados rodando em paralelo e interconectando-se com o mesmo.
  3. Uso de programas ANTISPAM, ao nível do próprio usuário, que é o destinatário final da mensagem.

 

As Ferramentas aqui descritas trabalham na 2° e 3° linhas.

 

A 1ª linha de defesa tenta resguardar a largura de banda do canal de comunicação externo da rede e os recursos do sistema, alem do usuário final. Nesta etapa os servidores, são configurados com relay fechado por padrão, verificação do servidor de e-mail de origem, se este realmente é um servidor de e-mail valido através de DNS reverso.

 

A 2° linha de defesa tenta resguardar os recursos de sistema (disco, tempo de CPU). É nesta fase que são aplicados os serviços que trabalham em conjunto com o serviço de e-mail, caso do programas de antivírus, que também pode ser considerado um programa de IA. E as listas de controles externos de spam, os Blacklist.(Listas Negras) Aqui pode ser incorporado uma ferramenta que chamamos de Graylist e que muitos administradores ainda a consideram como de 2° linha. A mesma pode ser considerada uma ferramenta de inteligência artificial, ela funciona da seguinte maneira:

Quando o servidor de e-mail recebe uma mensagem, antes de ser processada, o Graylist ira verificar o cabeçalho da mensagem para verificar o seu remetente, ira comparar se o mesmo existe em sua estrutura de dados, caso não exista o mesmo ira criar a estrutura, inserir todas as informações pertinentes ao remetente, e tomara a decisão de bloquear o recebimento do e-mail temporariamente, antes de enviar as etapas seguintes, ainda ira avisar o servidor remetente de que a mensagem não foi recebida, fazendo com que este tenha que reenviar o e-mail. Caso o servidor de e-mail remetente não seja um servidor valido o mesmo não ira reenviar a mensagem em tempo hábil, neste caso, o Graylist não recebendo uma nova tentativo de reenvio da mensagem, a decisão será  de considerar a mensagem spam, eliminado todas as informações pertinentes a mensagem.. A mensagem que passar por esta etapa é uma mensagem valida, sendo então entregue as etapas seguintes, como o sistema de antivírus, e que normalmente demanda uma gama muito grande de processamento da CPU.

 

 

A 3° linha de defesa, procura resguardar o usuário em si do inconveniente recebimento do SPAM. É aqui, onde as ferramentas de antispam trabalham realmente. Aqui vou explanar duas das minhas favoritas, e que podem trabalhar em conjunto ou isoladamente.

  1. Bogofilter – http://bogofilter.sourceforge.net/  Criada por Eric S. Raymond em 2002, e disponível na versão 1.0 desde 2003, atualmente esta na versão 1.2.0, é mantida por David Relson, Matthias Andree, Greg Louis, e grupos voluntários do código aberto. É utilizado em servidores de e-mail e também em interfaces gráficas como o KDE e Gnome. Escrito em C e suportado em plataformas Linux, FreeBSD, Solaris, OS X, HP-UX, AIX, RISC OS, SunOS, OS/2. No combate aos SPAM utiliza-se da “tecnologia de Bayesian networks” que consiste na analise de metodos estatisticos, trabalhando com probabilidades, por exempl: As palavras particulares têm probabilidades particulares de ocorrer no e-mail do Spam e no email legítimo.  a maioria dos usuários de email encontrarão freqüentemente a palavra Viagra no email de Spam, mas verão raramente no e-mail legítimo.  Os filtros de spam, em primeira instancia, não sabe das probabilidades adiantado, o usuário terá que orientá-lo, treinando o filtro a excluir automaticamente as probabilidades em sua base de dados. É dessa maneira que o usuario de e-mail treina o filtro, marcando os e-mail que ele acha que seja SPAM e pedindo que retire da lista, os e-mails que foram marcados, mas o usuario desja recebe-los. Dessa maneira o filtro aprende, assegura  a firma de tomar uma decisao apos receber um e-mail do mesmo remetente, ou de caracteristicas semelhantes. Para caracterizar um spam  o filtro  analisa as caracterisitcas do e-mail, faz uma comparacao das caracterisiticas passadas, seja pelo usuario que deseja receber o e-mail, seja por caracterisitcas definidas anteriormente e faz uma pontuacao da mensagem, sendo a mensagem marcada como valida ou como SPAM, que neste caso pode ser encaminhada a uma lixeira ou excluida automaticamente, dependendo como o destinatario tenha solicitado anteriormente, ou pre-estabelcidas.
  2. Spamassasin – http://spamassassin.apache.org/, – Trabalha nos mesmos moldes de analise de probabilidade do Bogofilter, pode trabalhar junto com o Bogofilter tornando mais restritivo o servico. Possui a vantagem de ter uma possibilidade maior de configuracaoes atraves de ferramentas desenvolvidas em PHP, Java, Python. A desvantagen é que bem mais lento, e demanda mais recursos de processamento.

 

As ferramentas aqui descritas são normalmente utilizadas em sistemas Unix e Unix-Like, como dito anteriormente. Os serviços que se utilizam nessa plataforma são:

O sendmail – tem caído em desuso por ser monolítico e mais lento

O Postfix – Rápido, estável altamente configurável, compete com o qmail.

O Qmail – Igualmente Rápido, Altamente estável, desde que foi construído, continua na mesma versão, nunca foi encontrado um vulnerabilidade, permite trabalhar com uma velocidade maior ainda utilizando banco de dados em Oracle, MySQL e PostgresSQL. Assim como o Pstfix é modular.

 

Para a plataforma Microsoft o serviço de e-mail mais conhecido é o Exchange-Server, possui os recursos de controle de spam através de uma ferramenta Forefront Security já inclusa na ultima versão, particularmente não é tão maleável quanto uma ferramenta free, mas igualmente estável, funcional e aplicável a qualquer organização, para controle de antivírus utilizam-se de players externos como o Kapersky.

 

Conclusão:

Num ponto de vista a utilização de sistemas e ferramentas de código aberto para controle de SPAM e das ferramentas que se utilizam de inteligência artificial, pela grande maioria de provedores de internet e outras organizações. é tão somente pelo custo de licenças, porque atualmente em estudos realizados, as ferramentas existentes no mercado se mostram altamente estáveis. Todas precisam ser treinadas por seus usuários, trabalham utilizando a mesma metodologia, com poucas variações. Todas precisam de desenvolvimento de alguma interface gráfica para manuseio, pensando-se no usuário final.