English | Sobre nós | Eventos | Downloads

 

Comunidade Portuguesa de Segurança da Informação
Information Security Community Portugal




Metodologias de Threat Modelling / Modelação de Ameaças

To secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself.
Sun Tzu, The Art of War



1. Para que serve threat modelling?
Quem desenvolve software com preocupações de segurança ou quem faz análise de segurança de sistemas, depara-se com um desafio complexo: como identificar e descrever riscos de uma forma sistemática?

O grau de granularidade do diagnóstico do risco, que é requerido em situações de desenvolvimento software, pode implicar que além da constatação da fragilidade (vulnerabilidade), se faça também a decomposição do processo de exploração. Nestes casos há que perceber a cadeia de relações entre as acções do agente ameaça (hacker) e os vários componentes do sistema. Identificando, por exemplo, qual o ponto de entrada no sistema (que pode ser o módulo de autenticação), quais as acções desencadeadas pelo agente para aceder, de modo autorizado, ao um outro módulo, e como estas acções incidiram sobre os vários componentes do software em análise.

Uma forma simples de descrever as acções de tentativa de intrusão do agente ameaça é usar um tipo diagrama denominado de attack tree; um modo mais sistemático é usar uma metodologia de modelação de ameaças.



2. Árvores de ataque (attack tree)
Este tipo de diagrama foi popularizado por Schneier (aliás citar o artigo deste autor é uma cânone de qualquer texto com pretensões.… ; -).

A raiz da árvore (de ataque) consiste nos objectivos do ataque. A primeira tarefa é, portanto, identificar qual a finalidade do ataque. As acções do atacante para alcançar essa meta serão os futuros nós da árvore.

A estratégia do atacante pode envolver acções ligadas por ANDs ou ORs. Os ANDs são representados por 2 linhas, e os ORs por uma linha.

Como ilustração de uma árvore de ataque temos a figura em baixo. Um atacante para obter acesso a um eventual servidor ISMSPT terá que sucessivamente executar as acções do primeiro nível (identificar ISMSPT domain name, por exemplo). Cada uma destas acções pode ser conseguida concretizando apenas uma das acções do segundo nível (ligadas por OR´s).

Em suma, as árvores de ataque podem descrever, de forma simples, as técnicas de hacking de sistemas. Este tipo de diagrama é ideal para ilustrar ataques desensacados por hackers ou por softwares que estejam a correr scripts de ataque.







3. Modelação de ameaças
Uma forma mais complexa de descrever riscos é usar uma metodologia de modelação. No mercado, coabitam pelo menos duas: CORAS e a da Microsoft.


3.1 CORAS
O CORAS é uma metodologia de modelação de riscos, que recorre a diversos tipos de diagramas, como o Fault Tree Analysis (FTA), Failure Mode, Effect and Criticality Analysis (FMECA) e Event Tree Analysis (ETA).

Estes diagramas assumem ângulos de análise distintos. O Fault Tree Analysis (FTA) começa por definir um evento não desejado (incidente de segurança) e depois deduz os factores que levaram ao incidente. Por outro lado, o Failure Mode Effect and Criticality Analysis (FMECA) começa por identificar para cada componente do sistema, todas as falhas e consequências possíveis. Posteriormente, estas falhas são classificadas em termos do seu grau de criticidade. Registe-se que estes diagramas são provenientes de áreas tão diversas, como a análise de acidentes aéreos, prevenção de acidentes na indústria química.

Mais sobre o CORAS.



3.2 Microsoft
Esta metodologia é eventualmente a aposta segura. A empresa de software parece ter adoptado o threat modelling. Primeiro, é editado a metodologia em livro, segue-se a ferramenta de desenho (Threat Modeling Tool; versão beta desta ferramenta está disponível) e agora até existe um portal dedicado ao tema e um blog da equipa da Microsoft de Threat Modeling.

A ferramenta citada (freeware, by the way) permite desenhar o processo completo de modelação. Cumulativamente integra-se com o Visio (como se pode visualizar pelas imagens) e gera relatórios.

Um artigo interessante em português sobre modelação de ameaças, aqui.





4. Conclusão
A modelação de riscos (ou modelação de ameaças, na terminologia mais comum) é uma área em crescimento (daí aposta da Microsoft). O nível de granularidade, que as metodologias de modelação permitem na descrição de riscos, torna-as adequadas para a análise de segurança de sistemas, no âmbito do desenvolvimento de software. Como metodologias de modelação, podemos reconhecer as árvores de ataque (attack tree), CORAS e Microsoft, com destaque para a última (registe-se que a metodologia da Microsoft inclui as árvores de ataque).



Paulo Coelho
Consultor de Segurança Informação
Sinfic

PS: Este artigo foi motivado pelo contacto de Wagner Elias, autor do site http://wagnerelias.blogspot.com/. Este é um excelente blog em termos de segurança informática, valendo a pena uma visita.

Labels:

Data 23.2.06

<< Início