Diferentes tipos de vulnerabilidades e ataques de hackers

Buffer overflow acontece quando o programa tenta colocar mais
 dados do que cabe na memória que ele alocou. 

Segurança da informação pode ser um assunto complicado. São muitos termos diferentes. Para elucidar um pouco como ataques e vulnerabilidades funcionam, a coluna Segurança para o PC preparou um “dicionário” em uma linguagem simples para que você possa entender o funcionamento de algumas brechas e saber como hackers ganham acesso não autorizado a diversos sistemas. Confira.
Se você tem alguma dúvida sobre segurança da informação (antivírus, invasões, cibercrime, roubo de dados etc.), vá até o fim da reportagem e utilize a seção de comentários. A coluna responde perguntas deixadas por leitores todas as quartas-feiras.


Buffer overflow

É quando “dado vira código”. Programas de computador processam dados a todo o momento. Por exemplo, um programa de mensagem instantânea processa dados quando recebe uma mensagem. Um processador de texto processa dados quando você digita ou quando insere uma imagem. Um reprodutor de mídia processa dados quando você abre um arquivo MP3 e assim por diante.
Para processar tudo isso, os programas precisam reservar um espaço de memória para armazenar os dados a serem processados. Um hacker pode fazer com que o programa reserve menos espaço de memória do que o necessário e tente colocar os dados naquele espaço mesmo assim. O resultado é um problema grave, pois aquilo que não couber vai “vazar” no resto da memória.
Há diversos truques que os hackers usam para fazer com que os dados acabem caindo em um espaço de memória usado por códigos. Código é aquilo que o CPU do computador vai processar, ou seja, é programa. Com isso, os dados se transformam em código. E código pode fazer qualquer coisa no sistema. É o tipo de brecha mais grave que existe nos programas de computador. Tecnologias como Prevenção de Execução de Dados (DEP) tentam prevenir justamente que esse tipo de erro resulte em dado se transformar em código executável, como o próprio nome sugere.
Se você não consegue visualizar o problema, é o mesmo que acontece quando você coloca mais água do que cabe em uma garrafa. O líquido cai onde não devia. O “líquido”, nesse caso, são dados. E ele espirra e cai na “garrafa” dos códigos, que vai ser levada pelo processador.
Brechas que permitem que arquivos de dados como imagens, vídeos e texto instalem vírus no PC são geralmente buffer overflows.


Clickjacking

Uma página maliciosa pode fazer o navegador carregar páginas legítimas de modo invisível. Botões nessa página maliciosa na verdade escondem botões na página verdadeira. Se o usuário clicar no botão, na verdade o botão na página carregada “por baixo” é que será clicado. Com isso, é possível, por exemplo, que alguém envie mensagens no Twitter ou envie links no Facebook ou no Orkut como se fosse você.
O ataque é possível porque o usuário faz login nesses sites e geralmente fica logado enquanto navega por outras páginas.


Condição de corrida

O que acontece quando dois usuários tentam comprar a última unidade da mesma mercadoria em um site de comércio eletrônico? Se o evento realmente ocorrer ao mesmo tempo, ambos os usuários podem acabar recebendo a mensagem de que o item está disponível, embora só um cliente possa ser atendido. Esse tipo de erro é chamado de condição de corrida.
Condições de corrida costumam resultar em dados corrompidos. Em alguns casos, uma condição de corrida pode resultar em problemas de segurança. Por exemplo, um jogo de computador tinha um problema em que uma condição de corrida fazia com que o sistema antipirataria do jogo multiplayer não funcionasse corretamente.
Site XSSed mantém registros de sites vulneráveis a ataques de
 Cross-site Scripting 
Site XSSed mantém registros de sites vulneráveis a ataques de Cross-site Scripting (Foto: Reprodução)

Cross-site Scripting (XSS)

Trata-se de uma falha em sites web. XSS permite que um indivíduo malicioso execute código Javascript no site alvo no contexto do usuário. Em muitos casos, é uma falha sem graves consequências. Em outros, pode permitir roubo de credenciais de acesso ou até execução de comando em nome de um administrador.

XSS persistente é aquele existente em itens de formulário (como recados no Orkut), que são armazenados no banco de dados do site e carregados com a página toda vez que ela for acessada.
XSS ficou em segundo lugar no top 10 da OWASP para 2010, uma lista que busca identificar quais são as brechas mais graves em sites de internet.


Cross-site Request Forgery (XSRF)

Semelhante ao clickjacking, porém mais grave. O XSRF não depende que o usuário clique em um link, pois o site alvo tem uma falha que permite ao criminoso executar o comando diretamente. Ataques de XSRF são muitos simples de serem realizados, porque podem estar escondidos em um carregamento de imagem. Por exemplo, recados em redes sociais que permitem imagens ou posts em fóruns podem criar um ataque XSRF a sites que tiverem a vulnerabilidades.
XSRF ficou em quinto lugar no top 10 da OWASP da 2010, uma lista com os tipos de brechas considerados mais graves em sites de internet.


Denial of Service
Ver negação de serviço.


Directory Traversal

É quando um site ou aplicativo lê algum arquivo do servidor ou do computador, mas permite que o usuário identifique qual o arquivo será lido. O programa ou site deveria realizar uma verificação para saber se o usuário tem permissão para ler aquele arquivo, mas não o faz, permitindo que o arquivo seja lido.

A falha recebe esse nome porque, na maioria dos casos, o programa ou site quer ler apenas arquivos de um determinado diretório, mas permite que o usuário coloque ../ no caminho do arquivo. ../ ou ..\ significa “diretório acima”. Com “../” suficientes, o programa estará lendo arquivos na raiz do disco.

Tente acessar o arquivo “C:\Arquivos de Programas\..\”, por exemplo.

O site de uma operadora de telefonia brasileira apresentou uma brecha desse tipo que permitia ler o arquivo do servidor onde eram armazenadas as senhas de acesso. (Muito fácil de usar... )


Drive-by download

“Drive-by download” é um tipo de ataque em que uma página web tenta fazer com que o usuário baixe arquivos de uma forma “simplificada” ou diferente da padrão. Normalmente, a página maliciosa faz isso utilizando brechas no navegador do internauta.

Outros tipos de “drive-by download” são applets do Java elevados, ClickOnce e ActiveX. Todos permitem a execução de programas no PC com apenas um clique do usuário, quando o normal seriam pelo menos dois (um para o download, outro para executar o programa) ou três (um adicional para confirmar a execução de software, que existe em navegadores atuais).
ActiveX é pouco usado por criminosos, porque recebeu modificações. Vários cliques são necessários para instalar um ActiveX em versões atuais do Internet Explorer.


Elevação de Privilégio

Acontece quando um programa consegue ler arquivos ou executar comandos sem autorização adequada. São falhas que existem em componentes importantes do sistema operacional.
O Windows teve uma falha muito grave desse tipo que recebeu o nome de “shatter”. O problema foi resolvido no Windows Vista, mas programas que dependem do comportamento que permitia o ataque shatter apresentam um funcionamento diferente; o Windows exibe um aviso e depois a área de trabalho some para proteger o PC da possível exploração da falha.


Envenenamento do cache DNS

Ataque complexo que consiste em enviar uma resposta falsa para um servidor de DNS. Depende de uma série de fatores.
Envenenamento de cache permite redirecionamento de sites. Mas
 é difícil executá-lo com sucesso. Envenenamento de cache permite redirecionamento de sites. Mas é difícil executá-lo com sucesso. 

(Foto: Arte G1) 

Man in the Middle (MITM)

Dá-se o nome de “man in the middle” (“homem no meio”) a um ataque em que o hacker fica entre a conexão do usuário com o site legítimo que ele quer acessar. Com isso, ele consegue alterar ou ler as informações que o usuário envia.
Ataques de “homem no meio” são usados para inutilizar dicas de proteção como aquela que sugere digitar uma senha errada em sites falsos de banco. Se o site falso ficar entre o site legítimo e o usuário, uma senha errada vai retornar erro como no site legítimo.
Negação de Serviço ocorre quando um criminoso sobrecarrega um
 computador com solicitações falsas. 

Negação de Serviço ocorre quando um criminoso
sobrecarrega um computador com solicitações falsas.
(Foto: Arte G1)


Negação de Serviço

Um hacker tenta sobrecarregar o computador com informações ou conexões inúteis para impedir que as conexões verdadeiras sejam processadas.

Se acontecesse no mundo real, um ataque de negação de serviço seria como encher uma loja de pessoas que não vão comprar nenhum produto para impedir que os clientes de verdade possam entrar.
Também é chamado de negação de serviço um tipo de problema em programas que permite a um invasor travar o software facilmente.


Pharming

Redirecionar um site para outro. Depende de algum outro ataque, normalmente envenenamento de cache DNS ou alteração do arquivo hosts da vítima.
Existe também o ataque de drive-by pharming. É o uso de erros de configurações em modems ADSL e roteadores para alterar a configuração de servidores DNS a partir de uma página web por meio de ataques de XSRF e clickjacking.



Phishing

Fraude virtual que chega por e-mail. Tenta convencer o usuário de que ele precisa preencher um formulário com seus dados ou clicar em um determinado link para baixar um arquivo. O arquivo, é claro, será um vírus. E o site, se acessado, roubará todos os dados digitados.
Variações incluem Vishing (golpes por telefone; o ‘v’ é de voz) e fraudes nigerianas.


Remote File Inclusion/Injection (RFI)

Uma vulnerabilidade gravíssima em sites. Páginas de internet costumam resultar de um conjunto de arquivos diferentes. Por exemplo, o cabeçalho, o menu e o rodapé são armazenados em arquivos separados e, quando a página é construída pelo servidor, esses arquivos são colocados juntos e enviados como um só ao navegador do internauta.

Quando o site é vulnerável a um ataque de RFI, o indivíduo malicioso pode indicar algum arquivo para ser incluído remotamente, ou seja, de fora do servidor e sob seu próprio controle. O que acontece é o mesmo do buffer overflow – hacker pode executar comandos no servidor, permitindo a invasão completa do equipamento.


Sniffing
Grampo eletrônico. É quando o hacker pode ver tudo o que está trafegando na rede. É um verbo: “snifar”, “snifou”, “snifando”.


Spoof
Spoof é fingir ou falsificar. Também é verbo. “Spoofado”, “spoofar”. MAC, ARP e IP spoof são os mais comuns, e trata-se de, respectivamente, forjar endereços MAC, ARP e IP falsos.

O MAC Spoof é muito fácil de fazer e, às vezes, é necessário por causa de alguma incompatibilidade da rede. MAC (Media Access Control) é o endereço físico dos equipamentos de rede, como modems, roteadores e placas. Alguns equipamentos têm no painel de administração uma opção que permite alterar o endereço MAC para qualquer outro.

IP Spoof é o uso de um IP falsificado. Na maioria das vezes só pode ser realizado via UDP, porque o protocolo TCP faz uma verificação (chamada de handshake). É o IP Spoof que permite ataques como o envenenamento de cache do DNS.

ARP Spoof ou ARP poisoning permite ataques de homem no meio ou sniffing porque muda a maneira como uma rede direciona suas conexões.


SQL Injection

Outra brecha em sites de internet. SQL é a linguagem usada por bancos de dados para realizar consultas e alterar dados. Um ataque de SQL Injection permite que o hacker altere de forma maliciosa os comandos que são passados ao banco de dados. Com isso, é possível ler ou alterar dados que normalmente não poderiam ser lidos e alterados. Em muitos casos, é possível ler ou alterar as senhas que estão armazenadas no banco de dados, o que resulta em uma invasão completa do site.

Postagens mais visitadas deste blog

Boa Sorte!

Sobre o Google - O que ele diz sobre "inrul, intitle, allintilte, allinurl" e o que outros dizem...