Explorar a automação da ferramenta de segurança SDL
Para dar suporte aos nossos desenvolvedores na implementação de requisitos de segurança durante o desenvolvimento de código e após o lançamento, a Microsoft fornece um pacote de ferramentas de desenvolvimento seguro para verificar automaticamente o código-fonte em caso de falhas e vulnerabilidades de segurança. A Microsoft define e publica uma lista de ferramentas aprovadas para nossos desenvolvedores usarem, como compiladores e ambientes de desenvolvimento, juntamente com suas verificações de segurança internas. Nossos desenvolvedores usam as versões mais recentes das ferramentas aprovadas para aproveitar os novos recursos de segurança.
Além de fornecer ferramentas de desenvolvimento seguras, a Microsoft implementa e impõe requisitos de análise de código SDL usando ferramentas de segurança automatizadas. Muitas dessas ferramentas são criadas no pipeline de confirmação e analisam automaticamente o código em busca de falhas de segurança à medida que ele é verificado e à medida que novas compilações são compiladas e testadas. Os problemas descobertos por nossas ferramentas de segurança automatizadas devem ser corrigidos antes que novos builds possam passar pela revisão de segurança e serem aprovados para lançamento.
Nossas ferramentas de segurança automatizadas se enquadram em várias categorias amplas para testar código em diferentes estágios de desenvolvimento, desde o momento em que o código é confirmado até quando ele é liberado para operação em ambientes de produção. A tabela a seguir resume os tipos de ferramentas que usamos na Microsoft para análise de código SDL.
Ferramenta de segurança | Descrição |
---|---|
Análise de código estático | Analisa o código-fonte para possíveis falhas de segurança, incluindo a presença de credenciais no código. |
Análise binária | Avalia vulnerabilidades no nível de código binário para confirmar se o código está pronto para produção. |
Verificação de criptografia | Valida as práticas recomendadas de criptografia no código-fonte e na execução do código-fonte. |
Validação de configuração | Analisa a configuração de sistemas de produção em relação aos padrões de segurança e às práticas recomendadas. |
Análise de código estático e análise binária
A análise do código-fonte antes da compilação fornece um método altamente escalonável de revisão de código de segurança e ajuda a garantir que políticas de codificação segura sejam seguidas. As nossas ferramentas de análise de código estático, analisam o código fonte quanto a vulnerabilidades comuns, falhas de segurança, tais como funções não seguras, credenciais e outros segredos incorporados no código fonte. As falhas descobertas por essas ferramentas são sinalizadas como bugs para nossos desenvolvedores corrigirem.
A maioria das nossas ferramentas de análise de código estático é integrada ao pipeline de confirmação para identificar vulnerabilidades sempre que o software é compilado e impedir que o check-in de código não seguro seja feito. Também integramos ferramentas de análise de código estático ao ambiente de desenvolvedor para identificar determinadas falhas, como a presença de funções não seguras, e substituir o código inseguro por alternativas mais seguras enquanto o desenvolvedor está codificando ativamente.
Para além da análise estática do código fonte, utilizamos ferramentas automatizadas para analisar o código compilado quanto a falhas de segurança ao nível binário, como definições de compilador/linker e outras características binárias relevantes de segurança. Nossas ferramentas de análise binária são executadas em cada build para detectar falhas de segurança binárias e sinalizá-las para correção antes que um build possa ser liberado.
Verificação de criptografia
A Microsoft tem o cuidado de garantir que todos os dados, incluindo informações confidenciais de segurança e gerenciamento e dados de controle, sejam protegidos contra divulgação ou alteração não intencional quando eles estão sendo transmitidos ou armazenados usando criptografia forte. O SDL limita os desenvolvedores a módulos de criptografia aprovados que implementam criptografia de forma confiável e segura. Para impor essa política, nossas ferramentas verificam e validam implementações de criptografia no código-fonte e durante a execução do código. O uso inseguro da criptografia é sinalizado para correção e validado durante a revisão de segurança.
Validação de configuração
Na Microsoft, nossas equipes de operações são integradas às equipes de desenvolvimento usando o modelo de DevOps. Como parte do DevOps, continuamos a validar a operação segura de nosso código depois que um build é lançado para ambientes de produção. As equipes de operações usam listas de verificação de implantação segura, verificação de configuração de linha de base, verificação de vulnerabilidade e sistemas de detecção de intrusão baseados em host para validar se o software está configurado e operado de acordo com as práticas recomendadas de segurança. As falhas de configuração detectadas pelas equipes de operações são sinalizadas para correção, enquanto os bugs descobertos pela equipe de operações são atribuídos à equipe de desenvolvimento apropriada para serem corrigidos no nível do código. Ao integrar a segurança operacional aos nossos requisitos de SDL, ajudamos a garantir a segurança contínua de nossos produtos e serviços mesmo após o lançamento.