Aprendizado e descoberta 6min de Leitura - 20 de abril de 2020

Processos para antecipar ataques cibernéticos

Duas telas de computador sobre uma mesa. Uma pessoa aponta para a tela direita e outra para a esquerda.

This post is also available in: Português Español

Conheça alguns meios de compreender as estruturas, metodologias e ferramentas que ajudam a identificar, quantificar e compreender as ameaças de hackers.

A modelagem de ameaças é um processo estruturado pelo qual os profissionais de TI podem identificar potenciais ameaças e vulnerabilidades de segurança, medir a seriedade de cada uma e priorizar técnicas para reduzir ataques e proteger os recursos de TI.

Essa definição é ampla, e pode soar como sendo “apenas” a descrição do trabalho de um profissional de segurança cibernética. Mas o importante sobre um modelo de ameaça é que ele é sistemático e estruturado. Os modeladores de ameaças passam por uma série de etapas concretas para compreender completamente o ambiente que estão tentando proteger, identificando vulnerabilidades e possíveis invasores.

Dessa maneira, a modelagem de ameaças ainda é, de certa forma, uma arte e uma ciência ao mesmo tempo, e não há apenas um processo único. Existem várias práticas de segurança, principalmente a ideia de “árvores de ataque” desenvolvida na década de 1990.

Em 1999, os funcionários da Microsoft Loren Kohnfelder e Praerit Garg distribuíram um documento dentro da empresa chamado “As ameaças aos nossos produtos”, considerado por muitos como a primeira descrição de modelagem de ameaças. Kohnfelder e Garg chamaram sua proposta de Estrutura Stride.

É importante saber que existe uma grande variedade de estruturas e metodologias de modelagem de ameaças por aí. Alguns modelos têm ênfases diferentes, enquanto outros são específicos para determinadas esferas de TI, pois há aqueles que focam especificamente na segurança de aplicativos. É necessário então entender o que todas essas metodologias têm em comum, e quais técnicas específicas podem ser as mais adequadas a cada situação.

Processos e etapas de modelagem de ameaças

Cada metodologia individual de modelagem de ameaças consiste em uma série de diferentes de estágios. Existe um fluxo lógico básico comum a todos esses métodos. Um dos esboços mais sucintos e diretos do processo de modelagem de ameaças vem do engenheiro de software Goran Aviani. Para ele, o objetivo de um modelo de ameaça é responder a quatro perguntas:

– Em que exatamente estamos trabalhando?
– O que pode dar errado?
– O que estamos fazendo a respeito disso?
– Fizemos um bom trabalho?

O processo de modelagem de ameaças, por sua vez, deve envolver quatro etapas amplas, cada uma das quais produzirá uma resposta para cada pergunta.

– Decompor o aplicativo ou infraestrutura
– Determinar as ameaças
– Determinar medidas de combate e atenuações
– Classificar as ameaças

Para entender exatamente o que ocorre em cada uma dessas etapas, é preciso falar sobre as técnicas específicas subjacentes à modelagem de ameaças.

Técnicas de modelagem de ameaças

Talvez o termo mais desconhecido nas etapas listadas acima seja a palavra “Decompor”. O que significa decompor um aplicativo ou infraestrutura?

O engenheiro de software Andrea Della Corte diz que, em termos gerais, consiste em entender melhor o aplicativo e como ele interage com entidades externas. Isso envolve a criação de casos de uso para entender como o aplicativo é utilizado, identificar pontos de entrada para ver onde um invasor em potencial pode interagir com o aplicativo, identificando ativos (ou seja, itens / áreas nas quais o invasor estaria interessado) e identificando níveis de confiança que representam os direitos de acesso que o aplicativo concederá a entidades externas.

Ela se refere especificamente sobre segurança de aplicativos, mas isso também pode se aplicar em uma visão geral de infraestrutura.

Uma das técnicas para decompor um aplicativo é criar um diagrama de fluxo de dados. Eles foram desenvolvidos na década de 1970 como uma maneira de representar visualmente como os dados se movem em torno de um aplicativo ou sistema, e onde esses dados são alterados ou armazenados por vários componentes.

O conceito de limite de confiança, ilustrando um ponto no fluxo de dados em que os dados precisam ser validados antes que possam ser usados pela entidade que os recebe, foi adicionado no início dos anos 2000, e essa ideia é essencial para o uso de um diagrama de fluxo de dados para modelagem de ameaças.

Como os diagramas de fluxo de dados foram desenvolvidos por engenheiros de sistema, e não por profissionais de segurança, eles incluem sobrecargas que não são necessárias para a modelagem de ameaças. Assim, uma alternativa para um diagrama de fluxo de dados é um diagrama de fluxo de processo.

Eles são semelhantes no conceito geral, mas mais simplificados e focados nas maneiras como os usuários e a execução de código se movem dentro de um sistema, refletindo mais de perto a maneira como os hackers pensam.

Árvore de ataque

Construir uma árvore de ataque é uma técnica de modelagem de ameaças que se torna importante quando você atinge o estágio em que está determinando ameaças em potencial contra seu aplicativo, software ou infraestrutura.

As árvores de ataque foram concebidas no final dos anos 90, e consistem em uma série de estruturas do tipo “parent and child nodes”, algo como “nós pais”, de classificação maior, e “nós filhos”, que surgem dos pais. Assim, representam eventos diferentes, com os nós filhos sendo condições que devem ser satisfeitas para que os nós pais sejam reais e autênticos.

