BLOG

A proteção de aplicativos começa com a proteção do pipeline SDLC

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 19 de agosto de 2019

As práticas modernas de desenvolvimento estão cada vez mais automatizando o ciclo de vida do desenvolvimento. Do IDE aos repositórios de código, da compilação e digitalização automatizadas até o lançamento em produção, as ferramentas são unidas para formar um pipeline de entrega contínua.

Os repositórios atuam como locais para armazenar código e iniciar os eventos que compõem o processo de entrega. Quando o código é confirmado, ele pode executar uma verificação de segurança. Quando uma configuração é alterada, ela pode ser automaticamente enviada para a infraestrutura apropriada para implantação imediata.

Essas ferramentas estão acelerando o processo de desenvolvimento, entrega e implantação - e cada vez mais elas estão "na nuvem". Aqueles que residem no local geralmente são acessíveis pela Internet para dar suporte a uma comunidade crescente de desenvolvedores remotos. Embora a maioria das organizações tenha conhecimento de segurança suficiente para exigir acesso credenciado aos repositórios, o que elas não estão necessariamente fazendo é proteger esse acesso contra ameaças modernas.

Uma dessas ameaças modernas é o credential stuffing . Geralmente representado como um risco aos recursos corporativos, a realidade é que qualquer sistema credenciado acessível pela Internet corre o risco de ser comprometido. Os desenvolvedores não são mais ou menos propensos do que qualquer outro profissional de TI a aplicar práticas de senha segura. A reutilização de senhas na Internet é comum, e a exposição de bilhões de credenciais permite que invasores aproveitem um rico conjunto de recursos em seus esforços para obter acesso a uma variedade de sistemas. Considere este artigo que expõe este aforismo: " Uma pesquisa com 306 profissionais de segurança da informação na Infosecurity Conference 2018, em Londres, realizada pela Lastline, mostrou que 45% deles cometem um dos maiores pecados capitais de segurança: reutilizar senhas em várias contas." Se quase metade dos profissionais de segurança estão reutilizando senhas, imagine qual é o perfil do restante da comunidade de TI, incluindo desenvolvedores.

Existencialmente, a infame violação de dados nos EUA. O ataque do Escritório de Gestão de Pessoal (OPM), iniciado em 2014, foi realizado por invasores que comprometeram com sucesso as credenciais de um usuário privilegiado. Depois que os invasores roubaram com sucesso essas credenciais, eles conseguiram acessar não apenas as informações confidenciais contidas nos servidores do OPM, mas também conseguiram se mover lateralmente para servidores e infraestrutura dos EUA. Departamento do Interior, onde também causaram estragos.

O acesso aos sistemas e serviços que compõem o SDLC permite que invasores envenenem o poço, por assim dizer. A injeção de comportamento malicioso ou o roubo de ideias é facilmente realizado se houver acesso ao código-fonte. 

Para combater essa ameaça, as organizações devem considerar estender a noção de uma arquitetura de confiança zero às ferramentas em seu pipeline de desenvolvimento de software. Do IDE aos consoles de gerenciamento de nuvem e repositórios de código, o uso do Acesso de Usuário Privilegiado pode impor práticas de segurança fortes baseadas em MFA/CAC.

Acesso de usuário privilegiado e o pipeline SDLC

O Acesso de Usuário Privilegiado (PUA) é basicamente uma federação sem SAML ou a exigência de que os aplicativos suportem algum tipo de método exótico de autenticação. Ele é capaz de estender os princípios de confiança zero para aplicativos legados, bem como oferecer suporte a aplicativos modernos baseados na web.

Esta solução é baseada na capacidade do F5 Access Policy Manager (APM) de atuar como um proxy de credenciais, juntamente com sua capacidade de generalizar automaticamente credenciais efêmeras. Em poucas palavras, os usuários são autenticados em um armazenamento de credenciais corporativas (controlador de domínio, LDAP) e então o APM gera credenciais efêmeras que podem ser usadas para efetuar login no sistema protegido. No caso do pipeline de desenvolvimento, este poderia ser o repositório de código, como Bitbucket , GitHub ou GitLab . Essa abordagem mantém um controle mais rígido sobre o acesso ao repositório sem introduzir muita sobrecarga de processo para o desenvolvedor. 

pua-sdlc

  1. O usuário fornece credenciais para o BIG-IP
  2. O BIG-IP valida as credenciais do usuário em um serviço de diretório IaaS ou local
  3. O BIG-IP fornece credenciais efêmeras ao usuário autenticado
  4. Credenciais efêmeras do usuário via IDE ou navegador para repositório
  5. O repositório passa o nome de usuário e as credenciais efêmeras para o BIG-IP para validação
  6. BIG-IP retorna validação
  7. O usuário está logado com sucesso no repositório

Dados confidenciais devem incluir código. Isso significa que, assim como os dados, o acesso ao código deve ser protegido. O código é o coração de um negócio digital e o pipeline de entrega é cada vez mais considerado um vetor de ataque. Ao implementar um modelo de acesso de usuário privilegiado, você pode ter mais certeza de que tanto as credenciais quanto o usuário por trás delas são legítimos.

Você pode aprender mais sobre o F5 APM aqui .