Volte para o glossário
|
Threat Modeling

Threat Modeling

O que é Modelagem de Ameaças

A Modelagem de Ameaças é um processo que consiste em analisar uma aplicação, sistema ou processo desde o ponto de vista da segurança, ou seja, considerando quais são os ativos que precisam ser protegidos, quais são as ameaças que podem comprometer esses ativos, quais são as vulnerabilidades que podem ser exploradas pelas ameaças e quais são as consequências se isso acontecer. Isso também envolve comunicar e documentar essas informações de forma clara e estruturada, para que todos os envolvidos possam entender os riscos e as medidas de segurança necessárias.

Em outras palavras, quando fazemos a Modelagem de Ameaças, nós olhamos para uma aplicação e pensamos no que precisamos proteger, no que pode dar errado, no que pode facilitar o ataque e no que pode acontecer se o ataque ocorrer - tudo com o propósito de construir controles efetivos de segurança.

“O custo de remover vulnerabilidades de aplicações durante a fase de design é 30 a 60 vezes menor do que remover durante a produção.” 

NIST, IBM, and Gartner Group

Assim, tal processo é importante porque ajuda a definir requisitos e controles de segurança adequados, ou seja, quais são as ações que devem ser tomadas para prevenir, detectar ou responder às ameaças, de acordo com o nível de risco e o valor dos ativos. Além disso, ela ajuda a melhorar o design e o desenvolvimento de software seguro, pois permite que os desenvolvedores considerem a segurança desde o início do projeto, evitando erros e falhas que possam comprometer a qualidade e a confiabilidade do software.

Quais são os objetivos da Modelagem de Ameaças

Em resumo, os objetivos da Modelagem de Ameaças são:

  • Identificar, comunicar e entender as ameaças e vulnerabilidades que podem afetar a segurança de uma aplicação antes mesmo de desenvolvê-la.
  • Definir contramedidas para prevenir ou mitigar os efeitos das ameaças ao sistema.
  • Priorizar as ameaças de acordo com sua gravidade e impacto.
  • Adotar uma abordagem proativa ao gerenciamento de ameaças.
  • Facilitar a comunicação entre as equipes de desenvolvimento e segurança sobre as ameaças de maneira consistente e centralizada.
  • Melhorar o design e o desenvolvimento de software seguro.
  • Evitar retrabalho e custo ao lidar com problemas antes de enfrentá-los em produção.

Modelagem de Ameaças e Cultura em AppSec

A Modelagem de Ameaças é uma técnica essencial para a construção de aplicações mais seguras desde o início. Contudo, os benefícios da Modelagem de Ameaças não param por aí. 

Um aspecto igualmente importante é o impacto positivo que a Modelagem de Ameaças traz para a conscientização de segurança em toda a organização. Ao envolver diversos profissionais e equipes, como desenvolvedores, analistas de segurança, pessoas de produto, designers e gerentes, a Modelagem de Ameaças promove a colaboração e o compartilhamento de conhecimento sobre AppSec com todos os envolvidos.

Com essa prática, os profissionais adquirem uma visão mais aprofundada das ameaças e aprendem boas práticas de segurança. Essa troca de informações resulta em uma cultura de segurança mais forte e integrada em toda a organização.

Portanto, uma cultura de AppSec bem estruturada é essencial para o sucesso dessa abordagem, garantindo que a segurança seja uma responsabilidade compartilhada por toda a equipe.

Quais são as etapas da Modelagem de Ameaças

As etapas da Modelagem de Ameaças podem variar de acordo com a metodologia e a ferramenta utilizada, mas em geral elas seguem um fluxo semelhante, que pode ser sintetizado nas seguintes etapas:

1º - Identificar os ativos, os atores, os pontos de entrada, os componentes, os casos de uso e os níveis de confiança do sistema, e representá-los em um diagrama de fluxo de dados. Realizando assim uma decomposição do sistema.

