Os 10 principais Riscos de Segurança de CI/CD
Tags: cicd, pipeline, devops, appsec
Published: 2022-12-23 18:16:10

## A proteção de sua pipeline de CI/CD deve ser uma prioridade

As pipelines de CI/CD são cruciais para qualquer equipe de desenvolvimento que constrói aplicações no modelo DevOps.

Isso torna as pipelines de CI/CD um alvo atraente para os atacantes. Como todo o sistema possui várias dependências e configurações, invasores podem explorar recursos aparentemente seguros para derrubar toda a infraestrutura.

Proteger a pipeline de CI/CD é uma prioridade para devs e times de DevOps/DevSecOps e não pode ser deixada para o final.

**Mas como saber quais são os riscos  na pipeline de CI/CD?**

O mercado vem testemunhando um aumento significativo na quantidade, frequência e magnitude de incidentes e vetores de ataque com foco no abuso de falhas no ecossistema CI/CD.

Sabendo disso, a OWASP possui uma documentação com os principais riscos de segurança de CI/CD. 

Este documento ajuda desenvolvedores e profissionais de segurança da informação a identificar áreas de foco para proteger seu sistema CI/CD. 

## Lista dos 10 principais riscos de segurança de CI/CD segundo a OWASP


### 1º Mecanismos de controle de fluxo insuficientes

**Definição**
Os mecanismos de controle de fluxo insuficientes podem ser um grave risco de segurança em um processo de CI/CD, pois permitem que invasores obtenham acesso não autorizado ao sistema. Isso pode ser especialmente preocupante se o invasor conseguir acesso ao repositório de artefatos, pois isso pode permitir que eles alterem o código do sistema de forma maliciosa ou introduzam vulnerabilidades. 

Além disso, se um invasor conseguir acesso ao sistema de gerenciamento de configuração (SCM) ou ao servidor de integração contínua (CI), eles podem manipular o processo de build e deploy de forma a implantar código malicioso no sistema.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-01-Insufficient-Flow-Control-Mechanisms).

### 2º Gerenciamento inadequado de identidade e acesso

**Definição**
Os riscos inadequados de gerenciamento de identidade e acesso decorrem das dificuldades em gerenciar a grande quantidade de identidades espalhadas pelos diferentes sistemas no ecossistema de engenharia, desde o controle de origem até a implantação.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-02-Inadequate-Identity-And-Access-Management).

### 3º Abuso da Cadeia de Dependência

**Definição**
Os riscos de abuso da cadeia de dependência referem-se à capacidade de um invasor explorar falhas relacionadas a como as estações de trabalho de engenharia e ambientes de construção  constroem as dependências de código. 

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-03-Dependency-Chain-Abuse).

### 4º Poisoned Pipeline Execution (PPE)

**Definição**
Esse risco se refere à capacidade de um invasor obter acesso a sistemas de controle de origem e, com isso, manipular o processo de compilação, injetando códigos/comandos maliciosos na configuração da pipeline de compilação 'envenenando-a'.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-04-Poisoned-Pipeline-Execution).

### 5º Insuficiente PBAC (Pipeline-Based Access Controls)

**Definição**
Os nós de execução da pipeline têm acesso a vários recursos e sistemas dentro e fora do ambiente de execução. Ao executar código malicioso em uma pipeline, os invasores aproveitam desse risco para abusar da permissão concedida à pipeline para se mover lateralmente dentro ou fora do sistema CI/CD.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-05-Insufficient-PBAC).

### 6º Higiene de Credencial Insuficiente

**Definição**
Os riscos de higiene insuficiente de credenciais lidam com a capacidade de um invasor obter e usar vários segredos e tokens espalhados pela pipeline devido às falhas relacionadas a controles de acesso em torno das credenciais, gerenciamento inseguro de segredos e credenciais excessivamente permissivas.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-06-Insufficient-Credential-Hygiene).

### 7º Configuração Insegura do Sistema

**Definição**
Esse risco decorre de falhas nas configurações de segurança, configuração e fortalecimento dos diferentes sistemas em todo a pipeline.
Por exemplo, SCM, CI, repositório de artefatos etc. Isso resulta em brechas para invasores que procuram expandir sua “posição” no ambiente.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-07-Insecure-System-Configuration).

### 8º Uso não regulamentado de serviços de terceiros

**Definição**
Os riscos relacionados ao uso não controlado de serviços de terceiros dependem da extrema facilidade com que um serviço de terceiro pode obter acesso a recursos em sistemas CI/CD, expandindo efetivamente a superfície de ataque da organização.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-08-Ungoverned-Usage-of-3rd-Party-Services).

### 9º Validação imprópria da integridade do artefato

**Definição**
Isso permite que um invasor com acesso a um dos sistemas no processo de CI/CD envie códigos ou artefatos maliciosos, aparentemente benignos, pela pipeline, devido aos mecanismos insuficientes para garantir a validação de códigos e artefatos.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-09-Improper-Artifact-Integrity-Validation).

### 10º Logging e Visibilidade Insuficientes

**Definição**
Esse risco permite que um adversário realize atividades maliciosas no ambiente de CI/CD sem ser detectado durante qualquer fase da cadeia de eliminação do ataque, incluindo a identificação dos TTPs (Técnicas, Táticas e Procedimentos) do invasor como parte de qualquer investigação pós-incidente.

[Recomendações segundo OWASP](https://owasp.org/www-project-top-10-ci-cd-security-risks/CICD-SEC-10-Insufficient-Logging-And-Visibility).

## Conclusão 
Em resumo, proteger a pipeline de CI/CD é crucial para garantir a segurança de um sistema de desenvolvimento de aplicações no modelo DevOps. 

É importante identificar os principais riscos de segurança de CI/CD e implementar medidas de proteção adequadas para garantir a integridade do sistema. 

A [OWASP oferece documentação útil](https://owasp.org/www-project-top-10-ci-cd-security-risks/) para ajudar desenvolvedores e profissionais de segurança da informação a identificar as áreas de foco para proteger sua pipeline de CI/CD.

**Quer ficar por dentro de mais conteúdo sobre AppSec? Acesse o blog da Conviso:** https://bit.ly/3HqVtTP