Desenvolvimento

5 ago, 2014

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

Publicidade

A lista dos top 10 da OWASP mostra os principais riscos de segurança em aplicativos web e é uma ferramenta de consulta amplamente reconhecida para que os desenvolvedores compreendam, analisem e avaliem os principais e potenciais riscos de segurança de um aplicativo. A lista é utilizada para categorizar os problemas encontrados por ferramentas que realizam diversos tipos de testes de segurança, para resolver problemas de segurança dos aplicativos através do desenvolvimento de software mais seguro, e está em conformidade com o PCI DSS.

A lista dos top 10 da OWASP para aplicativos web e o top 10 de vulnerabilidades em aplicativos móveis são escritas por especialistas em segurança para outros especialistas em segurança, beta testers e auditores de compliance. Elas são úteis para compreender o que está errado ou o que poderia estar errado com um determinado aplicativo, mas não ajudam os desenvolvedores a entender especificamente o que precisam fazer para construir e manter um software seguro.

Agora, a OWASP tem também uma lista contendo as top 10 boas práticas para desenvolvedores: trata-se das 10 melhores atitudes que os desenvolvedores podem e devem tomar para criar aplicativos online seguros. Essa lista de práticas proativas abrange questões como segurança em requisitos, arquitetura e design, e também preocupações em nível de código. Ela fornece uma lista de passos a serem verificados e seguidos durante o desenvolvimento de um sistema, apontando uma orientação detalhada em cada área. Tudo isso disponibilizado gratuitamente e online.

Vamos começar com a primeira boa prática da lista, e que inclusive é a mais simples, mas é também uma das coisas mais importantes a fazer para garantir a segurança do seu aplicativo: parametrizar as consultas de banco de dados.

1 – Parameterizar as consultas de banco de dados

Um dos ataques mais perigosos e mais comuns em aplicativos online é o ataque por injeção de código SQL: os invasores inserem código SQL malicioso em um argumento SQL dinâmico para obter informações armazenadas no banco de dados. Encontrar vulnerabilidades com injeção SQL é fácil para um invasor encontrar que esteja utilizando ferramentas gratuitas como SQLMap, SQL Ninja ou então uma das várias outras ferramentas de hacking existentes.Ou mesmo com um teste manual simples: tente inserir um valor como 1′ or ‘1’ = ‘1 para o nome de usuário e senha, ou então para outros campos de texto e ver o que acontece. Uma vez que uma vulnerabilidade de injeção SQL seja encontrada, ela será facilmente explorada.

Ao mesmo tempo, a vulnerabilidade de injeção SQL é também um dos problemas mais fáceis de resolver. É possível fazer isso tornando claro para o interpretador SQL quais partes de um determinado argumento compõem o comando e quais partes são dados, por meio da parametrização do banco de dados.

A OWASP possui um documento de parametrização de consultas em Java (usando instruções preparadas ou com Hibernate), e em .NET/C#, ASP.NET, Ruby, PHP, ColdFusion e Perl. Nada disso é difícil de entender ou de fazer corretamente. Não é emocionante, mas vai evitar um dos piores ataques de segurança em aplicativos web.

A injeção de SQL é apenas um tipo de ataque de injeção de código malicioso. Em breve, vamos aprender como nos proteger contra outros tipos de ataques de injeção de código – aproveite para assistir a Jim Manico explicar a codificação e os conceitos sobre as Top 10 práticas proativas no YouTube.

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-to-make-your-app.html