Pular para o conteúdo principal

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:

  1. 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.
  2. 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.
  3. 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.
  4. Implementação: Incluem compiladores, ambientes de desenvolvimento seguros e verificações de segurança incorporadas.
  5. 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.

  1. 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.

  1. 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.

Fonte oficial Microsoft

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