Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/83637

TítuloInfrastructure 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-chaveDevOps
Dynamic analysis
Infrastructure as code
KICS
Static analysis
Data2022
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.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado integrado em Informatics Engineering
URIhttps://hdl.handle.net/1822/83637
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Rafaela-Maria-Soares-da-Silva-dissertação.pdf1,39 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID