Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/83637
Título: | Infrastructure as code: analysis of misconfiguration and non-compliance problems |
Outro(s) título(s): | Infrastructure as code: análise de problemas de misconfiguration e non-compliance |
Autor(es): | Silva, Rafaela Maria Soares da |
Orientador(es): | Fonte, Victor Silva, João Marco Cardoso Cruz, Daniela da |
Palavras-chave: | DevOps Dynamic analysis Infrastructure as code KICS Static analysis |
Data: | 2022 |
Resumo(s): | Infrastructure as Code (IaC) is an innovative DevOps approach to infrastructure configuration and management.
Instead of using traditional interactive tools — such as command line — or cloud provider web
interfaces, it automates several tasks through extensive use of scripting languages and tools.
Being a relatively new field, with a fast-paced developing set of tools, it is of crucial importance to assist
its users and its developers to tackle security concerns that might affect the environments these tools are
meant to manage. Some of those security concerns must always be handled within an actual live, running
environment. This is the case, for example, of checking for service availability. Issues like this are already
being addressed by existing dynamic analysis tools. Others should be handled using a static analysis
approach, which, in turn, should prevent those security concerns from ever becoming a live security issue.
In this dissertation, we focus on trying to bridge the gap between the set of security checks currently
being addressed by tools that follow these approaches. We identify 150 security checks currently being
performed only by dynamic analysis tools, and we implement 23% of them in KICS, a Checkmarx-backed,
open source, static code analysis tool for IaC solutions.
The new checks we contribute to KICS address misconfiguration and non-compliance problems that can
be prevented using static analysis, mainly focusing on access control, but also on network security. Overall,
this dissertation addresses 34 security checks, effectively bridging the gap between static and dynamic
analysis for IaC in the KICS context.
Although not always possible, we strive to make available each security check to Ansible, CloudFormation,
and Terraform. These new security checks and the necessary changes to KICS were submitted to the GitHub
project’s repository, were approved by the KICS team, and are now into its master branch. This means that
new KICS releases will make available these security checks to its current users and to a broader audience,
and, hopefully, will foster the development of community-based extensions and enhancements, such as
support for other IaC platforms and security domains that we were unable to tackle due to time constraints. Infrastructure as Code (IaC) é uma prática inovadora de DevOps para configuração e gestão de infraestrutura. Em alternativa ao uso tradicional de ferramentas interativas — como a linha de comandos — ou interfaces web de cloud providers, IaC automatiza várias tarefas, através do uso de linguagens e ferramentas de script. Por ser um campo novo, com um conjunto de ferramentas em desenvolvimento acelerado, é fulcral ajudar os seus utilizadores e developers a lidar com problemas de segurança, que possam afetar os ambientes que essas ferramentas devem gerir. Algumas dessas preocupações devem sempre ser tratadas num ambiente em execução. É o caso, p. ex., da verificação de service availability. Questões como esta já são abordadas por ferramentas de análise dinâmica. Outras devem ser tratadas através de uma abordagem de análise estática, que deve impedir que essas preocupações se tornem um problema de segurança ativo. Nesta dissertação, focámo-nos em tentar preencher a lacuna entre o conjunto de security checks das ferramentas que seguem estas abordagens, atualmente. Identificámos 150 security checks atualmente realizadas apenas por ferramentas de análise dinâmica e implementámos 23% delas no KICS, uma ferramenta open source de análise estática de código, apoiada pela Checkmarx, para soluções de IaC. As novas security checks, que contribuímos para o KICS, abordam problemas de misconfiguration e non-compliance, que podem ser evitados através de análise estática, com foco principal em access control, mas também em network security. No geral, esta dissertação aborda 34 security checks, preenchendo efetivamente a lacuna entre a análise estática e dinâmica para IaC, no contexto do KICS. Embora nem sempre seja possível, esforçámo-nos para disponibilizar cada security check para Ansible, CloudFormation e Terraform. As novas security checks e alterações no KICS foram submetidas no repositório GitHub do KICS, foram aprovadas pela equipa do KICS e estão no master branch. Tal significa que as novas versões do KICS terão essas security checks para os seus utilizadores atuais e para um público mais amplo e, esperançosamente, promoverão contribuições da comunidade, como o suporte para outras plataformas de IaC e domínios de segurança que não conseguimos resolver devido a limitações de tempo. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado integrado em Informatics Engineering |
URI: | https://hdl.handle.net/1822/83637 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Rafaela-Maria-Soares-da-Silva-dissertação.pdf | 1,39 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons