Entenda os requisitos de segurança do software supply chain referenciados na ordem executiva de segurança cibernética dos EUA
Daniel Berman
10 de junho de 2021
0 minutos de leituraPromulgada no mês passado, a ordem executiva de segurança cibernética do presidente Biden deve causar pouca surpresa para quem está acompanhando as manchetes desde o ano passado. Essa ordem é a reação do Governo Federal dos Estados Unidos a uma longa lista de incidentes, começando com o ataque à SolarWinds e terminando com um recente ataque de ransomware direcionado à Colonial Pipeline, o maior ataque conhecido contra uma empresa de energia dos EUA.
Considerando o fato de que muitos dos ataques recentes estão relacionados à software supply chain, era de se esperar que a segurança de software e software supply chain como um todo fosse tema recorrente na ordem. O agora notório ataque à SolarWinds afetou uma longa lista de agências governamentais, incluindo o Pentágono, o Departamento de Estado e o Departamento de Segurança Interna dos EUA, juntamente com organizações privadas como a Microsoft, a Intel e a Cisco, e trouxe à tona o tema da segurança do software supply chain.
Ataques à software supply chain não são uma novidade. Na Snyk, já mencionamos desde de 2018 que as práticas modernas de desenvolvimento e composição de software são um elo fraco e um possível canal de distribuição de malware. Elas estão se tornando cada vez mais populares entre os invasores devido a algumas mudanças perceptíveis na maneira como os aplicativos de software são criados hoje em dia. A ordem do presidente Biden reconhece essas mudanças e visa a minimizar os riscos que elas representam, instruindo o Departamento de Comércio a criar padrões rigorosos para empresas que vendem software ao Governo Federal dos EUA.
O que são ataques à software supply chain?
Em um ataque à software supply chain, os invasores acessam e modificam o software na complexa cadeia para comprometer um alvo downstream por meio da infiltração de seu código mal-intencionado. O ataque à software supply chain não é o objetivo final. Ele é usado para abrir uma janela de oportunidades para um invasor inserir malware ou fornecer uma backdoor para acesso futuro. No ataque contra a SolarWinds, por exemplo, os hackers conseguiram acessar a rede da empresa e a plataforma de monitoramento de aplicativos, Orion, para distribuir atualizações mal-intencionadas aos milhares de usuários do software.
Os ataques à software supply chain são um vetor extremamente eficaz devido ao modelo de desenvolvimento dos aplicativos modernos. Assim como nos supply chains industriais, a de software inclui planejamento, fornecimento de materiais, manufatura e varejo. Em vez de materiais, a de software supply chain depende de código. Esse código pode ser proprietário, mas uma parte crescente é cada vez mais proveniente de fornecedores, comerciais ou de código aberto. Essas dependências podem ser usadas para inserir código mal-intencionado no software. O código é usado para desenvolver softwares e, no software supply chain moderno, esse desenvolvimento envolve um número cada vez maior de processos que podem ser aproveitados para a distribuição eficaz de malware.
Requisitos federais para a segurança do software supply chain
A ordem executiva do presidente Biden exige a modernização da segurança cibernética do Governo Federal dos EUA, melhor comunicação e colaboração em segurança cibernética entre o Governo Federal e o setor privado e segurança reforçada dos softwares adquiridos pelo Governo Federal. Os riscos representados por ataques à software supply chain são claramente articulados no início da seção 4 da ordem:
O desenvolvimento de software comercial muitas vezes carece de transparência, foco suficiente na capacidade do software de resistir a ataques e controles apropriados para evitar adulterações por agentes mal-intencionados. Há uma necessidade urgente de implementar mecanismos mais rigorosos e previsíveis a fim de garantir que os produtos funcionem com segurança e conforme o esperado... Assim, o Governo Federal dos EUA deve tomar medidas para reforçar rapidamente a segurança e melhorar a integridade do software supply chain...
Com o objetivo de proteger os órgãos governamentais desses riscos, a ordem exige que o NIST estabeleça práticas recomendadas, diretrizes e critérios para os futuros padrões que os fornecedores de software precisarão cumprir para vender softwares ao Governo Federal dos EUA.
Lista de materiais de software (SBOM)
Embora uma pequena parte do código que compõe o software seja desenvolvida internamente do zero, a maior parte é obtida com o uso de código aberto ou componentes de terceiros. A exigência da ordem de uma lista de materiais de software (SBOM)reconhece esse fato, apontando para a necessidade de maior transparência sobre o que exatamente está incluído em um software para reduzir os riscos de ataques à software supply chain
Ambiente de desenvolvimento seguro
Os fornecedores de software serão obrigados a atestar um ambiente de desenvolvimento seguro. A ordem exige a formulação pelo NIST de critérios para determinar se um ambiente de desenvolvimento é considerado 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 serão obrigados a aderir a práticas de desenvolvimento seguras e ser capazes de atestar as medidas tomadas. Isso inclui o uso de testes de segurança automatizados no início e durante o desenvolvimento para garantir a integridade do código e encontrar e corrigir vulnerabilidades. Os “artefatos” que atestam o desenvolvimento de softwares e a execução das ferramentas e processos utilizados precisam estar disponíveis mediante solicitação.
Integridade do código aberto
Normalmente, de 80% a 90% do código que compõe um aplicativo é aberto. Reconhecendo essa realidade, a ordem exige que os fornecedores de software “garantam e atestem a integridade e a proveniência do software de código aberto usado em qualquer parte de um produto”.
Reforço da segurança do software supply chain
Para se preparar para as diretrizes do NIST e fortalecer seu software supply chain, o primeiro passo é adotar uma segurança de aplicativo mais rígida. Com uma plataforma de segurança de aplicativos nativa na nuvem e foco nos desenvolvedores, a Snyk oferece suporte à grande maioria dos requisitos descritos na ordem.
Capacitação dos desenvolvedores
A implementação bem-sucedida de práticas de desenvolvimento seguras exigidas na ordem executiva depende de os desenvolvedores serem capazes de integrar a segurança facilmente aos seus fluxos de trabalho. O desenvolvimento seguro começa com os próprios desenvolvedores. São eles que decidem como construir seus aplicativos e, em última análise, também são responsáveis pela integridade, qualidade e segurança do código. Os modelos de segurança tradicionais, integrados no final do processo de desenvolvimento e adicionando atrito com fluxos de trabalho não intuitivos, não são mais uma opção em um ambiente de desenvolvimento acelerado.
A abordagem da Snyk é capacitar os desenvolvedores com ferramentas fáceis de usar e devidas orientações da equipe de segurança. A plataforma da Snyk foi projetada para fornecer aos desenvolvedores uma ferramenta que gostem de usar, seja parecida com outras do seu fluxo de trabalho e não crie obstáculos.
Segurança automatizada em todo o SDLC
Para garantir a integridade do software desde o início do processo de desenvolvimento, a ordem executiva exige a implementação antecipada de testes de segurança automatizados, “...que devem operar regularmente ou, no mínimo, antes do lançamento do produto, da versão ou da atualização”. Os clientes da Snyk usam uma variedade de integrações disponíveis, bem como a Snyk API, para automatizar o teste de segurança nos diferentes estágios do processo de desenvolvimento de software. Isso começa já dentro do ambiente de desenvolvimento local do desenvolvedor, continua por meio de fluxos de trabalho baseados em Git e do processo de compilação e termina com o ambiente de produção.
Proteger TODO o código que compõe os aplicativos de software modernos
A ordem executiva reconhece que houve mudanças no código que forma os aplicativos de hoje em dia. Os componentes usados no software supply chain moderno são código proprietário, pacotes de código aberto, contêineres e infraestrutura como código (código responsável pelo provisionamento da infraestrutura de nuvem).
Para permitir que as organizações gerenciem e mitiguem esse novo perfil de riscos, é necessária uma abordagem mais holística à segurança dos aplicativos. Algumas equipes de segurança direcionam o foco para as ferramentas de testes estáticos de segurança de aplicativos (SAST) para proteger o código criado pelas equipes de desenvolvimento, ignorando os riscos introduzidos pelo código aberto e pelo uso de contêineres. No entanto, como as ferramentas de análise de composição de software (SCA) não fornecem cobertura para código proprietário, também não é recomendável contar apenas com elas. A plataforma da Snyk fornece uma solução abrangente voltada para o desenvolvedor e ajuda as organizações a proteger todo o código que compõe os aplicativos de software modernos.
Atestado e relatórios em nível de componentes
Conforme descrito acima, dar transparência ao Governo Federal dos EUA sobre os processos e as medidas implementadas, bem como os materiais utilizados para desenvolver o software na forma de uma SBOM, desempenha um papel dominante nos requisitos estipulados na ordem executiva. A Snyk oferece amplos recursos de relatórios para permitir a visualização e a exportação de uma SBOM e de outros tipos de relatórios. Os clientes da Snyk também usam a Snyk API para integrar automaticamente relatórios de terceiros e ferramentas de gerenciamento de vulnerabilidade para o monitoramento contínuo da postura de conformidade e segurança da organização.
Um olhar em direção ao futuro
A ordem exige que o NIST publique as diretrizes preliminares em um prazo de seis meses e as diretrizes finais em até um ano. Embora os requisitos da ordem sejam direcionados a empresas que vendem para o Governo Federal dos EUA, os padrões provavelmente se espalharão para o setor privado e afetarão o mercado de software como um todo.
Seria prudente começar o planejamento examinando de perto a ordem e identificando as principais lacunas existentes no seu software supply chain.
A Snyk acompanhará a evolução das diretrizes à medida que forem introduzidas pelo NIST e divulgará informações adicionais no blog. Aguarde novidades. Também estamos participando ativamente dos esforços do NIST para cumprir a ordem executiva, especificamente em torno das especificações da SBOM por meio do SBOM SIG.
Para saber mais sobre como a Snyk está ajudando as agências governamentais a atender aos requisitos dessa ordem, entre em contato pelo e-mail snyk_federal@snyk.io ou visite a página Snyk para o governo.