Dissertação

Static Analysis of information flow for Python / Case study: Verification of the back-end of an e-voting system EVALUATED

Com a evolução da tecnologia, o desenvolvimento de software aumentou significativamente e, como consequência, a necessidade de programadores de software nunca foi tão elevada. À medida que essa necessidade aumenta também aumenta a probabilidade da segurança do software produzido passar para segundo plano. Num mundo onde uma maior dependência no software implica mais métodos que os atacantes podem usar, a afirmação anterior é uma declaração muito perigosa. Uma das linguagens de programação mais usada é Python. Python é amplamente usado para implementar o lado do servidor de aplicações, pois várias estruturas estabelecidas foram criadas para esta linguagem, bem como um grande número de bibliotecas de terceiros para o programador usar. Python é considerada uma linguagem dinâmica, o que significa que algumas operações que poderiam ser realizadas antes da execução agora o são em tempo de execução. Para realizar uma análise automática do código que fornece fortes garantias de segurança, propomos uma ferramenta baseada no fluxo de informações capaz de analisar e detetar fluxos ilegais em termos de confidencialidade e integridade, exigindo apenas que o programador anote o seu código e que forneça os níveis de segurança que julgar necessários. O principal caso de teste deste trabalho será a análise de um sistema de votação eletrónica. Como o voto eletrónico depende da tecnologia, isso implica que este sistema herda também todas as suas falhas e problemas de segurança. A votação eletrónica é o caso de teste perfeito, pois é altamente dependente das propriedades que analisamos, tanto a confidencialidade quanto a integridade.
Análise Python, Análise Estatica, Information Flow

outubro 14, 2020, 14:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Jan Gunnar Cederquist

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Ana Gualdina Almeida Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar