Modelagem de Ameaças: Preparando-se para o Desconhecido
- dionejpmc
- 5 de out. de 2023
- 7 min de leitura
"O medo é a lente que aumenta a percepção do perigo."

A modelagem de ameaças é uma prática essencial(quando possível) no mundo da segurança cibernética, destinada a identificar, avaliar e mitigar ameaças. Neste artigo, exploraremos algumas dicas fundamentais para a modelagem de ameaças, um processo que requer reflexão, colaboração e comunicação eficazes.
Em essência, a modelagem de ameaças segue um conjunto geral de etapas. Começa com a identificação de ativos, atores, pontos de entrada, componentes, casos de uso e níveis de confiança, todos essenciais para a compreensão da arquitetura do sistema. Estes elementos são representados em um diagrama de design. Em seguida, vem a identificação de uma lista de ameaças, uma fase crucial para avaliar potenciais vulnerabilidades. Posteriormente, são identificadas as mitigações por ameaça, que podem incluir implementações de controle de segurança. Finalmente, uma matriz de risco é criada e analisada para determinar se as ameaças foram adequadamente mitigadas. Para aprofundar ainda mais essas práticas, referências como o whitepaper SAFECode Tactical Threat Modeling e o OWASP Threat Modeling Cheat Sheet são valiosas, pois oferecem orientações detalhadas e ferramentas úteis para acelerar o processo.
A questão-chave é quando aplicar a modelagem de ameaças. Esta é uma atividade que se desenrola na fase de desenho do projeto. Durante esse estágio, não apenas se cria um diagrama de arquitetura, mas também é possível estar construindo um ambiente de desenvolvimento e/ou testes. Essas ações fornecem informações cruciais para orientar o desenvolvimento do ambiente de produção.
É importante ressaltar que a modelagem de ameaças ocorre antes da revisão do código, da análise de código (estática ou dinâmica) e dos testes de penetração, que são fases subsequentes no ciclo de vida da segurança. A escolha de ferramentas e metodologias específicas para a modelagem de ameaças pode variar. O OWASP, por exemplo, oferece recursos como o projeto Threat Dragon para a criação de diagramas de modelo de ameaça e referências ao OWASP Top 10, OWASP Application Security Verification Standard (ASVS) e STRIDE para a identificação de ameaças. É importante avaliar as necessidades específicas do projeto e da organização para determinar a combinação mais adequada de ferramentas e métodos ou até mesmo criar uma abordagem personalizada.
1. Monte a equipe certa
A modelagem de ameaças é um esforço de equipe, e a escolha da equipe certa é crucial. É necessário um conjunto diversificado de habilidades e perspectivas para abordar todos os aspectos da segurança. A seguir um exemplo de um contexto em particular:
A persona de negócios: alguém que compreende os objetivos comerciais e a funcionalidade do sistema.
A persona do desenvolvedor: envolvida nas decisões de design e conhecedora do projeto.
A persona do adversário: age como um invasor em potencial, buscando falhas de design.
A persona defensora: trabalha para mitigar ameaças e garantir a segurança.
A persona AppSec SME: um especialista em segurança que modera as discussões.
Essas perspectivas garantem que as considerações de segurança sejam abordadas de maneira abrangente desde o início do projeto.
Entender o escopo da avaliação é crucial. Isso envolve compreender os ativos críticos para o negócio, as funcionalidades do sistema e as partes interessadas envolvidas. Isso ajuda a determinar onde focar seus esforços de modelagem de ameaças.
2. Tenha uma abordagem consistente
A consistência é fundamental na modelagem de ameaças. Usar uma abordagem e formato consistentes em toda a organização acelera o processo, permite a reutilização de modelos anteriores e facilita a estimativa de esforço e prazos. Isso também ajuda na escalabilidade, uma vez que modelos existentes podem ser adaptados e expandidos para novos projetos.
A priorização é fundamental, pois você não pode resolver todos os riscos de uma vez. Avalie a probabilidade e o impacto de cada ameaça e, em seguida, priorize-as com base em critérios de risco. Isso ajuda a alocar recursos de segurança de forma mais eficaz.
3. Alinhe-se à metodologia de entrega de software
A modelagem de ameaças deve se integrar harmoniosamente à metodologia de entrega de software da organização, como a Metodologia Ágil. Capturar histórias de usuários relacionadas à modelagem de ameaças como parte do ciclo de desenvolvimento ajuda a garantir que a segurança seja considerada em todas as etapas do projeto.
4. Use ferramentas de fluxo de trabalho existentes
Aproveitar as ferramentas já utilizadas pelas equipes de desenvolvimento, como wikis e sistemas de rastreamento de problemas, facilita a colaboração e o acompanhamento do progresso da modelagem de ameaças. Essas ferramentas fornecem um local centralizado para feedback, atribuição de tarefas e gerenciamento do processo.
5. Distribua a responsabilidade
Evite centralizar a responsabilidade pela criação de modelos de ameaças em uma única entidade ou departamento. A responsabilidade distribuída permite que as equipes de desenvolvimento sejam responsáveis por projetar e implementar medidas de segurança em seus próprios recursos. Isso promove a autonomia e a aprendizagem contínua em segurança.
6. Decida quando é suficiente
Não é necessário mitigar todas as ameaças possíveis. Adote uma abordagem baseada em riscos, equilibrando a segurança com a entrega oportuna. Evite a paralisia por análise, priorizando ameaças com base em sua probabilidade e impacto.
Além disso, é crucial compreender as contramedidas existentes no sistema, pois qualquer modelo de ameaça deve incluí-las. No entanto, a conscientização de que nenhum sistema é completamente seguro é fundamental, incentivando a busca contínua por melhorias nas medidas de segurança. A identificação de vulnerabilidades exploráveis é uma etapa subsequente, permitindo analisar possíveis vulnerabilidades que possam ser exploradas por ameaças identificadas, conectando os pontos entre potenciais ataques e suas consequências negativas.
7. Não deixe a paralisia impedir você de começar
Começar a modelagem de ameaças pode parecer uma tarefa assustadora, especialmente em projetos em andamento. No entanto, comece modelando ameaças em novos recursos e, gradualmente, estenda essa prática a recursos existentes. Aprendizado contínuo e iteração são essenciais.
Identificar os agentes de ameaça é fundamental para entender quem pode atacar o sistema e de que maneira. Isso inclui ameaças internas (como funcionários mal-intencionados) e externas (como hackers). Além disso, deve-se considerar os tipos de ataques que esses agentes podem executar.
inspiração: <https://aws.amazon.com/pt/blogs/aws-brasil/como-abordar-a-modelagem-de-ameacas/>
Modelo Diamante na Análise de Intrusão
O Modelo Diamante de análise de intrusão é uma abordagem amplamente adotada por profissionais de segurança da informação para autenticar e rastrear ameaças cibernéticas. Segundo essa metodologia, cada incidente pode ser representado como um diamante, e essa representação ajuda a destacar as relações e características de quatro componentes fundamentais: adversário, capacidade, infraestrutura e vítima. Esses quatro elementos interligados fornecem um contexto analítico crucial para a compreensão das atividades maliciosas.
Adversário: O termo "adversário" refere-se a uma organização ou ator de ameaça responsável por utilizar suas capacidades contra uma vítima para atingir seus objetivos maliciosos. Essa parte do diamante representa o agente por trás da intrusão, cujas intenções e ações desencadeiam o incidente.
Capacidade: As "capacidades" dizem respeito às ferramentas e técnicas que um adversário utiliza durante um evento de intrusão. Essas capacidades podem incluir softwares maliciosos, métodos de exploração, táticas de engenharia social e outros recursos empregados para alcançar seus fins.
Infraestrutura: A "infraestrutura" engloba as estruturas de comunicação, sejam elas físicas ou lógicas, que o adversário utiliza para facilitar suas capacidades. Isso pode envolver o uso de endereços IP, endereços de e-mail, nomes de domínio e outros recursos de rede que fornecem suporte à execução das ações maliciosas.
Vítima: A "vítima" representa o alvo da intrusão, ou seja, a entidade contra a qual os ataques são direcionados. As vítimas podem ser organizações, indivíduos ou ativos específicos, como endereços de e-mail, servidores, endereços IP e muito mais. É nesse estágio que as vulnerabilidades são exploradas ou as capacidades maliciosas são aplicadas.
Pivotagem analítica:
O conceito de pivotamento analítico desempenha um papel crucial neste modelo. Ele se concentra na habilidade de um analista de, a partir de qualquer ponto dentro do Diamante, alcançar e explorar as conexões com outros pontos. Isso equivale a mapear as diversas características de um Diamante a partir de uma característica central. Além disso, os pivôs também podem ocorrer entre eventos e fases dentro do Diamante. Isso significa que um analista pode escolher qualquer característica do modelo como ponto central, com base nas circunstâncias específicas, e adotar uma abordagem proativa para rastrear ou mapear o evento. Essas abordagens centradas podem incluir:
Centrada na Vítima
Centrada em capacidades
Centrada na infraestrutura
Centrada no Adversário
Centrada na política social
Centrada na tecnologia

Tópicos de atividades
Um thread de atividade é um gráfico direcionado e ordenado por fases onde cada vértice é um evento e os arcos identificam relações causais entre os eventos. Uma vez descoberta a atividade e caracterizados os eventos, eles são ordenados pelas fases da atividade maliciosa (cadeia de mortes) e vinculados por sua relação causal em threads. Eles são chamados de threads de atividades. Os threads não apenas se estendem verticalmente ao longo de um único par adversário-vítima, mas também horizontalmente, à medida que os adversários aproveitam o conhecimento e o acesso obtidos em uma operação para permitir outras operações.

Gráficos de ataque de atividade
Embora os gráficos de atividades resolvam as ações do(s) adversário(s), o modelo dá um passo além. Geralmente, as equipes de gerenciamento de vulnerabilidades ou de avaliação de riscos determinam os ativos e sua postura de risco. É feita uma modelagem de ameaças e são tiradas conclusões para saber de quantas maneiras um determinado ativo pode ser atacado e quais os riscos para o negócio se atacado de cada forma (Gráficos de Ataque). Com base nos impactos nos negócios alinhados aos custos incorridos na proteção, as estratégias são escolhidas apenas para os ataques mais prováveis. O modelo diamante faz uso desses gráficos de ataque e os mescla com threads de atividades.

A combinação do Modelo Diamond e da estrutura MITRE ATT&CK pode ser uma abordagem poderosa para melhorar a segurança cibernética e a inteligência sobre ameaças.
Use a estrutura MITRE ATT&CK para identificar as técnicas, táticas e ferramentas que são comumente empregadas em ataques cibernéticos. Em seguida, empregue o Modelo Diamond para aprofundar a análise, investigando a infraestrutura e as capacidades dos atores de ameaças por trás desses ataques.



Lembrando que a eficácia dessa abordagem depende da integração adequada desses modelos em sua estratégia de segurança cibernética e na capacidade de análise e resposta da sua equipe de segurança. Além disso, é crucial manter-se atualizado com as ameaças em constante evolução e ajustar sua estratégia conforme necessário.
Em resumo, o Modelo Diamante de análise de intrusão ilustra que um "adversário" emprega uma "capacidade" através de uma "infraestrutura" contra uma "vítima". De acordo com esse princípio, cada incidente de intrusão representa o avanço do adversário em direção a seus objetivos, utilizando as capacidades disponíveis na infraestrutura contra a vítima selecionada. Esse modelo fornece uma estrutura conceitual fundamental para entender como os invasores operam e como suas ações afetam os sistemas e as organizações visadas.
Publicado por: Joao Paulo Mendes de Carvalho, em 05 de Outubro de 2023.
Comments