Modelagem de Ameaças
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Modelagem de Ameaças
Bem-vindo ao guia abrangente da HackTricks sobre Modelagem de Ameaças! Embarque em uma exploração deste aspecto crítico da cibersegurança, onde identificamos, entendemos e planejamos contra potenciais vulnerabilidades em um sistema. Este tópico serve como um guia passo a passo repleto de exemplos do mundo real, softwares úteis e explicações fáceis de entender. Ideal tanto para novatos quanto para profissionais experientes que buscam fortalecer suas defesas de cibersegurança.
Cenários Comumente Usados
- Desenvolvimento de Software: Como parte do Ciclo de Vida de Desenvolvimento de Software Seguro (SSDLC), a modelagem de ameaças ajuda na identificação de fontes potenciais de vulnerabilidades nas fases iniciais de desenvolvimento.
- Teste de Penetração: O padrão de execução de teste de penetração (PTES) exige modelagem de ameaças para entender as vulnerabilidades do sistema antes de realizar o teste.
Modelo de Ameaças em Resumo
Um Modelo de Ameaças é tipicamente representado como um diagrama, imagem ou alguma outra forma de ilustração visual que retrata a arquitetura planejada ou a construção existente de uma aplicação. Ele se assemelha a um diagrama de fluxo de dados, mas a principal distinção reside em seu design orientado à segurança.
Modelos de ameaças frequentemente apresentam elementos marcados em vermelho, simbolizando potenciais vulnerabilidades, riscos ou barreiras. Para simplificar o processo de identificação de riscos, o triângulo CIA (Confidencialidade, Integridade, Disponibilidade) é empregado, formando a base de muitas metodologias de modelagem de ameaças, sendo o STRIDE uma das mais comuns. No entanto, a metodologia escolhida pode variar dependendo do contexto e requisitos específicos.
O Triângulo CIA
O Triângulo CIA é um modelo amplamente reconhecido no campo da segurança da informação, representando Confidencialidade, Integridade e Disponibilidade. Esses três pilares formam a base sobre a qual muitas medidas e políticas de segurança são construídas, incluindo metodologias de modelagem de ameaças.
- Confidencialidade: Garantir que os dados ou sistemas não sejam acessados por indivíduos não autorizados. Este é um aspecto central da segurança, exigindo controles de acesso apropriados, criptografia e outras medidas para prevenir vazamentos de dados.
- Integridade: A precisão, consistência e confiabilidade dos dados ao longo de seu ciclo de vida. Este princípio garante que os dados não sejam alterados ou manipulados por partes não autorizadas. Frequentemente envolve checksums, hashing e outros métodos de verificação de dados.
- Disponibilidade: Isso garante que dados e serviços estejam acessíveis a usuários autorizados quando necessário. Isso frequentemente envolve redundância, tolerância a falhas e configurações de alta disponibilidade para manter os sistemas funcionando mesmo diante de interrupções.
Metodologias de Modelagem de Ameaças
- STRIDE: Desenvolvido pela Microsoft, STRIDE é um acrônimo para Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege. Cada categoria representa um tipo de ameaça, e essa metodologia é comumente usada na fase de design de um programa ou sistema para identificar potenciais ameaças.
- DREAD: Esta é outra metodologia da Microsoft usada para avaliação de riscos de ameaças identificadas. DREAD significa Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability. Cada um desses fatores é pontuado, e o resultado é usado para priorizar as ameaças identificadas.
- PASTA (Process for Attack Simulation and Threat Analysis): Esta é uma metodologia de sete etapas, centrada em riscos. Inclui a definição e identificação de objetivos de segurança, criação de um escopo técnico, decomposição da aplicação, análise de ameaças, análise de vulnerabilidades e avaliação de risco/triagem.
- Trike: Esta é uma metodologia baseada em riscos que se concentra na defesa de ativos. Começa de uma perspectiva de gestão de riscos e analisa ameaças e vulnerabilidades nesse contexto.
- VAST (Visual, Agile, and Simple Threat modeling): Esta abordagem visa ser mais acessível e se integra a ambientes de desenvolvimento ágil. Combina elementos de outras metodologias e foca em representações visuais de ameaças.
- OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation): Desenvolvido pelo CERT Coordination Center, este framework é voltado para avaliação de riscos organizacionais em vez de sistemas ou softwares específicos.
Ferramentas
Existem várias ferramentas e soluções de software disponíveis que podem ajudar na criação e gerenciamento de modelos de ameaças. Aqui estão algumas que você pode considerar.
SpiderSuite
Uma avançada ferramenta GUI de web spider/crawler multiplataforma e multifuncional para profissionais de cibersegurança. Spider Suite pode ser usada para mapeamento e análise da superfície de ataque.
Uso
- Escolha uma URL e Rasteje

- Visualize o Gráfico

OWASP Threat Dragon
Um projeto de código aberto da OWASP, Threat Dragon é tanto uma aplicação web quanto de desktop que inclui diagramação de sistemas, bem como um motor de regras para gerar automaticamente ameaças/mitigações.
Uso
- Crie um Novo Projeto

Às vezes, pode parecer assim:

- Inicie um Novo Projeto

- Salve o Novo Projeto

- Crie seu modelo
Você pode usar ferramentas como SpiderSuite Crawler para se inspirar, um modelo básico seria algo assim

Apenas uma pequena explicação sobre as entidades:
- Processo (A entidade em si, como Servidor Web ou funcionalidade web)
- Ator (Uma Pessoa, como um Visitante do Site, Usuário ou Administrador)
- Linha de Fluxo de Dados (Indicador de Interação)
- Limite de Confiança (Diferentes segmentos ou escopos de rede.)
- Armazenar (Coisas onde os dados são armazenados, como Bancos de Dados)
- Crie uma Ameaça (Passo 1)
Primeiro, você deve escolher a camada à qual deseja adicionar uma ameaça

Agora você pode criar a ameaça

Lembre-se de que há uma diferença entre Ameaças de Ator e Ameaças de Processo. Se você adicionar uma ameaça a um Ator, só poderá escolher "Spoofing" e "Repudiation". No entanto, em nosso exemplo, adicionamos uma ameaça a uma entidade de Processo, então veremos isso na caixa de criação de ameaças:

- Pronto
Agora seu modelo finalizado deve parecer algo assim. E é assim que você faz um modelo de ameaça simples com o OWASP Threat Dragon.

Microsoft Threat Modeling Tool
Esta é uma ferramenta gratuita da Microsoft que ajuda a encontrar ameaças na fase de design de projetos de software. Ela usa a metodologia STRIDE e é particularmente adequada para aqueles que desenvolvem na pilha da Microsoft.
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.