Dissertação

{en_GB=Automatic Repair of Java Code with Timing Side-Channel Vulnerabilities} {} EVALUATED

{pt=A detecção e reparação de vulnerabilidades é uma parte exigente e desafiante do processo de desenvolvimento de software. Por isso, tem havido um esforço por parte dos investigadores para desenvolver novas e melhoradas formas de detectar e corrigir de forma automática vulnerabilidades. DifFuzz é uma ferramenta de ponta para a detecção automática de vulnerabilidades `timing side-channel', um tipo de vulnerabilidade que é particularmente difícil de detectar e corrigir. Apesar do progresso recente alcançado com ferramentas como o DifFuzz, há pouco trabalho em ferramentas capazes de corrigir de forma automática vulnerabilidades "timing side-channel". Propomos uma nova ferramenta para a correcção automática de vulnerabilidades `timing side-channel' em código Java. A ferramenta funciona em conjunto com o DifFuzz e foi capaz de reparar 56% das vulnerabilidades identificadas no dataset do DifFuzz. Os resultados mostram que a ferramenta pode corrigir de forma automática vulnerabilidades "timing side-channel", sendo mais eficaz em vulnerabilidades `control-flow based timing side-channel'., en=Vulnerability detection and repair is a demanding and expensive part of the software development process. As such, there has been an effort by researchers to develop new and better ways to automatically detect and repair vulnerabilities. DifFuzz is a state-of-the-art tool for automatic detection of timing side-channel vulnerabilities, a type of vulnerability that is particularly difficult to detect and correct. Despite recent progress made with tools such as DifFuzz, work on tools capable of automatically repairing timing side-channel vulnerabilities is scarce. We propose a new tool for automatic repair of timing side-channel vulnerabilities in Java code. The tool works in conjunction with DifFuzz and it was able to repair 56% of the vulnerabilities identified in DifFuzz's dataset. The results show that the tool can indeed automatically correct timing side-channel vulnerabilities, being more effective with control-flow based timing side-channel vulnerabilities. }
{pt=Java, Vulnerabilidades Timing Side-Channel, Detecção automática de vulnerabilidades, Reparação automática de vulnerabilidades, Segurança, Modificação de Código, en=Java, Timing Side-Channel Vulnerabilities, Automatic Detection of Vulnerabilities, Automatic Repair of Vulnerabilities, Security, Code Modification}

Janeiro 28, 2021, 16:30

Orientação

ORIENTADOR

João Fernando Peixoto Ferreira

Departamento de Engenharia Informática (DEI)

Professor Auxiliar