3 estratégias para fortalecer a segurança da cadeia de suprimento de software
Proteja sua cadeia de suprimento em um mundo de software de código aberto. Desafios persistem, mas a segurança é crucial.
Proteja sua cadeia de suprimento em um mundo de software de código aberto. Desafios persistem, mas a segurança é crucial.
Em meio ao aumento das ameaças cibernéticas, analistas preveem um aumento triplo nos ataques à cadeia de suprimento até 2025, afetando quase metade das organizações — um aumento significativo em relação às estimativas de 2021. A realidade é que organizações, independentemente das medidas de segurança percebidas, são suscetíveis a ataques, especialmente em um mundo onde o software de código aberto é universal. Proteger aplicações, código e a cadeia de suprimento é fundamental, mas desafios persistem devido às extensas superfícies de ataque resultantes de equipes distribuídas, desenvolvimento acelerado na nuvem e dependência de software.
Ataques básicos continuam potentes, destacando a necessidade de uma abordagem de segurança holística e uma cultura de responsabilidade compartilhada. “Equilibrar a velocidade de desenvolvimento com a segurança em ambientes de recursos limitados permanece um desafio formidável, dadas as diversas prioridades e orçamentos organizacionais, ainda mais complicados pela complexidade de gerenciar código de terceiros”, comentou Mike Hanley, Diretor de Segurança e Vice-Presidente Sênior de Engenharia do GitHub.
Aqui estão três passos que podem ajudar líderes de segurança a expandir facilmente seus modelos de ameaças para aprimorar a segurança de suas cadeias de suprimento.
1: Compreenda e Considere os Pipelines de Construção
O incidente SolarWinds foi um momento crucial que alertou o mundo sobre a ameaça de ataques à cadeia de fornecimento e as melhorias necessárias nas práticas globais de cibersegurança. Considerado um dos maiores e mais sofisticados ciberataques da história, impactou várias organizações e agências governamentais explorando vulnerabilidades na plataforma Orion da SolarWinds, um conjunto de software de gerenciamento de rede.
Esse incidente demonstrou que os pipelines utilizados para produzir aplicativos de software são tão cruciais para a segurança quanto o próprio código. Os sistemas de construção são sistemas de produção, extensões do ambiente de produção, e devem ser protegidos com o mesmo rigor das operações mais sensíveis. O desafio é que muitas organizações não têm conhecimento da extensão de seus sistemas de construção e não tratam aqueles que conhecem como sistemas de produção.
É crucial considerar os controles em vigor para gerenciar sistemas de código e artefatos, incluindo esclarecer o número de sistemas de construção em uso e a diversidade de pilhas tecnológicas adotadas. “Como vimos com o SolarWinds, precisamos entender exatamente quais entradas estão chegando nos artefatos de software que estamos produzindo e levá-las em consideração no processo de construção”, enfatiza Hanley.
2: Exija Autenticação de Dois Fatores (2FA)
A indústria de tecnologia ainda está atrasada com a higiene básica de segurança e controles, como a adoção de 2FA. Capacitar desenvolvedores para prevenir ataques no ecossistema de código aberto, protegendo melhor suas contas contra roubo ou apropriação, é um dos passos mais críticos que as organizações podem tomar para proteger a cadeia de suprimento.
Exigir 2FA em contas de usuário aborda uma das principais ameaças de segurança de longa data: Phishing. Enquanto parte da indústria de segurança gosta de se concentrar em ameaças mais exóticas e capacidades mais complexas, a realidade é que precisamos começar com o básico.
Com essa tecnologia, a probabilidade de comprometimento de contas de usuário é drasticamente reduzida. Isso, por sua vez, minimiza os riscos para outros desenvolvedores que dependem de seu código, impede que usuários não autorizados comprometam contas e fornece uma camada adicional essencial de segurança em toda a cadeia de fornecimento.
3: Garanta a Procedência do software
É importante saber de onde vem um software que está sendo baixado e utilizado. Assim como ninguém conectaria um pen drive aleatório encontrado na rua ao seu laptop, não se deve baixar pacotes de código aberto aleatórios.
O GitHub se associou ao projeto Sigstore para trazer procedência ao registro npm, abordando esse problema. Agora, os mantenedores de pacotes podem gerar facilmente declarações assinadas sobre a origem do software e como ele foi construído. Isso ajuda as pessoas desenvolvedoras a fazerem declarações sobre os pacotes que publicam e permite que consumidores tomem decisões informadas.
“O Sigstore teve uma excelente adoção pela comunidade, e isso será extremamente útil para melhorar a segurança dos pacotes. Portanto, se você está mantendo pacotes npm, construa-os com procedência. Se você está consumindo pacotes npm, use a procedência para verificá-los”, conclui Hanley.