Aplicações web seguras
O que fazer para ter um desenvolvimento de programas mais seguros.
Segurança é a palavra da moda. Seja na vida pessoal ou nas empresas, ela está cada vez mais em ascensão. A segurança de uma aplicação é hoje um elemento crítico na política geral de segurança de uma empresa, por que elas, as aplicações, e em particular as aplicações web, são freqüentemente a porta de acesso para os bancos de dados que guardam informações críticas de negócio.
Os hackers estão mudando o foco e procurando, como todo bom ladrão, alvos mais fáceis como as aplicações web. Elas estão mais vulneráveis porque os perímetros da rede estão mais seguros e o código de uma aplicação web normalmente é um ponto de insegurança.
O Gartner estima que atualmente 75% dos ataques estão ocorrendo no nível de aplicação. As aplicações web, em particular, permanecem vulneráveis a ataques independente das defesas existentes na rede.
Os scanners não são eficazes em identificar problemas contextuais ou achar problemas conhecidos de segurança em códigos escritos pelos programadores das empresas, enquanto que os sistemas de detecção mostram os sintomas das vulnerabilidades depois que o ataque já teve início.
Por essa razão, uma estratégia de aumentar a segurança de uma aplicação deve incluir a detecção de vulnerabilidades durante o processo de desenvolvimento de maneira a reduzir os ricos delas na versão final.
As empresas devem ter políticas que assegurem que os processos de negócio e o projeto de requerimentos sejam validados e checados contra problemas. Elas devem garantir uma revisão formal do código fonte.
Também deverão existir procedimentos para o teste de integração de componentes e sistemas e testes de implantação. Apesar de parecer custoso e demorado, o Gartner diz que remover a fase de testes de vulnerabilidades custa menos de 2% do custo do que remover um sistema em produção por um problema de segurança.
Sua política deve contemplar os direitos de acesso ao código fonte, bem como auditoria dos mesmos. Outra medida salutar é o de treinar a equipe de desenvolvimento em como escrever códigos ou programas seguros e contratar empresas especializadas em controle de qualidade de programação.
Entretanto, treinar seus programadores em desenvolver códigos seguros não implica em que eles o façam. Assim, seus procedimentos de desenvolvimento devem continuamente testar as vulnerabilidades lógicas e técnicas.
Existem duas abordagens para esse tipo de teste: as análises dinâmicas e estáticas. A primeira envolve executar o software, e a segunda, analisar o código sem executá-lo. Esta última tem a vantagem de poder ser feita nos estágios iniciais de desenvolvimento.
Antes de implantar em produção você deve incluir uma análise de risco e de impacto nos negócios e, além disso, posicionar a aplicação na sua estrutura de risco. Isso determinará a sensitividade e a criticidade de seu funcionamento e ou dados que ela trata.
O gerenciamento de mudanças é parte importante de sua estratégia já que a velocidade de mudanças em uma aplicação web é alta e rapidamente reduz a relevância dos relatórios de segurança produzidos.
E o mais importante. Comprometa todos os envolvidos dentro da organização tais como os donos do processo de negócio, os gerentes de mudança, a área de auditoria e o suporte técnico. Isso irá ajudá-lo a desenvolver uma estratégia coordenada que deve estar plenamente documentada.
Bom, não existe uma maneira de garantir que suas aplicações são completamente seguras, assim planeje um aumento na quantidade de chamadas nos primeiros dias de implantação e tenha procedimentos para tratar qualquer tipo de erro ou problema que apareçam.