O nó raiz – o principal pai do diagrama – é o objetivo geral do ataque. Com uma árvore de ataque, os modeladores de ameaças podem ver em qual conjunto de circunstâncias devem se unir para que uma ameaça seja bem-sucedida.

As técnicas para determinar medidas de combate e classificar ameaças possuem grandes variações, o que depende da estrutura ou metodologia escolhida.

Estruturas e metodologias de modelagem de ameaças mais populares


1 – STRIDE
2 – DREAD
3 – MASSA
4 – GRANDE
5 – Trike
6 – OITAVA
7 – NIST

Modelagem de ameaças STRIDE

É a avó da modelagem de ameaças, desenvolvida pela primeira vez na Microsoft no final dos anos 90. STRIDE representa as seis categorias de ameaça, cada uma das quais viola uma propriedade específica de variações da CIA:

– Falsificação ou representação de outra pessoa ou computador, que viola a autenticidade;
– Adulteração de dados, que viola a integridade;
– Repúdio ou impossibilidade de vincular a você uma ação que você executou, violando a não-repudiabilidade;
– Divulgação de informações, que violam a confidencialidade;
– Negação de serviço, que viola a disponibilidade;
– Elevação de privilégio, que viola a autorização.

Modelagem de ameaças DREAD

Foi concebida como um complemento para o modelo STRIDE, que permite aos modeladores classificar as ameaças depois de identificadas. A DREAD representa seis perguntas que poderiam ser feitas sobre cada ameaça em potencial:

– Potencial de dano: qual seria o estrago se a vulnerabilidade for explorada?
– Reprodutibilidade: é fácil reproduzir o ataque?
– Exploração: Quão fácil é lançar um ataque?
– Usuários afetados: Com uma porcentagem aproximada, quantos usuários são afetados?
– Detectabilidade: é fácil encontrar a vulnerabilidade?
Cada uma dessas perguntas é respondida com notas que variam de 1 a 3.

Modelagem de ameaças PASTA

Significa processo para simulação de ataque e análise de ameaças, contendo sete etapas focadas no alinhamento dos requisitos técnicos de segurança com os objetivos de negócios. Cada etapa é bastante complexa, consistindo em várias subetapas. Mas, em geral, tem a seguinte sequência:

1 – Definir objetivos
2 – Definir escopo técnico
3 – Decomposição de aplicativos
4 – Análise de ameaças
5 – Análise de vulnerabilidades e fraquezas
6 – Modelagem de ataque
7 – Análise de risco e impacto

Modelagem de ameaças VAST

VAST significa Visual Agile Threat Modeling. Esse modelo é subjacente ao ThreatModeler, uma plataforma automatizada de modelagem de ameaças que distingue aplicativos e modelos de ameaças operacionais. O VAST foi projetado especificamente para integrar fluxos de trabalho criados em torno da filosofia DevOps.

Modelagem de ameaças Trike

Trata-se de uma estrutura e ferramenta de código aberto que o acompanha para modelagem de ameaças e avaliação de riscos. Opera de modo defensivo, ao invés de tentar imitar o processo de pensamento de um invasor.

Com o Trike, é possível modelar o sistema que se está tentando defender, avaliando todos os componentes sob o ponto de vista do CRUD, ou seja, quem tem os recursos para criar, ler, atualizar ou excluir essa entidade. As ameaças são identificadas através da iteração, por meio de um diagrama de fluxo de dados, com cada ameaça caindo em apenas duas categorias: negação de serviço ou elevação de privilégio.

Modelagem de ameaças OCTAVE

Em inglês, o nome significa Avaliação Operacionalmente Crítica de Ameaças, Ativos e Vulnerabilidades. Foi desenvolvida na Universidade Carnegie Mellon, que se concentra nos riscos organizacionais e não tecnológicos. Consiste em três fases:

1 – Criar perfis de ameaças baseados em ativos
2 – Identificar a vulnerabilidade da infraestrutura
3 – Desenvolver uma estratégia e planos de segurança

Modelagem de ameaças NIST

O Instituto Nacional de Padrões e Tecnologia dos EUA possui sua própria metodologia de modelagem de ameaças centrada em dados, que possui quatro etapas:

1 – Identificar e caracterizar o sistema e os dados de interesse;
2 – Identificar e selecionar os vetores de ataque a serem incluídos no modelo;
3 – Caracterizar os controles de segurança para minimizar os vetores de ataque;
4 – Analisar o modelo de ameaça.

Melhores práticas de modelagem de ameaças

Independentemente da metodologia escolhida, existem algumas práticas que devem ser seguidas. Talvez o mais importante seja fazer da modelagem de ameaças uma prioridade durante o desenvolvimento do sistema. Se houver a possibilidade de fazer isso no início de um projeto, pode-se evitar muito retrabalho.

Outra prática recomendada é não exibir aplicativos e sistemas isolados um do outro. Se os vários modelos de ameaças são conectados um ao outro da mesma maneira que os aplicativos e os componentes interagem como parte do sistema de TI, o resultado é uma superfície de ataque abrangente, que o responsável pela segurança da informação pode usar para entender todo o portfólio de ameaças que rondam a empresa.

E o mais importante: um modelo de ameaça deve ser um documento ativo, que precisa ser atualizado constantemente. Afinal, os cibercriminosos vivem buscando novas maneiras de atacar, e tudo indica que nunca tiram férias.

This post is also available in: Português Español