Skip to content

instruct-br/x-devops-owasp-zap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OWASP ZAP

Ferramenta para execução de testes de segurança em aplicações em execução

DAST

A etapa DAST (Dynamic Application Security Testing) em uma pipeline CI/CD é responsável pelo teste automatizado que avalia a segurança de um aplicativo web em tempo de execução, simulando ataques reais e identificando vulnerabilidades.

Durante a etapa de DAST, a ferramenta de teste automatizado realiza uma varredura no aplicativo web, enviando requisições HTTP e analisando as respostas para identificar vulnerabilidades.

Isso permite que os desenvolvedores e times de segurança detectem e resolvam vulnerabilidades precocemente, reduzindo o risco de violações de segurança e aumentando a confiança no aplicativo.

ZAP

O OWASP ZAP (Zed Attack Proxy) é uma ferramenta de segurança de aplicativos web de código aberto que permite aos usuários identificar e corrigir vulnerabilidades em seus aplicativos. A ferramenta é desenvolvida e mantida pela Open Web Application Security Project (OWASP), uma comunidade global sem fins lucrativos que tem como objetivo melhorar a segurança do software.

O ZAP pode ser usado por desenvolvedores, testadores de segurança e gerentes de projetos para avaliar a segurança de aplicativos web durante o desenvolvimento, testes e operação. Ele pode ajudar a identificar vulnerabilidades comuns, como injeções de SQL, cross-site scripting (XSS), falsificação de solicitação entre sites (CSRF), autenticação e autorização inadequadas e outras ameaças.

A ferramenta possui uma interface gráfica de usuário (GUI) que permite o usuário executar testes manuais, e também possui uma API que permite aos usuários integrá-lo em seus processos de desenvolvimento e testes automatizados. A API pode ser usada para automatizar testes de segurança em um pipeline de entrega contínua (CI/CD), permitindo a detecção precoce de vulnerabilidades em aplicativos web.

Propósito

Classificar e mostrar as possíveis vulnerabilidades do sistema que está sendo implementado e testado. Aponta para as equipes de desenvolvimento o teste e onde é necessário corrigir e reforçar a segurança.

Básico sobre testes de segurança

Teste de segurança é o processo de avaliar e testar um sistema para descobrir riscos de segurança e vulnerabilidades desse sistema. O testes de segurança podem ser categorizados em quatro tipos, que são:

  • Vulnerability Assessment
  • Penetration Testing
  • Runtime Testing
  • Code Review

Teste de penetração

O teste de penetração (pentesting) é realizado como se o testador fosse um invasor externo malicioso com o objetivo de invadir o sistema. Ele pode ser dividido em três estágio, que são:

  1. Explore
  2. Attack
  3. Report

Funcionamento

Essencialmente o ZAP é conhecido como "proxy man-in-the-middle". Ele fica entre o navegador do testador e o aplicação web para que possa interceptar e inspecionar as mensagens enviadas entre eles, modificar o conteúdo, se necessário, e encaminhar esses pacotes para o destino.

Fluxo do ZAP

O ZAP pode ser usado como um aplicativo autônomo e como um processo de segundo plano.

Automation Framework

O Automation Framework permite que você controle o ZAP por meio de um arquivo YAML e oferece mais flexibilidade sem estar vinculado a nenhuma tecnologia de contêiner específica. Com o tempo, o Automation Framework se tornará o padrão de execução do ZAP. Ele está incluído na versão mais recente do ZAP, bem como na imagem estável do docker.

Contexto

Um contexto é um recurso que permite que o testador defina as informações do ambiente em que a aplicação web está sendo executada durante uma sessão de testes de segurança. Isso inclui as URLs, cookies, cabeçalhos e outros parâmetros da sessão que podem ser usados para criar cenários de teste específicos.

Job

Um job é um recurso que permitem o testador automatizar tarefas de teste de segurança. Com um job, o testador pode definir um conjunto de ações a serem executadas de forma sequencial, como enviar solicitações HTTP para uma aplicação web, identificar vulnerabilidades, gerar relatórios, entre outros.

Spider

Um spider é um recurso que permite a ferramenta mapear automaticamente a aplicação web, identificando todas as páginas acessíveis a partir de uma página inicial e coletando informações sobre elas.

Spider e Scanner Rules

Spider

Serve para encontrar páginas. Ele identifica todos os hiperlinks na página e os adiciona à lista de URLs a serem visitadas e o processo continua recursivamente enquanto novos recursos são encontrados.

Scanner Rules

São varreduras que podem coletar dados ou atacar páginas e são divididas em ativas e passivas.

Passiva

verifica passivamente todas as mensagens HTTP (solicitações e respostas) enviadas para o aplicativo da Web que está sendo testado. A varredura passiva não altera as solicitações nem as respostas.

Ativa

A varredura ativa tenta encontrar vulnerabilidades potenciais usando ataques conhecidos contra os alvos selecionados. A varredura ativa é um ataque a esses alvos. Elas também não abrangem todos os tipos de vulnerabilidades, para uma cobertura mais abrangente é necessário realizar os testes manuais.

Prós e contras

Esta seção mostra uma lista de possíveis prós e contras na utilização do ZAP.

Prós

  • Gratuito
  • Escaneamento automático e relatórios detalhados
  • Multiplataforma
  • Versátil e extensível
  • Bem mantido e possui boa comunidade (Nikto)

Contras

  • Pode consumir muito da máquina
  • GUI pouco intuitiva (soluções pagas)
  • Requer razoável conhecimento técnico
  • A ferramenta não pode detectar todas as vulnerabilidades

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages