Como o crescimento das organizações está cada vez mais dependente de software online, o risco de ataques maliciosos também se tornou muito mais sério. Esses ataques podem causar perdas de milhões de dólares em transações e comprometer potencialmente a imagem de uma empresa.
Mas apesar de a maioria das companhias serem capazes de implementar uma estratégia de segurança de rede, utilizando firewalls e criptografia, muitas delas, inadvertidamente, colocam em risco informações corporativas e de seus clientes. Isso em razão de elas não protegerem sua camada de aplicação.
Consequentemente, por pensar como um programador para identificar falhas que um desenvolvedor tenha cometido, um cracker pode causar um estrago na aplicação, aproveitando-se de uma vulnerabilidade, usando nada mais do que um web browser.
Felizmente, as organizações podem proteger suas aplicações web por meio de avaliações de vulnerabilidade, inserindo a prática de governança no desenvolvimento de software e em seus processos de entrega. O uso de ferramentas automatizadas para realizar controles durante o ciclo de vida da aplicação e a garantia de qualidade ajudam a reduzir as falhas de exposição a crackers, evitando potenciais prejuízos aos negócios.
Para que sua empresa se mantenha mais protegida, gostaria de compartilhar 12 dos mais comuns ataques de crackers, bem como regras básicas para a criação de aplicações mais resistentes a estas ameaças. Veja a seguir:
1 - Cookie poisoning - Roubo de identidade/sequestro de sessão
Muitos aplicativos web utilizam cookies para guardar informações, como a identificação do usuário ou horário do acesso, por exemplo. Mas os cookies não possuem criptografias seguras. Com isso, um craker pode modificá-los e enganar o pedido para alterar os seus valores, “envenenando" os cookies. O invasor pode, ainda, se passar por outras pessoas e fazer as transações fraudulentas, como compras e transferências bancárias.
2 - Hidden field manipulation – Roubo
Alguns sites de varejo utilizam frequentemente campos escondidos para guardar informações sobre a sessão do cliente, eliminando a necessidade de manter uma complexa base de dados no servidor. Em sites desprotegidos, crakers podem ler o código fonte, encontrar estes campos ocultos e alterar os preços. As empresas podem, simplesmente, não detectar estas mudanças.
3 - Parameter tampering – Fraude
Muitos aplicativos falham na confirmação de parâmetros embutidos dentro de um hyperlink Common Gateway Interface (CGI), possibilitando aos crackers a fácil alteração desses parâmetros. Essa situação possibilita que o invasor modifique, por exemplo, o limite de um cartão de crédito ou obtenha acesso a informações de clientes.
4 - Buffer overflow - Negar serviço
Ao explorar uma falha em um formulário web, os crakers podem sobrecarregar um servidor com excesso de informação, tornando-o indisponível e deixando o site fora do ar.
5 - Cross-site scripting - Desvio/roubo de identidade
Crakers podem injetar um código malicioso em um site. Isto oferece a eles acesso integral ao documento recuperado, capturando os dados da página.
6 - Exploiting backdoor and debug options - Invasão gradual
Desenvolvedores frequentemente embutem opções para depurar códigos e testar o site antes de colocá-lo no ar. Caso esqueçam-se de apagar essas falhas de segurança, um cracker pode acessar livremente as informações sensíveis do site.
7 - Forceful browsing - Quebrar e entrar
Crackers podem subverter o fluxo de acesso à informação de uma aplicação e componentes que deverão ser inacessíveis, como os arquivos de registro, administração, instalações e código fonte.
8 - HTTP response splitting - Roubo de identidade/pichação eletrônica
Crakers podem “envenenar “ o cache web. Isso permite mudar
as páginas da web em cache e executar uma grande variedade de ataques contra os usuários.
9 - Stealth/Trojan horse - Dano malicioso
Crakers podem esconder comandos por meio de um cavalo de Tróia que desencadeie códigos maliciosos ou não autorizados, provocando danos ao site.
10 - Exploiting a third-party misconfiguration - Dano malicioso
Crakers frequentemente visitam sites públicos postando vulnerabilidades e patches. Pela exploração maliciosa desse conhecimento, eles podem, eventualmente, criar uma nova base de dados, tornando o banco de dados existente inutilizável pelo site.
11 - Exploiting known vulnerabilities - Tomando o controle do site
Algumas tecnologias web têm fraquezas inerentes que um craker persistente pode explorar. Por exemplo, alguns crakers comandam um website inteiro, pois sabem como administrar senhas de acesso via Microsoft Active Server Page (ASP).
12 - Exploiting XML and Web services vulnerabilities - Dano malicioso
Certos protocolos e infraestrutura possuem suporte a aplicações baseadas em XML que podem sofrer vulnerabilidades.
Aplicações mais seguras
Com tantas possibilidades de ataques crakers, o que pode ser feito para proteger as organizações que possuem grande parte do seu patrimônio baseado na web? A seguir algumas recomendações:
Promova uma ação defensiva. Não concentre as iniciativas apenas para tentar atrair clientes para o site, sem supor que alguns deles podem tentar manipular as aplicações. Isso ajuda a construir aplicações seguras, por meio de testes de vulnerabilidades em todo o seu ciclo de vida.
Utilize ferramentas automatizadas de testes para detecção de vulnerabilidades nos aplicativos. Tais vulnerabilidades poderiam não ser detectadas por meio de testes manuais. Além disso, é importante manter em mente a seguinte regra: nunca confiar em dados que vem do usuário e nunca fazer suposições sobre os limites de um utilizador de tecnologia.
Em outras palavras, todos os dados de fontes externas são potencialmente perigosos. Para garantir o máximo de segurança, assuma que qualquer dado ou informação que um usuário poderia manipular, será manipulado.
Além disso, não assuma que pode condicionar as ações do usuário. Por exemplo, mesmo se um navegador não mostrar campos ocultos em uma página HTML do código, deve-se presumir que alguns ainda serão capazes de encontrar e manipular os campos antes de enviar as páginas de volta para o seu servidor.
Talvez as dicas acima não ajudem a eliminar 100% os riscos dos ataques de crakers em sua empresa, mas, definitivamente, minimizará ao máximo este perigo.
* Juliana Ubrig é consultora de TI da IBM Brasil