Avaliação de Classificadores Anti-spam Aplicada no Campo de Cabeçalho de E-mail \"From

July 16, 2017 | Autor: Júlio Nievola | Categoria: Success Rate, False Positive
Share Embed


Descrição do Produto

Avaliação de Classificadores Anti-spam Aplicada no Campo de Cabeçalho de E-mail “From:” Wallace A.B.S. de Macedo, Júlio Cesar Nievola Centro de Ciências Exatas e de Tecnologia – Pontifícia Universidade Católica do Paraná (PUC-PR) 80.215-9.1 – Curitiba – PR – Brazil [email protected], [email protected]

Abstract. With the appearance of the Internet, the e-mail became one of the fastest ways of communication. However this benefit has been threatened by Unsolicited Commercial E-mail know as Spam, undesirable messages that fill the post office boxes, make the user lose time and generate traffic in the Internet. The problem became more serious when in March of 2003 the spam number was higher than the number of legitimate messages in the Internet. Taking advantage of the scientific community's effort to solve the problem of the spam, an experiment is described showing the efficiency of some classifier algorithms when specifically applied in the field of e-mail header “From:”. In this experiment, besides the success rate, it was also considered the rates of “False-positive” that are legitimate messages classified by the algorithms as spam. Resumo. Com o surgimento da Internet, o e-mail se tornou um dos meios mais rápidos de comunicação. Entretanto, este benefício foi ameaçado pelo de Email Comercial Não solicitado conhecido como Spam, ou seja, mensagens indesejáveis que enchem as caixas postais, fazem o usuário perder tempo e geram tráfego na Internet. O problema tornou-se mais grave quando em março de 2003 o número de spams foi maior do que o número de mensagens legítimas na Internet. Aproveitando o esforço da comunidade científica para resolver o problema do spam, é descrita uma experiência mostrando a eficiência de alguns algoritmos classificadores quando aplicados especificamente no campo de cabeçalho de e-mail "From". Neste experimento, além das taxas de acerto, foram também consideradas as taxas de "Falso-positivo" que são mensagens legítimas classificadas pelos algoritmos como spam.

1. Introdução Durante alguns meses observou-se o comportamento de três sistemas anti-spam comerciais diferentes, instalados em uma provedora de e-mail gratuito, em uma empresa de grande porte e em outra de pequeno porte. Durante a observação foi verificado que os sistemas anti-spam não estavam detectando mensagens onde o campo do remetente continha textos com forma sem sentido.

Isto é, além de um endereço desconhecido, a maioria não permitia uma possível interpretação, conforme os exemplos a seguir: [email protected] [email protected] [email protected] Estes endereços são constituídos de um conjunto de caracteres com o único propósito de despistar os sistemas de detecção de spam. Por se tratar de campo obrigatório na composição de mensagens eletrônicas, por haver poucos trabalhos voltados para campos de cabeçalho e não haver nenhuma pesquisa encontrada focada somente neste campo, resolveu-se aplicar técnicas de aprendizagem de máquina para avaliação deste. Muitas das ferramentas de filtragem de spam utilizam técnicas de aprendizagem de máquina somente no corpo da mensagem, deixando para as informações de cabeçalho técnicas puramente baseada em regras. Técnicas baseadas em regras são geralmente alimentadas por Listas Negras ou Listas Brancas, verificação de MX Records, DNS e outros, que possuem seu papel no processo da detecção, mas tem uma eficiência bastante limitada [ Sakkis et all, 2001].

2. Metodologia A descoberta do conhecimento por si só é uma tarefa bastante exaustiva. Assim seguimos um modelo de trabalho para facilitar e atingir o resultado com maior precisão, através do processo simplificado de KDD (Knowledge Discovery from Databases).

Conhecimento Padrões e Modelos Seleção e Pré-Processamento

Dados Preparados

Dados Consolidados Dados Originais

Figura 1. O Processo de KDD

A obtenção dos dados originais consiste em criar um conjunto de informações onde será aplicada a descoberta do conhecimento. De 70% a 80% do esforço foi gasto na consolidação e preparação dos dados. Estas fases são extremamente importantes na qualidade dos resultados. É justamente neste ponto

