Segurança no desenvolvimento de software
À medida que as aplicações passaram a ser baseadas na Web, a segurança de software foi ganhando força. Com a constante atividade de invasores, desenvolver um software seguro se tornou fundamental. Este artigo apresenta boas práticas e recomendações de segurança para o desenvolvimento de software.

A segurança em aplicações visa manter a confidencialidade, integridade e disponibilidade dos recursos de informação a fim de permitir que as operações de negócios sejam bem sucedidas. Geralmente é mais barato construir software seguro do que corrigir as vulnerabilidades de segurança após a entrega do software.

Para desenvolver um software seguro é necessária a adoção de métodos que garantam a qualidade durante todas as etapas do desenvolvimento, além da realização de uma análise do processo de desenvolvimento de software.

Normalmente, uma má gestão no processo de desenvolvimento de software pode levar a um código mal estruturado e por sua vez a problemas de segurança. Por outro lado, software de qualidade é desenvolvido com uma abordagem estruturada e ferramentas de apoio.

Abaixo, estão relacionadas algumas boas práticas de segurança que auxiliam no desenvolvimento de softwares:

1. Gerenciamento de código fonte
Uma ferramenta para gerenciamento de código fonte permite organizar a interação entre desenvolvedores, garantir a integridade e possibilitar o gerenciamento de versões do código, evitando equívocos quanto a versão colocada em produção.

2. Realização de testes
Utilização de teste desde pequenos trechos de código por vez (como os testes unitários) até práticas que buscam uma avaliação geral do software.

3. Gerenciamento de correção de bugs
A utilização de uma ferramenta de Bug Tracking permite manter registro das falhas encontradas no sistema e facilitar a comunicação entre os envolvidos na identificação e correção de bugs.

4. Utilização de processo de integração contínua
Essa prática visa garantir a qualidade no software desenvolvido, Automatizando verificações no processo de build da ferramenta, garantindo assim, que seja possível gerar um novo release com o mínimo possível de bugs.

5. Documentação do software e da arquitetura que o suporta
Uma documentação clara da arquitetura e código fonte ajuda a aumentar a qualidade do software desenvolvido. Uma documentação clara, objetiva e bem estruturada é de fundamental importância para que o software possa ser expandido de forma sustentável e segura.

6. Utilização de padrões de código seguro e checklists
Defina padrões de códigos seguros, boas práticas de acordo com a linguagem adotada e ambiente definido pela organização. Crie checklists para verificar as principais ações durante o desenvolvimento e revisão de segurança do software.

Ao falar em segurança no desenvolvimento de software, é importante citar a OWASP (Open Web Application Security Project ou Projeto Aberto de Segurança em Aplicações Web), uma organização mundial sem fins lucrativos focada em melhorar a segurança de softwares, em especial os softwares baseados na web.

Todos são livres para participar da organização e de sua comunidade. A OWASP atraiu a atenção de diversas empresas de software livre, como a Fundação Mozilla, e empresas comerciais e proprietárias, como Microsoft, Adobe e Oracle. A OWASP elabora uma rica documentação sobre a segurança de softwares e uma parte desta documentação é composta pelos guias de desenvolvimento, revisão de código e testes, que vale a pena ser considerada no desenvolvimento de software.

Concluo esse artigo com a seguinte pergunta para reflexão: “O que você considera importante ao desenvolver um software seguro?”.

Autor: Cássio Mazzochi Molin
Artigo do Seminário de Segurança em Desenvolvimento de Sistemas 2011-2
Origem do artigo: Micreiros.Com | Revisão Thiarlei Macedo