Dissertação

Precise Information Flow Control for JavaScript EVALUATED

Atualmente, o controlo de fluxos de informação é particularmente importante na web. Os programas escritos em JavaScript que correm no navegador podem incluir scripts de diferentes origens, normalmente desconhecidas pelo utilizador, executados no contexto da página principal, com acesso a todos os recursos do utilizador. Isto cria preocupações ao nível da segurança que podem ser resolvidas através do uso de mecanismos baseados em linguagens, como o controlo de fluxos de informação. A linguagem JavaScript apresenta dois problemas fundamentais relativamente à análise de fluxos de informação. Por um lado, a natureza dinâmica da linguagem faz com que esta seja um alvo difícil para análises estáticas, resultando em aproximações incorretas e num grande número de falsos positivos. Por outro lado, a complexidade da semântica da linguagem torna o desenvolvimento de análises precisas para JavaScript uma tarefa desafiadora. Para combater estes problemas, propomos uma nova análise dinâmica para garantir a segurança de fluxos de informação em JavaScript. Esta análise compila o programa JavaScript fornecido para uma nova linguagem intermediária projetada para análise e especificação de JavaScript chamada ECMA-SL. Ao combinar os vários elementos da infraestrutura construída, obtemos um compilador-em-linha de um monitor de fluxos de informação preciso para JavaScript, que testamos exaustivamente contra a Test262, a bateria de testes oficial do JavaScript.
Monitores de Segurança, Controlo de Fluxos de Informação, JavaScript, Instrumentação de Programas, Linguagens Intermediárias, Semântica Formal

setembro 22, 2021, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

José Faustino Fragoso Femenin dos Santos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Ana Gualdina Almeida Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar