Escolar Documentos
Profissional Documentos
Cultura Documentos
identificação de SPAM
Thiago S. Guzella1 , Joaquim Q. Uchôa2 , Tomaz A. Mota Santos3 , Walmir M. Caminhas1
1
Departamento de Engenharia Elétrica - Universidade Federal de Minas Gerais (UFMG)
2
Departamento de Ciência da Computação - Universidade Federal de Lavras (UFLA)
3
Departamento de Bioquı́mica e Imunologia - Universidade Federal de Minas Gerais (UFMG)
1. Introdução
Ao longo dos últimos anos, tem-se identificado um claro aumento no número de men-
sagens de SPAM em circulação. SPAM é um termo usado para se referir a mensagens
de e-mail não solicitadas, que geralmente anunciam os mais diversos produtos. Além de
perturbar o usuário, que tem que apagar dezenas, às vezes centenas dessas mensagens por
dia, tal atividade causa imensos prejuı́zos à provedores e empresas. Nas empresas, há uma
queda de produtividade dos funcionários, além de uma sobrecarga da rede instalada, uma
vez que recursos computacionais são gastos para o recebimento dessas mensagens. Para
os provedores, os prejuı́zos são tão avassaladores que praticamente todos eles já fazem
uso de algum tipo de ferramenta para bloquear essas mensagens, pois o seu gigantesco
volume de circulação compromete a disponibilidade dos seus servidores de e-mail. No
meio legal, há uma intensa discussão da possibilidade de se barrar essa atividade através
de leis, e alguns paı́ses já adotam legislação para regular essa prática.
Por isso, sistemas para classificação de mensagens de e-mail têm sido ampla-
mente utilizados. Várias técnicas e sistemas têm sido propostos na literatura, dentre
eles [Sahami et al. 1998] [Rigoutsos and Huynh 2005]. Para a avaliação de sistemas de
identificação, dois parâmetros são importantes: a taxa de falsos positivos (mensagens
legı́timas classificadas como SPAM) e a de falsos negativos (mensagens de SPAM classi-
ficadas como legı́timas).
Paralelamente, o Sistema Imune Humano tem servido de inspiração para o
desenvolvimento de Sistemas Imunológicos Artificiais (SIAs [Silva and Zuben 2002]
e [Silva and Timmis 2002]), com especial foco na área de segurança computacional
([Hofmeyr et al. 1998], [Hofmeyr and Forrest 2000]). Algumas similariedades entre
SPAM e os microorganismos combatidos pelo sistema imune podem ser facilmente iden-
tificadas:
• assim como qualquer organismo vivo, os padrões de SPAM estão mudando con-
stantemente, através da grafia alternativa de palavras (por exemplo, “FR33” ao
invés de “FREE”), de maneira semelhante a um processo de variação antigênica
descrito em [Pays et al. 2004];
• algumas mensagens carregam programas nocivos (especialmente os chamados
vı́rus de computador), criados para causar danos e/ou controlar a máquina (similar
à injeção de DNA conduzida por vı́rus);
• essas mensagens podem ser identificadas pelo seu conteúdo - mais especifica-
mente, pelo seu texto, assunto e tags HTML -, da mesma forma com que padrões
patogênicos são reconhecidos pelo sistema imune.
Uma mensagem de e-mail padrão [Crocker 1982] é composta de duas partes prin-
cipais: o cabeçalho (ou envelope) e o corpo da mensagem. No cabecalho, existem
informações sobre o remetente e destinatários da mensagem, assunto, tipo do conteúdo
presente no corpo, dentre outras. Um fragmento do envelope de uma mensagem qualquer
é mostrado na figura 1.
No corpo, está localizado o conteúdo da mensagem, seja ele um texto, uma
imagem, ou uma mensagem encaminhada. Praticamente todos os e-mails são trans-
mitidos via SMTP (Simple Mail Transfer Protocol) [Postel 1982] no formato MIME
[Freed and Moore 1997]. O protocolo básico de transmissão de e-mail suporta apenas
caracteres ASCII de 7-bit, o que limitaria a transmissão apenas à e-mails que possuam
apenas caracteres da lı́ngua inglesa. MIME define mecanismos para enviar outros tipos
de informação no e-mail, como caracteres de outras lı́nguas e conteúdo binário.
Arquivos anexados vêm, em geral, no final da mensagem, num formato especı́fico.
Esses arquivos não são considerados pela maioria dos sistemas de identificação de SPAM,
sendo analisados apenas por programas anti-vı́rus. Para a análise de uma mensagem,
usam-se, geralmente, os padrões presentes no cabeçalho e corpo da mensagem.
Sistema imune inato: formado por células imediatamente disponı́veis para a resposta a
uma limitada variedade de patógenos, que são identificados por padrões que não
ocorrem em células do corpo. É composto pelas barreiras epiteliais, macrófagos,
células NK (natural killer) e células dendrı́ticas, dentre outras;
Sistema imune adaptativo: é capaz de identificar invasores nunca antes encontrados,
e inclui os linfócitos B e T. Os primeiros são capazes de secretar anticorpos,
moléculas capazes de reagir à antı́genos; os últimos são responsáveis por regu-
lar e estimular a resposta de células B e eliminar células do nosso próprio corpo
infectadas por estes agentes. O sistema imune adaptativo possui uma memória,
sendo capaz de aperfeiçoar a resposta a um antı́geno a cada contato com ele. A
Teoria de Seleção Clonal, proposta em [Burnet 1959], é um modelo que tenta ex-
plicar o mecanismo de criação e manutenção dessa memória imunológica.
Esses dois sub-sistemas não atuam independentemente um do outro: a imunidade
inata produz proteı́nas de sinalização, chamadas citocinas, que induzem inflamação e es-
timulam células da imunidade adaptativa. Além do mais, os TLRs (Toll-like Receptors)
[Iwasaki and Medzhitov 2004], moléculas produzidas por células do sistema inato, de-
sempenham um importante papel nesse processo, ligando-se a moléculas secretadas por
patógenos invasores, levando à produção de citocinas e, conseqüentemente, ativação dos
linfócitos B e T. A imunidade adaptativa, por sua vez, pode designar algumas células da
imunidade inata para eliminar determinados patógenos.
O reconhecimento de antı́genos pelo sistema imune adaptativo é feito através da
ligação de moléculas de anticorpos ou receptores, distribuı́dos sobre a membrana de
linfócitos e outras células, a determinantes antigênicos, conhecidos como epı́topos. Já
a imunidade inata reconhece padrões moleculares localizados na superfı́cie de patógenos.
O sistema imune é extremamente complexo, e muito ainda se desconhece sobre o
seu funcionamento. Existem várias hipóteses que tentam explicar alguns de seus mecanis-
mos, dentre eles a teoria de Seleção Clonal [Burnet 1959]. Segundo ela, um antı́geno pode
induzir o organismo à produção de anticorpos especificamente reativos a ele, através da
seleção de linfócitos. Cara linfócito selecionado secreta anticorpos e se divide, iniciando
a resposta ao patógeno. Após a sua eliminação, alguns dos clones gerados se tornam
células de memória, capazes de sobreviver durante um longo perı́odo de tempo, criando
a estrutura para uma resposta mais ávida num encontro subseqüente com um antı́geno
idêntico ou semelhante.
A teoria está amplamente ligada à uma das idéias centrais da Imunologia: a
discriminação self-nonself (próprio-não-próprio), que pode ser definida como a capaci-
dade do sistema imune de distinguir entre células do corpo (self ) e invasores (non-self ).
A idéia de seleção explicaria a capacidade do sistema em se adaptar continuamente ao
ambiente. Essa teoria, que é questionada por alguns pesquisadores [Vaz and Faria 1993],
se baseia na existência de alguns mecanismos do sistema imune, dentre eles:
• a maturação de afinidade, em que os clones gerados por um linfócito em divisão
são submetidos a um processo de hipermutação somática de seus receptores, au-
mentando a afinidade ao antı́geno encontrado;
• a seleção negativa, submetendo linfócitos recém-criados a um processo que elim-
ina células reativas a antı́genos próprios do corpo.
Desse modo, os linfócitos que sobrevivem para formar a população de linfócitos
constituem uma fração daqueles produzidos, mas expressam um grande número de recep-
tores, suficiente para reconhecer uma quantidade virtualmente ilimitada de patógenos.
4. Trabalhos Correlatos
Os Sistemas Imunes Artificias têm sido usados nas mais variadas
aplicações, com destaque para segurança computacional [Hofmeyr et al. 1998],
[Hofmeyr and Forrest 2000], detecção de falhas [Branco et al. 2003] e controle
[Karr et al. 2005]. Para a classificação de mensagens de e-mail, o primeiro modelo
de SIA conhecido foi proposto em [Oda and White 2003a], e estendido mais tarde em
[Oda and White 2003b]. A proposta desse trabalho difere desse primeiro modelo pela
inclusão de componentes adicionais do sistema imune humano (macrófagos e células T),
além do uso de diferentes abordagens durante a análise e treinamento.
Um dos sistemas de classificação de mensagens de e-mail mais populares atual-
mente é o classificador Bayesiano. Por isso, ele foi escolhido e implementado, para per-
mitir uma comparação com o modelo desenvolvido nesse trabalho. Esse classificador foi
inicialmente proposto em [Sahami et al. 1998], mas só foi popularizado após melhorias e
otimizações sugeridas em [Graham 2002]. O modelo se baseia na determinação de uma
“probabilidade” para cada palavra que ocorre em mensagens legı́timas e de SPAM usados
no treinamento. Esse valor constitui a probabilidade que determinada palavra tem de ser
indicativo de uma mensagem de SPAM, e é calculado, de maneira simples, da seguinte
forma:
nspam
p= (1)
nspam + nlegitimas
Qn
i=1 pi
pmensagem = Qn Qn (2)
i=1 pi + i=1 (1 − pi )
em que pi é a probabilidade da i-ésima palavra da mensagem.
Devido à simplicidade (baixo esforço computacional), excelente desempenho
na classificação e capacidade de adaptação (durante o treinamento), o classificador
Bayesiano tem sido largamente utilizado, tanto em aplicativos clientes (que rodam na
máquina do usuário final) quando em servidores. Entretanto, é importante verificar os
seus principais pontos fracos:
Vulnerabilidade a grafia alternativa de palavras: uma técnica cada vez mais utilizada
em mensagens de SPAM se baseia em escrever determinadas palavras, que são in-
dicativas de SPAM, de uma forma diferente, mas que possua um impacto pequeno
na interpretação da palavra pelo destinatário. Alguns exemplos são “FR33” x
“FREE”, “0ff3r” x “Offer”, e “D3bt” x “Debt”. Usando-se essa técnica, pode-
se impedir o classificador de usar essas palavras para a determinação da probabili-
dade da mensagem, já que o sistema não reconhecerá esses padrões. Entretanto, a
partir do momento em que o usuário marque uma mensagem contendo essas for-
mas como SPAM, o sistema “aprenderá” esses novos padrões. O problema em si
é a necessidade de aprender esses novos padrões e a incapacidade de reconhecer
que eles estão relacionados aos padrões originais;
Dificuldade na correção de erros: quando o sistema classifica erroneamente uma men-
sagem, é difı́cil fazer a sua correção. Em geral, costuma-se atualizar o número de
ocorrências das palavras mais significativas na mensagem, de modo a alterar a
probabilidade dessas palavras. Entretanto, técnicas para a determinação de quais
palavras e como, precisamente, fazer essa alteração ainda não foram plenamente
estabelecidas.
5. Modelo Proposto
O algoritmo de seleção clonal CLONALG, proposto em [Silva and Zuben 2000], constitui
um algoritmo inspirado no comportamento do sistema imune durante a apresentação de
um antı́geno:
1. Um antı́geno Ag é apresentado a todos os anticorpos da população Ab;
2. Os n anticorpos da população com maiores afinidades ao antı́geno são sele-
cionados, gerando um subconjunto Abn ;
3. Os indivı́duos do subconjunto Abn se proliferam proporcionalmente às afinidades
ao antı́geno, gerando uma população de clones C;
4. Cada clone da população é submetido a hipermutação de seus receptores, inver-
samente proporcional à sua afinidade pelo antı́geno Ag, gerando uma população
Cm ;
5. Selecione o clone da população Cm com maior afinidade para ser inserido no
conjunto de memória Abm ; se o clone possuir uma afinidade maior do que a
afinidade de algum anticorpo de Abm , então esse será substituı́do pelo clone;
6. Selecione os N clones restantes da população Cm com maiores afinidades ao
antı́geno e substitua o mesmo número de anticorpos na população Ab com
menores afinidades à Ag.
O modelo proposto neste trabalho, batizado de IA-AIS (Innate and Adaptive Arti-
ficial Immune System), pode ser considerado como uma extensão deste algoritmo, espe-
cialmente pela inclusão de macrófagos (representando a imunidade inata) e células T no
sistema. Esse novo modelo é ilustrado na figura 2, e pode ser descrito da seguinte forma:
6. Metodologia
Para o funcionamento do sistema, os dados contidos em uma mensagem de e-mail são
usados para a geração de um microorganismo a ser apresentado ao sistema. São utilizados
o endereço de e-mail do remetente, o texto da mensagem e as tags HTML, para o caso de
uma mensagem em HTML, de acordo com a figura 3.
É importante ressaltar que outras informações presentes no cabeçalho da men-
sagem sendo analisada, tais como, dados de roteamento, servidor de origem, servi-
dores que fizeram o “relay” da mensagem, e outros [Crocker 1982], não são levadas em
Figura 3. Passos para a criação de um microorganismo a partir de uma men-
sagem
7. Resultados obtidos
O modelo proposto foi implementado computacionalmente na linguagem C++
[Stroustrup 1999], numa plataforma AMD64TM de 2.2 GHz, usando código compilado
em 64 bits em ambiente LinuxTM . Para análise do sistema, foi usado um conjunto de
SPAMs disponı́veis em [Dornbos 2002], e mensagens legı́timas de um dos autores. As
principais variáveis do sistema usadas, definidas empiricamente, estão apresentadas na
tabela 1.
Tabela 1. Variáveis usadas
Parâmetro Cél. B Cél. T Macróf.
Tempo de vida (em 150 400 1200
Iterações)
Bônus de tempo de 70 100 800
vida (em Iterações)
Número de células 8 5 3
adicionadas a cada
iteração
Número máximo de 10 - -
células a serem clon-
adas
Número máximo de 1 - -
clones por célula
Fator de 0.4 - -
hipermutação
8. Considerações finais
Neste artigo, foi apresentado um modelo de Sistema Imunológico Artificial para a
classificação de SPAM.
Pode-se observar que o modelo aqui proposto classificou corretamente 72 SPAMs
a mais (equivalendo a 4,6%), e 18 mensagens legı́timas a menos (ou seja, 1.3%) que o
modelo Bayesiano, na configuração proposta.
Os resultados permitem concluir que esta é uma promissora ferramenta para a
identificação de SPAM, apesar do maior tempo de análise. Verifica-se, também, uma
menor taxa de acerto na classificação de mensagens legı́timas, em comparação com o
modelo Bayesiano. Esse é um ponto crı́tico para a maioria dos usuários, já que o bloqueio
de uma mensagem legı́tima é, em geral, problemático. Assim, este constitui um ponto
do modelo a ser aperfeiçoado. Já o maior tempo de análise se deve à necessidade de
apresentar cada padrão da mensagem a ser analisada a todas as células do sistema, o que
possui um custo computacional elevado; no modelo Bayesiano, basta apenas pesquisar o
padrão desejado na base de dados, uma operação otimizada através do uso de algoritmos
de pesquisa adequados.
Ainda em relação à questão do tempo de processamento, é importante lembrar
que, para análise posterior e verificação, o microorganismo gerado (ou seja, a men-
sagem sendo analisada) foi apresentado a todas as células B antes de se determinar a
sua classificação. Uma primeira otimização seria parar a análise assim que uma célula B
fosse ativada por uma célula T, o que levaria a uma diminuição no tempo de análise de
SPAMs.
Como trabalhos futuros, serão investigados melhoramentos no tempo de análise
da implementação, de modo a viabilizar a sua aplicação em clientes de e-mail, e uma
melhoria da regulação pelas células T, visando atingir uma menor taxa de falsos positivos.
9. Agradecimentos
O presente trabalho foi realizado com o apoio do UOL (www.uol.com.br), através do
Programa UOL Bolsa Pesquisa, processo número 200503301636a. Os pesquisadores
gostariam de agradecer, também, ao apoio financeiro da Fundação de Amparo à Pesquisa
do Estado de Minas Gerais (FAPEMIG), da Coordenação de Aperfeiçoamento de Pessoal
de Nı́vel Superior (CAPES) e do Conselho Nacional de Desenvolvimento Cientı́fico e
Tecnológico (CNPq).
Referências
Branco, P. C., Dente, J., and Mendes, R. V. (2003). Using immunology principles for
fault detection. IEEE Transactions on Industrial Electronics, 50(2):362–373.
Burnet, F. (1959). The clonal selection theory of acquired immunity. Cambridge Press.
Crocker, D. (1982). RFC 822: Standard for the format of ARPA Internet text messages.
Dornbos, J. (2002). Spam: What can you do about it?
Freed, N. and Moore, K. (1997). RFC 2231: MIME parameter value and encoded word
extensions: Character sets, languages, and continuations.
Graham, P. (2002). A plan for spam.
Hofmeyr, S. A. and Forrest, S. (2000). Architecture for an artificial immune system.
Evolutionary Computation, 8(4):443–473.
Hofmeyr, S. A., Forrest, S., and Somayaji, A. (1998). Intrusion detection using sequences
of system calls. Journal of Computer Security, 6(3):151–180.
Iwasaki, A. and Medzhitov, R. (2004). Toll-like receptor control of the adaptive immune
responses. Nature Immunology, 5:987–995.
Janeway, C. A., Travers, P., Walport, M., and Shlonmchik, M. (2002). Imunobiologia - O
Sistema Imune na saúde e na doença. Artmed, Porto Alegre, 5 edition.
Karr, C., Nishita, K., and Graham, K. (2005). Adaptive aircraft flight control simulation
based on an artificial immune system. Applied Intelligence, 23:295–308.
Oda, T. and White, T. (2003a). Developing an immunity to spam. In Genetic and Evolu-
tionary Computation Conference, volume 2723, pages 231–242, Chicago. Springer.
Oda, T. and White, T. (2003b). Increasing the accuracy of a spam-detecting artificial im-
mune system. In Proceedings of the Congress on Evolutionary Computation, volume 1,
pages 390–396, Canberra, Australia.
Pays, E., Vanhamme, L., and Peréz-Morga, D. (2004). Antigenic variation in trypanosoma
brucei: facts, challenges and mysteries. Current Opinion in Microbiology, 4(7):369–
374.
Postel, J. (1982). RFC 821: Simple mail transfer protocol.
Rigoutsos, I. and Huynh, T. (2005). Chung-kwei: a pattern-discovery-based system for
the automatic identification of unsolicited e-mail messages (SPAM). Conference on
Email and Anti-Spam.
Sahami, M., Dumais, S., Heckerman, D., and Horvitz, E. (1998). A bayesian approach
to filtering junk E-mail. In Learning for Text Categorization, Madison, WI. AAAI TR
WS-98-05.
Silva, L. N. C. and Timmis, J. (2002). Artificial immune systems: A novel paradigm to
pattern recognition. In Corchado, J. M., Alonso, L., and Fyfe, C., editors, Artificial
Neural Networks in Pattern Recognition, pages 67–84. University of Paisley, Paisley
(UK).
Silva, L. N. C. and Zuben, F. J. V. (2000). The clonal selection algorithm with engineering
applications. In GECCO’00 Workshop Preceedings, pages 36–37, Las Vegas.
Silva, L. N. C. and Zuben, F. J. V. (2002). Learning and optimization using the clonal
selection principle. IEEE Transactions on Evolutionary Computation, Special Issue
on Artificial Immune Systems, 6:239–251.
Stroustrup, B. (1999). The C++ Programming Language. Addison-Wesley, Reading, 3
edition.
Vaz, N. M. and Faria, A. M. (1993). Guia Incompleto de Imunologia. Coopmed, Belo
Horizonte.