O que é a segurança da cadeia de suprimentos de software?

por | julho 2022 | Blog | 0 Comentários

Para falar sobre cadeia de suprimentos de software, precisamos destacar que muitos dos softwares atuais não são desenvolvidos do zero. Ao invés disso, os desenvolvedores confiam em uma gama de recursos de terceiros para criar suas aplicações.

Ao usar bibliotecas pré-construídas, os desenvolvedores não precisam reinventar a roda, podendo utilizar somente o que já existe e desprendendo tempo no código proprietário, ajudando a diferenciar seus softwares, finalizar projetos mais rapidamente, reduzir custos e permanecer competitivos.

Essas bibliotecas de softwares de terceiros fazem parte da cadeia de suprimento de software. Ao mesmo tempo que seu uso é benéfico, ela também traz riscos e necessita ser protegida.

Vulnerabilidades significativas desses últimos tempos sugerem que a cadeia de suprimentos de software está em crescimento. Ler sobre a vulnerabilidade Log4j ou o ataque SolarWinds a esse setor relembra que esses componentes podem significar ameaças.

Como esse tipo de ataque é relativamente novo, muitas organizações sofrem para determinar quais aplicações podem ser afetadas e como eles podem lidar com as ameaças.

Uma segurança eficiente da cadeia de suprimentos de software garante que qualquer componente ou influências do código da aplicação estão protegidos e são confiáveis.

Do que é feita a cadeia de suprimentos de software?

A cadeia de suprimentos de software, ou “software supply chain”, é constituída de todos os componentes envolvidos no desenvolvimento de uma aplicação. Esses são componentes que os times podem ou não desenvolver ou manufaturar internamente, incluindo:

  • Hardware e infraestrutura;
  • Sistemas operacionais;
  • Compiladores e editores;
  • Drivers e dependências;
  • Scripts open-source e pacotes de softwares;
  • Repositório de engines, suítes de teste e ferramentas de CI e CD;
  • Serviços cloud e data centers.

O supply chain também envolve pessoas, como companhias terceirizadas, consultores e engenheiros.

O foco primário da segurança da cadeia de suprimentos de software é combinar o gerenciamento de risco e os princípios de cibersegurança. Fazer isso permite detectar, mitigar e minimizar os riscos associados a esses componentes de terceiros nas aplicações.

De onde as ameaças a cadeia de suprimentos vem?

Elas existem porque a confiança que as empresas depositam nelas. Por exemplo, ninguém espera que a Microsoft lance um patch de segurança que expõe seu ambiente a ataques. Os agentes dos ataques se aproveitam dessa confiança, sabendo que muitos dos desenvolvedores não vão muito longe para fazer uma checagem cruzada do software que estão utilizando.

Alguns exemplos de como uma organização pode ser vulnerável a ataques à cadeia de suprimentos são:

  • Updates comprometidos;
  • Projetos Open-Source;
  • Desenvolvedores terceirizados.

Quais as melhores práticas para segurança da cadeia de suprimentos?

Para garantir a segurança da cadeia de suprimentos de software, é preciso ter uma visão clara e controle sobre cada parte das aplicações desenvolvidas. Ao mesmo tempo que controles técnicos são essenciais, eles também são cruciais para desenvolver uma estrutura concreta de governança, risco e conformidade para os processos, políticas e procedimentos de negócios.

Avalie sua cadeia de suprimentos

Para ter uma visão completa das dependências das aplicações, é necessário realizar três perguntas, que incluem:

  • O que está envolvido em cada passo do ciclo de vida do desenvolvimento?
  • Existem engenheiros que têm acesso ao código?
  • Quem faz as instalações dos updates do software e como?

Os negócios devem auditar todas as suas aplicações e os acessos concedidos para o pessoal externo e interno. O ideal é que isso seja documentado e automatizado, para que quando uma violação ocorra, você possa encontrar quem teve o acesso.

Gerenciamento de segurança de acessos privilegiados

Uma vez que os criminosos ganham acesso ao sistema, eles geralmente tentam se mover lateralmente por meio da rede para encontrar contas privilegiadas. Se obtiverem sucesso, eles podem utilizar essa conta para ganhar acesso a dados sensíveis para tomar o controle do sistema.

