Revisão de código seguro
Revise os detalhes e a metodologia para uma revisão de código seguro.
Uma revisão de código seguro é o exame conduzido por humanos do código-fonte do software para identificar vulnerabilidades de segurança que são o resultado de falhas de design, mas comprovadamente são problemas de segurança válidos. É uma parte importante do ciclo de vida de desenvolvimento de software (SDLC) de qualquer organização e ajuda a melhorar a qualidade geral e a segurança do software e a postura geral de segurança de uma organização.
As revisões de código seguro são um tipo especializado de engajamento que não está incluído em nossa oferta padrão de teste de penetração como serviço (PtaaS). Este serviço é fornecido por nossa equipe de serviços de segurança cibernética.
Detalhes da Metodologia
Na Vantico, seguimos as Diretrizes de Codificação Segura da OWASP quando se trata de Revisão Segura de Código. A Revisão Segura de Código da Vantico é um exame sistemático do código-fonte. Durante a revisão segura de código, a Vantico levará em consideração o risco que o código apresenta, o propósito e o contexto do código, a contagem de linhas de código e a(s) linguagem(s) de programação usada(s).
Aqui estão algumas etapas que podem ser incluídas em uma revisão segura de código:
Analise a composição do software: Inventário de componentes de código aberto e sinalize problemas potenciais usando ferramentas de análise de composição de software (SCA).
Execute Testes de Segurança de Aplicativos Estáticos: Execute uma ferramenta SAST automatizada para identificar vulnerabilidades comuns.
Valide manualmente as descobertas automatizadas: Revise e avalie os resultados automatizados para identificar e validar problemas reais dentro da funcionalidade crítica. Observação: algumas classes de descoberta - como injeção de código - não podem ser validadas sem o envolvimento ativo do aplicativo em execução.
Revise manualmente a lógica de negócios.
Forneça recomendações sobre mitigações razoáveis que possam abordar problemas descobertos ou alterações de código sugeridas ou caminhos de atualização para corrigir descobertas (quando aplicável).
Nota:
As ferramentas que nossos pentesters usam durante cada fase podem variar de teste para teste.
Análise da Composição do Software
Durante a Análise de Composição de Software (SCA), a Vantico analisa componentes de código aberto e de terceiros para vulnerabilidades conhecidas.
As seis fases para SCA são:
Identificação de Componentes
Detecção de Vulnerabilidade
Conformidade de Licença
Análise de Versão
Avaliação de Risco
Orientação de Remediação
Ferramentas
Semgrep Pro
OWASP Dependency-Check
Snyk Open Source
Trivy
Sonatype
Jfrog Xray
Teste de segurança de aplicativos estáticos
A Vantico utiliza ferramentas Static Application Security Testing (SAST) ao executar revisões de código seguras, o que auxilia nos esforços manuais ao procurar padrões em grandes bases de código. Um benefício do uso de ferramentas SAST é que elas ajudam a identificar todas as instâncias da vulnerabilidade no aplicativo. Algumas descobertas comuns encontradas com uma ferramenta SAST são:
SQL injection
Cross-site scripting (XSS)
Cross-site request forgery (CSRF)
Insecure cryptographic storage
Insecure communications
Buffer overflows
Authorization flaws
Ferramentas
Os pentesters Vantico podem usar ferramentas de teste de segurança de aplicativos estáticos, como:
Semgrep Pro
Bearer
Checkmarx
Fortify
Snyk
SonarQube
Veracode
Revisão manual da lógica de negócios
A execução de uma revisão manual de código seguro é essencial para descobrir falhas de lógica de negócios e verificar os resultados das ferramentas SAST. Abaixo estão alguns exemplos de áreas de foco durante uma revisão manual de código seguro.
Validação de entrada
Codificação de saída
Gerenciamento de autenticação e senha
Gerenciamento de sessão
Controle de acesso
Práticas criptográficas
Manipulação e registro de erros
Proteção de dados
Segurança da comunicação
Configuração do sistema
Segurança do banco de dados
Gerenciamento de arquivos
Gerenciamento de memória
Práticas gerais de codificação
Last updated