Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre engenharia.
Security Development Lifecycle
Este artigo apresenta de forma sucinta o Microsoft SDL que nos ajuda a construir softwares mais seguros, reduzindo o número e a severidade das vulnerabilidades em nossos códigos. Para medir o grau e eficiência destes processos, especialistas em segurança aplicam um rigoroso teste em softwares desenvolvidos em "pré-SDL" e "pós-SDL". Embora os testes finais não indiquem uma eliminação de 100% das vulnerabilidades, o resultado obtido é excelente com uma redução significativa do número de falhas de segurança no produto final.

Em que situação o tema é útil
O Instituto Nacional de Padrões e Tecnologia (NIST) estima que correções em código fonte após o lançamento podem resultar em 30 vezes o custo de correções realizadas durante a fase de projeto. Logo, o tema desse artigo pode ser útil para todas as equipes de projeto e membros do time de desenvolvimento de software para apoiar e servir como guia no ciclo de desenvolvimento de software, no sentido de construir softwares mais seguros e com menos vulnerabilidades.

Atualmente, agilidade é o assunto mais abordado e que detém maior atenção dos gestores de TI, em especial de equipes de desenvolvimento de software. Novos ciclos e metodologias surgem e são aperfeiçoados constantemente para adequar qualidade e agilidade em seus processos de engenharia de software, até mesmo o Microsoft SDL oferece uma versão ágil de desenvolvimento. No entanto, será que estamos criando sistemas seguros e confiáveis para nossos usuários? Nós estamos confortáveis no momento da entrega? Nós realmente podemos dizer para nossos clientes que eles podem ficar despreocupados ao digitarem seus dados pessoais em nossos aplicativos?

Dito isso, se faz necessário olhar para nossa organização, equipe e processos para entender se estamos comprometidos com a “entrega” ou se realmente estamos desenvolvendo softwares seguros, eficientes e robustos para nossos usuários/clientes. É neste momento que este artigo se torna importante, ele se concentra exclusivamente na metodologia de desenvolvimento de software seguro, utilizando-se de boas práticas para confecção de aplicações e serviços online.

Vale lembrar que geralmente políticas de segurança da informação aplicadas nas organizações, ou até mesmo os softwares de segurança como antivírus, anti-spyware, entre outros, são concentrados nas operações, ou seja, nas ameaças externas e não no software e aplicativos desenvolvidos internamente. Porém, esses aplicativos podem se tornar as principais ameaças. Uma prova disso são as famosas e constantes customizações no firewall da empresa para garantir o bom funcionamento de alguns recursos implementados ou suportados pelo software/aplicativo.

O Microsoft Security Development Lifecycle (SDL) é uma proposta da Microsoft para criação de processos com práticas de segurança consistentes. Estes processos estão divididos em sete fases: treinamento, requisitos, desenho, construção, verificação, liberação e resultado. Este artigo se propõe a desvendar os conceitos e apresentar de forma simples como utilizar as práticas que compõem o Microsoft SDL. Para isso, serão introduzidos e discutidos todos os conceitos de cada fase, além de abordar os papéis e responsabilidades individuais envolvidas nos processos de desenvolvimento de aplicativos seguros.

Neste momento talvez você esteja se perguntando: esse tal Microsoft SDL realmente funciona? Segundo a Microsoft, baseado em seu desenvolvimento interno de software, ao aplicar as técnicas sugeridas no SDL seus softwares resultaram em uma redução de vulnerabilidade significativa, em torno de 50 a 60 por cento.

Os mais experientes e acostumados com engenharia de software e processos de ciclo de vida de desenvolvimento de software rapidamente irão identificar as diferenças no interior das atividades e processos. Um exemplo disso pode ser visto na fase de desenho (design), o qual a prática de modelagem de ameaças é realçada, esse procedimento é estruturado para identificar, avaliar e mitigar possíveis riscos à segurança do sistema. Essa e outras atividades que foram acrescentadas no ciclo de vida do Microsoft SDL oferecem maneiras sensatas para antecipar os ataques e revelar vulnerabilidades.

...
Quer ler esse conteúdo completo? Tenha acesso completo