Skip to main content

Entenda os requisitos de segurança da cadeia de suprimentos de software na Ordem Executiva de cibersegurança

Escrito por
blog hero software supply chain security

10 de junho de 2021

0 minutos de leitura

A Ordem Executiva de cibersegurança do presidente Biden, publicada no mês passado, não deve surpreender quem acompanhou as notícias ao longo do último ano. A ordem é uma resposta importante do governo federal dos EUA a uma longa série de incidentes, que começou com o ataque à SolarWinds e culminou em um ataque recente de ransomware contra a Colonial Pipeline — o maior ataque conhecido contra uma empresa de energia dos EUA.

Como muitos dos ataques recentes estão relacionados à cadeia de suprimentos de software, também não surpreende que a segurança de software — mais especificamente, a segurança da cadeia de suprimentos de software — seja um tema recorrente na ordem. O já infame ataque à SolarWinds afetou diversas agências governamentais, incluindo o Pentágono dos EUA, o Departamento de Estado e o Departamento de Segurança Interna, além de empresas privadas como Microsoft, Intel e Cisco, trazendo a segurança da cadeia de suprimentos de software para o centro das atenções.

Os ataques à cadeia de suprimentos de software não são novidade. Na Snyk, falamos desde 2018 sobre como o desenvolvimento e a composição de software modernos podem ser pontos fracos e possíveis meios de disseminação de malware. Mas esses ataques estão se tornando cada vez mais comuns entre os invasores, devido a mudanças notáveis na forma como os aplicativos de software são criados hoje. A ordem do presidente Biden reconhece essas mudanças e busca minimizar os riscos que elas representam, orientando o Departamento de Comércio a criar normas rigorosas para empresas que vendem software ao governo federal.  

O que são ataques à cadeia de suprimentos de software?

Em um ataque à cadeia de suprimentos de software, os invasores acessam e modificam o software ao longo da complexa cadeia de desenvolvimento para comprometer um alvo subsequente, inserindo código malicioso. O ataque à cadeia de suprimentos de software não é o objetivo final. Ele é usado para criar uma oportunidade para que o invasor insira malware ou instale uma porta dos fundos para obter acesso no futuro. No ataque à SolarWinds, por exemplo, hackers conseguiram acessar a plataforma Orion de monitoramento de rede e aplicativos da SolarWinds para distribuir atualizações maliciosas aos milhares de usuários do software.

Os ataques à cadeia de suprimentos de software são um vetor extremamente eficaz por causa da forma como o software moderno é criado. Assim como nas cadeias de suprimentos industriais, a cadeia de suprimentos de software inclui planejamento, fornecimento de materiais, fabricação e distribuição. Em vez de materiais, ela depende de código. Esse código pode ser proprietário, mas uma parcela cada vez maior vem de fornecedores, por meio de componentes comerciais ou de código aberto. Essas dependências podem ser usadas para inserir código malicioso no software. O código é usado para desenvolver software e, na cadeia de suprimentos de software moderna, o desenvolvimento envolve um número crescente de processos que podem ser explorados para distribuir malware com eficácia.

Requisitos federais para a segurança da cadeia de suprimentos de software

A Ordem Executiva do presidente Biden determina a modernização da cibersegurança do governo federal, uma comunicação e colaboração melhores entre o governo federal e o setor privado em questões de cibersegurança e uma segurança mais rigorosa para os softwares adquiridos pelo governo federal. O risco representado pelos ataques à cadeia de suprimentos de software é claramente apresentado no início da seção 4 da ordem:

O desenvolvimento de software comercial muitas vezes carece de transparência, de atenção suficiente à capacidade do software de resistir a ataques e de controles adequados para impedir alterações feitas por agentes maliciosos. É urgente implementar mecanismos mais rigorosos e previsíveis para garantir que os produtos funcionem com segurança e conforme o esperado... Portanto, o governo federal deve agir para melhorar rapidamente a segurança e a integridade da cadeia de suprimentos de software...

Para proteger as agências governamentais desse risco, a ordem determina que o NIST estabeleça práticas recomendadas, diretrizes e critérios para as futuras normas que os fornecedores de software precisarão cumprir para vender software ao governo federal.

Lista de Materiais de Software (SBOM)

Embora uma pequena parte do código que compõe um software seja desenvolvida internamente, do zero, a maior parte vem de componentes de código aberto ou de terceiros. A exigência de uma Lista de Materiais de Software (SBOM) reconhece essa realidade e aponta para a necessidade de mais transparência sobre o que exatamente está incluído em um software, para que seja possível mitigar o risco de ataques à cadeia de suprimentos de software.  

Ambiente de desenvolvimento seguro

Os fornecedores de software precisarão atestar que contam com um ambiente de desenvolvimento seguro. A ordem determina que o NIST formule critérios para definir o que constitui um ambiente seguro, incluindo processos de compilação seguros, criptografia de dados, auditoria, autenticação e monitoramento e gerenciamento de incidentes.

Processos de desenvolvimento seguros