Por essa razão, o time de segurança deve monitorar de perto as contas privilegiadas para identificar atividades incomuns. Deve-se monitorar mudanças de senhas, atividades de login, mudanças de permissão, e elas precisam corresponder a atividade padrão.

Por exemplo, se uma conta de administrador reportar diversas tentativas de entrada com senha incorreta, o time de segurança precisa investigar e bloquear a conta até que se tenha certeza de que foi um caso legítimo de tentativas não sucedidas.

Administradores devem aplicar o princípio de “quanto menos privilégios possíveis” em todas as contas na rede. Acessos elevados somente devem ser concedidos quando necessário.

Administradores de sistemas devem usar automação e ferramentas de gerenciamento de configuração para controlar e monitorar a administração. Isso não deixa espaço para intervenção humana e possíveis erros.

Somente utilizar parceiros confiáveis

É importante verificar a credibilidade, o histórico de serviço, os projetos passados e a reputação no mercado de qualquer parceiro em potencial. Para indivíduos, é necessário sempre realizar verificações rigorosas de antecedentes que identifiquem registros criminais ou pedidos de falência.

Alguns requisitos regulatórios até mesmo exigem que fornecedores possuam certificações de qualidade como a ISO27001.

Monitorar terceirizados

Monitorar constantemente terceirizados ajuda a mitigar o impacto de vulnerabilidades ou ataques a fornecedores. Isso também ajuda a resolver problemas como credenciais expostas na dark web, ou qualquer histórico de violações de dados passadas.

As empresas também podem pedir por inspeções em qualquer documentação de segurança dos fornecedores, para garantir que suas políticas e procedimentos estão alinhados com as melhores práticas e padrões de segurança.

Encontrar e consertar vulnerabilidades

Um dos principais culpados nos ataques à cadeia de suprimentos são os softwares sem patches. Uma vez que um boletim de vulnerabilidade é lançado, os criminosos procuram por sistemas sem patches de conserto para violar. Portanto, o time de TI precisa aproveitar as ferramentas de análise de composição de software para descobrir vulnerabilidades em códigos de terceiros e propor correções.

Criar um plano de resposta a incidentes

Assumir que as organizações vão ser atacadas e planejar de acordo é obrigatório.

Um plano de resposta a incidentes define o que é necessário ser feito quando um ataque acontece, quem deve fazer o que, e em que ordem. A matriz RACI é um método útil para definir quem é responsável por tomar ações, quem é responsabilizado, quem deve ser consultado e quem deve ser somente informado durante algum incidente.

Outra área a se considerar é o plano de comunicação entre as diferentes partes do RACI, o canal de comunicação a se usar e a árvore de escalonamento.

O plano de recuperação de desastres deve ser sólido e testado contra vários cenários. Um plano DR pode envolver backups tradicionais ou sites de failover. Um mecanismo de recuperação testado pode proteger contra sistemas comprometidos e ataques ransomware.

Conclusão

As organizações precisam viver com a verdadeira ameaça de ciberataques o tempo todo. Essa é a nova realidade. Embora sua relativa frequência, os ataques à cadeia de suprimentos podem causar danos significativos.

A melhor proteção para este tipo de ataque começa com o conhecimento sobre a cadeia de suprimentos de software, auditoria dos terceiros em que se confia, escaneamento de componentes de softwares por vulnerabilidades e possuindo um plano de gerenciamento de incidentes robusto.

A Veracode tem mais de quinze anos de experiência ajudando as empresas a começarem e maturarem seus programas de segurança. Se as empresas dos seus clientes não possuem um plano de segurança para a cadeia de suprimentos de software ainda, fale com a M3Corp e conheça sobre os programas de Veracode que podem melhorar o tempo de resolução deles enquanto treina os desenvolvedores para integrar as melhores práticas de segurança diretamente no ciclo de vida de desenvolvimento.

Clique aqui para conhecer mais sobre a Veracode e aqui para falar diretamente com a M3Corp.