Threat Modeling Tool

Concluído

Visão geral rápida

Reconhecido pela comunidade de modelagem de ameaças, o Microsoft Threat Modeling Tool ajuda os engenheiros a criar diagramas de fluxo de dados e aplicar STRIDE ao trabalho de modelagem de ameaças.

O Threat Modeling Tool oferece:

  • Modelos personalizáveis
  • Mecanismo de geração de ameaças com ameaças e estratégias de redução de riscos

O modelo padrão é chamado de "Base de Dados de Conhecimento de TM do SDL" e fornece um conjunto básico de elementos e funcionalidades de geração de ameaças. Basta ter um entendimento básico dos diagramas de fluxo de dados e do STRIDE.

Recapitulação do STRIDE

STRIDE é o acrônimo que representa as seis principais categorias de ameaças:

  • Falsificação: fingir ser outra pessoa ou outra coisa
  • Adulteração: alterar dados sem autorização
  • Repúdio: não reivindicar a responsabilidade por uma ação executada
  • Divulgação de informações confidenciais: ver dados sem ter permissão
  • Negação de serviço: sobrecarregar o sistema
  • Elevação de privilégio: ter permissões que não deveria ter

Seção para usuários avançados

Para usuários mais avançados, você pode personalizar o modelo em três seções principais.

Estênceis

Processo, entidade externa, armazenamento de dados, fluxo de dados e limites de confiança compõem os elementos pai.

Screenshot of Parent Stencils.

Também é possível criar elementos filho a fim de fornecer granularidade para contexto adicional, geração de ameaças acionáveis e estratégias de redução de riscos.

Screenshot of Expanded Flow Stencils.

Exemplo de como os elementos filho funcionam

O elemento pai fluxo de dados possibilita escolher entre os elementos filho HTTP e HTTPS.

O HTTP deve gerar mais ameaças, pois as ameaças de adulteração, divulgação de informações confidenciais e falsificação são comuns em canais não criptografados.

Como usar o HTTP

Screenshot illustrating the HTTP child element.

Como usar o HTTPS

Screenshot illustrating the HTTPS child element.

Como adicionar propriedades de elementos

Se você tiver outras propriedades que precisem ser incluídas no modelo padrão, adicione-as a cada elemento na exibição do administrador.

Screenshot of the Stencil Properties Admin View.

Você verá as alterações sempre que arrastar e soltar esse elemento na tela.

Screenshot of the Stencil Properties User View.

Propriedades da ameaça

As propriedades permitem criar campos que são preenchidos para cada ameaça gerada, assim como as propriedades de estêncil permitem criar campos para cada elemento.

Lembre-se: a meta é ter o máximo de contexto possível da maneira mais simples.

Exemplo de propriedades da ameaça

Exibição do administrador

Adicione campos que fornecem mais contexto e etapas acionáveis. Os exemplos incluem:

  • Prioridade dos problemas: entenda quais problemas precisam ser resolvidos primeiro.
  • Hiperlinks: vincule os problemas à documentação online.
  • Mapeamento de risco externo: use a mesma linguagem de risco que outras organizações com fontes de terceiros confiáveis, como OWASP Top 10 e CWE Details.

Screenshot of the Threat Properties Admin View.

Exibição do usuário

Os usuários do Threat Modeling Tool verão essas alterações sempre que analisarem os diagramas de fluxo de dados.

Screenshot of the Threat Properties User View.

Estratégias de redução de riscos e ameaças

Esta seção é o centro do Threat Modeling Tool. O mecanismo de geração de ameaças examina os elementos individuais e conectados para decidir quais ameaças serão geradas.

Como a geração de ameaças funciona

Etapa 1 – Especificar origens e destinos

O mecanismo de geração de ameaças usa frases simples para gerar uma ameaça. Os exemplos incluem:

  • o destino é [nome do elemento]
  • a origem é [nome do elemento]

Você também pode usar o nome do elemento em títulos e descrições. O formato é: '{target.Name}' ou '{source.Name}'.

Etapa 2 – Combinar origens e destinos

Você pode ser preciso com a maneira como uma ameaça é gerada. Combine os destinos, as origens e as respectivas propriedades individuais com os operadores AND e OR. Os exemplos incluem:

  • target.[property name] é 'Sim' AND source.[property name] é 'Não'
  • o fluxo cruza [nome do limite de confiança]
Etapa 3 – Gerar ou ignorar ameaças

O mecanismo de geração de ameaças usa dois campos para gerar ou ignorar uma ameaça:

  • Incluir: a ameaça será gerada se as frases adicionadas neste campo forem verdadeiras.
  • Excluir: a ameaça não será gerada se as frases adicionadas neste campo forem verdadeiras.

Este é um exemplo real do modelo padrão para reunir essas etapas:

  • Ameaça: script entre sites
  • Incluir: (o destino é [Servidor Web]) OR (o destino é [Aplicativo Web])
  • Excluir: (target.[Limpeza da Saída] é 'Sim') AND (target.[Limpeza da Entrada] é 'Sim')

A ameaça cross-site scripting neste exemplo é gerada quando:

  • O processo for um servidor Web ou um aplicativo Web
  • A entrada e a saída não foram corrigidas

Screenshot of Include/Exclude view.

Observação

A criação de modelo do Microsoft Threat Modeling Tool é um tópico complexo e não será abordado por completo neste roteiro de aprendizagem.

Verificar seu conhecimento

1.

Qual benefício não é oferecido pelo Threat Modeling Tool?