O número de incidentes cibernéticos não para de crescer e a segurança da informação se tornou um dos tópicos mais importantes para as empresas. Hoje, muitos dos aspectos da nossa vida no trabalho migraram para o mundo online, aumentando o escopo de atuação para os cibercriminosos.

Para combater essas ameaças, profissionais de segurança da informação em todo mundo estão desenvolvendo ferramentas de proteção que prometem manter os dados empresariais seguros dos ataques. No entanto, dado o número incessante de ataques, este é um trabalho desafiador.

Entra a modelagem de ameaças. 

Neste artigo, explicaremos o que é e como funciona a modelagem de ameaças para que você entenda como essa ferramenta permite aumentar a segurança dos seus sistemas!

O que é a modelagem de ameaças?

A modelagem de ameaças é um processo que adota a perspectiva dos cibercriminosos para identificar possíveis vulnerabilidades, riscos e ameaças que podem comprometer o uso de um sistema. Após identificadas, essas vulnerabilidades são corrigidas para mitigar os efeitos de um ataque. 

Durante uma modelagem de ameaças, fatores como a arquitetura do software, o contexto do negócio e o perfil de uso do sistema são analisados para que um entendimento profundo do sistema seja conquistado. 

Em geral, a modelagem de ameaças acontece ainda no estágio de planejamento do desenvolvimento — no entanto, não há regra e ela pode ser realizada em qualquer momento do ciclo de vida do software.

Durante o processo de modelagem, algumas perguntas são feitas e respondidas, tais como:

  • Qual método de modela será utilizado? Existem diversas metodologias que servem para guiar a execução de uma modelagem de ameaças (como mostraremos abaixo). O primeiro passo é identificar portanto qual será mais adequado para dado projeto;
  • Quais são as ameaças? Todas as ameaças que podem ser infligidas no sistema devem ser identificadas e classificadas;
  • Quais ações devem ser tomadas? Depois de identificadas as ameaças, são definidas as ações e soluções que visam corrigir essas vulnerabilidades;
  • Tudo está funcionando? Por último, as correções são testadas para garantir que funcionam e que o sistema é funcional.

Como funciona a modelagem de ameaças?

A modelagem de ameaças funciona identificando os tipos de agentes de ameaça que causam danos a um aplicativo ou sistema de computador. Ela considera a perspectiva de hackers mal-intencionados para ver quanto dano eles podem causar caso sejam bem-sucedidos. 

Ao conduzir a modelagem de ameaças, as organizações realizam uma análise completa da arquitetura de software, contexto de negócios e outros dados (por exemplo, especificações funcionais, documentação do usuário). Este processo permite uma compreensão mais profunda de aspectos importantes do sistema. 

Geralmente, a modelagem de ameaças é realizada em quatro etapas. sendo:

1. Planejamento: o que estamos construindo?

Esta é uma etapa crucial em que você desenvolve a estrutura que define o escopo de seu modelo de ameaça. É aqui que você define seus aplicativos, sua arquitetura, fluxo de dados, classificações de dados, ativos envolvidos e as partes interessadas envolvidas, como departamentos, parceiros e clientes.

2. Identificação: o que pode dar errado?

Esta etapa começa com a identificação e classificação dos tipos de ameaças às quais você pode estar exposto ou em risco, com base nas etapas anteriores. É por isso que ser o mais detalhado possível é importante, pois você precisa ter o escopo completo de toda a superfície de ataque.

A partir daí, você deve passar por vários cenários de ataque — seja um ataque de ransomware, exfiltração de dados, injeção de SQL ou qualquer outra coisa. Saber o quão críticos são seus ativos e onde está o ponto de falha ajudará você a entender quais ataques colocam sua organização em maior risco.

3. Prevenção: o que estamos fazendo para nos defender contra as ameaças?

Agora, você deve levar o exercício de construção de cenário mais adiante, e identificar quais tecnologias, planos de resposta a incidentes, controles, ferramentas de mitigação de ameaças e riscos e processos você tem para prevenir ou reduzir os danos em caso de comprometimento ou ataque bem-sucedido.

