Há algum tempo, decidi incluir mais fortemente em meus estudos aspectos ligados à segurança de aplicações , principalmente aplicações Web.

A primeira grande surpresa que tive, foi a distribuição das vulnerabilidades por categoria de software, sinceramente, acreditava que as maiores vulnerabilidades estavam relacionadas aos navegadores.

Reparem no gráfico abaixo:

 

 

 

 

Para a minha total surpresa as maiores vulnerabilidades estão associadas à aplicações. Como engenheiro de suporte precisava entender melhor como ajudar meus clientes à desenvolver software de forma segura e, então, me deparei com o tal do SDL – Security Development Lifecycle.

Em poucas palavras, SDL é o acrônimo de Security Development Lifecycle, um processo de desenvolvimento de software criado pela Microsoft com o objetivo de reduzir vulnerabilidades de segurança em seus produtos.

Abaixo um pequeno resumo da origem de SDL, bem como algumas vantagens no processo de desenvolvimento de software seguro.

 

Origens do SDL

 

Em janeiro de 2002 Bill Gates escreveu um memorando falando de Trustworthy Computing. Este memorando continha itens sobre o Microsoft Trustworthy Computing framework que foi definido em quatro grandes áreas: Segurança, Privacidade, Confiabilidade e Integridade do negócio.

Uma das primeiras iniciativas foi a do time de desenvolvimento do Windows que passou cerca de 2meses analisando o código do produto, design e documentação para correção de problemas de segurança. O resultado deste "esforço de segurança" gerou a base para um novo processo tendo as lições aprendidas como fundamento para o início do Microsoft SDL.

A partir de 2004, todos os produtos que estariam expostos a riscos e / ou dados sensíveis deveriam obedecer o processo de SDL que passou a incluir ferramentas, técnicas e novos processos de análise.

Hoje o foco é evangelizar a comunidade no desenvolvimento de software seguro e melhorar o processo através de constantes feedbacks.

Um ponto importante é que o processo é agnóstico de tecnologia.

 

Vantagens da Adoção de SDL:

 

Software Mais Seguro:

SDL ajuda a construir software mais seguro, reduzindo o número e a severidade das vulnerabilidades em seu código.

 

SQL Server serve como um excelente exemplo para melhorias de segurança resultantes da incorporação da SDL.

Ajuda a Endereçar Requisitos de Conformidade:

As organizações que desenvolvem software precisam cumprir uma série de regulamentações complexas e em constante mudança. A incorporação do SDL ao processo de desenvolvimento de software ajuda a atender os requisitos de conformidade relacionadas a segurança e produzir um melhor retorno sobre o investimento (ROI), guiando organizações a fazer escolhas mais adequadas no processo de design.

 

 

Redução de Custos:

O National Institute of Standards and Technology (NIST) estima que correções de código realizadas após o lançamento pode resultar em 30 vezes o custo de correções realizadas durante a fase de design. Os custos adicionais podem incluir uma perda significativa de produtividade do usuário e confiança. O SDL aborda sistematicamente segurança de software durante a fase de desenvolvimento, garantindo que as vulnerabilidades sejam encontradas e corrigidas antes do deployment.

 

 

Para conhecer mais sobre SDL vá ao site www.microsoft.com/sdl