que se dá ênfase à limpeza e pré-processamento dos dados, desde a remoção de ruídos até a determinação de uma lista preliminar de atributos. Posteriormente, cabe decidir quais tarefas (p. ex. classificação, agrupamento ou regressão) podem ser apropriados e também selecionar quais os métodos e parâmetros podem ser utilizados, para a escolha do algoritmo de mineração de dados. Na última etapa tem-se a interpretação e avaliação do descobrimento obtido, adequando-o de forma que possa ser compreendido por usuários, tomando alguma ação ou simplesmente sendo disponibilizado para quem tiver interesse [Fayyad et all, 1996].

3. Descrição dos Experimentos 3.1 Obtenção dos Dados Durante dois meses alguns funcionários de uma empresa multinacional foram selecionados para colaborar com a pesquisa. Para cada um destes funcionários foram criadas duas pastas compartilhas, Base Spam e Base Válido. Na primeira pasta foram ser armazenadas todas as mensagens que estes usuários consideraram spam, e na segunda pasta todas as mensagens que foram consideradas mensagens legítimas e que obviamente não comprometessem a privacidade de cada usuário. O objetivo desta fase foi fazer uma triagem do total das informações coletadas. 3.2 Consolidação dos Dados Primeiramente foi necessário extrair os endereços de campos de cabeçalho “From:” contidos nas bases de dados. Seguindo os padrões estabelecidos na RFC 822 [Request for Comments:822, 1982] foram extraídos somente os endereços inclusos entre os caracteres ““. Nesta etapa foi verificada a possibilidade de mensagens consideradas spam estarem contidas na base de dados de mensagens válidas e vice-versa. Entretanto, não houve incidência de mensagens iguais entre as bases. Esta fase também serviu para criar duas bases de dados, com o propósito de avaliar dois conjuntos diferentes de atributos. Na primeira base de dados foram selecionados os endereços de e-mail contendo somente o parâmetro NOME, conforme exemplo a seguir: Ex: Endereço de e-mail: [email protected] Parâmetro extraído: nome Na segunda base de dados foram selecionados os endereços de e-mail contendo os parâmetros NOME e DOMÍNIO, conforme exemplo a seguir: Ex: Endereço de e-mail: [email protected] Parâmetros extraídos: nome, dominio

Ao final deste procedimento, ambos os conjuntos de dados resultaram em um montante de 5963 instâncias, sendo 2316 mensagens de spam e 3377 mensagens legítimas. 3.3 Determinação da Lista Preliminar de Atributos e Remoção de Outliers Nesta fase determinou-se a lista de caracteres alfa-numéricos relevantes que poderiam estar inclusos em cada endereço do campo de cabeçalho “From:”. Os caracteres selecionados foram: {0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , a , b , c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s, t , u , v , w , x , y , z , + , - , . , _} Esta etapa também consistiu na remoção de exceções óbvias contidas em ambos conjunto de dados, como é o caso da eliminação do caractere “@”, que é comum em todos os endereços de e-mail. 3.4 Pré-processamento Como o objetivo principal é analisar algoritmos classificadores sobre a freqüência de caracteres no campo “From:”, não houve a necessidade de remover atributos redundantes, pois estes são distintos, mas sim combinar atributos. Uma das combinações consistiu em eliminar a distinção entre caracteres maiúsculos e minúsculos. A partir daí, aplicou-se nas bases de dados um algoritmo para calcular a incidência de cada caractere em um endereço de e-mail. Basicamente utilizou-se a fórmula a seguir: n

f

(C i ) =



C

i =1

i

E

na qual, f

= freqüência do caractere sendo analisado;

C i = c aractere analisado; E

= Total de caracteres distintos no endereço de e-mail.

O próximo passo foi atribuir um valor para mensagens caracterizadas como spam e também para as mensagens caracterizadas como legítimas. Assim, estavam criados dois conjuntos de dados, com seus atributos e valores especificados. 3.5 Classificação A escolha do algoritmo de classificação foi outro fator importante no prosseguimento da experiência. Foram escolhidos três algoritmos que vem sendo usado com maior freqüência nas pesquisas anti-spam e são citadas freqüentemente em seminários e congressos [Spam Conference 2003]. Os algoritmos selecionados foram:

