-
Modelos de ameaças durante o design do software
-
Há um total de 7 fases para a implementação do SDL:
Formação
Essa fase é um pré-requisito para a implementação do SDL e visa a formação de um núcleo de treinamento e atualização. É realizada uma atualização sobre os princípios básicos de segurança e tendências recentes de segurança e privacidade, assim como treinamento de conceitos fundamentais para a construção de um software melhor. Entre estes conceitos estão incluídos projeto seguro, modelagem de ameaças, codificação segura, testes de segurança e melhores práticas para privacidade.
É ainda nessa fase que é definida a freqüência mínima de treinamento e o limiar mínimo aceitável para grupos de treinamento.
Requisitos
Nessa fase definem-se portões de qualidade e analisa os riscos de segurança e privacidade. O time de desenvolvimento identifica requerimentos de segurança e privacidade,
Projeto
Nessa fase é feita a modelagem de ameaças e a análise de superfície de ataque (ou vulnerabilidade). A modelagem de ameaças consiste no levantamento de contra-medidas de segurança que resolvem as ameaças ao software. A análise de superfície de ataque consiste em fazer um levantamento de formas de acesso do aplicativo ou componente.
Implementação
Nessa fase são especificadas ferramentas de segurança, listas de verificação, reforçadas funções proibidas e realizada a análise estática, assim como são adotadas as melhores práticas de codificação segura para ajudar a implementar um projeto seguro.
Verificação
Nessa fase são realizados testes dinâmicos de difusão (fuzz) e verificados os modelos de ameaças e a superfície de ataque. Os testes de difusão consistem em tomar dados válidos, metamorfoseá-los e depois observar um aplicativo que empregue esses dados, verificando se aplicação se comporta adequadamente ou apresenta algum tipo de falha de segurança. Em sua forma mais simples, pode-se criar uma biblioteca de arquivos válidos que o aplicativo utilize e depois usar uma ferramenta para corromper sistematicamente um arquivo e fazer o aplicativo executá-lo ou processá-lo no verificador de aplicativos com verificação de heap habilitada para ajudar a descobrir mais erros.
Lançamento
Nessa fase é definido o plano de resposta, a revisão de segurança final (FSR) e a liberação de arquivo. A FSR é executada pela equipe de segurança central com ajuda da equipe de produto, mas não apenas pela equipe de produto. No final do processo FSR, as descobertas são anotadas e é tomada uma decisão sobre o lançamento do software ou o retrabalho de seções.
Resposta
Nessa fase é realizada a execução de resposta, que consiste de duas partes principais:
responder a defeitos de segurança e trabalhar com pessoas que descobrem problemas de segurança no código.
aprender com os erros, através da análise e documentação da causa dos defeitos.
Fonte: https://pt.wikipedia.org/wiki/Ciclo_de_Vida_do_Desenvolvimento_Seguro
-
errado:
veja: https://msdn.microsoft.com/pt-br/library/ms995349.aspx
http://micreiros.com/modelagem-de-ameacas-o-que-e-e-porque-aplicar/
-
Benjamin Pinto, na verdade, o uso (a realização) da modelagem de ameaças se dá na fase 3. Design: SDL PRACTICE #7: USE THREAT MODELING
https://www.microsoft.com/en-us/sdl/process/design.aspx
-
Fases SDL
Formação, requisitos, design,implementação, verificação, lançamento, resposta (suporte e manutenção)
FASE DE FORMAÇÃO (TREINAMENTO)
Essa fase é um pré-requisito para a implementação do SDL e visa a formação de um núcleo de treinamento e atualização. É realizada uma atualização sobre os princípios básicos de segurança e tendências recentes de segurança e privacidade, assim como treinamento de conceitos fundamentais para a construção de um software melhor. Entre estes conceitos estão incluídos projeto seguro, modelagem de ameaças, codificação segura, testes de segurança e melhores práticas para privacidade.
É ainda nessa fase que é definida a freqüência mínima de treinamento e o limiar mínimo aceitável para grupos de treinamento.
FASE DE REQUISITOS: considerar como a segurança será integrada no processo de desenvolvimento.
FASE DE DESIGN:
Definir as diretivas de design e arquitetura de segurança;
Documentar os elementos da superfície de ataque do software;
Realizar a modelagem de ameaças;
Definir critérios de fornecimento complementar.
FASE DE IMPLEMENTAÇÃO:
Gera, testa, integra o software.
Aplicar padrões de codificação e teste.
Aplicar ferramentas de testes de segurança, incluindo ferramentas de difusão.
Aplicar ferramentas de verificação de código de análise estática.
Realizar revisões de código.
FASE DE VERIFICAÇÃO
Testes beta. Revisões extras de código. Testes de segurança direcionados.
FASE DE LANÇAMENTO
Nessa fase é definido o plano de resposta, a revisão de segurança final (FSR) e a liberação de arquivo. A FSR é executada pela equipe de segurança central com ajuda da equipe de produto, mas não apenas pela equipe de produto. No final do processo FSR, as descobertas são anotadas e é tomada uma decisão sobre o lançamento do software ou o retrabalho de seções.
FASE DE RESPOSTA (RESPOSTA E MANUTENÇÃO)
Nessa fase é realizada a execução de resposta, que consiste de duas partes principais: responder a defeitos de segurança e trabalhar com pessoas que descobrem problemas de segurança no código. aprender com os erros, através da análise e documentação da causa dos defeitos.