Pipelines de desenvolvimento de software oferecem aos cibercriminosos acesso “gratuito” à inteligência de dados PlatoBlockchain na nuvem e no local. Pesquisa vertical. Ai.

Pipelines de desenvolvimento de software oferecem aos cibercriminosos acesso 'livre' à nuvem, no local

Os pipelines de integração contínua/desenvolvimento contínuo (CI/CD) podem ser a superfície de ataque em potencial mais perigosa da cadeia de suprimentos de software, dizem os pesquisadores, à medida que os ciberataques aumentam seu interesse em investigar os pontos fracos.

A superfície de ataque também está crescendo: os pipelines de CI/CD estão cada vez mais presentes nas equipes de desenvolvimento de software corporativo, que os usam para criar, testar e implantar código usando processos automatizados. Mas o excesso de permissões, a falta de segmentação de rede e segredos e gerenciamento de patches ruins prejudicam sua implementação, oferecendo aos criminosos a oportunidade de comprometê-los para variar livremente entre ambientes locais e na nuvem.

Na Black Hat USA na quarta-feira, 10 de agosto, Iain Smart e Viktor Gazdag, da consultoria de segurança NCC Group, subirão ao palco durante “RCE-as-a-Service: Lições aprendidas de 5 anos de compromisso de pipeline CI/CD do mundo real”, para discutir a série de ataques bem-sucedidos à cadeia de suprimentos que eles realizaram nos pipelines de produção CI/CD para praticamente todas as empresas que a empresa testou.

O NCC Group supervisionou várias dezenas de compromissos bem-sucedidos de metas, desde pequenas empresas até empresas da Fortune 500. Além de erros de segurança, os pesquisadores dizem que novos abusos da funcionalidade pretendida em pipelines automatizados permitiram que eles convertessem pipelines de um simples utilitário de desenvolvedor em execução remota de código (RCE) como serviço.

“Espero que as pessoas dêem um pouco mais de amor aos seus pipelines de CI/CD e apliquem todas ou pelo menos uma ou duas recomendações de nossa sessão”, diz Gazdag. “Também esperamos que isso estimule mais pesquisas de segurança sobre o assunto”.

Tara Seals, editora-gerente de notícias da Dark Reading, conversou com Viktor Gazdag, consultor-gerente de segurança do NCC Group, para saber mais.

Selos Tara: Quais são alguns dos pontos fracos de segurança mais comuns em pipelines de CI/CD e como eles podem ser abusados?

Victor Gazdag: Vemos regularmente três pontos fracos de segurança comuns que exigem mais atenção:

1) Credenciais codificadas no Sistema de Controle de Versão (VCS) ou Gerenciamento de Controle de Origem (SCM).

Isso inclui scripts de shell, arquivos de login, credenciais codificadas permanentemente em arquivos de configuração que são armazenados no mesmo local que o código (não separadamente ou em aplicativos de gerenciamento de segredo). Também encontramos frequentemente tokens de acesso a diferentes ambientes de nuvem (desenvolvimento, produção) ou determinados serviços dentro da nuvem, como SNS, Banco de Dados, EC2, etc.

Também encontramos credenciais para acessar a infraestrutura de suporte ou o pipeline de CI/CD. Depois que um invasor obtém acesso ao ambiente de nuvem, ele pode enumerar seus privilégios, procurar configurações incorretas ou tentar elevar seus privilégios, pois já estão na nuvem. Com acesso ao pipeline CI/CD, eles podem ver o histórico de builds, acessar os artefatos e os segredos que foram usados ​​(por exemplo, a ferramenta SAST e seus relatórios sobre vulnerabilidades ou tokens de acesso à nuvem) e, nos piores cenários, injete código arbitrário (backdoor, SolarWinds) no aplicativo que será compilado ou obtenha acesso completo ao ambiente de produção.

2) Papéis excessivamente permissivos.

Desenvolvedores ou contas de serviço geralmente têm uma função associada a suas contas (ou podem assumir uma) que tem mais permissões do que o necessário para realizar o trabalho necessário.

Eles podem acessar mais funções, como configurar o sistema ou segredos com escopo para ambientes de produção e desenvolvimento. Eles podem ignorar os controles de segurança, como a aprovação de outros desenvolvedores, ou modificar o pipeline e remover qualquer ferramenta SAST que ajude na busca de vulnerabilidades.

Como os pipelines podem acessar ambientes de produção e implantação de teste, se não houver segmentação entre eles, eles podem atuar como uma ponte entre os ambientes, mesmo entre o local e a nuvem. Isso permitirá que um invasor ignore firewalls ou qualquer alerta e se mova livremente entre ambientes que de outra forma não seriam possíveis.

3) Falta de auditoria, monitoramento e alerta.

Esta é a área mais negligenciada, e 90% das vezes encontramos uma falta de monitoramento e alerta sobre qualquer modificação de configuração ou gerenciamento de usuário/função, mesmo que a auditoria estivesse ativada ou habilitada. A única coisa que pode ser monitorada é a compilação ou compilação de trabalho bem-sucedida ou malsucedida.

Também existem problemas de segurança mais comuns, como falta de segmentação de rede, gerenciamento de segredos e gerenciamento de patches, etc., mas esses três exemplos são pontos de partida de ataques, necessários para reduzir o tempo médio de detecção de violação ou são importantes para limitar raio de explosão de ataque.

TS: Você tem algum exemplo específico do mundo real ou cenários concretos que você possa apontar?

