Capítulo 2 — Segurança ofensiva autorizada e red team: fronteira da pesquisa
Mapa da aula
Aula 02 publicada. Mapa, exemplo, EX008.
flowchart TD
N0["2.1 Famílias de metodologia"]
N1["2.2 Problemas em aberto"]
N2["2.3 Crítica das pontuações fracas"]
N3["2.4 O ATT&CK como vocabulário"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX008"]
Desenho lógico
flowchart LR
N0["2.1 Famílias de metodologia"]
N1["2.2 Problemas em aberto"]
N2["2.3 Crítica das pontuações fracas"]
N3["2.4 O ATT&CK como vocabulário"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX008"]
[2.1 Famílias de metodologia]
|
v
[2.2 Problemas em aberto]
|
v
[2.3 Crítica das pontuações fracas]
|
v
[2.4 O ATT&CK como vocabulário]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX008]
Objetivos de aprendizagem
Você vai (1) mapear as principais famílias de metodologia e os frameworks guiados por ameaças; (2) localizar problemas de pesquisa em aberto em medição, ética e garantia; (3) criticar esquemas de pontuação fracos; (4) posicionar o ATT&CK como vocabulário, não como prova de completude; e (5) escrever uma nota de fronteira que motive um doutorado.
2.1 Famílias de metodologia
O NIST SP 800-115 organiza a avaliação em planejamento, descoberta, ataque (cuidadosamente delimitado), relato e apoio à remediação. O PTES encadeia coleta de inteligência, modelagem de ameaças, análise de vulnerabilidades, exploração e pós-exploração sob escopo explícito. O OWASP WSTG fornece casos de teste específicos para a web. Frameworks guiados por ameaças, como o TIBER-EU e o CBEST, enfatizam cenários guiados por inteligência, colaboração de purple team e supervisão regulatória para sistemas financeiros críticos. Seu mapa da fronteira deve situar cada família pelo que ela otimiza: amplitude da cobertura técnica, realismo da emulação do adversário ou garantia para os supervisores.
O mapa de Elena coloca o NIST SP 800-115 e o PTES sob cobertura técnica, o WSTG sob casos web, e o TIBER-EU e o CBEST sob garantia guiada por ameaças. Seu doutorado se situa no primeiro grupo: ela mede se um instrumento de escopo reduz as sondagens fora do escopo, não se um cenário guiado por inteligência encontra fraquezas críticas para o negócio.
2.2 Problemas em aberto
Problemas em aberto adequados a um doutorado incluem: como medir a redução do risco fora do escopo; como validar que um controle bloqueou uma ação sem publicar uma exploração; como a cobertura de técnicas do ATT&CK se relaciona com o risco residual; como fatores humanos (fadiga, teatro de aprovação) afetam o cumprimento das ROE; e como comparar a qualidade de relatórios de red team. Evite "problemas" que são apenas "rodar mais ferramentas". O problema de Elena é o primeiro deles: medir se predicados verificáveis por máquina reduzem as sondagens fora do escopo. Um doutorado que apenas embrulha mais um scanner não tem pergunta de pesquisa, apenas uma tarefa de engenharia.
2.3 Crítica das pontuações fracas
Agregar a segurança num único número — como se criticou no rav do OSSTMM (arXiv:2010.06377) — esconde o que falhou e quem é afetado. Prefira achados estruturados, com impacto, evidências e estado de verificação. Pontuações de severidade podem priorizar o trabalho dentro de um engajamento; não são quantidades universais de segurança.
"""Score synthetic findings for report priority (no exploit details)."""
# impact 0-3, exploitability 0-3, exposure 0-3 -> priority
findings = [
("SYN-001", "default admin password on staging web UI", 3, 3, 2),
("SYN-002", "missing security headers on public site", 1, 1, 3),
("SYN-003", "outdated TLS on internal admin port", 2, 2, 1),
("SYN-004", "verbose error messages disclose paths", 1, 2, 2),
("SYN-005", "service account with domain admin in lab AD", 3, 2, 1),
]
def priority(impact, exploitability, exposure):
score = impact*4 + exploitability*2 + exposure
if score >= 16: return "critical", score
if score >= 11: return "high", score
if score >= 7: return "medium", score
return "low", score
for fid, title, i, e, x in findings:
p, s = priority(i, e, x)
print(f"{fid} priority={p:8} score={s:2} impact={i} exploitability={e} exposure={x} :: {title}")
Saída esperada:
SYN-001 priority=critical score=20 impact=3 exploitability=3 exposure=2 :: default admin password on staging web UI
SYN-002 priority=medium score= 9 impact=1 exploitability=1 exposure=3 :: missing security headers on public site
SYN-003 priority=high score=13 impact=2 exploitability=2 exposure=1 :: outdated TLS on internal admin port
SYN-004 priority=medium score=10 impact=1 exploitability=2 exposure=2 :: verbose error messages disclose paths
SYN-005 priority=critical score=17 impact=3 exploitability=2 exposure=1 :: service account with domain admin in lab AD
O laboratório de achados pontua impacto, explorabilidade e exposição sem descrever um caminho de ataque. O SYN-001, uma senha padrão de administrador na interface web de homologação, soma 20 e é crítico; o SYN-002, cabeçalhos ausentes, soma 9 e é médio. A severidade ajuda um operador a decidir o que corrigir primeiro dentro de um engajamento; não é uma quantidade universal de segurança.
2.4 O ATT&CK como vocabulário
O MITRE ATT&CK é uma base de conhecimento viva de táticas e técnicas de adversários. Use-o para rotular o que foi tentado e observado, para se comunicar com as equipes de blue team e para mostrar lacunas de cobertura. Não afirme que cobrir uma porcentagem da matriz significa que um sistema está seguro — a cobertura é um auxílio de planejamento e de relato.
"""ATT&CK-style coverage matrix over synthetic authorized techniques (names only)."""
# Synthetic engagement log: technique_id -> observed (True/False)
PLAN = ["T1046", "T1595", "T1082", "T1083", "T1059", "T1078", "T1021"]
OBSERVED = {"T1046", "T1595", "T1082", "T1083", "T1078"}
LABELS = {
"T1046": "Network Service Discovery",
"T1595": "Active Scanning",
"T1082": "System Information Discovery",
"T1083": "File and Directory Discovery",
"T1059": "Command and Scripting Interpreter",
"T1078": "Valid Accounts",
"T1021": "Remote Services",
}
covered = 0
for tid in PLAN:
hit = tid in OBSERVED
covered += hit
print(f"{tid} {LABELS[tid]:34} {'COVERED' if hit else 'PLANNED-NOT-SEEN'}")
print(f"coverage={covered}/{len(PLAN)} ({100*covered/len(PLAN):.0f}%)")
Saída esperada:
T1046 Network Service Discovery COVERED
T1595 Active Scanning COVERED
T1082 System Information Discovery COVERED
T1083 File and Directory Discovery COVERED
T1059 Command and Scripting Interpreter PLANNED-NOT-SEEN
T1078 Valid Accounts COVERED
T1021 Remote Services PLANNED-NOT-SEEN
coverage=5/7 (71%)
O laboratório de cobertura mostra 5 de 7 técnicas planejadas observadas, ou 71%. Técnicas planejadas e não vistas, como T1059 e T1021, entram no próximo plano autorizado. Elena usa o ATT&CK para rotular o que os operadores tentaram e o que foi observado, e para conversar com as equipes de blue team, não para alegar risco residual.
2.5 Exemplo resolvido (caso sintético do NHUSTL)
A nota de fronteira de Elena: trabalhos anteriores descrevem as ROE em prosa; frameworks guiados por ameaças exigem fidelidade de cenário; poucos estudos medem se predicados verificáveis por máquina reduzem ações fora do escopo. O laboratório de achados mostra a priorização de problemas sintéticos sem detalhes de exploração. O laboratório de cobertura mostra 71% de um conjunto planejado de técnicas observado — um fato de relato, não uma prova de segurança. Sua lacuna: uma comparação controlada entre escopo em prosa e escopo verificável quanto à taxa de sondagens fora do escopo.
A lacuna é mensurável, ética e não depende de ferramenta: uma comparação controlada entre escopo em prosa e escopo verificável quanto à taxa de sondagens fora do escopo, em laboratórios autorizados com alvos sintéticos. Essa frase se torna o primeiro parágrafo de sua proposta.
2.6 Erros e limites
Três erros são comuns: tratar a cobertura do ATT&CK como risco eliminado; "Níveis de segurança" de pontuação única; e notas de fronteira que listam ferramentas em vez de perguntas. Cada erro enfraquece a nota de fronteira. Ler a cobertura do ATT&CK como risco eliminado transforma um auxílio de planejamento numa falsa alegação de segurança. Um nível de segurança de pontuação única esconde o que falhou, como argumentam Albrecht e Jensen. Listar ferramentas em vez de perguntas produz um projeto de engenharia, não um doutorado. Verifique os três pontos em sua nota de fronteira antes da proposta. A nota de Elena evita os três.
Exercícios
- EX008 — Famílias. Situe o NIST 800-115, o PTES, o WSTG, o TIBER-EU e o CBEST num mapa de uma página. Rubrica: 3 = os cinco, com propósito; 2 = quatro; 1 = dois; 0 = nenhum.
- EX009 — Problema em aberto. Enuncie um problema em aberto como pergunta mensurável. Rubrica: 3 = mensurável, ético, não dependente de ferramenta; 2 = mensurável; 1 = vago; 0 = nenhum.
- EX010 — Laboratório de achados. Por que o SYN-001 é crítico enquanto o SYN-002 é médio? Rubrica: 3 = impacto/explorabilidade/exposição; 2 = parcial; 1 = vago; 0 = errado.
- EX011 — Cobertura. O que 71% de cobertura significa e o que não significa? Rubrica: 3 = técnicas planejadas vistas; não é risco residual; 2 = um dos lados; 1 = "quase seguro"; 0 = nenhum.
- EX012 — Crítica ao OSSTMM. Resuma um argumento de Albrecht e Jensen (arXiv:2010.06377). Rubrica: 3 = preciso; 2 = parcial; 1 = vago; 0 = errado.
- EX013 — Guiado por ameaças. Em que o TIBER-EU/CBEST difere de um pentest genérico? Rubrica: 3 = guiado por inteligência, supervisão, serviços críticos; 2 = dois; 1 = um; 0 = nenhum.
- EX014 — Nota de fronteira. Escreva a lacuna de Elena em cinco frases. Rubrica: 3 = trabalhos anteriores, lacuna, medida, ética, contribuição; 2 = três; 1 = um; 0 = nenhum.
Síntese
A fronteira da pesquisa está onde metodologia, medição e ética se encontram — não onde mais um scanner pode ser embrulhado. Mapeie os frameworks, rejeite pontuações vazias e enuncie uma lacuna mensurável.
Continue estudando — capítulo 02 de 08
← Capítulo 01 (rascunho) · Índice de capítulos do curso · Capítulo 03 (rascunho) →