Infrastructure as code: analysis of misconfiguration and non-compliance problems

Bibliographic Details
Main Author: Silva, Rafaela Maria Soares da
Publication Date: 2022
Format: Master thesis
Language: por
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/1822/83637
Summary: Dissertação de mestrado integrado em Informatics Engineering
id RCAP_c0d0aafab963b5717f01ae8ca48037cc
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/83637
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Infrastructure as code: analysis of misconfiguration and non-compliance problemsInfrastructure as code: análise de problemas de misconfiguration e non-complianceDevOpsDynamic analysisInfrastructure as codeKICSStatic analysisEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringInfrastructure 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.Fonte, VictorSilva, João Marco CardosoCruz, Daniela daUniversidade do MinhoSilva, Rafaela Maria Soares da20222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/83637por203246713info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-09-07T01:31:50Zoai:repositorium.sdum.uminho.pt:1822/83637Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T16:13:49.226070Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Infrastructure as code: analysis of misconfiguration and non-compliance problems
Infrastructure as code: análise de problemas de misconfiguration e non-compliance
title Infrastructure as code: analysis of misconfiguration and non-compliance problems
spellingShingle Infrastructure as code: analysis of misconfiguration and non-compliance problems
Silva, Rafaela Maria Soares da
DevOps
Dynamic analysis
Infrastructure as code
KICS
Static analysis
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Infrastructure as code: analysis of misconfiguration and non-compliance problems
title_full Infrastructure as code: analysis of misconfiguration and non-compliance problems
title_fullStr Infrastructure as code: analysis of misconfiguration and non-compliance problems
title_full_unstemmed Infrastructure as code: analysis of misconfiguration and non-compliance problems
title_sort Infrastructure as code: analysis of misconfiguration and non-compliance problems
author Silva, Rafaela Maria Soares da
author_facet Silva, Rafaela Maria Soares da
author_role author
dc.contributor.none.fl_str_mv Fonte, Victor
Silva, João Marco Cardoso
Cruz, Daniela da
Universidade do Minho
dc.contributor.author.fl_str_mv Silva, Rafaela Maria Soares da
dc.subject.por.fl_str_mv DevOps
Dynamic analysis
Infrastructure as code
KICS
Static analysis
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic DevOps
Dynamic analysis
Infrastructure as code
KICS
Static analysis
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Informatics Engineering
publishDate 2022
dc.date.none.fl_str_mv 2022
2022-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/83637
url https://hdl.handle.net/1822/83637
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 203246713
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595818263707648