Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
Vantagens:
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.
Vantagens:
Desvantagens:
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.
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.