O documento discute as práticas de segurança no desenvolvimento de software, incluindo técnicas de codificação segura, gestão de usuários, autenticação e autorização. Também aborda como as vulnerabilidades em software são alvos preferenciais de hackers e como as tarefas de segurança são frequentemente negligenciadas, colocando corporações em risco. O documento propõe um ciclo de vida de desenvolvimento de software seguro e práticas para equipes de desenvolvimento e responsáveis por aquisições.
15. O nível de confiança de que o software está livre
de vulnerabilidades, quer sejam intencionais ou
acidentalmente inseridas em qualquer momento durante seu ciclo de
vida; e de que o software funciona da maneira pretendida.
16. Ciclo de Vida de Desenvolvimento de Software
Seguro
Ciclo de Vida de Desenvolvimento de Software
17. Gestão
Estratégias e
Métricas
Políticas e
compliance
Educação e
Treinamento
Requisitos
Classificação
dos dados
Requisitos de
Segurança
Design
Processos de
design
Arquitectura
Segura
Tecnologias
Implementação
Vulnerabilidades
Técnicas de
codificação
segura
Ambiente de
desenvolvime
nto
Revisão de
código
…
Testes
Artefactos de
teste
Teste de
Segurança e
Qualidade
Verificação
de impactos
Aceitação
Pré-release e
pré-
implantação
Pos-release
Implantação
Instalação e
implantação
Operação e
Manutenção
Cessão
Práticas para uma Equipa de Desenvolvimento
18. Avaliação de Risco
Avaliação de risco
Para reuso de código
Propriedade
Intelectual
Obrigações Legais
Pré-qualificação
Terceirização
Controlos de
integridade
contratual
Controlos de
integridade técnica
Serviços geridos
SLA
Desenvolvimento e
Testes
Controlos técnicos
Verificação de código
e testes
Controlos de testes
de segurança
Verificação e
validação dos
requisitos de
software
Entrega, Operação
e Manutenção
Cadeia de custódia
Controlos de
publicação e
disseminação
Integração de
sistemas
Controlos de
implantação e
sustentabilidade do
produto
Gestão, tracking e
resolução de
vulnerabilidades
Transição
Práticas para responsáveis pela Aquisição/Compra
20. Avaliação contínua dos softwares
• Desenvolver software seguro ou exigi-lo dos seus fornecedores não deve ser considerado
perca de tempo
Treinamento e educação
• Avaliar o seu conhecimento sobre os fundamentos de segurança em software
• Frequentar sessões de treinamento
Requerer provas da segurança nos softwares
• Fornecedores
• Contratos