Dissertação

{en_GB=SORA - Finding Workflow Violation Attacks in REST APIs} {} EVALUATED

{pt=A importância das aplicações web é inquestionável. Estas aplicações são usadas no nosso dia a dia, e muitas vezes em ambientes onde a segurança é crítica. Mas, à medida que a popularidade das tecnologias da web cresceu, cresceu também a complexidade dos ataques aos quais estas estão vulneráveis. Para encontrar estas vulnerabilidades existem duas escolas de pensamento. Podemos pedir a ajuda de especialistas da área (os chamados \emph{penetration testers}), ou podemos utilizar ferramentas automáticas. Hoje em dia, a primeira técnica é mais atraente devido à falta de estudo e empenho na segunda. Este trabalho, pelo outro lado, tenta fazer crescer o conhecimento sobre o segundo paradigma, pois tem muitas vantagens face à primeira técnica, como por exemplo uma análise mais sistemática e consistente. Neste trabalho estudamos vulnerabilidades no paradigma das aplicações web, e em particular os Workflow Violation Attacks, que são uma classe de vulnerabilidades bastante importante mas que tem sido abandonada ao longo dos tempos. Fornecemos ainda um estudo bastante compreensivo sobre estas vulnerabilidades e as técnicas usadas para as encontrar, e desenhamos e implementamos uma solução capaz de encontrar estas vulnerabilidades num cenário onde o sistema vulnerável é um servidor que expõe uma API REST. Definimos ainda um conjunto de aplicações de teste publicas, de forma a que a comunidade interessada consiga testar as suas ferramentas contra programas vulneráveis., en=The importance of web applications is unquestionable. They are used in all of our daily lives, and most importantly in security-critical environments. But as the popularity of web technologies grew, so did the complexity of the attacks they are vulnerable to. To find these vulnerabilities, there are currently two schools of thought, either one that employs specialists in the area, or \emph{penetration testers}, or one that makes use of automatic tools. Nowadays, the first technique is more compelling due to the lack of studies done in the latter. This work, on the other hand, aims to help this second paradigm grow in importance, as it brings many advantages over the first, such as a more systematic and consistent analysis. We will study vulnerabilities in the web paradigm, and in particular Workflow Violation Attacks, which are a class of vulnerabilities that is quite important but has been left out throughout time, mostly because its analysis is usually coupled with a specific problem. We provide an in-depth study about these vulnerabilities and the techniques used to find them, and then design and implement a solution, capable of finding said vulnerabilities in a setting where the vulnerable system is a server exposing a REST API. We also devise a set of test applications to be released for the community to test their tools against vulnerable programs.}
{pt=Segurança de Aplicações Web, Segurança de APIs REST, Workflow Violation Attacks, Testes de Segurança Baseados em Modelos, Testes Black-box, Testes de Segurança Contínuos, en=Web Security, REST API Security, Workflow Violation Attacks, Model-Based Security Testing, Black-box Testing, Continuous Security Testing}

Novembro 26, 2019, 10:30

Orientação

ORIENTADOR

Pedro Miguel dos Santos Alves Madeira Adão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar