Introdução ao desenvolvimento e operação de segurança dos Serviços Online da Microsoft

Concluído

O SDL (Security Development Lifecycle) da Microsoft é um processo de garantia de segurança focado no desenvolvimento e operação de software seguro. O SDL fornece requisitos de segurança detalhados e mensuráveis para desenvolvedores e engenheiros da Microsoft reduzirem o número e a gravidade das vulnerabilidades em nossos produtos e serviços. Todos os Serviços Online da Microsoft têm de seguir os requisitos de SDL e atualizamos continuamente o SDL para refletir o panorama das ameaças em mudança, as melhores práticas do setor e as normas regulamentares de conformidade.

Fases do SDL da Microsoft

A Microsoft criou práticas de SDL no modelo de DevOps para garantir que a segurança e a privacidade continuam a ser um dos principais focos dos nossos produtos e serviços. Para salvaguardar os clientes e os dados do Microsoft Online Services, todo o desenvolvimento na Microsoft ocorre em ambientes de desenvolvimento completamente segregados de ambientes de produção sem qualquer acesso aos inquilinos dos clientes. Além disso, o acesso aos ambientes de produção é limitado aos engenheiros que operam os serviços, e esses ambientes são separados da rede corporativa da Microsoft.

Um fluxo de processo de SDL começando com treinamento, requisitos, design, implementação, verificação, versão e resposta.

O processo de SDL na Microsoft pode ser pensado em termos de cinco fases de desenvolvimento:

  1. Requisitos: são definidos requisitos de segurança, privacidade e funcionais, que servem de base ao qual o serviço foi concebido.
  2. Estrutura: a arquitetura do serviço foi concebida para cumprir os requisitos definidos e os modelos de ameaças são criados para ajudar a identificar, categorizar e classificar potenciais ameaças.
  3. Implementação: o código é escrito seguindo as especificações de conceção definidas através de ferramentas de desenvolvimento seguras aprovadas.
  4. Verificação: o código de serviço é revisto automaticamente e manualmente para garantir que cumpre os requisitos definidos e está livre de erros de codificação e falhas de segurança.
  5. Versão: a compilação aprovada é gradualmente implementada com um processo de implementação seguro, começando com ambientes de teste internos e terminando com o âmbito de produção completo.

Além das cinco fases de desenvolvimento principais descritas acima, existem duas atividades de segurança relacionadas que suportam o SDL. O pessoal da Microsoft que desenvolve os nossos produtos e serviços é obrigado a concluir a formação orientada para a segurança para compreender o SDL e cultivar uma mentalidade defensiva. Após o lançamento, os novos serviços de produção são monitorizados através dos processos de monitorização de segurança e gestão de vulnerabilidades da Microsoft para garantir que a sua postura de segurança é mantida e a Microsoft pode responder a potenciais ameaças ao longo do ciclo de vida.

Nas unidades a seguir, exploraremos como a Microsoft implementa os requisitos de SDL:

  • Exigir treinamento para conscientização de segurança e práticas de desenvolvimento seguras.
  • Definir requisitos de segurança e privacidade, manter modelos de ameaça atualizados e exigir revisão manual de código.
  • Executar ferramentas SDL automaticamente para detectar problemas de segurança no código como parte do processo de build.
  • Impor e testar requisitos de segurança operacional para manter as práticas recomendadas de segurança.
  • Executar revisões de segurança e privacidade antes do lançamento.
  • Usar a CG (Governança de Componentes) para gerenciar software livre.

Saiba mais