SDL e CLASP
SDL – Security Development Lifecycle
O SDL é um processo sistemático criado pela Microsoft para incorporar segurança ao longo de todo o ciclo de desenvolvimento de software.
Objetivos:
- Reduzir o número e a severidade das vulnerabilidades.
- Mitigar riscos desde o início do desenvolvimento.
Fases principais:
- Treinamento: Todos os funcionários da Microsoft são obrigados a concluir a formação geral de segurança e sensibilização para a privacidade, bem como formação específica relacionada com a sua função.
- Requisitos: Cada produto, serviço e funcionalidade que a Microsoft desenvolve começa com requisitos de segurança e privacidade claramente definidos; são a base de aplicações seguras e informam o seu design. As equipas de desenvolvimento definem estes requisitos com base em fatores como o tipo de dados que o produto irá processar, ameaças conhecidas, melhores práticas, regulamentos e requisitos do setor e lições aprendidas com incidentes anteriores. Uma vez definidos, os requisitos são claramente documentados e controlados.
- Design: A modelagem de ameças começa aqui. Como parte do processo de conceção, os modelos de ameaças são criados para ajudar a identificar, categorizar e classificar potenciais ameaças de acordo com o risco. Os modelos de ameaças têm de ser mantidos e atualizados ao longo do ciclo de vida de cada produto à medida que são feitas alterações ao software.
- Implementação: Incluem compiladores, ambientes de desenvolvimento seguros e verificações de segurança incorporadas.
- Verificação: Antes de poder ser libertado qualquer código escrito, são necessárias várias verificações e aprovações para verificar se o código está em conformidade com o SDL, cumpre os requisitos de estrutura e está livre de erros de codificação. As revisões manuais são realizadas por um revisor separado do engenheiro que desenvolveu o código.
São também necessárias várias verificações automatizadas e estão incorporadas no pipeline para analisar código durante marcar e quando as compilações são compiladas.
- Lançar: Depois de passar todos os testes e revisões de segurança necessários, as compilações não são imediatamente lançadas para todos os clientes. As compilações são lançadas sistematicamente e gradualmente para grupos maiores e maiores, referidos como anéis, no que é chamado de processo de implementação segura (SDP).
Cadência 0: a equipa de desenvolvimento responsável pelo serviço ou funcionalidade.
Anel 1: Todos os funcionários da Microsoft.
Anel 2: utilizadores fora da Microsoft que tenham configurado a sua organização ou utilizadores específicos para estarem no canal de lançamento direcionado.
Anel 3: lançamento padrão mundial em sub fase.
- Resposta: Todos os serviços Microsoft são amplamente registados e monitorizados após o lançamento, identificando potenciais incidentes de segurança através de um sistema centralizado de monitorização quase em tempo real.
SD3 + C – Base do SDL
O SDL da Microsoft é orientado pelo modelo SD3 + C, que define quatro pilares de segurança:
- Secure by Design: a segurança começa no design do sistema.
- Secure by Default: as configurações padrão devem ser seguras.
- Secure in Deployment: a segurança deve ser mantida após a implantação.
- Communication: deve haver comunicação clara sobre segurança entre desenvolvedores, usuários e outras partes.
Este modelo orienta as boas práticas de segurança em todas as fases do ciclo de vida.
💡 Exemplo de boas práticas:
- Uso de autenticação multifator (MFA).
- Validação rigorosa de entradas.
- Princípios Secure by Design e Privacy by Design.
🛡️ CLASP – Comprehensive, Lightweight Application Security Process
O CLASP é um processo de segurança da OWASP voltado para ser integrado ao ciclo de vida do software e focada na prevenção, com ênfase prática para desenvolvedores.
Características:
- Estrutura baseada em papéis.
- Pode ser integrado a metodologias ágeis ou tradicionais.
- Suporta a segurança em todas as fases, não apenas nos testes.
Princípios-chave:
- Segurança deve ser incorporada desde a concepção.
- Atribuição clara de responsabilidades.
- Checklists e melhores práticas reutilizáveis.
Project Manager Gerencia o processo de segurança no projeto como um todo.
Requirements Specifier Identifica e documenta os requisitos de segurança.
Architect Define a arquitetura de alto nível com foco em segurança.
Designer Cria o design detalhado, antecipando ameaças e definindo contramedidas. Responsável por identificar a superfície de ataque de uma aplicação, a qual abrange todas as partes expostas do sistema que sejam suscetíveis a ataques.
Implementer (Developer) Implementa código seguro, seguindo as práticas definidas.
Tester / Test Analyst Planeja e executa testes para validar os requisitos de segurança.
Security Auditor Realiza auditorias e revisões para garantir conformidade e segurança.
CEBRASPE (2024–2025)
Questão 1 – TSE Unificado 2024
“A autenticação multifatorial, um dos controles listados no Microsoft SDL, adiciona uma segunda camada crítica de segurança aos logins, a fim de proteger todos os usuários, especialmente os administradores.”
✅ Gabarito: Certo
📌 Comentário: A MFA é recomendada pelo SDL para elevar o nível de segurança de contas privilegiadas.
Questão 2 – Simulada CEBRASPE (CLASP)
“O processo CLASP é voltado apenas para a fase de testes, visando mitigar vulnerabilidades após o desenvolvimento do software.”
❌ Gabarito: Errado
📌 Comentário: CLASP atua em todas as fases do ciclo de vida do software, não apenas em testes.
Questão 3 – TRT 10ª Região 2024
“No SDL, a modelagem de ameaças permite identificar os ativos do sistema e suas respectivas vulnerabilidades, sendo etapa obrigatória para validação de segurança.”
✅ Gabarito: Certo