Vulnerabilidades no Desenvolvimento de Sistemas Web




Hoje em dia a tecnologia mantém o foco nos dispositivos móveis e na portabilidade, portanto os sistemas web estão cada vez mais presentes na nossa vida.
Graças à web, inúmeras facilidades hoje são possíveis através dos computadores ou demais dispositivos, como por exemplo sincronizar arquivos entre eles ou pagar uma conta através do internet banking, porém isso exige que tais plataformas ofereçam a segurança adequada afim de evitar fraudes ou perda de dados.
Assim como os sistemas, os crackers também estão em constante aprimoramento de suas técnicas, portanto o cenário exige que cuidados sejam tomados durante o desenvolvimento afim de evitar vulnerabilidades que poderão ser facilmente exploradas por cyber-criminosos.
A seguir citaremos algumas vulnerabilidades comuns em sistemas web e quais os cuidados que todo desenvolvedor web deve ter afim de evita-las.


SQL Injection

Um código mal escrito pode abrir uma grande brecha na segurança de um sistema web, e a “SQL Injection” ainda é umas das vulnerabilidades mais exploradas pelos crackers.
Esta brecha de segurança permite que um cyber-criminoso injete comandos de SQL que são passados ao banco através da página, isto permite que dados do banco sejam lidos ou alterados através destes comandos.
Através desta vulnerabilidade, os crackers conseguem obter inúmeros dados confidenciais de bancos de dados, incluindo usuários e senhas em campos não criptografados, dados de clientes, preços, etc.
Os crackers quando obtem os dados de um usuário e senha, passam a assumir a identidade desta pessoa para cometer crimes, compras sem autorização e inúmeros outros estragos na vida desta.
Para evitar este tipo de vulnerabilidade é muito importante que o desenvolvedor tenha o cuidado de validar todo e qualquer tipo de dado de entrada antes que a mesma seja enviada para o banco, seja via formulário (POST) ou via query string (GET).
Na internet mesmo, é possível buscar diversos macetes para não cair nesta armadilha que pode colocar dados sensíveis e até a vida de seu sistema web em risco.


Cross-Site Scripting (XSS)

Permite que um cracker insira um javascript no código da página web e execute comandos seja por ação de eventos do usuário ou através do carregamento de imagens ou da própria página (Cross-site Request Forgery (XSRF)), este último é mais perigoso, pois permite que determinado comando seja executado automaticamente.
Este tipo de vulnerabilidade é bem comum e pode causar roubo de identidades e infecções no host do usuário, também é utilizado para redirecionar o usuário para páginas falsas e confundir afim de fazer o usuário inserir dados dele nesta página.
Para evitar este tipo de fraude, o desenvolvedor deve validar através de seu código, toda informação que receber como entrada incluindo headers, campos de formulários, cookies, strings de consulta e campos escondidos (hidden fields) através de regras de aceitação para estes, como tipo de dados, permissões, conjunto específico de valores permitidos, etc.


Directory Traversal

É quando um site ou aplicativo lê determinado arquivo de um host ou servidor.
O programa deveria realizar uma verificação de permissão ao ler o arquivo, porém não o faz, permitindo que o arquivo seja lido.
A falha recebe esse nome porque em grande parte dos casos, o site permite ler arquivos de um determinado diretório, mas permite que o usuário coloque “../” no caminho do arquivo, o que representa “navegar para o diretório acima”. Com “../” suficientes, o programa estará lendo arquivos na raiz do servidor. Isto poderá permitir que dados do servidor sejam lidos por qualquer usuário na web sem a devida autorização.
A solução para este tipo de fraude seria barrar o acesso a pastas não permitidas, indexando apenas os diretórios permitidos. Isto é possível, como por exemplo, através do comando IndexOF e para outros endereços disparar o Status para a página 404 afim de descontinuar o processamento da solicitação.


Conclusão

Podemos concluir através desta pesquisa que nenhum sistema é perfeito, pois alguns desenvolvedores acabam cometendo falhas na escrita de aplicações.
Aplicações WEB por serem cada vez mais utilizadas devido ao novo cenário que está sendo formado no mundo da informática, sempre foram alvo de cyber-criminosos e o número de ocorrências tende a aumentar.
Normalmente, a maior parte de fraudes ocorrem por parte do usuário, que acaba se deixando enganar por engenharia social ou simplesmente por falta de atenção à sua segurança, deixando de praticar boas práticas como o uso de senhas seguras ou o não fornecimento de identidades eletrônicas à terceiros, porém alguns desenvolvedores também cometem descuidos ao desenvolver suas aplicações web e estas brechas, obviamente, também são exploradas pelo crackers, que muitas vezes possuem um conhecimento superior ao do desenvolvedor do site, e por isso utilizam-se de técnicas para burlar o código afim de praticar atos ilícitos.
O desenvolvedor ao seguir boas práticas de programação pode tornar seu código mais seguro afim de evitar tais vulnerabilidades.

Postar um comentário