O documento apresenta estratégias para modelagem de ameaças, discutindo termos e definições, contextualizando o assunto com um exemplo de Star Wars, explicando para que serve a modelagem de ameaças e apresentando metodologias como focar nos ativos, atacantes, softwares ou usar a abordagem STRIDE. Também discute armadilhas comuns e responde dúvidas.
The Psychology Behind Security - ISSA Journal Abril 2010
Estratégias para Modelagem de Ameaças
1. Estratégias para Modelagem
de Ameaças
Nichols Jasper – SafeGuard STI
17º Congresso de Tecnologia – FATEC-SP
06/10/2015
2. Agenda
• Termos e Definições
• Contextualizando: Star Wars
• Algo do outro mundo? #sqn
• Para que serve
• Metodologia
• Estratégias para modelagem de ameaças
• Armadilhas/erros comuns no assunto
• Dúvidas
• Referências
2
3. Termos e Definições
• Ativo*
• Qualquer coisa tangível ou intangível que tem valor para uma
organização ou indivíduo.
• Vulnerabilidade*
• Fragilidade de um ativo ou controle de segurança que pode ser
explorada por uma ou mais ameaças.
• Ameaça*
• Causa potencial de um incidente indesejado que pode resultar em
dano a um ativo (sistema, pessoas, reputação, etc) ou organização.
• Agente ou Fonte de ameaça**
• É autor que intencionalmente ou não explora uma vulnerabilidade e
causa impacto, danos ou prejuízos, nos ativos do alvo explorado.
• Por trás de toda ameaça intencional existe alguma motivação: política,
ideológica, financeira, religiosa, emocional, etc.
• * Fonte: ISO/IEC 27000, Information technology – Security techniques – Information security management systems - Overview
and vocabulary
• ** Fonte: NISTIR 7298 Revision 2 Glossary of Key Information Security Terms
3
6. Termos e Definições
• “Modelagem de Ameaças consiste no processo de
usar abstrações para identificar e avaliar as
ameaças de um dado sistema” - Adam Shostack
• Parte do princípio que para se proteger
adequadamente é necessário entender bem contra
o que ou quem se deseja defender.
• Isto é possível ao examinar os sistemas sob o
ponto de vista de um adversário em potencial
(ameaça), identificando os maiores riscos aos quais
os sistemas estão expostos.
• Como resultado se obtém uma lista das possíveis
ameaças e opções para tratar o risco de sua
materialização. 6
7. Algo do outro mundo? #sqn
• O ser humano começou a modelar ameaças
desde o momento em que começou a pensar
em se proteger ou evitar que alguma coisa
danosa acontecesse.
• Estas atividades fazem parte do cotidiano das
pessoas e são aplicadas:
• No projeto de sistemas críticos, como projetos de
aviões e de usinas nucleares.
• Na seção de "precauções" nos manuais
eletrodomésticos.
• Nos avisos de capacidade máxima dos
elevadores.
• Nas bulas de remédios (efeitos colaterais).
• Nas faixas amarelas das estações de metrô. 7
8. Algo do outro mundo? #sqn
• Um museu que guarda artefatos,
joias e peças de arte raras modela
ameaças quando pensa em
proteger tais itens de um agente
de ameaça que pode causar algum
dano a esses ativos, causando
prejuízo à instituição.
• Um professor que quer evitar que
seus alunos colem também precisa
modelar essa ameaça!
• Enfim, é uma atividade que todos
fazemos cotidianamente e nem
notamos! 8
9. Exercício prático: Qual casa é mais fácil de invadir?
• Agente de ameaça: Ladrão de casas perito em abrir fechaduras
A
B
9
11. Modelagem de Ameaças: Para que serve?
• Há várias razões para modelar ameaças:
1. Encontrar problemas de segurança: se pensamos em
construir uma casa, algumas decisões irão impactar em sua
segurança, como a presença de cercas e a disposição das
janelas.
2. Ampliar a compreensão dos requisitos de segurança: ao
passo que encontramos ameaças e fazemos uma avaliação
podemos compreender melhor as proteções necessárias.
3. Projetar e entregar produtos melhores: ao considerarmos
as ameaças, requisitos e necessidades de design é possível
reduzir as chances de haver retrabalho e mudanças
significativas no sistema durante seu desenvolvimento.
4. Achar erros que outras técnicas não acham: modelos do
que pode dar errado ajudam a criticar as premissas do
sistema e descobrir erros, omissões e problemas que as
técnicas tradicionais não encontram. 11
12. Metodologia para modelar ameaças
• O que você está construindo?
Modelar o
sistema
• O que pode dar errado quando ele
estiver construído?
Identificar
ameaças
• O que você deveria fazer a respeito
dessas coisas que podem dar errado?
Mitigar os riscos
associado às
ameaças
• Seu trabalho de análise foi feito com
qualidade?Revisão
12
13. Estratégias – Focando nos Ativos
• Envolver identificar três itens:
• O que você quer proteger?
• O cadastro de clientes.
• Fórmula do principal produto da
organização.
• As joias da coroa.
• O que um atacante quer?
• Os usuários e senhas de acesso ao
sistema de vendas.
• Números de cartão de crédito.
• Deixar o site da sua empresa fora do ar
na Black Friday.
• Possíveis barreiras entre eles
• Recursos e controles de segurança que
separam os itens acima.
13
14. Estratégias – Focando nos Atacantes
• Envolve a compreensão dos potenciais atacantes e do
seu conjunto de habilidades e motivações para
explorar as vulnerabilidades.
• Normalmente se usam personas, personagens fictícios
criados para representar os diferentes tipos de ameaça
a um dado sistema.
• Pensando num sistema de controle de lançamento de
ogivas nucleares:
• O que um espião de uma nação inimiga poderia fazer?
• E um administrador de sistema mal intencionado?
• E um funcionário bem intencionado mas sem o treinamento
adequado para operar o sistema?
14
15. Estratégias – Focando nos Softwares
• Foca na decomposição dos sistemas de software
através de diversos modelos que possibilitem enxergar
as ameaças relevantes.
• São usados os tradicionais diagramas DFD e UML para
enxergar além do funcionamento “normal” do sistema.
• É a estratégia usada e desenvolvida pela Microsoft,
uma das precursoras da modelagem de ameaças em
software.
15
16. Estratégias – Focando nos Softwares
16
Requisitos de
Segurança
Controles de
Segurança
Ameaças
Ameaças ajudam a
identificar requisitos
de segurança
Ameaças em potencial
violam os requisitos
de segurança de um
sistema
Requisitos de
segurança são
integrados aos
sistemas através de
controles de
segurança e visam
endereçar as
ameaças aos
sistemas.
18. Estratégias – O que pode dar errado - STRIDE
18
Categoria Descrição
Princípio de
Segurança afetado
Impacto Adverso
no sistema
S – Spoofing
Ocorre quando um usuário consegue se
passar por outro
Autenticação
Acesso Não
Autorizado
T – Tampering
Envolve a modificação maliciosa de um
ativo
Integridade
Modificação Da
Informação
R – Repudiation
Está associada quando um principal
executa uma ação e depois pode negá-la
sem algo que o conteste
Não Repúdio
Acesso Não
Autorizado
I – Information
Disclosure
Relacionada a exposição de informações
a indivíduos que não estão autorizados a
ter o acesso
Confidencialidade
Divulgação de
Informações
D – Denial of
Service
Envolve a degradação ou interrupção de
um serviço ou ativo aos usuários
legítimos
Disponibilidade
Destruição,
Negação De Serviço
E – Elevation of
Privilege
Ocorre quando um indivíduo obtém
privilégios e capacidades maiores do que
as que lhe são atribuídas legitimamente
Autorização
Acesso Não
Autorizado
19. Estratégias – Qual é a melhor?
• A que funciona!
• A modelagem de software tende a funcionar
melhor em sistemas com vasta documentação
disponível e tempo dedicado para análise, o
que não ocorre em muitos lugares.
• A modelagem em atacantes está sujeita a
preconceitos dos modeladores, o que pode
levar a construção de personas irreais ou
incompletos, levando a premissas equivocadas
do sistema.
• A modelagem em ativos necessita de um bom
conhecimento dos ativos sob análise e mais
ajuda a priorizar o tratamento das ameaças do
que a identifica-las propriamente.
• É melhor pensar nas estratégias como
peças de montar e adequá-las ao tempo,
contexto e recursos disponíveis! 19
20. Armadilhas/erros comuns no assunto
1. “Confie na força, Luke” – falta de abordagem
estruturada.
2. Modelar ciclicamente, sem entregar resultados.
3. Foco excessivo no “como” fazer.
4. Tratar MA como uma habilidade nata e não passível
de aprendizado.
5. Encontrar ameaças e não realizar seu tratamento.
6. Modelar “no vácuo” – É preciso contar uma história
com o sistema!
7. Modelar na hora errada – deixar isso para o final
pode dar muita dor de cabeça...
20