Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Estratégias para Modelagem de Ameaças

Estratégias para Modelagem de Ameaças

Você sabia que modela ameaças todos os dias? Saiba mais sobre o assunto e como ele permite o projeto e a construção de sistemas mais seguros!

Avatar for Nichols Jasper

Nichols Jasper

October 06, 2015
Tweet

More Decks by Nichols Jasper

Other Decks in Technology

Transcript

  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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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.
  14. 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
  15. 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
  16. 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
  17. 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 em modelagem de ameaças e análise de requisitos - http://www.researchgate.net/publication/263469540_Dese nvolvendo_controles_de_segurana_baseados_em_modelag em_de_ameaas_e_anlise_de_requisitos • Microsoft Threat Modeling Tool 2014 - http://blogs.microsoft.com/cybertrust/2014/04/15/introduc ing-microsoft-threat-modeling-tool-2014/ 22