Modelagem de ameaças

A modelagem de ameaças é um processo dentro do ciclo de vida do desenvolvimento de software seguro que consiste no levantamento de contra-medidas de segurança que resolvem as ameaças ao software.[1] O processo de modelagem de ameaça deve ser aplicado no início do projeto e continuar durante todo o ciclo de vida da aplicação.[2]

Passos

O processo de modelagem consiste dos seguintes passos:[2][3]

Identificar os bens

O primeiro passo consiste em identificar os recursos valiosos a serem protegidos pelo sistema. Esses recursos são itens que o atacante deseja acessar, controlar ou até mesmo destruir. Há três perspectivas muito utilizadas:

  • itens que os atacantes desejam
  • itens que se deseja proteger
  • trampolins para qualquer uma dessas

Normalmente as informações que os atacantes querem são:

  • Número do RG
  • Número CPF
  • Número de cartões de crédito
  • Senhas
  • Login de Acesso

Criar um resumo da arquitetura

Nesse passo deve-se documentar tudo o que a aplicação faz, os recursos que utiliza e como são acessados, todo o seu funcionamento. Deve-se documentar os seus casos de uso e toda tecnologia implementada e desenvolver diagramas de toda a estrutura da aplicação.

Decompor a aplicação

Nesse passo a arquitetura da aplicação é decomposta, criando um perfil de segurança para a aplicação. O objetivo do perfil de segurança é dar cobertura às vulnerabilidades no projeto, implementação ou configuração de implantação da aplicação.

Analisa-se pequenas partes da aplicação de modo a identificar limites de confiança, de fluxo de dados, pontos de entradas e saídas. Na identificação do limite de confiança analisa-se se os dados realmente funcionam e se as entradas de usuários são confiáveis. No fluxo de dados observa-se de onde vem os dados e para onde irão. Pontos de entrada e saída incluem a rede principal e projeto de infra-estrutura de rede.

Identificar as ameaças

Nesse processo descreve-se as ameaças que poderiam afetar a aplicação, tendo em mente os objetivos de um invasor e o conhecimento da arquitetura e das vulnerabilidades potenciais da aplicação.

Documentar as ameaças

Nesse passo documenta-se cada ameaça usando um modelo comum de ameaça que defina um conjunto principal de atributos para cada ameaça, levando em conta o alvo, as técnicas utilizadas em um ataque e as medidas que resolva os problemas.

Estimar as ameaças

Estima-se as ameaças para priorizar e tratar primeiro as mais significativas e que representam o maior risco. O processo de estimativa mede a probabilidade da ameaça contra os danos que poderiam ocorrer caso um ataque ocorra. Deve-se prever que certas ameaças não garantem nenhuma ação quando se compara o risco apresentado pela ameaça com os custos resultantes de redução.

Resultado

O resultado do processo de elaboração de modelos inclui a documentação dos aspectos de segurança da arquitetura da sua aplicação e uma lista de ameaças relacionadas. O modelo de ameaça ajuda a orquestrar os membros da equipe de desenvolvimento e a focar nas mais potentes ameaças.[3]

A elaboração de modelos de ameaças é um processo iterativo. É um documento que se desenvolve e sobre os quais vários membros da equipe podem trabalhar.

O modelo de ameaças pode ser usado pelos seguintes grupos de pessoas:

  • Designers podem usá-lo para proteger escolhas no projeto a respeito das tecnologias e funcionalidade.
  • Desenvolvedores que escrevem códigos podem usá-lo para reduzir os riscos.
  • Os testadores podem escrever casos de teste se a aplicação está vulnerável a ameaças identificadas pelas análises.

A partir do modelo inicial, pode-se criar um relatório mais formal que inclua atributos adicionais, tal como um Bug ID, que pode ser usado para vincular a ameaça em um sistema de rastreamento de bugs.

Referências

  1. «O ciclo de vida do desenvolvimento da segurança de computação confiável». msdn.microsoft.com. Consultado em 22 de setembro de 2016
  2. Barbosa, Eber Donizeti; Reinaldo de Oliveira (13 de fevereiro de 2016). «Desenvolvimento de Software Seguro: Conhecendo e Prevenindo Ataques Sql Injection e Cross-site Scripting(XSS)». Revista T.I.S. 4 (1). ISSN 2316-2872
  3. «Modelagem de Ameaças de Segurança: Elaboração de Modelos de Ameaças». technet.microsoft.com. Consultado em 22 de setembro de 2016

Bibliografia

  • HOWARD, Michael; LIPNER, Steve.The security development lifecycle: SDL, a process for developing demonstrably more secure software (em inglês) Microsoft Press [S.l.] ISBN 0735622140.
  • ELIAS, Wagner; CABRAL, Carlos (org.); CAPRINO, Willian (org.). Trilhas em Segurança da Informação: Caminhos e ideias para a proteção de dados. Brasport [S.l.] 2015-01-08. ISBN 9788574526867.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.