Entenda que pode haver muita sobreposição aqui — você não deve ter um conjunto individual de ferramentas e tecnologia para cada tipo de ataque ou cenário. Em vez disso, sua organização deve aproveitar ferramentas, sistemas, controles e processos que protegem e defendem sua organização de forma mais holística.

4. Correção: atuamos de acordo com as etapas anteriores?

A etapa anterior deve revelar quaisquer lacunas que possam deixar sua organização ou dados vulneráveis. Agora, a última etapa deve permitir que você avalie se a ameaça foi devidamente mitigada ou não e identifique o que é necessário para suprir quaisquer lacunas críticas.

Esta etapa é contínua; conforme as ameaças mudam e evoluem, e sua organização muda, o mesmo ocorre com o modelo de ameaça. Retornar regularmente a esta etapa permitirá que você entenda melhor quais mudanças exigem que você atualize seus processos, ferramentas, sistemas ou abordagem.

Vantagens da modelagem de ameaças

Quando realizada corretamente, a modelagem de ameaças pode fornecer uma linha de visão clara sobre as vulnerabilidades de um sistema, ajudando a justificar os esforços de segurança. 

Por meio dela, uma organização poderá tomar decisões bem informadas sobre as medidas de segurança que devem ser tomadas para aumentar a proteção do sistema. Sem a modelagem de ameaças, os tomadores de decisão podem agir precipitadamente com base em evidências insuficientes ou inexistentes.

Quando a organização de desenvolvimento leva a segurança a sério, a modelagem de ameaças é a maneira mais eficaz de fazer o seguinte:

  • Detectar problemas no início do ciclo de vida de desenvolvimento de software (SDLC) — mesmo antes que a primeira linha de código seja escrita;
  • Identificar as falhas de design que os métodos de teste tradicionais e as revisões de código podem ignorar;
  • Avaliar novas formas de ataque que você não consideraria de outra forma;
  • Maximizar os orçamentos de teste ajudando a direcionar o teste e a revisão do código;
  • Identificar os requisitos de segurança;
  • Corrigir os problemas antes do lançamento do software e evitar o retrabalho após a implantação;
  • Pensar nas ameaças além dos ataques padrão para os problemas de segurança exclusivos do seu aplicativo;
  • Manter as estruturas à frente dos invasores internos e externos relevantes para seus aplicativos;
  • Destacar ativos, agentes de ameaça e controles para deduzir os componentes que os invasores terão como alvo;
  • Modelar a localização de agentes de ameaças, motivações, habilidades e recursos para localizar invasores em potencial em relação à arquitetura do sistema.

Equívocos sobre modelagem de ameaças

Como um processo de segurança, a modelagem de ameaças está sujeita a vários equívocos. 

Algumas pessoas acreditam que ela é apenas uma atividade em estágio de desenvolvimento, alguns a veem como um exercício opcional que pode ser substituído pelo teste de penetração ou a revisão de código, e alguns pensam que o processo é simplesmente muito complicado. 

Testes de penetração e revisões de código não podem substituir a modelagem de ameaças. O teste de penetração e a revisão segura do código são duas atividades eficazes para localizar bugs. No entanto, as avaliações de segurança (por exemplo, modelagem de ameaças) são melhores para descobrir falhas de design.

Há um bom motivo para conduzir um modelo de ameaça após a implantação. A compreensão dos problemas na implantação atual influencia a estratégia de arquitetura de segurança futura, e o monitoramento dos pontos fracos permite uma correção mais rápida e eficaz. Sem entender as ameaças em potencial que um aplicativo enfrenta, você não pode garantir que está lidando com todos os riscos.

Além disso, a modelagem de ameaças não é tão complicada. Se você dividir as tarefas em etapas viáveis, a execução de um modelo de ameaça em um aplicativo da web simples — ou mesmo em uma arquitetura complexa — torna-se sistemática. A chave é começar com as melhores práticas básicas.

Dez metodologias de modelagem de ameaças

Existem diferentes metodologias para realizar a modelagem de ameaças. Abaixo, contamos quais são as dez principais que você deve conhecer:

1. STRIDE

