You are on page 1of 23

Secure Software Development Model (SSDM

)

Introdução

Deve-se existir um modelo para que tais requisitos sejam integrados aos processos de desenvolvimento de software.Introdução ● Seguir um processo de desenvolvimento de software não garante que o mesmo produzirá um software com alto grau de segurança. tais processos devem obter um meio de integrar os requisitos de segurança das aplicações de maneira bastante cuidadosa. ● ● . Por isso.

Processo de Desenvolvimento de Software .

Subcomponentes do sistema devidamente implementados e testados. por exemplo).Processo de Desenvolvimento de Software (Visão Geral) 1. Sistema sendo utilizado pelos usuários.Codificação ✔ 4.Testes ✔ 5. Software funcionando. Documento com as entidades do sistema e suas relações (modelo UML. 2.Implantação e Manutenção ✔ .Definição de Requisitos ✔ Documento com a especificação dos requisitos.Modelagem ✔ 3.

SSDM (Visão Geral) .

SSDM (Visão Geral) Tenta integrar a Engenharia de Segurança ao processo de desenvolvimento de software. Modelo unificado que combina algumas das técnicas existentes no desenvolvimento de software seguro. ● ● .

.

Processo de engenharia de segurança SSDM (Fases) .

Fases SSDM ● Treinamento em Segurança (Security Training) ● Modelagem de Amaças (Threat Modeling) Especificação de Segurança (Security Specification) (Review ● ● Revisão da Especificação de Segurança of Security Specification) ● Teste de penetração (Penetration test) .

.

Pontos-chave do treinamento: ● ● ● Educar os engenheiros de software em conceitos gerais sobre segurança. ● . Engenheiros de software devem conhecer as técnicas e ferramentas dos attackers ● Desenvolvedores devem identificar quais componentes do sistemas podem ser de interesse de potenciais attackers.Treinamento em Segurança ● Tem como principal objetivo educar os stakehoders em questões ligadas a segurança durante o processo de desenvolvimento. Desenvolvedores devem conhecer práticas seguranças de desenvolvimento.

.

Identificação de attackers/ameaças. Entender a natureza do software. 3.Modelagem de Amaças ● Um modelo de ameaças é utilizado para identificar possíveis attackers e suas habilidades. ● . SSDM divide o modelo de ameças em três partes: 1. 2. Identificação de de possíveis vulnerabilidades.

tipos de usuários. ● . etc. etc. natureza de seus recursos. Níveis de segurança.Modelagem de Amaças ● Entender a natureza do software: ● tamanho do sistema. ● sua complexidade.

qualquer tipo de vulnerabilidade que o sistema venha a ter deve ser identificada.Modelagem de Amaças ● Identificação de de possíveis vulnerabilidades ● Com base nas informações dos attackers e do ambiente em que o software irá operar. .

identificar possíveis interesses e objetivos dos attackers no software. Modelagem de Amaças .Modelagem de Amaças ● Identificação de attackers/ameaças ● estudar o ambiente em que o software irá operar. ● Elaborar alguns padrões/comportamentos dos attackers. ● ● Identificar possíveis técnicas e ferramentas que podem ser utilizadas no ambiente do software.

.

Como coordenar a implementação de segurança. Como tornar o sistema adaptável as evoluções nos requisitos de segurança.Especificação de Segurança ● Diretrizes e procedimentos para garantir a segurança do sistema. ● ● ● ● Como monitorar questões de segurança no sistema. . Políticas de segurança. Deve Possuir: ● ● Necessidades de Segurança.

.

Garantir que os modelos do software incorporam os requisitos de segurança. ● ● . Se o modelo do software não contempla os itens da Especificação de Segurança.Revisão da Especificação de Segurança ● Verificar se as especificações do software estão de acordo com as Especificações de Segurança. então o mesmo deve ser reavaliado.

.

.Teste de Penetração ● Testar as habilidades do software em prefinir possíveis ataques ● Testa a segurança do software e seus recursos.