Pular para o conteúdo principal

🕵️ PenTesting - Validação de Segurança Ofensiva

Este documento estabelece o enquadramento técnico e processual para a realização de testes de penetração (PenTesting), como prática complementar à validação contínua descrita no Capítulo 10.


🌟 Objetivo

Definir:

  • Quando o PenTesting deve ser aplicado;
  • Como deve ser planeado e integrado no ciclo de vida;
  • Que tipos de abordagem são possíveis (black-box vs grey-box);
  • Como os seus resultados devem ser utilizados para reforçar a segurança;
  • Como o Capítulo 10 pode servir de base para preparação e âmbito.

🔍 O que é PenTesting

PenTesting é uma validação ofensiva manual e exploratória, que simula ataques reais sobre um sistema com o objetivo de:

  • Identificar vulnerabilidades que escapam à validação automatizada;
  • Avaliar a eficácia de controlos implementados;
  • Medir a exposição real da aplicação.

🎯 Ao contrário de SAST/DAST, que testam sistematicamente, o PenTest simula raciocínio adversarial, abuso lógico e exploração contextualizada.


⚙️ Abordagens possíveis

Existem duas formas principais de conduzir um PenTest:

⚫ Abordagem "Caixa Negra" (Black Box)

CaracterísticaDescrição
Conhecimento prévioNenhum. O pentester age como atacante externo.
Dados fornecidosApenas URL ou ponto de entrada público.
FocoExposição externa, abusos funcionais, má configuração visível.
LimitaçãoPode falhar áreas críticas não expostas diretamente.

Relação com Cap. 10:

  • Permite avaliar se a proteção implementada (DAST, fuzzing) é eficaz;
  • Ajuda a validar a cobertura de scanners em contexto real;
  • Útil como verificação independente da postura externa.

⚪ Abordagem "Caixa Cinzenta" (Grey Box)

CaracterísticaDescrição
Conhecimento prévioParcial. O pentester recebe contexto técnico.
Dados fornecidosFindings de SAST/DAST/SCA, SBOM, endpoints, credenciais, API docs.
FocoExploração dirigida, validação de correções, gaps reais.
BenefícioMaior eficácia com âmbito orientado por risco.

Relação com Cap. 10:

  • Usa os findings da validação contínua como input;
  • Permite confirmar a eficácia de correções e controlos aplicados;
  • Suporta regressão dirigida e verificação de mitigação efetiva.

🔁 Integração com o Capítulo 10

O PenTest não substitui testes contínuos - é um complemento estratégico para:

  • Validar a eficácia das defesas já aplicadas;
  • Confirmar a cobertura de testes automatizados;
  • Identificar abusos que escapam à análise sistemática.

Ciclo de integração sugerido:

  1. Antes do PenTest

    • Consolidar findings dos testes automatizados;
    • Mapear áreas críticas, alterações recentes, endpoints complexos;
    • Partilhar dados com equipa de PenTest (grey-box preferido).
  2. Durante a execução

    • Seguir metodologia estruturada (ex: OWASP Testing Guide);
    • Documentar vetores, payloads, impacto, bypasses e anomalias;
    • Respeitar regras de engajamento acordadas (ex: scope, limites, reporte).
  3. Após o PenTest

    • Registar todos os findings como issues;
    • Associar cada finding a componente, risco e impacto real;
    • Aplicar processo de tratamento, correção e revalidação contínua.

📋 Checklist de Planeamento

ItemVerificado?
âmbito definido com base em classificação de risco
Endpoints, APIs e versões documentadas
Ambiente de testes seguro e isolado disponível
NDA e acordos de acesso definidos (se aplicável)
Regras de engajamento e reporte acordadas
Resultados anteriores da validação contínua analisados
Findings do PenTest registados com rastreabilidade completa
Revalidação agendada após correções

📎 Diferença entre PenTest e outras validações

TipoCaracterísticasAutomatizado?Executado por
PenTestingManual, ofensivo, simulativo❌ NãoEquipa ofensiva interna/externa
SAST/DAST/FuzzingContínuo, baseado em regras✅ SimCI/CD, QA, AppSec
IASTRuntime, sensível a execução✅ ParcialDev/Test
Red TeamSimulação persistente e dirigida a objetivos❌ NãoInterno/Consultores
Bug BountyAberto, colaborativo, recompensa por findings❌ ParcialComunidade externa

✅ Conclusão

O PenTesting é um instrumento de validação externa e independente. A sua eficácia depende diretamente da sua integração com os mecanismos internos de segurança.

Para ser útil, deve:

  • Apoiar-se nos dados da validação contínua (Cap. 10);
  • Ser rastreável, documentado e comparável a findings anteriores;
  • Alimentar melhorias no ciclo de vida de segurança, arquitetura e requisitos.

📌 O PenTest valida a aplicação e também a maturidade da organização em gerir, corrigir e aprender com falhas detetadas - sendo parte fundamental do ciclo de melhoria contínua do modelo SbD-ToE.