Fernando Amaral

Dicas simples para aumentar a qualidade do seu software Parte I: Segurança

Vou iniciar uma série de pequenos artigos denominados “Dicas Simples para Aumentar a Qualidade de seu Software”. Como diz o titulo são pequenas questões, coisas que talvez você não tenha percebido que são de fácil adoção e que por outro lado podem trazer um grande beneficio em termos de qualidade para seu software. Neste primeiro artigo o assunto é segurança.

Parte I: Segurança

É um fato, e ninguém duvida disso, que todo software possui bugs. Outro fato é que nenhum software é 100% seguro. Porém o fato "segurança" e muito mais subestimado do que o fato "bugs", muito embora exista uma relação forte entre ambos. Tende-se a pensar que um software nasce naturalmente seguro, principalmente se ele foi feito em um ambiente robusto e amplamente utilizado como o ASP.NET ou Java. Muito embora estas plataformas façam muito em termos de tornar sua aplicação mais segura, elas não podem fazer tudo, muito menos prever quais tipos de falhas iremos introduzir em nosso código.

Os números e as notícias mostram que milhões de aplicações são atingidas anualmente através de falhas de segurança. Assim como você não pode deixar seu software 100% livre de bugs, você não vai conseguir deixá-lo 100% seguro. O fato é que ações simples podem fazer uma grande diferença e, quem sabe, evitar muitos problemas.

O SANS Institute, uma das maiores instituições de segurança da tecnologia da informação, publicou o "SANS TOP 25 Most Dangerous Programming Errors", ou "Os 25 mais perigosos erros de programação segundo a SANS", numa tradução livre. Um detalhe importante da lista é o fato de que, apenas dois destes erros, foram responsáveis por mais de 1,5 milhões de falhas de seguranças em web sites em 2008.

A maioria dos erros que figura na lista dos 25 mais são clássicos. Muitos, além de clássicos, podem ser prevenidos com medidas simples, como  Cross-Site Scripting (veja artigo sobre sua prevenção em ASP.NET em http://msdn.microsoft.com/en-us/library/ms998274.aspx)  e SQL Injection (veja artigo sobre sua prevenção em ASP.NET em http://msdn.microsoft.com/en-us/library/ms998271.aspx).

Ainda em ASP.NET, outros bons recursos para se aprofundar mais no assunto é o artigo "Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication" em http://msdn.microsoft.com/en-us/library/aa302415.aspx e "An Introductory Guide to Building and Deploying More Secure Sites with ASP.NET and IIS" em http://msdn.microsoft.com/en-us/magazine/cc301387.aspx. Outra boa referencia é o livro "Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB"*

*Haidar, Bilal, and Stefan Schackow. Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB. Wrox Press. © 2009. Books24x7.

Últimos artigos relacionados:
Dicas simples para aumentar a qualidade do seu software Parte II: Acessibilidade
Dicas simples para aumentar a qualidade do seu software Parte I: Segurança
Uma breve visão de melhoria de processos de software “for dummies”