Você está na página 1de 3

A Sopa de Letrinhas do Universo AppSec

TL; DR
Se você entrou em contato com segurança de aplicações recentemente deve ter se
deparado com termos como SAST, DAST, IAST, SCA entre outros que são parte do
vocabulário técnico dos profissionais de cibersegurança. Embora pareça complexo,
essas siglas, oriundas de expresssões em inglês, são bem simples e basicamente
categorizam as ferramenta com base na estratégia utilizada para identificar
vulnerabilidades. Nesse artigo vou te ajudar a entender essa sopa de letrinhas para
poder escolher qual a melhor para sua necessidade, ou então, te motivar a usar todas.

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 é
um termo meio generalista para definir uma ferramenta que procura por falhas em
aplicações. Nesta categoria podemos restringir as ferramentas pela maneira como ela
atua como Static, Dynamic, ou Interactive.

SAST
Static Application Security Testing é a ferramenta que através do código fonte
identifica vulnerabilidades. Geralmente essa é a primeira ferramenta utilizada por um
profissional antes de realizar um code review na aplicação. Alguns exemplos que
existem são Semgrep, sonarqube, Veracode, Snyk.

O mercado vem se adaptando para permitir a integração entre o SAST e a IDE — ou


Integrated development environment. Ajudando a minimizar ainda mais a
complexidade de execução e tornando o processo de correção cada vez menos
custoso. Podemos citar como exemplo o Code Sight da Synopsis, CXSAST da
Checkmarx, ou os diversos plugins que o Snyk disponibiliza para IDEs diferentes.

Vantagens:

 Não necessita da aplicação em execução;


 Detecta a parte vulnerável do código, facilitando a correção;
 Permite correções ainda na fase de desenvolvimento, sendo essencial; para
uma esteira de produção com base nas práticas de DevSecOps;

Desvantagens:
 Pode gerar uma grande quantidade de falsos positivos;
 Deve ser configurado especificamente para a linguagem de programação
utilizada;
 Não detecta vulnerabilidades e erros geradas em momento de execução;
 Dificilmente identifica Misconfigurations, (falhas que se referem a 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 inserindo
payloads e inputs maliciosos nos parâmetros encontrados. Alguns exemplos de
ferramentas que realizam esses testes são detectify, Acunetix.

Além disso, algumas ferramentas possuem uma característica de Scanner de


Vulnerabilidades, atuando além do DAST. Essas ferramentas vão além da Camada de 7
ou Camada de Aplicação, e verificam até por vulnerabilidades em outros serviços e
protocolos. Elas também podem ser usadas na esteira de desenvolvimento fazendo
uma função do DAST, mas também identificando vulnerabilidades em outros
protocolos e serviços. Alguns exemplos são o nuclei, OpenVas, Nessus.

Vantagens:

 Não necessita do código fonte;


 O funcionamento indifere da linguagem utilizada para desenvolver;
 Detecta vulnerabilidades em tempo de execução;
 Pode encontrar problemas relacionados a configurações do ambiente;
 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 financeiro e o tempo para correção da vulnerabilidade;
 Depende de um analista para identificar a causa da falha e a correção a nível de
código;

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 e do Static.

SCA
O SCA ou Software Composition Analysis tem como função mapear na aplicação todas
as bibliotecas, pacotes, módulos e códigos terceiros utilizados e utilizar de uma base
de dados com o CVE, para localizar vulnerabilidades conhecidas.

O OWASP Top 10, projeto da OWASP que identifica os 10 riscos de segurança mais
críticos para aplicativos da web, criou o tópico Vulnerable and Outdated Components
apenas para categorizar vulnerabilidades causadas por compontes externos, devido ao
crescente número de código terceirizados vulneráveis sendo utilizados nas aplicações.
O tópico ficou na sexta posição do ranking de 2021, provando que ferramentas como
Dependency Check, Snyk, Safety, e ferramentas de SCA no geral se mostram cada vez
mais imprescindível na segurança de aplicações.

Você também pode gostar