Os diferentes modos de se realizar SAST com a Veracode
Tags: sast, appsec, devsecops, veracode
Published: 2023-03-14 19:22:58

Em colaboração ao nosso post anterior: [**O que é SAST?**](https://dev.to/m3corp/o-que-e-sast-5213) iremos então desenvolver a ideia macro de quais são as formas de realizar análises SAST em nossas aplicações utilizando a Veracode, bem como alguns casos de uso e momentos em que cada uma pode se encaixar em seu ciclo de desenvolvimento.

A Veracode trabalha com os seguintes módulos de SAST:

1. IDE Scan (Greenlight)
2. Pipeline Scan
3. Sandbox Scan
4. Policy Scan

---

### IDE Scan (Greenlight)

#### O que é?
Esse módulo permite que os desenvolvedores varram os códigos (classes, arquivos individuais) em busca de vulnerabilidades diretamente de sua IDE rapidamente enquanto estão programando.

#### Porque é importante?
Ele colabora com a implementação do conceito de shift-left dentro de ciclo de desenvolvimento seguro, fazendo com que vulnerabilidades sejam encontradas e corrigidas já no estágio inicial de construção do software, diminuindo o custo das correções, evitando a exposição do desenvolvedor e atraso nas entregas em uma sprint, além de apoiar na conscientização de codificação segura.

---
### Pipeline Scan

#### O que é?
Esse módulo permite a análise estática da sua aplicação completa de forma muito rápida (cerca de 90 segundos dependendo do tamanho e complexidade de sua aplicação). Apesar de seu nome, ele possui a flexibilidade de ser executado em qualquer terminal (Windows, Linux, MacOs, esteiras CI/CD) pois é disparado por meio de uma CLI.

#### Porque é importante?
Quando pensamos em velocidade de entrega sem comprometer a segurança, certamente o Pipeline Scan da Veracode é um ótimo aliado. Ele possui uma tecnologia na qual colabora para apresentar as vulnerabilidades das aplicações em formato de texto e, não na geração de relatórios, dashboards detalhados ou correlação de históricos, com isso, a complexidade de apresentação de informações se torna mais simples.

Com ele é possível realizar análises SAST após cada commit, sem impactar na execução de esteiras em estágios iniciais do desenvolvimento (onde é normal ter um número maior de commits e de falhas identificadas) ou até mesmo diretamente pela estação de trabalho do desenvolvedor. Dependendo da maturidade ou necessidade, conseguimos barrar a esteira com Pipeline Scan a partir da identificação de vulnerabilidades de determinada severidade (crítica, alta, média), baseado em categorias do CWE (SQL Injection, XSS, etc...) ou até mesmo em uma política de compliance de segurança

---
### Sandbox Scan

#### O que é?
É um espaço isolado para cada aplicação que permite que os times de desenvolvimento e colaboradores do processo de construção das aplicações possam submeter a aplicação ao SAST, avaliar os resultados e verificar se estes afetam as regras de segurança antecipadamente sem que os relatórios de conformidade sejam afetados (KPIs, compliance reports, etc).

#### Porque é importante?
As análises de segurança possuem relatórios, históricos, dashboards e KPIs com propósito de informar o estado atual e evolução da maturidade de segurança. Quando se atinge as metas me maturidade estabelecidas, também é importante que se mantenha uma constante evolução de todo o processo para que então os riscos sejam melhores gerenciados e a possibilidade de um incidente se reduza. 
Pensando nesses pontos alinhados ao processo de desenvolvimento ágil, ter a possibilidade de realizar checagens e análises prévias com a garantia de que as aplicações serão entregues de acordo com a política de segurança estabelecida sem que haja retrabalhos ou atrasos é uma boa prática.

O Sandbox Scan da Veracode é um diferencial de mercado que atende os pontos acima citados como parte de sua oferta para o apoio de um programa de DevSecOps eficiente. Temos a possibilidade de dispará-lo via plugins de IDEs (Visual Studio, IntelliJ, Eclipse por exemplo) CLI/scripts diretamente de um terminal ou via esteira CI/CD. Esse último é um ótimo caso de uso pois, podemos fazer o SAST em Sandboxes de diferentes branches de um mesmo projeto (feature, desenvolvimento, homologação) dessa forma, podemos garantir que as revisões e análises de segurança sejam feitas antecipadamente antes de um processo da esteira em que decidirá se a aplicação poderá ou não ser publicada para uso (main, homolog ou dev por exemplo).

---
### Policy Scan

#### O que é?
É um dos principais módulos SAST da Veracode. Ele armazena os relatórios de scans anteriores e, com os resultados de vulnerabilidades identificadas, correlaciona com as regras de segurança para indicar se a última versão da aplicação analisada está em compliance com a política estabelecida.


#### Porque é importante?
Acompanhar a evolução da maturidade de segurança, entender qual estado atual do ambiente na perspectiva de segurança, definir as métricas e necessidades atuais de segurança para os projetos desenvolvidos faz parte do core de um planejamento estratégico de segurança. 

O Policy Scan é o módulo capaz de trazer todas essas possibilidades citadas e, prover insights que possam melhorar a postura e maturidade de segurança continuamente. 

Como boa prática, é recomendado que esse módulo SAST especificamente, seja integrado em um momento da esteira ou ciclo de desenvolvimento onde se realiza verificações importantes que poderão passar por um exame de avaliação que permitirá ou não da aplicação seguir a uma etapa de publicação (produção/homologação/staging), ou seja, o Policy Scan é capaz de barrar a subida de uma aplicação baseado em métricas pré-definidas. É claro que nesse ponto, entende-se que a cultura de DevSecOps já está em um nível mais alto e principalmente já há processos bem definidos e estabelecidos para tal.

Para obter mais informações ou entrar em contato conosco, acesse: [contato](https://www.m3corp.com.br/contato/)