sábado, 24 de setembro de 2011

Segurança Web

Um dos pontos fundamentais relacionados à internet é a questão de segurança das aplicações, com certeza a tendência no desenvolvimento de sistemas de informação é a migração para esse ambiente.  Muitas empresas estão reprogramando seus sistemas Windows para Web em busca de novos recursos de integração, mas a questão fundamental que se coloca é: Será que o investimento em segurança compensa tanto esforço?   E agora com o os novos geradores Smartdevices que também apresentam suas próprias vulnerabilidades, o que fazer? 

Nesse sentido algumas palestras no XXI Encontro Genexus foram fundamentais e esclarecedoras na apresentação desse tema:



OWASP Mobile TOP 10 Security Risks
Alberto Wilson, Mauro Flores - Deloitte

Desenvolvendo aplicações seguras com GeneXus
Alejandro Silva - Artech
http://www.genexus.com/encontro2011/palestra-materiais?pt,0,,2382

Para que serve e como usar a Segurança Integrada a GeneXus?
Alejandro Zeballos – Artech

  

O que é OWASP?
É uma organização sem fins lucrativos com foco nos temas de desenvolvimento de aplicações seguras, conscientizando os desenvolvedores quanto às principais situações de inseguridade.

Essa organização possui um check list com todas as vulnerabilidades atuais em aplicações web, smartdevices, e outros dispositivos na rede.  



Genexus é seguro?
Assim como todo ambiente de desenvolvimento, Genexus está sujeito a algumas vulnerabilidades importantes, não porque a plataforma é insegura, mas porque muitas das iniciativas de segurança devem partir do próprio desenvolvedor que a utiliza.

Isso quer dizer que grande parte da responsabilidade da melhoria de segurança depende do próprio desenvolvedor, não de Genexus.

Uma pequena lista de nossa responsabilidade no desenvolvimento é a seguinte:

1.      Os parâmetros são encaminhados nas chamadas entre scripts de forma encriptada ou não?
2.      Nossa conexão com o servidor é HTTPS ou não?
3.      Estamos permitindo aos usuários entrarem com informações em formato HTML?
4.      Estamos armazenando nos cookies os logins completos dos usuários com sua senha? Não encriptados?
5.      Os webservices programados encontram-se seguros com segurança de acesso? 

O mais interessante é que Genexus vem implementando em seus upgrades as correções de segurança que podem ser tratadas de forma automática pela própria ferramenta, e na versão Evolution 2 implementou-se um mecanismo muito interessante de controle chamado de GAM (Genexus Access Manager).  

GAM realiza controles de autorização e autenticação de usuários, ou seja, permite o ingresso e determina quais ações podem ser realizadas por determinada pessoa, de forma totalmente automática, ou seja, sem necessidade de intervenções dos desenvolvedores.  GAM permite o ingresso validado por diversos mecanismos como o Facebook, Twitter, web services, e outros, ou seja, é flexível e interessante. 

O que devemos fazer? 
Creio que a principal ação é a consciência da equipe de desenvolvimento para esse tema tão importante, principalmente porque qualquer objeto pode ser fonte de vulnerabilidade em nossa aplicação.
Em seguida compreender cada um dos mecanismos de ataque e vulnerabilidades que nossos sistemas podem sofrer e em seguida desenvolver os padrões necessários para que toda equipe de desenvolvimento programe da mesma forma.  Se de acordo com o check list da OWASP, melhor ainda.
Teremos uma aplicação totalmente segura? Se considerar que o FBI foi invadido recentemente, talvez isso responda a essa pergunta.