A prevenção e a redução de incidentes de segurança computacional dependem da rápida propagação de alertas, tais como notificação de vulnerabilidades, atualizações de aplicativos e ameaças de ataques. O atraso na propagação de informações sobre novas ameaças é um problema sério na área de segurança da informação. De nada adianta, por exemplo, ter um firewall robusto se as regras dele não protegerem contra ataques descobertos recentemente, principalmente em se tratando de firewalls de grandes organizações que sejam alvos constantes de ataques.
Contudo, as redes sociais são famosas pela rápida propagação de informações. Inclusive, estudos mostram que alertas de segurança veiculados nas redes sociais conseguem antecipar parte das mídias especializadas na notificação de alertas1. Dessa forma, a detecção de alertas de segurança propagados em redes sociais é um fator que ajuda em uma notificação mais rápida sobre problemas envolvendo segurança computacional. Logo, a solução da falha de segurança pode ser corrigida mais rapidamente também.
Neste trabalho de conclusão de curso serão desenvolvidos métodos de detecção de tais alertas utilizando conceitos de aprendizado de máquina associados a conceitos de processamento de linguagem natural (PLN) e análise de dados.
O objetivo principal do trabalho é apresentar uma forma confiável para detecção de alertas de segurança no twitter. Para isso será aplicada aprendizagem computacional supervisionada utilizando os classificadores ingênuo de Bayes (naive Bayes) e o support vector machine (SVM) para detectar os alertas de segurança.
Pretende-se ainda adicionar o software desenvolvido a um sistema que possui o propósito de detectar, antecipadamente, alertas de segurança usando redes sociais como fonte de informação. O sistema está sendo desenvolvido como trabalho de apoio às teses de doutorado dos Mestres Artur Feitosa e Rodrigo Campiolo, ambos estudantes do programa de pós-graduação do IME-USP.
As principais atividades realizadas estão descritas abaixo.
Dentre toda a bibliografia lida para entender as redes sociais, segurança virtual, estudar recuperação de informação, PLN entre outros assuntos os principais documentos lidos foram o artigo de CAMPIOLO e SANTOS [1] para entender o problema do trabalho, o livro An Introduction to Information Retrieval [2] e alguns artigos de segurança virtual e alertas de segurança virtual artigos. As principais referências estão listadas abaixo. Para ver todas as referências usadas até o momento consulte a seção de referências da monografia.
Consultei os professores Nina e João Eduardo Ferreira ano passado sobre o que eles achavam adequado para um TCC quanto ao escopo e à dificuldade da proposta de abordagem do problema.
Foi feita, em abril de 2013, uma reunião importante com os doutorandos que contribuíram para entender melhor como eles têm examinado os dados que eles possuem para estudar, também pude tirar algumas dúvidas e conversamos sobre vários tópicos envolvendo o problema como classificador a ser usado, pré-processamento dos tuítes, ferramenta a ser usada. Além disso, também tenho usado o código que eles produziram para aprender mais sobre os dados tuítes que serão analisados e criei um script ruby que torna menos trabalhosa a classificação dos tuítes que servirão como conjunto de testes do trabalho. Por fim, fiz uma breve revisão de alguns conceitos de aprendizado de máquina para pensar no problema de classificação supervisionado. Também tenho me reunido com meu orientador uma vez a cada duas semanas desde março deste ano.
Atividade | Maio | Junho | Julho | Agosto | Setembro | Outubro | Novembro |
---|---|---|---|---|---|---|---|
Coleta de dados (tuítes) | X | X | X | X | X | X | X |
Estudos de conceitos para o TCC | X | X | X | ||||
Preparação dos dados para análise | X | ||||||
Implementação | X | X | X | ||||
Preparação do pôster e apresentação | X | X | |||||
Monografia (escrita e revisão) | X | X | X | X | X | X | X |
1 As referências para os estudos citados encontram-se em [1]
2 A Weka é um pacote de algoritmos de aprendizagem computacional em Java criados na universidade de Waikato, Nova Zelândia, para realizar mineração de dados.
A bibliografia, scripts, anotações entre outras coisas estão no repositório do trabalho: https://bitbucket.org/jacksonjsouza/tcc/