Como identificar software de terceiros vulnerável (rapidamente)
Os riscos de segurança de software de terceiros estão aumentando, assim como os ataques cibernéticos significativos que eles facilitam. De acordo com um relatório da CrowdStrike, 45% das organizações pesquisadas disseram ter sofrido pelo menos um ataque à cadeia de suprimentos de software em 2021. Em 2023, o número médio de aplicativos SaaS usados por cada empresa é de 130 - um aumento de 5x em relação a 2021. Com os relacionamentos de terceiros se multiplicando nessas velocidades, detectar e gerenciar riscos de segurança na rede de terceiros ficará cada vez mais difícil.
Nesta postagem, descrevemos quatro métodos para descobrir software de terceiros vulnerável que pode aumentar o risco de sofrer uma violação de dados.
4 métodos para identificar vulnerabilidades de software de terceiros
O processo de detecção de software vulnerável de terceiros não é um processo autônomo; deve estar dentro de um programa mais amplo de segurança cibernética de terceiros conhecido como Gerenciamento de Riscos de Terceiros (TPRM). A detecção de vulnerabilidades de terceiros é o segundo estágio do ciclo de vida de um TPRM.
Saiba como o UpGuard simplifica o gerenciamento de riscos do fornecedor >
Os melhores programas de TPRM aumentam várias ferramentas de segurança para produzir o mecanismo de detecção de risco de terceiros mais abrangente. Essa caixa de ferramentas de segurança cibernética geralmente consiste no seguinte:
- Classificações de segurança
- Avaliações de risco
- Scanners de vulnerabilidades de segurança
- Teste de penetração
Cada um desses métodos para detectar problemas de segurança de software do fornecedor é abordado na lista abaixo.
1. Examine as avaliações de risco de segurança de aplicativos do fornecedor
As avaliações de risco, ou questionários de segurança, são um dos melhores métodos para extrair insights profundos de segurança cibernética sobre quaisquer aspectos da superfície de ataque de um fornecedor. As avaliações de risco podem ser baseadas em estrutura para identificar deficiências de controle de segurança em relação aos padrões de segurança populares ou personalizadas para investigações focadas sobre riscos específicos de terceiros.
Algumas avaliações populares baseadas em estrutura que podem ajudá-lo a descobrir vulnerabilidades em aplicativos e softwares da Web de terceiros incluem:
- Cloud Security Alliance — Questionário da Iniciativa de Avaliações de Consenso (CAIQ).
- Questionário do Regulamento Geral sobre a Proteção de Dados (GDPR).
- Ferramenta de Avaliação de Fornecedores da Comunidade de Ensino Superior (HECVAT).
- ISO 27001.
- Instituto Nacional de Padrões e Tecnologia - NIST SP 800-171.
- Grupo de Avaliações Compartilhadas — Questionário Padronizado de Coleta de Informações (SIG/SIG-Lite).
- Aliança de Segurança de Fornecedores — Questionário VSA (VSA).
- Questionário de Padrões de Segurança de Dados do Setor de Cartões de Pagamento (PCI DSS).
Saiba mais sobre os principais questionários para avaliações de fornecedores de TI >
A maioria dos questionários padrão do setor mapeia repositórios públicos de vulnerabilidades conhecidas que afetam o software de terceiros.
Saiba como criar um Plano de Resposta a Incidentes >
Projeto Open Web Application Security Project (OWASP) Top 10
O OWASP Top 10 lista os riscos de segurança de aplicativos da Web mais críticos. Ele fornece orientações sobre como prevenir e mitigar esses riscos. Você pode usar este questionário para avaliar a segurança de software de terceiros contra vetores de ataque comuns, como:
- Script entre sites (XSS)
- Ataques de injeção de código malicioso
- Vulnerabilidades de código aberto
- Suscetibilidade à injeção de SQL.
Sistema de Pontuação de Vulnerabilidade Comum (CVSS)
O CVSS é uma estrutura para avaliar a gravidade das vulnerabilidades de segurança. Ele atribui uma pontuação às vulnerabilidades com base em seu impacto e probabilidade de exploração. Você pode usar este questionário para avaliar os riscos associados ao software de terceiros.
Estrutura de segurança cibernética do Instituto Nacional de Padrões e Tecnologia (NIST)
O NIST Cybersecurity Framework é um conjunto de diretrizes para melhorar o gerenciamento de riscos de segurança cibernética. Você pode usar este questionário para avaliar a postura de segurança de software de terceiros.
Centro de Controles de Segurança na Internet (CIS)
Os controles CIS são um conjunto de práticas recomendadas para proteger sistemas e dados de TI. Você pode usar este questionário para identificar falhas de segurança em software de terceiros e implementar os controles necessários.
Controles de segurança críticos do SANS Institute
O SANS Institute, Critical Security Controls, fornece uma lista priorizada de ações para melhorar a segurança cibernética. Você pode usar este questionário para avaliar a segurança de software de terceiros para que os fornecedores críticos possam ser priorizados nos esforços de correção.
Vulnerabilidades e exposições comuns (CVE)
O banco de dados CVE é uma lista disponível publicamente de vulnerabilidades e exposições de segurança cibernética conhecidas que podem estar afetando os fornecedores de software em sua cadeia de suprimentos. Esta lista atualizada regularmente pode ser acessada através do Banco de Dados Nacional de Vulnerabilidades (NVD).
Questionários personalizados são ótimos para avaliar aspectos específicos da segurança cibernética do software do fornecedor para otimizar os esforços de gerenciamento de vulnerabilidades. Os questionários personalizados podem obter insights sobre os seguintes vetores complexos de ataque de software de terceiros:
- Práticas de segurança inadequadas no ciclo de vida de desenvolvimento de software.
- Os sistemas operacionais legados correm um risco maior de injeções de malware.
- Segurança DevOps fraca.
- APIs desprotegidas e expostas publicamente.
- Bancos de dados mal configurados expõem códigos-fonte a hackers.
As soluções de gerenciamento de risco do fornecedor (VRM), como o UpGuard, incluem um criador de questionários personalizado em seu conjunto de ferramentas VRM:
2. Use classificações de segurança para monitorar as posturas de segurança do fornecedor
As avaliações de segurança por si só não darão suporte a esforços de mitigação responsivos, garantindo o impacto mínimo dos riscos de segurança de terceiros. Isso ocorre porque as avaliações de segurança refletem apenas o estado da superfície de ataque de um fornecedor no momento da avaliação. Depois que as respostas a essas avaliações forem recebidas, é provável que a superfície de ataque de cada fornecedor tenha sido modificada por novos riscos emergentes.
Para resolver esse enigma, as avaliações pontuais devem ser aumentadas com classificações de segurança que quantifiquem a postura de segurança de um fornecedor em relação a uma lista de vetores de ataque comuns. As soluções de classificação de segurança monitoram continuamente as superfícies de ataque de terceiros e respondem instantaneamente às variações detectadas. Uma queda na classificação de segurança provavelmente indica um risco emergente de segurança de software de terceiros que deve ser examinado com mais detalhes com uma avaliação de risco direcionada.
>Assista ao vídeo abaixo para saber como a UpGuard está ajudando as equipes de gerenciamento de risco a melhorar as avaliações de risco de valor.
A combinação de avaliações de risco e classificações de segurança oferece às equipes de gerenciamento de risco uma consciência em tempo real dos riscos emergentes de segurança de software de terceiros.
É importante observar que a detecção de uma vulnerabilidade de software de terceiros indica um vetor de ataque que os hackers já podem ter explorado. Além de um mecanismo de detecção de vulnerabilidades rápido e preciso, você também deve ter controles para detectar tentativas de violação de dados em andamento.
Saiba como evitar violações de dados com este guia gratuito >
3. Implemente um cronograma regular de testes de penetração
O teste de segurança de aplicativos é um dos métodos mais eficazes de descobrir vulnerabilidades de software que os fornecedores de software de terceiros ignoraram. Idealmente, os testes de penetração devem ser realizados por partes independentes para remover o risco de viés.
Se você é um desenvolvedor de software, sua política de teste de penetração deve incluir testes internos e externos. O teste de penetração mais abrangente deve envolver uma combinação de teste de segurança de aplicativo estático (SAST) e teste de segurança de aplicativo dinâmico (DAST).
O teste SAST analisa o código-fonte de uma solução em busca de vulnerabilidades, incluindo pontos de injeção, Cross-Site Scripting (XSS) e travessias de diretório. Este teste deve ser realizado logo após a escrita de uma base de código. A solução Static Analysis da Veracode pode ser usada para automatizar o processo de teste SAS na fase de produção.
O teste DAST é realizado no estágio de construção do ciclo de vida de desenvolvimento de software. Este tipo de teste é semelhante aos testes de penetração da equipe vermelha. Como um hacker real, a metodologia de teste interage com um aplicativo para descobrir falhas exploráveis no tempo de execução. A Veracode também oferece uma solução de teste DAST conhecida como Análise Dinâmica.
4. Use ferramentas de detecção de vulnerabilidades de código aberto
Os produtos de código aberto introduzem riscos de segurança nas profundezas da base de código de um aplicativo, dissipando o mito de que apenas aplicativos da web voltados para o público atuam como vetores de ataque. As dependências de software são numerosas demais para rastrear, muito menos monitorar riscos de segurança, mas, felizmente, as ferramentas de detecção podem automatizar a descoberta de ameaças à segurança em software de código aberto. Algumas opções populares estão listadas abaixo.
AposentarJS
O RetireJS é um verificador de dependências de código aberto focado em JavaScript que fornece aos desenvolvedores uma maneira eficiente e eficaz de detectar e resolver vulnerabilidades de segurança conhecidas. O projeto inclui vários componentes, incluindo um scanner de linha de comando e plug-ins para ferramentas de compilação e navegadores populares, como Grunt, Gulp, Chrome, Firefox, ZAP e Burp.
Snyk
O Snyk é um serviço comercial que fornece aos desenvolvedores ferramentas poderosas para detectar e resolver vulnerabilidades conhecidas nas dependências do JavaScript npm. O serviço oferece um recurso exclusivo de atualização guiada e patches de código aberto para ajudar os desenvolvedores a corrigir vulnerabilidades com eficiência.
OSSIndex
O OSSIndex é um verificador de dependência abrangente e multitecnologia que oferece suporte a uma variedade de ecossistemas de desenvolvimento populares, incluindo NPM, Nuget, Maven Central Repository, Bower, Chocolatey e MSI. O OSSIndex fornece uma API de vulnerabilidade gratuita que permite aos desenvolvedores identificar de forma rápida e fácil possíveis vulnerabilidades de segurança em seu software.
Verificação de dependência
A verificação de dependência é uma poderosa ferramenta de linha de comando de código aberto desenvolvida pela OWASP que permite aos desenvolvedores identificar e resolver possíveis vulnerabilidades de segurança em seu software. A ferramenta oferece suporte a uma variedade de ecossistemas de desenvolvimento populares, incluindo Java, .NET, JavaScript e Ruby.
Ginásio
O Gemnasium é uma ferramenta comercial que fornece aos desenvolvedores recursos robustos de verificação de dependência e atualização automática para ecossistemas de desenvolvimento populares, incluindo Ruby, NPM (JavaScript), PHP, Python e Bower (JavaScript). A ferramenta aproveita seu próprio banco de dados abrangente, que se baseia em várias fontes para fornecer aos desenvolvedores uma visão abrangente de possíveis vulnerabilidades de segurança em seu software.
Projeto de Segurança de Nó (NSP)
O Node Security Project é uma iniciativa focada em segurança que identifica e mitiga vulnerabilidades de segurança em módulos Node.js e dependências NPM. O projeto utiliza uma variedade de ferramentas poderosas que verificam e analisam dependências para identificar e relatar vulnerabilidades, aproveitando bancos de dados de vulnerabilidades disponíveis publicamente, como o NIST National Vulnerability Database (NVD), bem como seu próprio banco de dados abrangente.
Auditoria de empacotamento
Bundler-audit é um verificador de dependência de linha de comando de código aberto projetado explicitamente para uso com o Ruby Bundler. O projeto obtém informações de vulnerabilidade do NIST NVD e do banco de dados de vulnerabilidades RubySec, fornecendo aos desenvolvedores uma visão abrangente de possíveis vulnerabilidades de segurança em seu software.
SRC:CLR
SRC:CLR é uma ferramenta comercial que fornece aos desenvolvedores recursos abrangentes de verificação de dependências e plug-ins poderosos para plataformas de desenvolvimento populares, incluindo IDEs, sistemas de implantação e repositórios de origem. A ferramenta aproveita seu próprio banco de dados de vulnerabilidades, que se baseia em várias fontes, incluindo o NIST NVD e várias listas de discussão e sistemas de rastreamento de bugs.
Hakiri
Hakiri é uma ferramenta comercial que fornece aos desenvolvedores recursos poderosos de verificação de dependência e análise de código estático para projetos GitHub baseados em Ruby e Rails. A ferramenta oferece planos gratuitos para projetos públicos de código aberto e planos pagos para projetos privados.
O módulo Vulnerabilidades do UpGuard detecta automaticamente ameaças à segurança de terceiros a partir de informações expostas nos cabeçalhos HTTP de cada fornecedor, conteúdo do site e portas abertas. O recurso de monitoramento da superfície de ataque do UpGuard também verifica organizações externas que influenciam sua superfície de ataque em busca de riscos, facilitando violações de terceiros e ataques à cadeia de suprimentos.
Quando uma ameaça é detectada, ela pode ser tratada instantaneamente por meio de fluxos de trabalho integrados de correção e avaliação de risco, ajudando você a manter uma forte postura de segurança resiliente à primeira e até à terceira violação de dados.
A UpGuard também oferece uma solução completa de gerenciamento de risco de fornecedores para ajudá-lo a gerenciar riscos de segurança por meio de uma estrutura comprovada de gerenciamento de riscos de terceiros.