Anomalous behavior detection through phase profiling

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Moreira, Francis Birck
Orientador(a): Navaux, Philippe Olivier Alexandre
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/212519
Resumo: Um dos principais desafios para os sistemas de segurança é a detecção de ataques de vulnerabilidades em geral, especialmente as que exploram fluxos de controle válidos. A detecção e mitigação de ataques da corrupção de memória já foram exaustivamente pesquisadas e são prevenidas através da desativação da execução de páginas de instruções e randomizando o espaço de endereços de programas vulneráveis. No entanto, métodos de ataques avançados já conseguem trespassar tais técnicas, enquanto outros métodos de ataque exploram vulnerabilidades diferentes e, portanto, não podem ser prevenidas pelos métodos tradicionais. Em geral, a especificidade das abordagens atuais, como a detecção baseada em assinatura, é incapaz de detectar novos tipos de ataques, mesmo que seu comportamento seja anômalo ao que pode ser considerado execução normal do sistema. Neste trabalho, propomos a detecção de anomalias gerais, particionando programas em fases caracterizadas por sua atividade de blocos básicos. A implementação do mecanismo insere verificações para cada fase no binário do programa. Essas verificações determinam se as fases se comportam conforme o esperado. Eles podem ser implementados exclusivamente em software ou com ajuda de hardware, oferecendo uma compensação entre tempo adicional e taxa de detecção e flexibilidade. Ao contrário de trabalhos anteriores, nosso mecanismo pode detectar ataques que usam fluxo de controle válido, como o Heartbleed, e é extensível para detectar outros tipos de anomalias. Experimentos com vários ataques mostram que podemos detectar instâncias atacadas com recursos simples da fase, como o número de blocos básicos distintos na fase.