SAST, DAST, IAST e SCA o que são estas ferramentas ? No que podem me ajudar ?

 

 
Quem participa do desenvolvimento de software, está cada vez ouvindo mais sobre estas ferramentas, então neste post vou explicar o que cada uma delas faz, e como elas podem se tornar um excelente aliado no processo de desenvolvimento de software.


O que é Shift Left ?

Imaginem as etapas de desenvolvimento conforme a imagem acima, então temos:

  1. Planejamento
  2. Criação do código
  3. Build
  4. Execução de testes
  5. Publicação
  6. Aplicação operando no ambiente de produção

Este conceito, traduzindo seria algo como "Deslocar para a Esquerda", significa que, durante o desenvolvimento, o quanto antes identificarmos uma falha, mais barato ela sairá para nós e para o cliente. Em outras palavras, isso quer dizer que o quanto mais à esquerda conseguirmos testar ou até mesmo automatizar estes testes utilizando as ferramentas corretas, as chances de que falhas básicas sejam descobertas somentes quando a aplicação for liberada para produção sejam mínimas, e é com este propósito que precisamos conhecer as ferramentas, SAST, DAST, IAST e SCA.

 

Static Application Security Testing (SAST)

Esta ferramenta executa testes em aplicações de forma estática, ou seja, ela faz uma verificação linha a linha e procura por código que posso causar algum tipo de vulnerabilidade, então ela precisa ter acesso ao código fonte da aplicação.

Exemplos de ferramentas SAST:

  • Security Code Scan - C#
  • Node JS Scan - NodeJS
  • Bandit - Python
  • Horusec - C#, JavaScript, Java, PHP etc...


Dynamic Application Security Testing (DAST)

 Já esta ferramenta faz uma análise dinâmica de segurança, que é quando a aplicação já está no ar, e a ferramenta não possui acesso ao código fonte. Normalmente ela recebe somente uma url ou a url e um login e utiliza estes dados para executar uma série de requisições colocando algum código malicioso nos parâmetros (conhecido como Payload) tentando injetar algum código e analisa o resultado para validar se alguma falha pôde ser explorada.

Exemplo de ferramenta DAST:

  • Owasp Zed Attack Proxy (ZAP)

 

Interactive Application Security Testing (IAST) 

Aqui nós temos um meio termo entre as citadas acima, em que um Agente é instalado no servidor e fica responsável por monitorar tanto as requisições recebidas quanto os arquivos da aplicação (binários no caso de linguagens compiladas), e por isso se uma falha for encontrada ela consegue identificar a url, os parâmetros e linha de código que está o problema.

Exemplo de ferramenta IAST:

  • Contrast Security

Software Composition Analysis (SCA)

Com o objetivo de avaliar o que compõe o software, principalmente códigos de terceiros, essa ferramenta olha para cada dependência que a aplicação possui e procura em uma base de dados pré-definida para validar se a versão desta dependência já não está comprometida. Algumas destas ferramentas também fazem a validação da licença, principalmente quando se trata de dependência Open Source utilizadas em produtos privados.

Exemplo de ferramenta SCA:

  • Black Duck Software

Confira um vídeo detalhado no link abaixo:

Ferramentas para código seguro SAST, DAST, IAST e SCA

Comentários