Os fornecedores de software também precisarão seguir práticas de desenvolvimento seguro e atestar as medidas adotadas. Isso inclui o uso de testes de segurança automatizados desde o início e ao longo do desenvolvimento para garantir a integridade do código, além de encontrar e corrigir vulnerabilidades. Os “artefatos” que comprovam o desenvolvimento do software e a execução das ferramentas e dos processos utilizados deverão estar disponíveis mediante solicitação.

Integridade do código aberto

Em geral, de 80% a 90% do código que compõe um aplicativo é de código aberto. Reconhecendo essa realidade, a ordem exige que os fornecedores de software “garantam e atestem a integridade e a procedência do software de código aberto usado em qualquer parte de um produto”.

Como melhorar a segurança da cadeia de suprimentos de software

A preparação para as diretrizes do NIST começa com o fortalecimento da segurança da sua cadeia de suprimentos de software, o que exige uma segurança de aplicativos mais rigorosa. Com uma plataforma de segurança de aplicativos nativa da nuvem e voltada para desenvolvedores, a Snyk atende à grande maioria dos requisitos descritos na ordem.

Capacitando desenvolvedores

A implementação bem-sucedida das práticas de desenvolvimento seguro previstas na Ordem Executiva depende de os desenvolvedores conseguirem integrar a segurança com facilidade ao fluxo de trabalho de desenvolvimento. O desenvolvimento seguro começa com os próprios desenvolvedores. São eles que decidem como criar seus aplicativos e, em última análise, também são responsáveis pela integridade, qualidade e segurança do código. Os modelos tradicionais de segurança, que chegam tarde ao processo de desenvolvimento e criam atritos com fluxos de trabalho pouco intuitivos, já não são uma opção em um ambiente de desenvolvimento acelerado.

A abordagem da Snyk é capacitar desenvolvedores com ferramentas fáceis de usar e orientações adequadas da equipe de segurança. A plataforma Snyk foi criada para oferecer uma ferramenta que os desenvolvedores realmente gostem de usar, que funcione e tenha a aparência de qualquer outra ferramenta do seu conjunto de desenvolvimento — sem atrasar o trabalho.

Segurança automatizada em todo o SDLC

Para garantir a integridade do software desde o início do processo de desenvolvimento, a Ordem Executiva determina a implementação antecipada de testes de segurança automatizados, “...que devem ser executados regularmente ou, no mínimo, antes do lançamento de um produto, versão ou atualização”. Os clientes da Snyk usam diversas integrações disponíveis, além da API da Snyk, para automatizar os testes de segurança nas diferentes etapas do processo de desenvolvimento de software. Isso começa já no ambiente de desenvolvimento local do desenvolvedor, passa pelos fluxos de trabalho baseados em Git e pelo processo de compilação, e chega até o ambiente de produção. 

Proteja TODO o código que compõe o software moderno

A Ordem Executiva reconhece que o código que compõe um aplicativo mudou. Código proprietário, pacotes de código aberto, contêineres e o código responsável pelo provisionamento da infraestrutura em nuvem (infraestrutura como código) — esses são os componentes da cadeia de suprimentos de software moderna.

Para ajudar as organizações a gerenciar e mitigar esse novo perfil de risco, é necessária uma abordagem mais abrangente à segurança de aplicativos. As equipes de segurança que se concentram em ferramentas de teste estático de segurança de aplicativos (SAST) para proteger o código escrito pelas equipes de desenvolvimento ignoram os riscos introduzidos pelo uso de código aberto e contêineres — e vice-versa: ferramentas de análise de composição de software (SCA) não cobrem código proprietário. A plataforma da Snyk oferece uma solução abrangente, voltada para desenvolvedores, que ajuda as organizações a proteger todo o código que compõe o software moderno.

Atestados e relatórios no nível dos componentes

Como mencionado acima, a transparência para o governo federal sobre os processos e as medidas adotados, assim como sobre os materiais usados para criar o software — na forma de uma SBOM —, tem papel central nos requisitos definidos pela Ordem Executiva. A Snyk oferece amplos recursos de geração de relatórios, permitindo visualizar e exportar uma SBOM, além de outros tipos de relatório. Os clientes da Snyk também usam a API da Snyk para integrar automaticamente ferramentas de terceiros de geração de relatórios e gerenciamento de vulnerabilidades, monitorando continuamente a postura de segurança e conformidade da organização.

O que vem pela frente

A ordem determina que o NIST publique diretrizes preliminares em até seis meses e as diretrizes finais em até um ano.  Embora os requisitos da ordem se destinem a empresas que vendem para o governo federal, é provável que as normas também se estendam ao setor privado e afetem todo o mercado de software.

É prudente começar o planejamento analisando a ordem com atenção e identificando as principais lacunas na sua cadeia de suprimentos de software atual.

Na Snyk, vamos acompanhar a evolução das diretrizes à medida que forem apresentadas pelo NIST e publicaremos mais informações no nosso blog. Fique de olho. Também estamos participando ativamente dos esforços do NIST para cumprir a Ordem Executiva, especificamente no que diz respeito às especificações de SBOM, por meio do SBOM SIG.

Para saber mais sobre como a Snyk está ajudando agências governamentais a cumprir os requisitos desta ordem, entre em contato pelo e-mail snyk_federal@snyk.io ou acesse a página Snyk for Government.