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!

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