Datasets
Os datasets gerados por trabalhos de pesquisa do laboratório podem ser obtidos nos links abaixo. |
Projeto de Pesquisa
Os trabalhos de pesquisa do laboratório têm um perfil predominantemente teórico, de investigação e concepção de algoritmos, mecanismos e sistemas para a defesa cibernética. O foco é nas atividades de pesquisa básica, conforme objetivo do próprio Instituto. A análise do desempenho de soluções propostas também faz parte das atividades. Os tópicos principais de pesquisa incluídos no escopo do projeto são: Análise de Malware, Botnets, DDoS e Criptologia. Como áreas afins e de apoio aos tópicos principais, pode-se destacar: Computação de Alto Desempenho e Aprendizado de Máquina. No entanto, a fim de melhor orientar os trabalhos em torno de uma meta comum e bem definida, imagina-se a construção de um sistema integrado de defesa cibernética (SiSDefCiber) conforme o diagrama abaixo (Cardoso & Salles - SBSeg 2012).
|
Análise de Malware
Com o grande crescimento e popularização de serviços eletrônicos como o uso de e-mail e sites web, cresceram também as ameaças virtuais como vírus, worms e outros agentes de software malicioso ("malwares"). Torna-se necessário então criar uma base de conhecimento sobre essas categorias de software para que possamos evitar fraudes, invasões e até mesmo estarmos preparados para uma Guerra Cibernética. As atividades previstas nesta linha de pesquisa têm como objetivo principal incentivar a pesquisa básica e aplicada na área de malware, de tal forma a poder criar um conhecimento avançado sobre o funcionamento de vírus, worms, spywares, trojans e outros agentes de software maliciosos, de tal forma a permitir o melhor entendimento de suas técnicas de replicação e infecção, assim como o desenvolvimento de defesas proprietárias, ou seja, softwares antivírus. A análise de malware pode ser manual, feita por especialistas utilizando-se ferramentas como disassemblers e debuggers, ou automática, utilizando-se inteligência artifical como, por exemplo, técnicas de aprendizado de máquina. A análise comprende ainda técnicas estáticas e dinâmicas:
A pesquisa na área de malware no IME prevê o estudo das diversas áreas do conhecimento envolvidas na montagem de um Laboratório de Malware:
|
Botnets
As botnets são redes formadas por hosts escravos, denominados bots (derivado do termo Robot), que são controladas por um ou mais atacantes, denominados botmasters ou botherders, que tem por objetivo realizar algum tipo de ação maliciosa. Em outras
palavras, os bots são códigos maliciosos executados em computadores de
forma a permitir que os botmasters controlem e realizem ações remotamente. A detecção e desarticulação das botnets constituem importantes ações proativas de defesa cinernética,
tendo em vista que podem evitar os mais diversos tipos de danos aos
sistemas antes mesmo que os ataques cibernéticos ocorram. De maneira geral as botnets apresentam um ciclo de vida conforme a
figura abaixo (Cardoso & Salles 2011). As fases 3 e 5 são as mais
vulnerávies e, sendo assim, as mais importantes para os esquemas de detecção. Caso a botnet alcance a fase 4,
o esquema de detecção falhou e o sistema de defesa cibernética deve
atuar no próximo estágio, que é o de tratamento (detecção, mitigação,
proteção) das ações maliciosas.
|
DDoS - Ataques Distribuídos de Negação de Serviço
A Internet desde o princípio da sua concepção teve como prioridade características como flexibilidade e escalabilidade. Aspectos relativos a segurança sempre foram relegados a segundo plano. O funcionamento padrão da Internet não permite, por exemplo, que as requisições feitas por um cliente a um servidor sejam autenticadas. Tal propriedade impede a diferenciação de um usuário legítimo para um malicioso. O ataque de negação de serviço (DoS – Denial of Service) tem como objetivo que usuários legítimos não consigam utilizar de forma satisfatória algum serviço em face da ação de usuários maliciosos. Isto pode ocorrer em uma série de contextos, desde sistemas operacionais até serviços de rede. Quando um ataque DoS é proveniente de múltiplas fontes o definimos como ataque distribuído de negação de serviço (DdoS - Distributed Denial of Service). Com a utilização de múltiplas fontes é possível o atacante multiplicar seu o poder de ataque à vítima. Os ataques DdoS podem ocorrer de duas formas principais:
Ataques DDoS podem utilizar desde dezenas de computadores até milhões de máquinas engajadas no ataque. Nos dias de hoje observamos ataques com as mais variadas motivações. Desde ataques realizados por hackers isolados, passando por grupos criminosos organizados e chegando até a ataques que provavelmente são realizados como uma nova frente de batalha no combate moderno. Um ataque DDoS não é apenas capaz de indisponibilizar sites da web. Seu poderio é muito maior, podendo atingir a infraestrutura crítica de um país (energia, transportes, comunicações, etc...) já que esta encontra-se fortemente dependente da internet para o seu pleno funcionamento. |
Criptologia
O grupo trabalha na análise e desenvolvimento de algoritmos criptográficos com o objetivo em longo prazo de propor um sistema de certificação para algoritmos criptográficos. Os objetivos em médio e curto prazo são a investigação sobre novas técnicas para tratar da segurança da informação, a análise e desenvolvimento de novas funções primitivas e estruturas de algoritmos criptográficos mais seguros, a análise dos ensaios estatísticos adotados em organizações internacionais de certificação e o desenvolvimento de propostas de novos ensaios criados para as pesquisas do próprio grupo. |
Computação de Alto Desempenho
A computação de alto desempenho baseia-se no conceito de agrupamento, onde vários processadores, conectados através de diversos meios de comunicação, operam em conjunto com o objetivo de alcançar alto desempenho. Sistemas com um grande número de processadores, em geral, seguem uma entre duas vertentes: em uma abordagem, por exemplo, de grade computacional, a capacidade de processamento de um grande número de computadores distribuídos em diversos domínios administrativos é convenientemente utilizado sempre que um computador estiver disponível. Em uma outra abordagem, um grande número de processadores são usados próximos uns aos outros, por exemplo, em um cluster computacional. Em tal sistema massivamente paralelo e centralizado a velocidade e flexibilidade da rede de interconexão se torna muito importante. Além disso, o uso de múltiplos núcleos combinados com a centralização é uma direção emergente. À medida que a relação custo/desempenho de processadores gráficos de uso geral (General Purpose Graphics Processing Units – GPGPUs) melhorou, uma série de supercomputadores começaram a utilizá-los. No entanto, a aplicabilidade geral das GPGPUs em aplicações de uso geral de computação de alto desempenho tem sido objeto de debate, tendo em vista que a sua aplicabilidade geral em algoritmos diários pode ser limitada, a menos que esforço significativo seja gasto no ajuste da aplicação. No entanto, as GPUs estão ganhando terreno e em 2012 alguns supercomputadores estão substituindo processadores por GPUs. Supercomputadores são usados para tarefas de cálculo intensivo, tais como problemas, incluindo a física quântica, previsão do tempo, pesquisa de clima, exploração de petróleo e gás, modelagem molecular e simulações. Na área de segurança da informação existem várias tarefas que demandam alto poder computacional e podem se beneficiar do uso de uma plataforma de alto desempenho:
|
Aprendizado de Máquina
Malwares são caracterizados por possuírem um comportamento, ao mesmo tempo, complexo e bem diversificado. Entretanto, famílias de malwares podem compartilhar certas características, ou atributos, que permitam a sua identificação e classificação. Para o Algoritmo de Aprendizado de Máquina (AM), a tarefa de detecção de malwares é interpretada como um problema de classificação de dados, onde exemplares de malwares e nãomalwares são representados pelas informações provenientes das análises estática e dinâmica, acrescidos de um atributo que o identifica como malware ou não. Cabe ao algoritmo de AM codificar essas entradas em uma forma de conhecimento generalizado que o permita identificar novos exemplares, que não necessariamente são cópias exatas dos exemplares vistos anteriormente durante o treinamento. A partir dessa modelagem inicial, diversos algoritmos de AM podem ser utilizados para realizar o treinamento, dentre esses se destacam: Árvores de Decisão, como o C4.5, Support Vector Machines, Redes Neurais e Algoritmos de Comitê, como o Boosting. |