Estratégias para Modelagemde Ameaças
Nichols Jasper – SafeGuard STI
17º Congresso de Tecnologia – FATEC-SP
06/10/2015
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
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 - Overviewand vocabulary
• ** Fonte: NISTIR 7298 Revision 2 Glossary of Key Information Security Terms
3
Vídeo – Star Wars
• O Retorno de Jedi (1983)
4
Termos e Definições
• Contextualizando....
5Crédito: Leandro Rocha http://pt.slideshare.net/leandroroc/modelagem-ameaas-para-pentester
Ativo
AmeaçaMitigação
Vulnerabilidade (Exaustor Termal)
Termos e Definições
• “Modelagem de Ameaças consiste no processo deusar abstrações para identificar e avaliar asameaças de um dado sistema” - Adam Shostack
• Parte do princípio que para se protegeradequadamente é necessário entender bem contrao que ou quem se deseja defender.
• Isto é possível ao examinar os sistemas sob oponto de vista de um adversário em potencial(ameaça), identificando os maiores riscos aos quaisos sistemas estão expostos.
• Como resultado se obtém uma lista das possíveisameaças e opções para tratar o risco de suamaterialização.
6
Algo do outro mundo? #sqn
• O ser humano começou a modelar ameaçasdesde o momento em que começou a pensarem se proteger ou evitar que alguma coisadanosa acontecesse.
• Estas atividades fazem parte do cotidiano daspessoas e são aplicadas:
• No projeto de sistemas críticos, como projetos deaviões e de usinas nucleares.
• Na seção de "precauções" nos manuaiseletrodomésticos.
• Nos avisos de capacidade máxima doselevadores.
• Nas bulas de remédios (efeitos colaterais).
• Nas faixas amarelas das estações de metrô.7
Algo do outro mundo? #sqn
• Um museu que guarda artefatos,joias e peças de arte raras modelaameaças quando pensa emproteger tais itens de um agentede ameaça que pode causar algumdano a esses ativos, causandoprejuízo à instituição.
• Um professor que quer evitar queseus alunos colem também precisamodelar essa ameaça!
• Enfim, é uma atividade que todosfazemos cotidianamente e nemnotamos! 8
Exercício prático: Qual casa é mais fácil de invadir?
• Agente de ameaça: Ladrão de casas perito em abrir fechaduras
A
B9
10
Mas mesmo assim tem gente que consegue...
Modelagem de Ameaças: Para que serve?
• Há várias razões para modelar ameaças:
1. Encontrar problemas de segurança: se pensamos emconstruir uma casa, algumas decisões irão impactar em suasegurança, como a presença de cercas e a disposição dasjanelas.
2. Ampliar a compreensão dos requisitos de segurança: aopasso que encontramos ameaças e fazemos uma avaliaçãopodemos compreender melhor as proteções necessárias.
3. Projetar e entregar produtos melhores: ao considerarmosas ameaças, requisitos e necessidades de design é possívelreduzir as chances de haver retrabalho e mudançassignificativas no sistema durante seu desenvolvimento.
4. Achar erros que outras técnicas não acham: modelos doque pode dar errado ajudam a criticar as premissas dosistema e descobrir erros, omissões e problemas que astécnicas tradicionais não encontram. 11
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
Estratégias – Focando nos Ativos
• Envolver identificar três itens:
• O que você quer proteger?
• O cadastro de clientes.
• Fórmula do principal produto daorganização.
• As joias da coroa.
• O que um atacante quer?
• Os usuários e senhas de acesso aosistema de vendas.
• Números de cartão de crédito.
• Deixar o site da sua empresa fora do arna Black Friday.
• Possíveis barreiras entre eles
• Recursos e controles de segurança queseparam os itens acima.
13
Estratégias – Focando nos Atacantes
• Envolve a compreensão dos potenciais atacantes e doseu conjunto de habilidades e motivações paraexplorar as vulnerabilidades.
• Normalmente se usam personas, personagens fictícioscriados para representar os diferentes tipos de ameaçaa um dado sistema.
• Pensando num sistema de controle de lançamento deogivas 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 treinamentoadequado para operar o sistema?
14
Estratégias – Focando nos Softwares
• Foca na decomposição dos sistemas de softwareatravés de diversos modelos que possibilitem enxergaras ameaças relevantes.
• São usados os tradicionais diagramas DFD e UML paraenxergar além do funcionamento “normal” do sistema.
• É a estratégia usada e desenvolvida pela Microsoft,uma das precursoras da modelagem de ameaças emsoftware.
15
Estratégias – Focando nos Softwares
16
Requisitos de Segurança
Controles de Segurança
Ameaças
Ameaças ajudam aidentificar requisitosde segurança
Ameaças em potencialviolam os requisitosde segurança de umsistema
Requisitos desegurança sãointegrados aossistemas através decontroles desegurança e visamendereçar asameaças aossistemas.
Estratégias – Focando nos Softwares
•DFD
•UML
17
Estratégias – O que pode dar errado - STRIDE
18
Categoria DescriçãoPrincípio de
Segurança afetadoImpacto Adverso
no sistema
S – SpoofingOcorre quando um usuário consegue se
passar por outro Autenticação
Acesso Não Autorizado
T – TamperingEnvolve a modificação maliciosa de um
ativoIntegridade
Modificação Da Informação
R – RepudiationEstá associada quando um principal
executa uma ação e depois pode negá-la sem algo que o conteste
Não RepúdioAcesso 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 acessoConfidencialidade
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ítimosDisponibilidade
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çãoAcesso Não Autorizado
Estratégias – Qual é a melhor?
• A que funciona!
• A modelagem de software tende a funcionarmelhor em sistemas com vasta documentaçãodisponível e tempo dedicado para análise, oque não ocorre em muitos lugares.
• A modelagem em atacantes está sujeita apreconceitos dos modeladores, o que podelevar a construção de personas irreais ouincompletos, levando a premissas equivocadasdo sistema.
• A modelagem em ativos necessita de um bomconhecimento dos ativos sob análise e maisajuda a priorizar o tratamento das ameaças doque a identifica-las propriamente.
• É melhor pensar nas estratégias comopeças de montar e adequá-las ao tempo,contexto e recursos disponíveis! 19
Armadilhas/erros comuns no assunto
1. “Confie na força, Luke” – falta de abordagemestruturada.
2. Modelar ciclicamente, sem entregar resultados.
3. Foco excessivo no “como” fazer.
4. Tratar MA como uma habilidade nata e não passívelde aprendizado.
5. Encontrar ameaças e não realizar seu tratamento.
6. Modelar “no vácuo” – É preciso contar uma históriacom o sistema!
7. Modelar na hora errada – deixar isso para o finalpode dar muita dor de cabeça...
20
Dúvidas?
21
Referências
• Threat Modeling: Designing for Security -http://www.amazon.com/Threat-Modeling-Designing-Adam-Shostack/dp/1118809998/
• Modelagem de Ameaças de Segurança -https://technet.microsoft.com/pt-br/library/dd569893.aspx
• Desenvolvendo controles de segurança baseados emmodelagem de ameaças e análise de requisitos -http://www.researchgate.net/publication/263469540_Desenvolvendo_controles_de_segurana_baseados_em_modelagem_de_ameaas_e_anlise_de_requisitos
• Microsoft Threat Modeling Tool 2014 -http://blogs.microsoft.com/cybertrust/2014/04/15/introducing-microsoft-threat-modeling-tool-2014/
22
Top Related