Veja quais são os três pilares básicos das práticas de segurança no SDLC

O número de aplicativos móveis e web têm aumentado acentuadamente nos últimos anos. Para se ter uma ideia, existiam cerca de 11 mil empresas desenvolvedoras de softwares no Brasil em 2013, dado mais recente da Associação Brasileira das Empresas de Software (Abes). Essas organizações faturaram US$ 10,7 bilhões em 2013, um aumento de 11% em relação ao lucro de 2012.

O problema na quantidade de aplicativos começa a aparecer quando grande parte dessas empresas não têm testes e práticas de segurança no SDLC, ou seja, as aplicações já nascem potencialmente inseguras.

Com o aumento dos aplicativos, também aumentaram os ataques e prejuízos associados às falhas de segurança em softwares, as quais acabaram impulsionando a incorporação de requisitos e atividades de segurança nas metodologias de desenvolvimento de software. Durante o ciclo de desenvolvimento, quem apostar em inserir segurança como um requisito terá um belo futuro pela frente.

De acordo com um estudo da Forrester Consulting, organizações que implementaram segurança no SDLC (Security Develop Life Cycle), um processo de desenvolvimento de sistemas, mostraram melhores resultados e um ROI (Return On Investment, em português, retorno sobre investimento) maior que as outras que ainda não utilizam o processo.

O que é o SDLC?

O SDLC, ou ciclo de vida de desenvolvimento seguro, por si só, não ajuda a construir aplicações mais seguras, mas é um processo de desenvolvimento de software que ajuda a produzir sistemas mais eficientes do ponto de vista de segurança e de alta qualidade.

Processos

A incorporação de práticas de segurança no SDLC baseia-se em três pilares básicos: processos de risco, processos de engenharia e processos de garantia.

Relativos ao risco: processos que visam identificar precocemente falhas que potencialmente seriam inseridas no sistema e priorizar suas correções. Relativos à engenharia: processos relacionados à construção de um software que contemple aspectos de segurança. Relativos à garantia: processos designados para mensurar o grau de confiabilidade de um sistema.

Fluxos

Assim como ocorre em metodologias tradicionais de desenvolvimento de software, as metodologias de desenvolvimento com incorporação de atividades de segurança podem ser descritas em um macro fluxo, geralmente dividido em cinco fases, como você pode ver abaixo:

  • Fase 1 – Análise e viabilidade do projeto;

  • Fase 2 – Especificação e design;

  • Fase 3 – Codificação;

  • Fase 4 – Implantação;

  • Fase 5 – Testes de segurança.

Implementação no desenvolvimento de aplicações

A implementação de segurança no desenvolvimento de aplicações exige um trabalho colaborativo, não intrusivo e rígido, como o trabalho da Tempest. Muitas empresas acabam falhando justamente porque são excessivamente prescritivas e rígidas, impondo requisitos de segurança estáticos, que normalmente não se adaptam à realidade dos desenvolvedores. Isso acaba levando a um gradual desuso e descrédito da iniciativa.

Os colaboradores devem saber que a disciplina de segurança precisa, necessariamente, acompanhar todo o ciclo de desenvolvimento, do início ao fim. Ou seja, trata das preocupações de segurança específicas de cada fase, trabalhando de forma integrada ao ciclo de vida de desenvolvimento vigente. Justamente por isso, essa metodologia é estruturada em fases que se alinham às fases do processo de desenvolvimento de software.

Benefícios de implementar a segurança no SDLC

As maiores vantagens da implementação segura do SDLC são sistemas menos expostos a vulnerabilidades recorrentes. Como a preocupação com a segurança do sistema começa no momento da concepção e vai até o desenvolvimento, a chance destas vulnerabilidades ocorrerem é muito menor.

Geralmente, o processo de segurança só entra na fase de testes, que é uma das últimas fases no desenvolvimento de software, depois que todo o sistema já está construído. Por isso, outra grande vantagem de incluir o processo de segurança no início é que, ao final de cada interação, os erros podem ser corrigidos previamente e as soluções encontradas podem ser utilizadas no mesmo projeto. Isso aumenta a qualidade do produto final e a capacidade de entrega.

Em resumo, implementando um processo de, você pode desenvolver aplicações de modo mais seguro desde o início do projeto, detectar mais cedo bugs e falhas de segurança, e, além de tudo, reduzir os custos para corrigi-los. O resultado? Aumento da credibilidade e confiança dos usuários consumidores nas suas aplicações.

Comentários
Aceita-se formatação à la TWiki. HTML e scripts são filtrados. Máximo 15KiB.

 
Enviando... por favor aguarde...
Comentário enviado com suceso -- obrigado.
Ele aparecerá quando os moderadores o aprovarem.
Houve uma falha no envio do formulário!
Deixei uma nota para os admins verificarem o problema.
Perdoe-nos o transtorno. Por favor tente novamente mais tarde.