- Avaliar as práticas de segurança da organização
- Elaborar um programa de segurança de software balanceado
- Definir e medir atividades relacionadas a segurança na organização
Governança
Estratégia e Métricas: Definição da estratégia que será utilizada para a garantia de software ou seja criar definições de metas de segurança e também estudar os riscos da empresa.
Políticas e Conformidade: Entender as diretrizes/políticas e regulamentá-las nos padrões de seguranças, também fazer auditorias para descobrir se algum projeto não está dentro das expectativas.
Orientação e Educação: Ensinar as pessoas que estão envolvidas no desenvolvimento do software como desenvolver e implementar um software mais seguro, o OpenSAMM também indica que uma boa alternativa para melhorar o desempenho é através de objetivos para cada funcionário.
Construção
Modelagem de Ameaças: Identificar e entender os níveis de risco na funcionalidade do software no ambiente em que ele será executado, a partir dos detalhes conseguidos ficara mais fácil tomar decisões.
Requisitos de Segurança: Definir qual será o comportamento esperado a respeito da segurança do software, definindo cada processo por níveis e fazer auditorias para garantir que todas as especificações de segurança estão sendo utilizadas.
Arquitetura Segura: Projetar softwares seguros por padrões, reutilizando os componentes assim os riscos de segurança do software serão drasticamente reduzidos.
Verificação
Revisão de Arquitetura: Avaliar a segurança da arquitetura do software, permitindo assim detectar problemas logo no inicio. Quando se resolve o problema no inicio se reduz também o tempo e dinheiro que seria gasto a procura desse problema.
Revisão de Código: Inspecionar os códigos fontes a fim de encontrar potenciais falhas no software que ocorreu no desenvolvimento. O Code Review seria uma revisão mais profunda já que na hora do desenvolvimento também acontece algumas revisões, outra função é estabelecer uma base para uma codificação mais segura.
Testes de Segurança: Testar o software a procura de vulnerabilidades, para garantir que os resultados serão os esperados quando estiver em execução, basicamente seria a fase de teste a procura de qualquer tipo de erro.
Implantação
Gerenciamento de Vulnerabilidades: Gerenciar os relatórios de vulnerabilidades e incidentes operacionais ganhando assim uma base de dados dos problemas que já ocorreu, se por acaso acontecer novamente ficará mais fácil resolver.
Proteção de Ambiente: Garantir que o software será executado corretamente no ambiente de produção, reforçar a segurança da infraestrutura e implementar atualizações de segurança.
Capacitação Operacional: Procurar todo tipo de informação que possa afetar a segurança do software e comunicar aos desenvolvedores, assim detalhando os impactos que possam ocorrer para os usuários e operadores.