a)Naïve Bayes: As mais recentes pesquisas anti-spam utilizam soluções através de um classificador bayesiano [Billsus and Pazzani, 1999]. O teorema de Bayes mostra como calcular a probabilidade de um evento, considerando que já se sabe que outro evento aconteceu. A diferença entre Bayes para o Naïve Bayes é que este último considera os atributos independentes. b)AdaBoost: Este algoritmo utiliza o método de boosting, onde cada instância de treinamento tem um certo peso associado. Ao induzir o primeiro classificador, todas as instâncias são equiprováveis, isto é, tem o mesmo peso. Após ter induzido o primeiro classificador, os pesos das instâncias de treinamento classificadas incorretamente são alterados baseado nos classificadores que foram construídos anteriormente [Witten and Frank 1999]. c)C4.5: Algoritmo que gera árvore de decisão. Este algoritmo constrói um modelo de árvore de decisão baseado num conjunto de dados de treinamento, sendo que esse modelo é utilizado para classificar as instâncias do conjunto de teste [Quinlan 1993]. Como ferramenta para utilização destes algoritmos foi utilizado o ambiente Weka (“Waikato Environment for Knowledge Analysis”), versão 3.4, que possui uma série de implementações de algoritmos para técnicas de Mineração de Dados. O ambiente Weka está implementado na linguagem Java, que tem como principal característica ser portável, e de fácil instalação. Ele é um software de domínio público desenvolvido na Universidade de Waikato. No ambiente Weka , o algoritmo C4.5 na versão 8 foi implementado com o nome de J48 e o algoritmo AdaBoost foi implementado com o nome de AdaBoostM1. Para utilizar os dados obtidos no pacote Weka, é necessário antes converter as bases de dados em um formato de arquivo próprio da aplicação, denominado de ARFF (“Attribute Relation File Format”) [Weka Machine Learning Project].

4. Resultado e Discussões Um dos grandes problemas e também o maior desafio na classificação automática de spam é a redução do número de falso-positivos, os quais são mensagens legítimas caracterizadas como spam por alguma técnica de filtragem e portanto não entregues ao destinatário. Hoje, os classificadores vem sendo avaliados pela sua da eficiência em detectar o maior número de spam, juntamente com a menor taxa de falso-positivos. Com base nestes fatos, considerou-se também como referência estas premissas para avaliação dos classificadores aplicados nesta experiência. Por se tratar de uma base de dados relativamente pequena, foi utilizada validação cruzada (fator 10) para todos os algoritmos. Na tabela 1 têm-se os resultados relativos à base de dados contendo NOME e DOMINIO do endereço de e-mail: Tabela 1. Resultado dos Algoritmos Aplicados ao NOME e DOMÍNIO Instâncias Corretamente Classificadas Instâncias Incorretamente Classificadas

Naïve Bayes 87.08% 12.91%

AdaBoost 82.52% 17.47%

C4.5 95.08% 4.91%

Falso-Positivos Falso-Negativos

5.59% 23.57%

1.06% 41.40%

2.69% 7.94%

Erro Médio Absoluto Erro Médio Relativo

0.1287 26.66%

0.3015 62.45%

0.0572 11.85%

Neste caso, o algoritmo AdaBoost apresentou a menor taxa de falso-positivos, o que seria o mais próximo do ideal, mas apresentou também uma taxa muito alta de falso-negativos o qual o desqualificaria na prática. Assim, no primeiro cenário o algoritmo que teve a melhor relação falso-positivos para falso-negativos foi o C4.5, mostrando baixas taxas em ambos, além de apresentar o melhor desempenho em instâncias corretamente classificadas. Na tabela 2 têm-se os resultados relativos à base de dados contendo somente o NOME do endereço de e-mail: Tabela 2. Resultado dos Algoritmos Aplicados somente no NOME Naïve Bayes 89.74% 10.25%

AdaBoost 82.85% 17.14%

C4.5 96.11% 3.88%

Falso-Positivos Falso-Negativos

2.45% 21.63%

4.53% 35.53%

