Conhecimento
Para aplicar adequadamente o SSDLC, é necessário conhecimento prévio em:
- Princípios básicos de segurança da informação: Inclui conceitos de confidencialidade, integridade e disponibilidade.
- Desenvolvimento seguro de software: Conhecimento sobre práticas de codificação segura, ameaças comuns e padrões de segurança.
- Modelagem de ameaças: Habilidade para identificar e analisar possíveis ameaças ao software.
- Ferramentas de análise de vulnerabilidades: Conhecimento sobre ferramentas de análise estática e dinâmica de código.
Estrutura (Especialidades)
Para a condução do SSDLC, são necessárias diversas competências e papéis, tanto na EximiaCo quanto do lado do cliente:
Equipe da EximiaCo
- Consultor de Segurança de Software: Especialista em práticas de desenvolvimento seguro e modelagem de ameaças.
- Analista de Vulnerabilidades: Profissional responsável por identificar e avaliar vulnerabilidades no software.
- Engenheiro de Segurança: Especialista em implementação de controles de segurança e integração de ferramentas de segurança.
Equipe do Cliente
- Desenvolvedores: Equipe de desenvolvimento que será treinada e orientada para seguir as práticas de segurança.
- Gestores de Projeto: Responsáveis por coordenar a aplicação do SSDLC dentro dos prazos e escopos definidos.
- Administradores de Sistemas: Profissionais que garantirão a implementação adequada dos controles de segurança nos ambientes de desenvolvimento e produção.
Recursos Necessários
- Ferramentas de análise de vulnerabilidades (SAST, DAST, IAST).
- Ambiente de desenvolvimento seguro.
- Documentação de políticas e procedimentos de segurança.
Método
O SSDLC é dividido em várias macro etapas, cada uma com atividades específicas:
- Formação de um Enabling Team
- Esta etapa é essencial se a metodologia implicar no desenvolvimento de uma capability digital no cliente. A equipe é responsável por liderar a implementação das práticas de SSDLC.
- Planejamento a. Definição dos requisitos de segurança. b. Identificação de regulamentos e conformidades aplicáveis. c. Planejamento das atividades de segurança ao longo do ciclo de vida do projeto.
- Análise a. Modelagem de ameaças para identificar possíveis riscos. b. Avaliação de arquitetura para verificar pontos fracos. c. Definição de casos de uso seguro.
- Design a. Especificação de requisitos de segurança para o design. b. Revisão de design com foco em segurança. c. Desenvolvimento de testes de segurança.
- Implementação a. Aplicação de práticas de codificação segura. b. Uso de ferramentas de análise estática de código. c. Revisão de código com foco em segurança.
- Testes a. Testes de segurança integrados ao ciclo de testes de software. b. Análise dinâmica e interativa de segurança. c. Correção de vulnerabilidades identificadas.
- Implantação a. Verificação final de segurança antes do lançamento. b. Implementação de monitoramento contínuo. c. Treinamento e conscientização para a equipe de operações.
- Manutenção a. Revisões periódicas de segurança. b. Atualização de controles de segurança conforme novas ameaças. c. Incorporação de feedback e lições aprendidas.
O esforço e duração para a conclusão dos trabalhos podem variar conforme o tamanho e complexidade do projeto, mas geralmente um ciclo completo de SSDLC pode durar entre 6 a 12 meses.
Indicadores
Os principais indicadores de progresso na aplicação do SSDLC incluem:
- Número de vulnerabilidades identificadas e corrigidas.
- Percentual de conformidade com os requisitos de segurança definidos.
- Redução no tempo de resposta a incidentes de segurança.
- Aderência aos prazos de cada etapa do SSDLC.
Governança
A governança do SSDLC envolve a coordenação entre a consultoria e o cliente para garantir que os objetivos de segurança sejam atingidos. As práticas de governança incluem:
- Reuniões regulares de acompanhamento: Revisão do progresso e ajustes necessários.
- Relatórios de status: Documentação das atividades e resultados obtidos.
- Auditorias de segurança: Verificação independente da eficácia das práticas de segurança implementadas.
Conclusão e Fase-out
Os principais entregáveis da consultoria incluem:
- Relatórios de análise de vulnerabilidades e recomendações de mitigação.
- Documentação de políticas e procedimentos de segurança.
- Ferramentas configuradas para análise contínua de segurança.
- Treinamento e capacitação das equipes do cliente.
O rito de entrega envolve a apresentação formal dos resultados, treinamento final e uma transição gradual da responsabilidade de monitoramento e manutenção para a equipe do cliente.