Implementando SAST e OSS Scanning com Fortify e Sonatype Lifecycle no GitLab CI

Imagine que você seja o reponsável técnico de um projeto e quer ter certeza de que o código não inclui nenhuma vulnerabilidade ou erro de segurança. Pode ser muito demorado verificar sua base de código de forma manual, especialmente se for grande. Pois bem, nesse artigo vou te ajudar a economizar tempo e esforço, permitindo que você use a varredura de código com duas ferramentas bem utilizadas no mercado: OpenText Fortify e Sonatype Lifecycle. Com a varredura de código, você recebe alertas indicando qualquer código problemático e poderá localizar rapidamente as áreas problemáticas e fazer as alterações necessárias.

O que é varredura de código do tipo SAST?

A varredura de código do tipo SAST (Static Application Security Testing) é uma técnica de segurança que analisa o código-fonte de uma aplicação em busca de vulnerabilidades e erros de codificação. Diferente de outras abordagens que analisam a aplicação em execução, o SAST examina o código estático, ou seja, o código escrito pelos desenvolvedores antes de ser compilado ou executado.

Essa análise é realizada sem a necessidade de executar o programa, permitindo a identificação precoce de problemas de segurança durante as fases iniciais do desenvolvimento. Ferramentas de SAST, como o OpenText Fortify, utilizam algoritmos avançados para escanear o código em busca de padrões conhecidos de vulnerabilidades, como injeção de SQL, XSS (Cross-Site Scripting), buffer overflow, entre outros.

O principal benefício do SAST é a capacidade de detectar e corrigir vulnerabilidades antes que o código seja implantado em produção, reduzindo o risco de exploração por atacantes. Além disso, a integração dessas ferramentas em pipelines de CI/CD, como as do GitLab, permite uma análise contínua e automatizada, garantindo que o código seja constantemente monitorado e mantido seguro.

Utilizando o Fortify para Analise de Código Estática

A varredura de código do tipo SAST (Static Application Security Testing) com o Fortify utiliza uma CLI chamada Scancentral para analisar o código em um repositório do GitLab, identificando vulnerabilidades de segurança e erros de codificação. O Scancentral é uma ferramenta robusta que permite a integração contínua de varreduras de segurança em pipelines de CI/CD, como as do GitLab. Ele suporta uma ampla gama de linguagens de programação e frameworks, garantindo uma análise abrangente do código.

Quando a varredura de código encontra uma possível vulnerabilidade ou erro, o Fortify exibe um alerta na interface da aplicação, em um painel de controle (Dashboard). Este painel fornece uma visão detalhada das vulnerabilidades encontradas, categorizadas por severidade e tipo. Cada alerta está associado à versão específica da aplicação dentro do Fortify, facilitando o rastreamento e a gestão das vulnerabilidades ao longo do ciclo de vida do desenvolvimento.

Após corrigir o código que disparou o alerta, o Fortify reavalia a vulnerabilidade e, se a correção for bem-sucedida, fecha o alerta automaticamente. Isso garante que apenas vulnerabilidades ativas e não resolvidas permaneçam visíveis, ajudando a manter o foco na segurança contínua do código.

Gerando Informações Necessárias para Configurar o Fortify

Para configurar a varredura de código com Fortify no GitLab CI, você precisará de algumas informações específicas: o token de autenticação, o nome da aplicação e a versão da aplicação. Abaixo estão os passos detalhados para obter cada uma dessas informações.

1. Gerando o Token de Autenticação (BR_SSC_TOKEN)

  1. Acesse o Fortify Software Security Center (SSC):

    • Abra o navegador e acesse a URL do Fortify SSC.
  2. Faça Login:

    • Insira suas credenciais para fazer login no Fortify SSC.
  3. Navegue até a Seção de Tokens:

    • No menu superior, clique em “Admin” e depois em “Tokens”.
  4. Crie um Novo Token:

    • Clique no botão “Generate Token” (Gerar Token).
    • Preencha os campos necessários, como nome e descrição do token.
    • Defina as permissões apropriadas para o token.
    • Clique em “Generate” (Gerar) e copie o token gerado.
  5. Armazene o Token com Segurança:

    • Guarde o token em um local seguro, pois ele será usado na configuração do GitLab CI.

2. Obtendo o Nome da Aplicação (APP_NAME_FORTIFY)

  1. Acesse o Fortify SSC:

    • Abra o navegador e acesse a URL do Fortify SSC.
  2. Navegue até a Seção de Aplicações:

    • No menu superior, clique em “Applications” (Aplicações).
  3. Selecione a Aplicação:

    • Encontre e clique na aplicação que você deseja escanear.
    • O nome da aplicação será exibido na lista de aplicações. Este é o valor que você usará para APP_NAME_FORTIFY.

3. Definindo a Versão da Aplicação (APP_VERSION)

  1. Acesse o Fortify SSC:

    • Abra o navegador e acesse a URL do Fortify SSC.
  2. Navegue até a Seção de Aplicações:

    • No menu superior, clique em “Applications” (Aplicações).
  3. Selecione a Aplicação:

    • Encontre e clique na aplicação que você deseja escanear.
  4. Defina a Versão:

    • Dentro da aplicação, você verá uma lista de versões ou a opção de adicionar uma nova versão.
    • Defina a versão da aplicação que você está escaneando. Este é o valor que você usará para APP_VERSION.

Exemplo de Configuração no GitLab CI

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Framework utilizado Hugo
Desenvolvido por Lucas Oliveira