VG: Alguns ataques nas notícias relacionados a ataques de CI/CD ou pipeline incluem:

  • Ataque CCleanerMarço 2018
  • Homebrew, agosto de 2018
  • Asus ShadowHammerMarço 2019
  • Violação de terceiros do CircleCI, setembro de 2019
  • SolarWindsDezembro 2020
  • Script de uploader bash do Codecov, abril de 2021
  • Acesso não autorizado do TravisCI a segredos, setembro de 2021

TS: Por que as fraquezas nos pipelines automatizados são problemáticas? Como você caracterizaria o risco para as empresas?

VG: Pode haver centenas de ferramentas usadas nas etapas do pipeline e, por causa disso, o tremendo conhecimento que alguém precisa saber é enorme. Além disso, os pipelines têm acesso de rede a vários ambientes e várias credenciais para diferentes ferramentas e ambientes. Obter acesso a pipelines é como obter um passe de viagem gratuito que permite aos invasores acessar qualquer outra ferramenta ou ambiente vinculado ao pipeline.

TS: Quais são alguns dos resultados de ataques que as empresas podem sofrer se um adversário subverter com sucesso um pipeline de CI/CD?

VG: Os resultados do ataque podem incluir roubo de código-fonte ou dados intelectuais, backdooring de um aplicativo implantado para milhares de clientes (como SolarWinds), obtenção de acesso (e movimentação livre entre) vários ambientes, como desenvolvimento e produção, tanto no local quanto no local. nuvem, ou ambos.

TS: Quão sofisticados os adversários precisam ser para comprometer um pipeline?

VG: O que estamos apresentando na Black Hat não são vulnerabilidades de dia zero (embora eu tenha encontrado algumas vulnerabilidades em diferentes ferramentas) ou quaisquer novas técnicas. Os criminosos podem atacar os desenvolvedores por meio de phishing (sequestro de sessão, desvio de autenticação multifator, roubo de credenciais) ou o pipeline de CI/CD diretamente se não estiver protegido e estiver voltado para a Internet.

O NCC Group até realizou avaliações de segurança onde inicialmente testamos aplicativos da Web. O que descobrimos é que os pipelines de CI/CD raramente são registrados e monitorados com alertas, além do trabalho de construção/compilação de software, de modo que os criminosos não precisam ser tão cuidadosos ou sofisticados para comprometer um pipeline.

TS: Quão comuns são esses tipos de ataques e quão ampla é a superfície de ataque que os pipelines de CI/CD representam?

VG: Existem vários exemplos de ataques do mundo real nas notícias, como mencionado. E você ainda pode encontrar, por exemplo, Instâncias Jenkins com Shodan na Internet. Com o SaaS, os criminosos podem enumerar e tentar senhas de força bruta para obter acesso, pois eles não têm autenticação multifator habilitada por padrão ou restrições de IP e são voltados para a Internet.

Com o trabalho remoto, os pipelines são ainda mais difíceis de proteger, pois os desenvolvedores desejam acesso de qualquer lugar e a qualquer momento, e as restrições de IP não são mais necessariamente viáveis, pois as empresas estão migrando para uma rede de confiança zero ou mudando de local de rede.

Os pipelines geralmente têm acesso de rede a vários ambientes (o que não deveriam) e têm acesso a várias credenciais para diferentes ferramentas e ambientes. Eles podem atuar como uma ponte entre o local e a nuvem, ou sistemas de produção e teste. Essa pode ser uma superfície de ataque muito ampla e os ataques podem vir de vários lugares, mesmo daqueles que não têm nada a ver com o pipeline em si. Na Black Hat, estamos apresentando dois cenários em que começamos originalmente com o teste de aplicativos da Web.

TS: Por que os pipelines de CI/CD continuam sendo um ponto cego de segurança para as empresas?

VG: Principalmente por falta de tempo, às vezes por falta de gente e, em alguns casos, por falta de conhecimento. Os pipelines de CI/CD geralmente são criados por desenvolvedores ou equipes de TI com tempo limitado e com foco na velocidade e na entrega, ou os desenvolvedores estão simplesmente sobrecarregados de trabalho.

Os pipelines de CI/CD podem ser muito ou extremamente complexos e podem incluir centenas de ferramentas, interagir com vários ambientes e segredos e ser usados ​​por várias pessoas. Algumas pessoas até criaram uma representação de tabela periódica das ferramentas que podem ser usadas em um pipeline.

Se uma empresa alocar tempo para criar um modelo de ameaça para o pipeline que usa e os ambientes de suporte, ela verá a conexão entre ambientes, limites e segredos e onde os ataques podem acontecer. Criar e atualizar continuamente o modelo de ameaça deve ser feito e leva tempo.

TS: Quais são algumas práticas recomendadas para reforçar a segurança de pipelines?

VG: Aplique segmentação de rede, use o princípio de privilégio mínimo para criação de função, limite o escopo de um segredo no gerenciamento de segredos, aplique atualizações de segurança com frequência, verifique artefatos e monitore e alerte sobre alterações de configuração.

TS: Há algum outro pensamento que você gostaria de compartilhar?

VG: Embora os pipelines de CI/CD nativos ou baseados em nuvem sejam mais simples, ainda vimos problemas iguais ou semelhantes, como funções excessivamente permissivas, sem segmentação, segredos com escopo excessivo e falta de alertas. É importante que as empresas se lembrem de que também têm responsabilidades de segurança na nuvem.

Carimbo de hora:

Mais de Leitura escura