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 acessam seu código no ciclo de vida de desenvolvimento de software (SDLC), do desenvolvimento de aplicativos até o pipeline e implantação de CI/CD.
A cadeia de suprimentos inclui redes de informações sobre o software, como os componentes (por exemplo, infraestrutura, hardware, sistemas operacionais (OS), serviços em nuvem etc.), as pessoas que escreveram os códigos e as fontes deles, como registros, repositórios GitHub, bases de código ou outros projetos open source. Ela também inclui quaisquer vulnerabilidades que possam afetar negativamente a segurança do software , e é aí que entra a segurança da cadeia de suprimentos de software.
Por que a segurança da cadeia de suprimentos de software é essencial?
A maioria dos softwares não é escrito do zero. Geralmente, é uma combinação de artefatos de software que contêm software open source. No entanto, esses artefatos de software estão sujeitos a vulnerabilidades, e os desenvolvedores têm menos controle sobre o código-fonte de terceiros ou às alterações feitas no artefato ao longo do tempo. É importante observar que software sem a aplicação de patches é mais suscetível a problemas de segurança. Como o software é fundamental para executar as operações de negócios diárias, a segurança da cadeia de suprimentos é uma responsabilidade essencial de todas as organizações e equipes de segurança.
A empresa de software SolarWinds teve uma violação em 2020, e os agressores iniciaram código mal-intencionado pelo software de monitoramento e gerenciamento de TI Orion, uma plataforma usada por grandes empresas e agências do governo. Ao atacar a cadeia de suprimentos, os hackers se infiltraram não apenas na SolarWinds, mas também nos clientes dela. O Log4j é um software open source muito usado, porém, amplamente explorado, que deixou inúmeros usuários e organizações suscetíveis a ataques e violações de dados. Em 2021, o presidente dos Estados Unidos destacou a importância da segurança e das cadeias de suprimentos de software com duas ordens executivas da Casa Branca: cadeias de suprimentos e segurança cibernética.
Quais são os riscos de segurança à cadeia de suprimentos de software?
Riscos a qualquer componente da cadeia de suprimentos de software representam um possível risco a todos os artefatos de software que dependem do componente específico da cadeia de suprimentos. Isso dá aos hackers a oportunidade de inserir malware, um backdoor ou outro código mal-intencionado que comprometa componentes e respectivas cadeias de suprimentos associadas. Os ataques a cadeias de suprimentos de software, normalmente realizados por agentes que buscam ameaçar lucros e nações, estão aumentando e podem ter efeitos drásticos tanto no mundo digital quanto no físico. Geralmente, eles podem ser classificados em um destes quatro tipos de risco:
- Vulnerabilidades: são falhas no código do software que podem ser exploradas e levar a uma violação. Aplique patches e atualize seus artefatos de software para minimizar o risco.
- Licenciamento: é um risco legal que pode obrigar você a transformar artefatos de software resultantes em open source e anular direitos de patente. Consulte especialistas legais nessa área.
- Dependências de terceiros: são dependências de organizações externas como parte da cadeia de suprimentos de software e são difíceis de detectar. Analise todos os códigos de terceiros e converse com seus fornecedores sobre como eles protegem você.
- Processos e políticas: são um problema se você não os tiver. Crie políticas para seus desenvolvedores e processos (ou playbooks) para quando precisar reagir a uma vulnerabilidade.
Os vetores comuns de ataque incluem sequestro de atualizações, prejudicar a assinatura de códigos e comprometer código open source.
DevSecOps e segurança de software
O DevSecOps é uma abordagem relacionada a cultura, automação e design de software que integra a segurança como uma responsabilidade compartilhada em todo o ciclo de vida de 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 evitar que os fluxos de trabalho de DevOps fiquem lentos. 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.
Segurança da cadeia de suprimentos de software versus segurança das aplicações
A cadeia de suprimentos de software é composta de tudo e todos que acessam seu código. Já a segurança das aplicações protege o próprio código contra ataques e vulnerabilidades. Assim como a segurança da cadeia de suprimentos, a segurança das aplicações deve ser aplicada 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 pelo ciclo de vida da aplicação, com as metas de evitar acesso não autorizado ao seu sistema e proteger dados proprietários. O fortalecimento da integridade da sua cadeia de suprimentos pode aumentar a segurança das aplicações. Fortalecer configurações, minimizar superfícies de ataque, restringir permissões, assinar softwares e distribuir compilações em diferentes partes do seu sistema são maneiras de impedir que os agressores comprometam suas aplicações.
Redução das ameaças à cadeia de suprimentos de software
A segurança da cadeia de suprimentos de software é importante para a empresa, os clientes e qualquer um que aproveite as contribuições open source. Assim como nenhuma empresa quer sofrer violações, a maioria também teme ser responsável pela ocorrência de eventos semelhantes com outras entidades. Por isso, é fundamental implementar proteções na cadeia de suprimentos de software.
Veja a seguir algumas práticas recomendadas que as equipes de segurança devem considerar:
- Oferecer o mínimo de privilégios de acesso em toda a cadeia de suprimentos (por exemplo, ferramentas para desenvolvedores, repositórios de código-fonte e outros sistemas de software), habilitar a autenticação multifatores e usar senhas fortes.
- Realizar treinamentos de segurança frequentes para os funcionários.
- Fortalecer a segurança de todos os dispositivos conectados e de dados confidenciais.
- Conhecer seus fornecedores e as pessoas com quem faz negócios, começando com seus fornecedores diretos. Conduzir avaliações de risco para analisar a postura de segurança cibernética de cada fornecedor e as políticas públicas sobre vulnerabilidades.
- Verificar e aplicar patches com regularidade em sistemas vulneráveis.
Os desenvolvedores também devem considerar práticas seguras de codificação, usando bloqueio de arquivos e outras iniciativas com foco em segurança:
- Validação de somas de verificação.
- Inclusão de dependências de fornecedor no controle da fonte.
- Publicação e consumo de lista de materiais de software (SBOM).
- Adoção de níveis de cadeia para artefatos de software (SLSA), incluindo:
- A capacidade de assinar digitalmente seus artefatos de software para autenticar a procedência.
- Aproveitamento da automação para seus processos e políticas.
- Verificação do seu software com ferramentas automatizadas de teste de segurança, como análise de composição de software (SCA), testes de segurança de aplicações estáticas (SAST) e testes de segurança de aplicações dinâmicas (DAST).
Por que escolher a Red Hat?
A Red Hat entende o open source e a importância de proteger a cadeia de suprimentos de software. A Red Hat se envolve em comunidades upstream para desenvolver excelentes softwares e também relacionamentos de confiança. Deixe que a Red Hat faça o trabalho de compreender a cadeia de suprimentos de software upstream e ofereça uma solução na qual você pode confiar e usar na sua empresa o tempo todo. Se você precisa de assistência com sua cadeia de suprimentos de software e SDLC, os engajamentos do Red Hat Open Innovation Labs ou dos Red Hat Services podem ajudar.