Popularizado pela Microsoft, este método fornece um conjunto de práticas para responder à pergunta “o que pode dar errado?”. É melhor para organizações que são altamente focadas no desenvolvimento e novas na modelagem de ameaças. É focado no desenvolvedor. 

STRIDE é um acrônimo que, traduzido do inglês, significa falsificação de identidade, violação de dados, repúdio, divulgação de informações, negação de serviço e elevação de privilégio. Cada um é uma violação direta do sistema. 

Por exemplo, falsificação de identidade é uma violação de autenticidade, enquanto adulteração de dados viola a integridade do sistema. Aqui, os participantes do processo de modelagem de ameaças tentam criar cenários de abuso que se enquadram em cada ameaça. 

2. Trike 

Trike é um método conhecido por seu modelo exclusivo de avaliação de ameaças. É melhor para organizações que buscam uma metodologia focada em conformidade para satisfazer as auditorias de segurança. As etapas a seguir estão envolvidas na avaliação de ameaças com base no Trike:

  • Criação de um modelo de requisitos. Este modelo consiste em uma pontuação de risco atribuída a cada ativo pelas partes interessadas;
  • Criação de uma matriz ator-ativo-ação;
  • Enumeração das ameaças iterando cada elemento e descobrindo se ele se enquadra na elevação de privilégio ou negação de serviço..

Embora o Trike permita o gerenciamento de risco integrado, ele não é escalonável por natureza. 

3. VAST

VAST é um método criado pela ThreatModeler, uma plataforma automatizada de modelagem de ameaças. A maior vantagem desse método é que ele funciona com automação, integração e colaboração em mente. É melhor para grandes empresas que precisam de modelagem de ameaças para trabalhar em várias equipes e produtos.

Neste método, dois modelos de ameaça são construídos para abordar as equipes de desenvolvimento e infraestrutura:

  • Modelo de ameaça de aplicativo: examina o aplicativo de um ponto de vista arquitetônico. Ele analisa ameaças que podem resultar da interação do sistema com usuários e outros sistemas integrados. Isso é feito no nível do design;
  • Modelo de ameaça operacional: examina o aplicativo do ponto de vista da infraestrutura. Isso ajuda a colocar controles de segurança em vigor durante a mitigação. A equipe DevOps geralmente trabalha nisso.

4. Árvores de ataque 

As árvores de ataque são uma forma de representar as ameaças potenciais ao sistema. Essa é uma abordagem centrada no invasor, em que você pensa em cada invasor como uma persona com objetivos e conjuntos de habilidades. É melhor usado para sistemas complexos. As árvores de ataque funcionam da seguinte maneira:

  • Cada nó raiz da árvore é o objetivo de um invasor;
  • Cada nó folha é o meio potencial de atingir esse objetivo.

Cada nó é então associado a uma vulnerabilidade, que, por sua vez, é avaliada quanto ao impacto. Com base na vulnerabilidade e no impacto, uma contramedida é implementada.

5. PASTA 

PASTA significa, traduzido do inglês, Processo para Simulação de Ataques e Análise de Ameaças. É uma metodologia indicada para organizações que desejam alinhar suas estratégias de negócios com a segurança do produto. Para isso, ela considera as ameaças um problema de negócios. 

Este método segue essencialmente as quatro etapas principais mencionadas acima, mas com maior atenção aos detalhes. Aqui, você não apenas define objetivos de negócios, mas também cria um ‘portfólio de riscos’ da organização. Isso se baseia em objetivos comerciais, financeiros e operacionais, superpostos aos requisitos de conformidade. 

Conclusão

Um aplicativo robusto e seguro é, sem dúvida, uma fonte de conforto e confiança para investidores, partes interessadas e consumidores. Com o mundo se tornando cada vez mais digital, e os ataques cibernéticos se tornando mais comuns e frequentes, a modelagem de ameaças não é mais uma atividade opcional. 

É chegada a hora de os esforços de segurança acompanharem os designs de nosso aplicativo e os ciclos de vida de desenvolvimento. Mesmo os sistemas legados não podem ser isentos do processo. 

Para obter ajuda, entre em contato com a BHS e veja como nossos especialistas podem ajudá-lo a aumentar a segurança dos seus sistemas!