Palestra - Departamento de Computação da UFC
Transcrição
Palestra - Departamento de Computação da UFC
Mineração de Dados e Segurança Pedro Carvalho [email protected] 1. Mineração de Dados 2. Aplicações a. Privacidade b. Detecção de Ataques i. Malwares ii. Intrusões Mineração de Dados Definição Segundo Lei Xu et al.[1] o termo Mineração de Dados é confundido com o processo de extração de conhecimento (KDD), quando na verdade é uma etapa dele. Esse processo consiste, em alto nível, da análise de grandes coleções de dados (datasets) para extração de informações que possuam valor. Fonte: http://www.invensis.net/blog/wp-content/uploads/2015/11/12-Data-Mining-Tools-and-Techniques-Inv ensis.png Fonte: https://danielteofilo.files.wordpress.com/2015/02/image.png Processo de Extração de Conhecimento Exemplo Extração de conhecimento em base de dados de Cinema. ● Seleção: Buscar fontes de conhecimento para montar base de dados inicial (IMDb, Rotten Tomatoes, Wikipedia etc). ● Exemplo Extração de conhecimento em base de dados de Cinema. Pré-processamento: Escolha e extração dos dados desejados de cada provedor: ○ IMDb: Extrair elenco, equipe e bilheteria. ○ Rotten Tomatoes: Extrair nota da crítica. ● Exemplo Extração de conhecimento em base de dados de Cinema. Formatação: Padronização das bases de dados distintas para um modelo comum: ○ ○ ○ ○ ○ Nome: Cidadão Kane Diretor: Orson Welles Elenco: Orson Welles etc. Nota da Crítica: 100% Bilheteria: $686,033 ● Exemplo Extração de conhecimento em base de dados de Cinema. Mineração de Dados: Aplicação de algoritmos e técnicas para encontrar informações úteis para responder uma pergunta. ○ Se gostei de Cidadão Kane, que filmes vou gostar também? E se não gostei? Exemplo Extração de conhecimento em base de dados de Cinema. ● Interpretação: Leitura dos dados obtidos na mineração para tomada de decisão. E como extrair conhecimento dos dados? Aprendizado de Máquina Aprendizado de Máquina é uma área de estudo da Inteligência Artificial que foca na construção de algoritmos que “aprendam” como desempenhar tarefas a partir da generalização sobre um conjunto de dados de exemplo[3]. Fonte: https://assets.toptal.io/uploads/blog/image/443/toptal-blog-image-1407508081138.png Classificação Dado um conjunto de dados previamente classificados, descobrir um modelo que divida as suas classes. Fonte: Acervo pessoal. Agrupamento Agrupar subconjuntos de dados de propriedades similares. Fonte: https://biomunky.files.wordpress.com/2011/05/rclustering.jpg. Associação Descobrir correlações entre conjuntos grandes de dados. Fonte:https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/sub missions/42541/versions/3/screenshot.jpg Aplicações Privacidade Mineração de Dados para Preservação da Privacidade (PPDM) O Objetivo da PPDM é proteger informações sensíveis de vazamento sem perder a utilidade do conjunto de dados. 1. 2. [1] Essa abordagem tem dois pontos principais : Dados sigilosos (como telefone, CPF, número do cartão de crédito etc) não devem ser levados em conta na mineração. Resultados da mineração cuja divulgação pode causar violação de privacidade devem ser descartados. Fonte: http://www.forbes.com/sites/kashmirhill/2012/02/16/how-target-figured-out-a-teen-girl-was-pregnant-before-her-father-did/#612e8c9e34c6 Abordagem orientada a papeis Fonte: [1] Provedor de Dados Existem três principais ações para um provedor de dados manter sua privacidade: 1. Caso possua informações sensíveis, a melhor maneira de manter a privacidade é a não divulgação. 2. Caso exista um acordo entre provedor e coletor, um usuário pode disponibilizar dados privativos em troca de serviços ou remuneração. 3. Caso seja impossível prevenir o acesso a informações e não haja acordo lucrativo, o provedor pode distorcer seus dados. Coletor de Dados Esse problema é amplamente estudado e é conhecido como publicação de dados preservando privacidade (PPDP). O principal papel do coletor de dados é manter a privacidade sem perder a utilidade dos dados. Consiste no estudo de técnicas de anonimização dos dados. Exemplo de Anonimização Tome uma rede social G = (V, E), não é suficiente que mudemos apenas o nome dos vertices para manter a privacidade. Fonte: [1] Exemplo de Anonimização A técnica mais conhecida de anonimização é a de K-NMF (Non-negative Matrix Factorization), que, em alto nível, consiste de fazer alterações no grafo de modo que para cada aresta e do grafo, existam k-1 arestas com extremidades que possuam o mesmo número de amigos que as extremidades de e. Fonte: [1] Minerador de Dados O principal papel de quem executa os algoritmos de mineração é garantir que o resultado preservará a privacidade dos provedores. Existem abordagens diferentes baseados no tipo de problema que foi modelado (associação, classificação, agrupamento). Muitas delas são enumeradas em [1]. Detecção de Ataques Principais técnicas para detecção de ataques Detecção baseada em Assinatura: ● ● ● ● ● Analiza a assinatura do processo que está sendo executado. Depende de uma base muito grande de dados de assinatura. Detecta o ataque sem levantar muitos alarmes falsos. Muito efetivo para ataques clássicos. Fraco para ataques novos. Detecção baseada em Comportamento: ● ● ● Verifica o comportamento do processo que está sendo executado e procura desvios do comportamento padrão. Excelente para novos ataques. Alta taxa de alarmes falsos. Abordagem Híbrida A abordagem mais usada: ● ● Toma características de ambas as abordagens anteriores. Aumenta a taxa de acerto para ataques clássicos e novos. Menor taxa de falsos alarmes que na abordagem baseada em comportamento. Detecção de Malwares Malwares Malwares (Malicious Softwares) são softwares construídos a fim de causar danos a um sistema de informação. São ameaças que evoluem constantemente e podem gerar prejuízos inimagináveis. Fonte:http://3.bp.blogspot.com/-Fe3auN9vi50/VW8V2rwTs3I/AAAAAAAAEQ4/4ODqqD6pHbo/s1600/2015-06-03_10-52-53.png Abordagens Clássicas Análise baseada em assinatura pura, configurando os antivírus comuns. Empresas de antivírus (McAfee, Kaspersky etc) investem em atualizar definições de vírus em suas bases de dados para fazer reconhecimento por assinatura. Essa abordagem requer muito esforço humano para classificar Atualização de base de dados Técnica para automatizar a atualização do conjunto de treino para refinar o aprendizado. A abordagem baseada em assinatura depende de dados já conhecidos e classificados. Para facilitar esse processo, foram criadas técnicas de atualização e classificação automática de conjunto de treino. Atualização de base de dados Técnica para automatizar a atualização do conjunto de treino para refinar o aprendizado. Para isso, são criados bots que acessam um site (i.e, StackOverflow) e buscam conhecimento novo sobre malwares, para atualizar a base de dados. Essa estratégia é descrita em [4]. Detecção de Intrusões Sistema de Detecção e Prevenção de Intrusões (IDS/IPS) Sistemas desse tipo ajudam a identificar uso não autorizado, duplicação, alteração e destruição de sistemas de informação[2]. As intrusões podem ser internas ou externas. Ex: Snort, Tripware, AIDE etc. Fonte:http://www.revista.espiritolivre.org/wp-content/uploads/2013/07/snort _logo.gif Técnica de Redes Neurais Definida por Lippmann e Cunningham[5]. Usa um reconhecedor de palavras chave com duas redes neurais. Inicialmente, o programa feito para reconhecer palavras-chave para fazer uma estatística de quantas vezes cada comando telnet foi chamado. Esses dados são alimentados a uma primeira rede neural, que se encarrega de classificar o tráfego telnet entre comum e incomum. Técnica de Redes Neurais Os comandos que foram classificados como incomuns no passo anterior são alimentados a outra rede neural, que se encarrega de classificar se aquilo é ou não uma intrusão. A eficácia chega a 80%. Definida por Lippmann e Cunningham[5]. Usa um reconhecedor de palavras chave com duas redes neurais. Outras abordagens mais complexas tem eficácias chegando a 98%, em alguns casos. Técnica de Árvores de Decisão Kruegel e Toth propuseram uma alteração ao Snort[6]. O Snort usa tradicionalmente uma abordagem baseada em assinaturas. Foi proposto um modelo que usa árvores de decisão para decidir caso uma linha de comandos de terminal é efetuada ou não por um intruso. Técnica de Árvores de Decisão Kruegel e Toth propuseram uma alteração ao Snort[6]. Resultados da alteração: ● A velocidade de execução do programa aumentou em média 40,3%, chegando em alguns casos a aumentar 105%. Considerações finais Considerações Finais O uso de técnicas de mineração de dados e aprendizado de máquina em problemas de segurança tem se mostrado muito promissor. Profissionais de Data Science são, hoje, muito procurados e tem na segurança da informação uma série de problemas para resolver. Referências [1] Lei Xu, Chunxiao Jiang, Jian Wang, Jian Yuan, Yong Ren, Xu, L., … Ren, Y. (2014). Information Security in Big Data: Privacy and Data Mining. IEEE Access, 2, 1149–1176. http://doi.org/10.1109/ACCESS.2014.2362522 [2] Buczak, A., & Guven, E. (2015). A Survey of Data Mining and Machine Learning Methods for Cyber Security Intrusion Detection. IEEE Communications Surveys & Tutorials, 18(1), 1–1. http://doi.org/10.1109/COMST.2015.2494502 [3] Domingos, P. (2012). A few useful things to know about machine learning. Communications of the ACM, 55(10), 78. http://doi.org/10.1145/2347736.2347755 Referências [4] Saxe, J., Mentis, D., & Greamo, C. (2013). Mining web technical discussions to identify malware capabilities. Proceedings - International Conference on Distributed Computing Systems, 1–5. http://doi.org/10.1109/ICDCSW.2013.56. [5] R. P. Lippmann and R. K. Cunningham, “Improving intrusion detection performance using keyword selection and neural networks,” Comput. Netw., vol. 34, pp. 597–603, 2000. [6] C. Kruegel and T. Toth, “Using decision trees to improve signature- based intrusion detection,” in Proc. 6th Int. Workshop Recent Adv. Intrusion Detect.,West Lafayette, IN, USA, 2003, pp. 173–191. Muito Obrigado!