2.39% 6.04%

Erro Médio Absoluto Erro Médio Relativo

0.1024 21.20%

0.2498 51.76%

0.0507 10.51%

Instâncias Corretamente Classificadas Instâncias Incorretamente Classificadas

Neste cenário é possível ver uma melhora significativa dos algoritmos Naïve Bayes e C4.5 em instâncias corretamente classificadas, bem como a redução da taxa de falsopositivos. Entretanto o mesmo desempenho não aconteceu no algoritmo AdaBoost, onde pelo contrário, apesar de uma pequena melhora em acertos, a taxa de falso-positivos ficou muito acima do cenário anterior e também quando comparado com os demais algoritmos. O algoritmo C4.5 apresentou ainda a melhor relação falso-positivos para falso-negativos.

5. Conclusão Este artigo procurou examinar alguns algoritmos classificadores aplicados em endereços email, tendo como premissa a freqüência de caracteres permitidos no campo de cabeçalho “From:”. Considerando que o usuário prefere receber cem mensagens de spam do que perder uma legítima, concluiu-se então que houve pouca diferença de resultados entre os dois cenários. Neste caso, a freqüência dos caracteres foi suficiente para a classificação do SPAM para dois algoritmos: Naïve Bayes e C4.5. O algoritmo C4.5, como algoritmo de árvore de decisão apontou a melhor relação entre falso-positivos e falso-negativos em ambos os cenários. Entretanto na prática, sua aplicabilidade em sistemas on-line ainda é limitada devido ao tempo que exige para o processamento.

Já a eficiência do algoritmo Adaboost para a detecção do spam foi muito ruim, quando aplicado em toda extensão do endereço de e-mail, mesmo apresentando um resultado excelente para falso-positivos. A maior surpresa ficou para o classificador utilizando Naïve Bayes, que apresentou um número de acertos também relativamente baixo. Apesar ainda do nível tolerável para falso-positivos, a taxa de falso-negativos foi relativamente alto. O que vimos aqui foi um fator já conhecido para representação deste tipo de classificador, que é a carência de regras. Para o futuro, espera-se avaliar os mesmos classificadores, aplicados no campo de cabeçalho From:, nos moldes de como são utilizados atualmente no corpo da mensagem de e-mail, ou seja, alimentando o algoritmo com outros atributos pré-definidos que caracterizam uma mensagem como spam ou não.

Agradecimentos Agradecimentos a Furukawa Industrial S.A. Produtos elétricos pelo fornecimento da base de dados de mensagens, bem como aos seus funcionários que colaboraram na coleta destas informações, tornando viável esta pesquisa. A base de dados utilizada neste artigo, em formato ARFF está disponível no endereço: http://www.ppgia.pucbr.pr/~wallace/data.

Referências Bibliográficas Sakkis, G., Androutsopoulos, I., Paliouras, G., Karkatletsis, V., Spyropoulos, C. D., & Stamatopoulos, P. (2001) “Stacking classifiers for anti-spam filtering of -mail”. 6th Conference on Empirical Methods in Natural Language Processing, Pittsburg, USA. MessageLabs, Inc, (2003) – http://www.messagelabs.com., consultado em 14/03/2003. Request for Comments: 822, (1982) “Standard for the format of ARPA Internet Text Messages”, Networking Group. Spam Conference 2003 (2003) MIT, USA, http://spamconference.org/index2003.html , consultado em 10/02/2004. Billsus, D.; Pazzani, M.J. (1999) “A Hybrid User Model for News Story Classification”. International Conference On User Modeling, Banff, Canada. Witten, I.H. & Frank, E. (1999) “Data Mining: Practical Machine Learning Tools and Techniques, Morgan Kaufmann Publishers. Quinlan, R. (1993) “C4.5: Programs for Machine Learning”, Morgan Kaufmann Publishers, San Mateo, USA. Weka Machine Learning Project, The University of Waikato, New Zealand. http://www.cs.waikato.ac.nz/~ml/index.html , consultado em 17/12/2003. Fayyad, U., Shapiro G. & Smyth P. (1996) “From Data Mining to Knowledge Discovery in Databases”, AI Magazine.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.