2º - Analisar as possíveis ameaças
, buscando cenários de ataques que podem afetar o sistema, usando uma estrutura como o STRIDE, o DREAD, o VAST ou a árvore de ataque.

3º - Priorizar as ameaças
de acordo com sua gravidade e impacto, usando um sistema de pontuação como o CVSS (Common Vulnerability Scoring System).

4º - Mitigar as ameaças
, definindo e implementando controles de segurança para prevenir, detectar ou responder aos ataques utilizando o OWASP ASVS, por exemplo.

5º - Verificar a eficácia dos controles de segurança implementados
e atualizar o modelo de ameaças conforme o sistema evolui

Quais são as metodologias para realizar a Modelagem de Ameaças

Vamos lá, existem diversas metodologias para realizar a Modelagem de Ameaças, cada uma com suas vantagens e desvantagens, dependendo do contexto e do objetivo da modelagem:

  • STRIDE: é uma metodologia desenvolvida pela Microsoft que usa um mnemônico para categorizar as ameaças em seis tipos: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service e Elevation of Privilege.

  • DREAD: é outra metodologia da Microsoft que usa um sistema de pontuação para classificar as ameaças em cinco dimensões: Damage Potential, Reproducibility, Exploitability, Affected Users e Discoverability. 

  • VAST: é uma metodologia que integra quatro elementos: Value-driven (orientada ao valor), Architectural (arquitetural), Strategic (estratégica) e Tactical (tática).

  • Árvore de ataque: é uma metodologia que usa uma estrutura em árvore para representar graficamente as possíveis maneiras de atacar um sistema. Cada nó da árvore representa uma condição ou um objetivo do atacante, e cada ramo representa uma relação lógica entre os nós.

  • Octave  - Avaliação de ameaças, ativos e vulnerabilidade operacionalmente críticas, está focado na gestão de riscos e no impacto relacionado à organização.

De modo geral, todas as metodologias possuem o mesmo objetivo: identificar o nível de risco, as fragilidades e o que fazer para mitigar os riscos.

Quais são os desafios para a Modelagem de Ameaças

Escolha da metodologia adequada: A seleção de um processo de Modelagem de Ameaças, como STRIDE ou  DREAD requer consideração cuidadosa, pois cada um pode ter pontos fortes e fracos diferentes, não sendo universalmente aplicável.

Complexidade dos e aplicações e sistemas:
aplicações complexas, sistemas distribuídos e baseados em nuvem apresentam múltiplos pontos de entrada, limites de confiança, dependências e superfícies de ataque, tornando a Modelagem de Ameaças mais exigente em esforço e experiência.

Manutenção contínua
: o modelo de ameaças deve ser mantido atualizado, acompanhando mudanças na aplicação, ambiente e cenário de ameaças ao longo do ciclo de vida do desenvolvimento.

Comunicação e colaboração:
essa técnica requer uma comunicação eficiente e colaborativa entre várias partes interessadas,  como desenvolvedores, analistas de segurança, pessoas de produto, designers e gerentes com o objetivo de garantir uma compreensão comum das metas de segurança, riscos e medidas de mitigação.

Medição e validação:
é essencial medir e validar a eficácia do modelo de ameaças e das contramedidas implementadas, garantindo que a segurança seja constantemente aprimorada e que as medidas sejam efetivas.

Modelagem de Ameaças com a Conviso Platform

A Conviso Platform oferece uma abordagem inovadora para a Modelagem de Ameaças, garantindo um processo seguro por design e totalmente automatizado. Por meio dessa abordagem, a plataforma define requisitos de segurança e recomenda práticas seguras de codificação com base nas ameaças identificadas nos itens de arquitetura.

Essa solução, desenvolvida na Conviso Platform, proporciona uma visão integrada e abrangente das ameaças, simplificando a validação e o rastreamento dos requisitos de segurança durante todo o ciclo de desenvolvimento.

Experimente a Conviso Platform agora mesmo e automatize a Modelagem de Ameaças!