Por que a segurança CI/CD é crítica
O pipeline de CI/CD é fundamental para o sucesso das metodologias de design DevOps. Depois que o código for desenvolvido e confirmado no repositório, o pipeline cria automaticamente o código, testa-o e prepara-o para implantação na produção.
A segurança do código implantado na produção depende da segurança do pipeline de CI/CD. Se os casos de teste estiverem incorretos, incompletos ou modificados, a vulnerabilidade poderá passar despercebida. Código malicioso ou vulnerável também pode ser injetado em um aplicativo durante o processo de CI/CD por meio de dependências de terceiros. A segurança de CI/CD ajuda a mitigar esses e outros riscos de segurança em todo o pipeline de CI/CD.
Riscos de segurança de CI/CD
Pipelines corporativos de CI/CD, aplicativos e processos DevOps enfrentam vários riscos de segurança, incluindo os seguintes:
- Codificação insegura: uma das principais funções do pipeline de CI/CD é testar o código antes da implantação na produção. Isto inclui testes de segurança, concebidos para identificar vulnerabilidades no código antes de serem expostos a uma potencial exploração.
- Controles de acesso insuficientes: o código dentro de um pipeline de CI/CD deve ter acesso a determinados dados e recursos para construir uma imagem funcional para teste. Os controles de acesso ao pipeline limitam o acesso dos pipelines apenas ao que é necessário para suas funções, minimizando os impactos potenciais se código malicioso for executado dentro do pipeline.
- Configurações incorretas de segurança: O pipeline de CI/CD é um ambiente complexo composto por vários sistemas. Se estes sistemas forem configurados incorretamente, a segurança do gasoduto pode ser prejudicada.
- Exposição de segredos: o aplicativo pode exigir acesso a vários tipos de informações confidenciais, como senhas e chaves de API. Como resultado, esses segredos devem estar acessíveis em pipelines de CI/CD para teste. Se esses segredos forem expostos no pipeline de CI/CD ou em ambientes DevOps, eles poderão permitir que um invasor roube dados, acesse sistemas corporativos ou adicione funcionalidades maliciosas ao aplicativo.
- Bibliotecas vulneráveis de terceiros: Quase todos os aplicativos dependem de código de terceiros para implementar várias funções. Se essas bibliotecas de terceiros contiverem vulnerabilidade ou backdoors, isso poderá abrir o aplicativo usando as bibliotecas até a exploração por um invasor.
- Ataques à cadeia de suprimentos: em um ataque à cadeia de suprimentos, um invasor tem como alvo as dependências de código aberto e de terceiros das quais um aplicativo depende. Isso pode incluir a adição de vulnerabilidade, backdoors ou outras funcionalidades maliciosas a um aplicativo.
Protegendo o pipeline de CI/CD
Os pipelines de CI/CD e o aplicativo com o qual eles trabalham enfrentam uma variedade de riscos potenciais de segurança. Algumas soluções que podem ser integradas em pipelines de CI/CD para melhorar a segurança do aplicativo (AppSec) incluem o seguinte:
- Análise de composição de origem (SCA): as soluções SCA identificam as dependências de terceiros que um aplicativo usa e a vulnerabilidade potencial que elas contêm. Isso pode proteger contra códigos vulneráveis de terceiros e ataques à cadeia de suprimentos.
- Verificação do código-fonte: o teste estático de segurança de aplicativos (SAST) examina o código-fonte de um aplicativo em busca de vulnerabilidade potencial. As soluções de varredura de código permitem que as equipes de DevOps identifiquem e corrijam vulnerabilidades no início do ciclo de vida de desenvolvimento de software (SDLC), quando sua correção é mais barata.
- Teste de segurança: Durante a fase de teste do SDLC, as soluções de teste dinâmico de segurança de aplicativos (DAST) podem identificar vulnerabilidades no aplicativo funcional. Esses testes ocorrem posteriormente no SDLC, mas podem identificar problemas indetectáveis pelas soluções SAST.
- Segurança em tempo de execução: a vulnerabilidade pode ser ignorada durante os testes ou descoberta após um aplicativo estar em produção. Soluções de segurança de tempo de execução, como a autoproteção de aplicativos em tempo de execução (RASP), podem fornecer monitoramento e proteção contínuos para um aplicativo após ele ter sido implantado na produção.
Segurança CI/CD com CloudGuard Spectral
A segurança CI/CD é essencial para AppSec corporativo. Se um invasor conseguir obter acesso ilegítimo aos processos de CI/CD, ele poderá potencialmente injetar vulnerabilidade, funcionalidade maliciosa ou erros de configuração no aplicativo. Depois que esses aplicativos vulneráveis forem implantados em produção, eles poderão colocar a empresa e seus clientes em risco.
Alternativamente, um invasor com acesso a ambientes de desenvolvimento pode usar esse acesso para roubar os segredos e outros dados confidenciais usados pelo aplicativo durante todo o processo de CI/CD. Credenciais, tokens de API e segredos semelhantes podem prejudicar a segurança de toda a infraestrutura de TI e conjunto de aplicativos de uma organização se expostos a um invasor devido à vulnerabilidade no processo de desenvolvimento de software.
Check Point CloudGuard Spectral fornece segurança ponta a ponta focada no desenvolvedor para pipelines de CI/CD.
Saiba mais sobre os recursos de segurança para desenvolvedores do CloudGuard. Em seguida, veja você mesmo os recursos do Spectral inscrevendo-se para uma demo gratuita hoje mesmo.