Desenvolvimento

29 ago, 2014

10 boas práticas para tornar seus aplicativos mais seguros – Parte 06

Publicidade

Esta é a sexta parte de uma série de artigos sobre as Top 10 boas práticas proativas da OWASP para desenvolvimento de aplicativos seguros. Veja o artigo anterior aqui.

As regulamentações – e as boas práticas de negócios – demandam que as informações privadas e confidenciais dos clientes e funcionários sejam protegidas, como PII e dados financeiros, bem como as informações críticas sobre o sistema em si: os dados de configuração do sistema e, especialmente, os segredos. Expor as informações sigilosas é um problema grave e comum, e está em sexto lugar na lista das Top 10 boas práticas proativas da OWASP.

A proteção dos dados e da privacidade se refere principalmente à criptografia de dados em trânsito, em repouso, e durante o processamento.

Criptografia de dados em trânsito – utilizando TLS adequadamente

Para os aplicativos web e mobile, o aconselhável é criptografar dados em trânsito, usando SSL/TLS.

A utilização do SSL não é difícil. Certificar-se de que ele esteja configurado e seja utilizado corretamente dá mais trabalho. Transport Layer Protection Cheat Sheet do OWASP explica como SSL e TLS funcionam, e as regras que você precisa seguir quando for usá-los.

Ivan Ristic, do Qualys SSL Labs, fornece uma série de informações úteis e ferramentas gratuitas para explicar como configurar o SSL corretamente e testar a força da configuração SSL do seu site.

E o OWASP tem outro Cheat Sheet on Certificate Pinning que se concentra em como você pode evitar ataques man-in-the-middle ao usar SSL/TLS.

Criptografando dados em repouso

A primeira regra de criptografia é: nunca tente escrever seu próprio algoritmo de criptografia. As outras regras e diretrizes para criptografar os dados corretamente são explicados em outro Cheat Sheet da OWASP,(?) o qual abrange os diferentes algoritmos de criptografia que você deve usar, quando deve, e os passos que você precisa seguir para usá-los.

Mesmo que você use um algoritmo de criptografia padrão, ainda pode ser difícil de fazer a criação e a gestão adequada de chaves e outros passos corretamente. As bibliotecas como Google KeyCzar ou Jasypt cuidarão desses detalhes para você.

É bom ter um cuidado extra com o armazenamento de segurança (salting e hashing) de senhas – algo que eu já falei num artigo anterior desta série sobre Autenticação (linkar para parte 5). A OWASP Password Storage Cheat Sheet orienta como fazer isso.

Implementar proteção no processo

O último problema para se preocupar é expor os dados sensíveis durante o processamento. Tenha cuidado para não armazená-los sem criptografia em arquivos temporários e não incluí-lo em logs. Tome cuidado ao armazená-los na memória.

***

Artigo traduzido pela Redação iMasters com autorização do autor. Publicado originalmente em http://swreflections.blogspot.com.br/2014/06/10-things-you-can-do-as-developer-to_23.html