Web segura com SAST, DAST e IAST

Introdução

Se você entrou em contato com segurança Web recentemente deve ter se deparado com termos como AST, SAST, DAST, IAST entre outros que são parte do vocabuáírio técnico dos profissionais de cibersegurança. E embora pareçaa muito complexo, esses acrônimos, que em sua maioria são oriundos de expressões em inglês, definem, pelo comportamento, as ferramentas que testam a segurança de aplicações Web. Nesse artigo vou te ajudar a entender qual o melhor tipo de ferramenta você deve utilizar e como elas podem te ajudar a manter sua aplicação Web segura de vazamentos de dados e de hackers.

AST

A primeira coisa que temos que entender é o significado de AST ou "Application Security Testing". A tradução fica algo como "Teste de Segurança em aplicações", e se refere a ferramentas que procuram por falhas para que você as corrija antes que seu negócio seja comprometido na internet. Nesta categoria podemos restringir as ferramentas pela maneira como ela atua, gerando os seguintes tipos:

  • Static AST;
  • Dynamic AST;
  • Interactive AST.

SAST

O Static Application Security Testing nada mais é do que um analisador de código fonte. Ele vasculha todas as linhas procurando por padrões de código que geram vulnerabilidades. O seu funcionamento se assemelha a de um pentest whitebox, em que as informações sobre a infraestrutura são dadas para que se encontre o máximo de vulnerabilidades possíveis.

Vantagens:

  • Não necessita da aplicações compilada
  • Detecta exatamente os códigos que geram o problema
  • Permite correçÁes ainda na fase de desenvolvimento, sendo essencial para uma esteira de produção com base nas práticas de DevSecOps

Desvantagens:

  • Gera grande quantidade de falsos positivos
  • Não detecta vulnerabilidades e erros geradas em momento de execução
  • Não identifica falhas na configuração do ambiente

DAST

Diferente do SAST, o Dynamic Application Security Testing é usado em aplicaçÁes compiladas e em execução. Nesse caso ele procura vulnerabilidades como se fosse um cliente usando a aplicação final, inserindo payloads automatizadas em formulários e vasculhando informações pelo front-end. Com esse tipo de ferramenta simulamos um pentest blackbox, no qual não se tem conhecimento da infraestrutura por trás da aplicação.

Vantagens:

  • Não necessita do código fonte
  • Detecta vulnerabilidades em tempo de execução
  • Encontra problemas relacionados a configuraçÁes do ambiente
  • Gera poucos falsos positivos
  • Simula a visão de um hacker sobre a aplicação

Desvantagens

  • Depende de um ambiente de testes com a aplicação em execução, aumentando os custos
  • Depende de uma equipe de desenvolvimento para localizar a causa do problema

IAST

Caso tenha a necessidade de consertar vulnerabilidades na fase desenvolvimento e também ter visibilidade das vulnerabilidades na sua aplicação final a empresa teria que adquirir um SAST e um DAST. Pensando nisso foram criadas ferramentas categorizadas como Interactive Application Secutiry Testing. Essas ferramentas s├ão basicamente a junção das outras duas explicadas anteriormente, possuindo analise de código de fonte e um scanner de aplicaçÁes em execução. Assim você garante uma segurança robusta e aproveita as vantagens do Dynamic AST e do Static AST.

Quais ferramentas usar?

Por mais que eu quisesse seria imposs├¡vel eu listar aqui todas as soluçÁes de segurança que são categorizadas como AST. Felizmente, a Gartner é uma empresa que avalia as ferramentas mais usadas no mercado de TI e fornece um review delas e você pode consultar o ranking de AST nesse link. Anualmente a empresa também divulga um "Quadrante mágico" com as principais empresas do mercado, de acordo com 4 parâmetros:

  • Challengers: empresas que estão atrás dos líderes, mesmo estando presentes em boa parte do mercado.
  • Learders: empresas que são líderes no mercado.
  • Niche players: empresas que atuam em um nicho específico.
  • Visionaries: empresas que se destacam por serem inovadoras.

Em abril desse ano eles divulgaram o quadrante de empresas com soluções de AST, que você pode conferir a seguir:

Por hoje é só, espero que esse artigo tenha te ajudado de alguma maneira a entender melhor essa sopa de letrinhas do mundo de Segurança e Desenvolvimento Seguro.

AppSecScanningDevSecOps