Visão geral
A segurança da cadeia de suprimentos de software combina práticas recomendadas de gerenciamento de riscos e cibersegurança para a proteção contra possíveis vulnerabilidades. A cadeia de suprimentos de software é composta de tudo e todos que entram em contato com o código durante o ciclo de vida de desenvolvimento (SDLC), desde o desenvolvimento da aplicação até o pipeline de CI/CD e a implantação.
A cadeia de suprimentos é formada por redes de informações sobre o software, incluindo os componentes como infraestrutura, hardware, sistemas operacionais, serviços em nuvem etc., as pessoas que os desenvolveram e os locais de origem, como registros, repositórios no GitHub, bases de código ou outros projetos open source. Isso também inclui todas as vulnerabilidades que podem comprometer a segurança do software, e é nesse ponto que a segurança da cadeia de suprimentos se torna essencial.
Por que a segurança da cadeia de suprimentos de software é essencial?
Hoje em dia, o desenvolvimento de software não começa do zero, mas sim a partir de uma combinação de artefatos que inclui software open source. No entanto, esses artefatos de software podem conter vulnerabilidades, e os desenvolvedores têm menos controle sobre o código-fonte de terceiros ou sobre as mudanças feitas neles com o passar do tempo. É importante ressaltar que o software sem patches está mais sujeito a falhas de segurança. Como o software é fundamental para as operações diárias das empresas, garantir a segurança da cadeia de suprimentos é uma responsabilidade crucial de todas as organizações e equipes de segurança.
Em 2020, a empresa de software SolarWinds foi alvo de um ataque, quando invasores inseriram códigos maliciosos no Orion, um software de gerenciamento e monitoramento de TI usado por grandes organizações e agências governamentais. Ao atacar a cadeia de suprimentos, os hackers se infiltraram na SolarWinds e tiveram acesso a seus clientes. O Log4j é um software open source amplamente utilizado, mas suas falhas deixaram diversos usuários e organizações expostos a ataques e violações de dados. Em 2021, o presidente dos Estados Unidos destacou a importância das cadeias de suprimentos e da segurança de software, emitindo dois decretos na Casa Branca: cadeias de suprimentos e cibersegurança.
Acesse a biblioteca de conteúdos da Red Hat
Quais são os riscos de segurança para a cadeia de suprimentos de software?
Se um componente da cadeia de suprimentos de software estiver comprometido, todos os artefatos que dependem dele também estarão em risco. Isso oferece aos hackers a oportunidade de inserir malware, backdoors ou outros códigos maliciosos, comprometendo componentes e suas cadeias de suprimentos associadas. Os ataques à cadeia de suprimentos de software, cada vez mais comuns e feitos por grupos criminosos e governos, estão crescendo e podem causar danos graves no mundo digital e no real. Geralmente, eles se encaixam em um destes quatro tipos de risco:
- Vulnerabilidades: são erros ou falhas no código que podem ser explorados para comprometer a segurança do sistema. Aplique patches e mantenha seus artefatos de software atualizados para minimizar esse risco.
- Licenciamento: é um risco legal que pode exigir que o artefato de software final seja disponibilizado como open source, invalidando possíveis direitos de patente. Consulte especialistas jurídicos na área.
- Dependências de terceiros: são componentes fornecidos por organizações externas como parte da cadeia de suprimentos de software, e muitas vezes são difíceis de identificar. Analise todo o código de terceiros e converse com seus fornecedores sobre como eles protegem sua organização.
- Processos e políticas: são um problema se você não os tiver. Crie políticas para orientar seus desenvolvedores e estabeleça processos, ou playbooks, para responder a vulnerabilidades quando elas surgirem.
Os vetores comuns de ataque incluem roubo de atualizações, violação de assinaturas de código e comprometimento do código open source.
DevSecOps e segurança de software
DevSecOps é uma abordagem a cultura, automação e design de software que integra segurança como uma responsabilidade compartilhada em todo o ciclo de vida da TI. DevSecOps significa pensar na segurança da aplicação e da infraestrutura desde o início. Também significa automatizar algumas barreiras de segurança para impedir a desaceleração do fluxo de trabalho de DevOps. Selecionar as ferramentas corretas para integrar a segurança continuamente, como concordar em implementar um ambiente de desenvolvimento integrado (IDE) com funcionalidades de segurança, é um meio de atingir essas metas.
O Red Hat Advanced Cluster Security for Kubernetes integra verificações de segurança na cadeia de suprimentos de software e fluxos de trabalho do desenvolvedor para detectar e ajudar a solucionar problemas de segurança de alto risco. Ele também automatiza segurança no DevOps oferecendo aos desenvolvedores contexto de segurança nos fluxos de trabalhos existentes.
Segurança da cadeia de suprimentos de software e segurança das aplicações
Enquanto a cadeia de suprimentos de software inclui tudo e todos que interagem com o código, a segurança das aplicações o protege de ataques e vulnerabilidades. Assim como a segurança da cadeia de suprimentos de software, a das aplicações deve ser implementada em todas as etapas do desenvolvimento.
A segurança das aplicações começa no ciclo de vida de desenvolvimento do software e se estende por todo o ciclo de vida da aplicação, com o objetivo de impedir acessos não autorizados ao sistema e proteger os dados proprietários. Fortalecer a integridade da cadeia de suprimentos pode, por sua vez, aumentar a segurança das aplicações. Reforçar configurações, minimizar superfícies de ataque, restringir permissões, assinar software e distribuir compilações em diferentes partes do sistema são maneiras de impedir que invasores comprometam suas aplicações.
Redução das ameaças à cadeia de suprimentos de software
A segurança da cadeia de suprimentos de software é fundamental para sua organização, seus clientes e todos que dependem das contribuições open source. Nenhuma empresa quer sofrer violações, nem ser responsável por incidentes semelhantes em outra organização. Implementar proteções na cadeia de suprimentos de software é essencial.
Veja abaixo algumas práticas recomendadas que as equipes de segurança devem considerar:
- Conceda acesso com privilégios mínimos aos recursos em toda a cadeia de suprimentos, como ferramentas do desenvolvedor, repositórios de código-fonte e outros sistemas de software, habilite a autenticação multifator e use senhas fortes.
- Ofereça treinamentos regulares em segurança para os funcionários.
- Reforce a segurança de todos os seus dispositivos conectados e dados confidenciais.
- Conheça bem seus fornecedores e parceiros comerciais, começando pelos fornecedores diretos. Avalie os riscos relacionados à postura de cibersegurança e às políticas públicas de vulnerabilidades de cada fornecedor.
- Verifique e aplique patches em sistemas vulneráveis com frequência.
Os desenvolvedores também devem adotar práticas de codificação seguras, usando lock files (arquivos de bloqueio) e outras iniciativas focadas em segurança:
- Validar checksums (somas de verificação).
- Incluir dependências de fornecedores no controle de origem.
- Publicar e consumir a lista de materiais de software (SBOM).
- Adoção de níveis de cadeia de suprimento para artefatos de software (SLSA), incluindo:
- A capacidade de assinar digitalmente seus artefatos de software para autenticar a procedência.
- Aproveitar a automação para seus processos e políticas.
- Usar ferramentas de segurança automatizadas, como análise de composição de software (SCA), teste estático de segurança de aplicações (SAST) e teste dinâmico de segurança de aplicações (DAST), para verificar seu software.
Por que escolher a Red Hat?
A Red Hat sabe que é necessário proteger os componentes e as dependências do software no início do ciclo de vida de desenvolvimento, por isso, ela usa práticas de DevSecOps para automatizar a integração de segurança em todas as etapas. Deixe o trabalho de entender a cadeia de suprimentos upstream com a Red Hat e conte com uma solução confiável para o seu negócio, com suporte em tempo integral. A Red Hat e seus parceiros oferecem expertise, um ecossistema de DevSecOps abrangente e a capacidade de ajudar organizações a implementar a segurança da cadeia de suprimentos de software em todo o ciclo de vida do desenvolvimento.
Blog da Red Hat
Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.