Pequeno manual hacker – 1ª parte
Hollywood prestou um desserviço aos hackers éticos, transmitindo idéias erradas e preconceituosas sobre o que eles fazem. Em qualquer filme, um hacker causa o caos digitando apenas três teclas e dando um clique no mouse sempre no intuito de causar o caos geral. Nada mais enganoso. Muito do que hoje chamamos de internet, o que inclui serviços como o e-mail e a web, devemos aos hackers.
Outra frente que empurrou os hackers ao mundo underground foram as grandes corporações. Quando elas perceberam que o valor (e principalmente o lucro) dos computadores estava no software e não no hardware, elas passaram a tornar sigilosos seus códigos fonte e tecnologias, enquanto os hackers sempre tiveram uma cultura de compartilhar conhecimentos e códigos fonte abertamente, algo que era contrário aos interesses das grandes companhias. As empresas de software nunca viram com bons olhos os trabalhos abertos dos hackers, acessíveis a qualquer um, quando elas investem milhões no desenvolvimento dos mesmos recursos de forma fechada para manter o cliente preso a elas pela exclusividade dos recursos.
Há um tempo, o presidente de uma grande companhia de software declarou enfurecido que os hackers são “comunistas” que “jogavam pérolas aos porcos”. Não só eles igualaram os recursos avançados de uma versão de banco de dados corporativo da companhia em apenas 2 meses após o lançamento, quando este mesmo presidente havia dito que “estava pelo menos 5 anos à frente de qualquer concorrente”, como ainda disponibilizaram publicamente o código fonte dos novos recursos.
Do dia para a noite, não só os “comunistas” do software livre ofereceriam versões gratuitas de bancos de dados para uso e desenvolvimento com estes recursos avançados que a empresa levou anos para refinar, como a concorrência corporativa igualaria estes recursos em muito pouco tempo ao simplesmente seguir o caminho das pedras deixados pelos hackers que contornavam o traiçoeiro pântano das patentes.
Presos ao mundo underground, os hackers continuaram fazendo o que sempre fizeram, mas a questão de serem mal vistos e mal interpretados pela sociedade levou muitos deles para o “lado negro da força”, para outros o mundo digital é um local deles se tornarem um “Batman” da vida real, lutando no submundo por mais justiça sem que a polícia possa tocá-los, e mesmo os não convertidos tiveram que aprender a continuar suas atividades de forma dissimulada.
Se a necessidade é a mãe de todas as invenções, então a dificuldade é a avó e um inesperado estímulo que fez os hackers pesquisarem novos patamares de conhecimento e grandes refinamento de técnicas, audaciosamente atingindo capacidades que nenhum programador experiente jamais alcançou.
Hackers desenvolveram uma série de técnicas que se adaptam a diferentes condições para explorar novos alvos e usá-los além da imaginação dos projetistas originais. Muitas técnicas dessas não surgiram com os computadores como muitos possam pensar, mas são milenares, porque não se aplicam apenas a computadores, mas a pessoas e coisas de maneira geral. Esta técnicas não são boas nem más. São apenas ferramentas como qualquer outra. O uso que se faz delas é que as conduzem para o bem ou o mal.
São essas técnicas básicas que vamos estudar a partir de agora.
Computadores que conversam
Redes de computadores são como salas de bate-papo cibernéticas. Enquanto alguns conversam informalmente, outros prestam serviços que dão todo suporte ao ambiente. Há computadores que servem e computadores que são servidos, há computadores que comandam e computadores que obedecem e há computadores que colaboram entre si em igualdade de autoridade.
Um automóvel moderno possui vários computadores espalhados para controlar diferentes sistemas embarcados, e esses computadores “conversam” entre si para regular todo funcionamento harmonioso. É um caso particular de rede, visando a criação de um “organismo” funcional.
A forma de se controlar um carro pela internet é afetar a forma como estes dispositivos conversam entre si e interferir nessa comunicação, levando o carro a fazer o que o hacker quer e não o que o fabricante determinou. Mas para entender como isso é feito precisamos definir o que seria uma conversa para depois aprendermos como interferir nela de uma forma útil para o hacker.
Os personagens de uma conversa hackeada
Toda conversa possui pelo menos dois agentes que se comunicam inocentemente, e numa conversa hackeada temos um terceiro agente que interfere no processo.
Para nosso modelo, precisamos inicialmente de dois agentes interlocutores. Chamaremos esses agentes de “Ana” e de “Ari”. Ana e Ari são pessoas comuns, com interesses comuns, sem malícia e que de alguma forma se conhecem e precisam se comunicar.
Nosso terceiro agente é um hacker. Hackers normalmente usam “nomes de batalha” para não exporem seus nomes reais. O nome de batalha do nosso hacker é tradicional a este meio: “Toxic Rubber Duck”, ou apenas “Toxic” para os amigos do IRC (internet relay chat, bate-papo pela internet). “Toxic” é curioso e pretende usar a conversa entre Ana e Ari para aprender e testar algumas técnicas hacker.
Definindo uma conversa padrão
Ana deseja se comunicar com Ari, então ela liga e ele atende:
– Alô!
– Alô! Eu queria falar com o Ari, por favor.
– É ele mesmo. Com quem falo?
– Oi, Ari! Aqui é a Ana. Tudo bem?
– Tudo bem. Em que posso te ajudar?
– Eu queria…
E a conversa prossegue.
Esta é uma conversa normal que podemos ter através de um telefone.
Essa comunicação ocorre sob a condição de alguns detalhes:
– Ela ocorre através de um meio de comunicação. O telefone, por exemplo.
– Os agentes usam um protocolo de comunicação conhecido por ambos. A língua portuguesa é um protocolo de comunicação;
– Os agentes possuem algum grau de confiança para estabelecer sua comunicação. No exemplo, por se conhecerem, Ana e Ari podem assumir uma comunicação com confiança.
– Para que a confiança seja estabelecida nesta conversação, Ana e Ari trocam apresentações para confirmar que um realmente está falando com o outro. É o reconhecimento mútuo que leva à confiança que torna a conversa efetiva.
– Pode existir ou não uma simultaneidade entre uma mensagem de um ator a outro e a respectiva resposta.
Sobre o meio de comunicação, os mais antigos e tradicionais, a fala e a escrita, são meios milenares. Já os demais meios, como o telefone e a internet são meios bastante modernos, e possuem meios bastante técnicos para serem explorados. As técnicas básicas apresentadas a seguir de forma genérica têm de ser adaptadas tecnicamente ao tipo de canal de comunicação utilizado. Muitas vezes, dadas as disparidades técnicas entre os vários sistemas, muitas técnicas nem parecem ser as mesmas quando vistas num primeiro instante, mas suas essências são as mesmas quando vistas em profundidade.
Repare que alguns meios de comunicação são simétricos, como o caso do telefone, onde os interlocutores possuem capacidades iguais de ouvir e falar, enquanto há meios de comunicação assimétricos, como a TV, onde um agente fala para vários agentes ouvintes simultâneos.
Há meios de comunicação privada, onde existe privacidade, como no telefone, e há meios públicos, sem privacidade, onde outros atores podem ouvir os que falam. Um tipo especial de meio público é chamado de “broadcasting”, quando um ator fala para todos que possam ouvir. É o caso do rádio e da TV.
Já no caso do protocolo, este é um tipo de linguagem que ambos os lados dominam para se comunicarem. Protocolos podem ser simétricos ou assimétricos, dependendo da hierarquia entre atores. Atores no mesmo nível costumam usar protocolos simétricos. É o caso mais comum entre Ana e Ari, que falam português entre eles. Mas assimetrias podem existir, como no caso de Ana falar em inglês e Ari responder em português, ou numa diferença de hierarquia, chamada de “mestre-escravo”, Ana envia comandos a Ari do tipo “Faça tal coisa.” e Ari apenas responde “Feito.”.
A questão da simultaneidade e da simetria é importante para muitos protocolos. Há muitos protocolos onde um dos atores envia uma mensagem e para ter certeza que a mensagem foi recebida, espera uma resposta do outro ator. Alguns protocolos se satisfazem com um simples sinal de reconhecimento, algo como um simples “OK”. Outros mais exigentes esperam algum registro resumido do que foi enviado para ter certeza que os dados recebidos não estão corrompidos. Estas respostas têm que ocorrer dentro de um prazo definido de tempo, sob pena de gerar um erro de tempo excessivo de resposta (TIMEOUT ERROR). A esta mensagem de retorno recebe o nome técnico de “handshake”, aperto de mãos em inglês.
Quando Ana conversa com Ari por telefone, ela espera que Ari dê sinais de tempos em tempos que está ouvindo e compreendendo o que ela diz. Se ela percebe que Ari demora em responder, é instintivo que ela pergunte “Alô! Ari, você está aí?”. Porém se Ana se comunica com Ari através de carta, o tempo de resposta pode ser ainda maior, sem o concurso de simultaneidade. E se Ana escreveu um livro, ela não espera que obrigatoriamente Ari responda.
Também é preciso haver um certo nível de confiança entre Ana e Ari. Sem confiança, o que um ator diz não tem credibilidade junto ao outro ator que ouve, e sem credibilidade, a comunicação não atinge seus objetivos.
Pense num político desacreditado fazendo um discurso na TV. Qual a receptividade que ele recebe? Ao contrário, quando há confiança a mensagem transmitida é efetiva e francamente aceita.
Quando os atores se conhecem, basta se apresentarem um ao outro. Ao se reconhecerem, a confiança é automaticamente estabelecida para o diálogo. Porém o caso mais difícil é o estabelecimento da confiança entre atores que não se conhecem. Aí se torna necessário o uso de uma chave para que haja o reconhecimento.
Entre reis e generais da antiga Mesopotâmia havia um sistema de reconhecimento onde um rolo de barro era entalhado com diversas figuras de homens, animais e plantas. Uma vez seco e endurecido, o rolo era rolado sobe placas planas de barro, deixando impressas as marcas invertidas do rolo. As placas eram distribuídas aos generais, e quando o rei precisava enviar um mensageiro, este carregava o rolo de barro. O mensageiro obrigatoriamente era uma pessoa desconhecida por motivos de segurança, e portanto não poderia ser reconhecido pelo general.
Ao entregar a mensagem, o mensageiro entregava o rolo de barro ao general. Se o rolo rolasse engrenado com perfeição sobre a placa de barro, e havendo apenas um rolo compatível, o mensageiro era confiável e o general sabia que a mensagem veio diretamente do rei.
Hoje o comércio eletrônico pela internet utiliza um sistema matemático de chaves baseado em números primos, mas o mecanismo é parente em seu funcionamento aos milenares rolos de barro mesopotâmicos.
Há uma relação entre protocolo e confiança que se reflete na tecnologia da criptografia. A idéia é que, se a mensagem entre atores passa por meios públicos, a criptografia cria um protocolo que só é compreensível entre os atores originais da conversa. Para muitos sistemas, se um sistema consegue conversar com outro por meio de um protocolo altamente exótico, então estes dispositivos são automaticamente confiáveis um para o outro.
Um fato curioso e importante sobre o uso do meio de transmissão das mensagens aliado ao protocolo é que ele cria reconhecimento, familiaridade e confiança mesmo sem que os atores se conheçam plenamente.
O leitor já deve ter passado pela experiência de conversar por meses ou anos com outra pessoa por telefone ao ponto de ter até uma certa intimidade, imaginou como essa pessoa seria pessoalmente pela educação e timbre de voz, mas quando a conheceu era fisicamente diferente do esperado.
O mesmo ocorre com computadores. Quando o leitor digita “www.seubanco.com.br” e recebe o site no navegador, não imagina que máquina o está servindo do outro lado da conexão. Para o usuário comum, esta é uma diferença que não tem importância e a grande maioria das pessoas sequer pensou nisso. Esta propriedade das conversações pode tanto ser aproveitada em estratégias de ataque como de defesa.
Estes são os elementos básicos de uma conversa, e a partir deles é que surgem as técnicas mais básicas de ataques. É o que veremos a seguir.
“Farejando”
Vamos ao primeiro tipo de ataque hacker, o “sniffing”, ou “farejando”. É o mais simples dos ataques, pois parte de uma conversa normal, onde o hacker entra em paralelo com os dois interlocutores. Também é o menos arriscado, pois o risco do hacker ser descoberto é muito baixo.
No nosso exemplo, “Toxic” fica ouvindo todas as mensagens trocadas entre Ana e Ari. “Toxic” pode não conhecer o protocolo de imediato, mas o simples fato de ouvir pode levantar dados suficientes para a quebra do protocolo por parte de “Toxic”. A partir daí, “Toxic” pode reconhecer parcial ou completamente o que Ana e Ari conversam e tirar proveito do que aprendeu e ouviu.
É importante notar que no sniffing o papel do hacker é sempre passivo. A coleta passiva da informação não interfere na comunicação direta entre os atores, tornando-a difícil de ser percebida, porém ela será utilizada em outras ações mais adiante. Exemplos bem comuns de sniffing seriam as escutas telefônicas, o ouvir o vizinho através das paredes usando um copo e olhar pelo buraco da fechadura.
Esta técnica é muito usada em espionagem e na quebra da criptografia de softwares e de redes. Ela é parte importante da história de um dos maiores heróis trágicos do século 20: o inglês Alan Turing.
Antes da 2ª Guerra Mundial, num mundo ainda sem computadores, matemáticos e inventores refinaram para a marinha de guerra alemã (depois levada para o exército e para a força aérea) uma máquina de criptografia virtualmente inexpugnável, a máquina ENIGMA. Entre os trunfos da máquina ENIGMA estavam um sistema de dois estágios de codificação, sendo um rotativo com três discos, de tal sorte que a mesma letra digitadas duas vezes, mesmo em seqüência, surgiria criptografada de forma diferente, e as chaves de ajuste da máquina eram ajustadas todos os dias. E diferentes frentes de batalha possuíam suas próprias chaves, dificultando ao máximo a decodificação pelo inimigo. Desta forma, mesmo que uma máquina fosse capturada no campo de batalha, ela seria inútil sem as chaves.
Para enfrentar os alemães, os ingleses recrutaram seus melhores matemáticos disponíveis, entre eles, Alan Turing. Este grupo desenvolveu uma máquina que buscava por força bruta as chaves de criptografia das ENIGMA em campo, testando os textos criptografados telegrafados pelos alemães contra palavras muito utilizadas nestas mensagens, como “alvo”, “destino”, “chuva”, e “Heil Hitler”. Encontradas as chaves, as mensagens do dia eram imediatamente decodificadas e levadas ao comissariado inglês para tomar decisões estratégicas.
É interessante notar que a princípio os alemães estavam tão confiantes nas qualidades da máquina ENIGMA que continuaram a usando por muito tempo, mesmo com sinais que seus movimentos eram previamente conhecidos. Por fim, quando perceberam que suas mensagens estavam obviamente sendo interceptadas, os alemães simplesmente passaram a usar máquinas ENIGMA de quatro discos em vez das originais de três discos, algo que foi fácil para a equipe de Alan Turing reproduzir a solução.
O setor de inteligência ao qual Alan Turing revelou-se fundamental era uma grande central de sniffing da marinha britânica, e foi o ponto de partida para uma parte importantes dos serviços modernos de espionagem e vigilância estratégia, um Big Brother mundial.
Os recentes escândalos de espionagem revelados por Edward Snowden, hacker e ex-agente da Agência Nacional de Segurança (NSA), mostravam que esta agência de inteligência mantinha cerrado sistema de vigilância, incluindo a vigilância de internet e até de escuta de telefones de importantes chefes de Estado, como Angela Merkel, da Alemanha, e até da nossa presidente Dilma.
Antes dele, houve o escândalo do sistema de escutas “Echelon”, que, entre outros fatos, revelaram provas contra a vencedora francesa Thomson-CSF ao bilionário projeto brasileiro do SIVAM (Sistema Integrado de Vigilância da Amazônia), desqualificando-a e deixando a americana Raytheon como a nova vencedora da licitação internacional. O caso brasileiro foi investigado por autoridades européias desconfiadas que o sistema Echelon estivesse sendo usado para competição desleal entre empresas americanas e européias junto com outros casos semelhantes, onde sempre que havia o surgimento de informações sigilosas garantia-se a vitória a empresas americanas em grandes concorrências internacionais.
O tipo de espionagem promovido pela NSA nada mais é que o “sniffing” em diferentes formas.
Os especialistas também reclamam bastante da vigilância cerrada das empresas de internet (Google, Apple, Microsoft) sobre o usuário comum. O usuário compra um produto original destas companhias, algumas vezes paga por ele, e ganha de brinde uma diversidade de softwares com função de sniffing originais de fábrica, sem limites para o que possam vasculhar na intimidade do inocente usuário. Smartphones e tablets são, por excelência, máquinas de sniffing pessoais.
O sniffing é hoje um negócio bilionário porque quem paga a fatura final pelo vazamento de dados pessoais é o próprio usuário. Ele é usado para coleta de dados que depois servirão de base para o uso da engenharia social junto ao usuário-consumidor que será direcionado a comprar determinados produtos.
O caso mais recente envolve o recém lançado Windows 10, onde o portal inglês especializado em tecnologia da informação (TI) Ars Technica rastreou as atividades e comunicações do programa e mapeando várias situações. Veja aqui, aqui e aqui.
O nível de rastreamento do Windows 10 revelado pela Ars Techinca é assustador. Não há segredos ou um mínimo de privacidade entre o usuário do Windows 10 e a Microsoft, mesmo contra o mecanismo de controle de privacidade existente no próprio Windows 10.
Que destino terão esses dados? Os termos da licença de uso do Windows 10, atulhados num documento de 45 páginas, não são claros ou específicos a esse respeito, mas dão legalidade aos atos da empresa pelo aceite automático do usuário ao usar o software.
Um problema grave de tráfego de dados em larga escala como este do Windows 10 é que possivelmente ele ocorra sem criptografia ou que ela seja muito fraca. Imagine o leitor o volume de dados coletados de todas as milhões máquinas com Windows 10 instalado pelo mundo exigindo ser descriptografada pelos servidores da Microsoft por programas pesados antes de ser analisado. É tecnicamente inviável. Então é muito provável que esta etapa seja eliminada ou bastante aliviada.
Isso abre o caminho para o sniffing de terceiros. Imagine que um contrato altamente sigiloso de uma companhia seja transmitido pela internet pelo Windows 10 para a Microsoft, e tenha alguém farejando esse tráfego em algum ponto. Imagine quanto uma informação classificada como esta valeria no mercado negro e comprada por um concorrente desleal.
Voltemos à nossa discussão da série “Mundo Estranho”. Pense que seu computador foi invadido por “Toxic” e ele está vasculhando todo seu computador sem que você saiba o que ele pode fazer com as informações que tirar de lá. Você gostaria disso?
E quando é a Microsoft que faz isso? Por que ela seria diferente?
Há muitos usuários que vem defendendo abertamente esse comportamento da empresa ou até mesmo acreditando que ela não faria algo deste gênero. E quem realmente confiável garante isso? Técnica e eticamente, a única diferença entre “Toxic” e a Microsoft neste caso é a escala com que a Microsoft explora o sniffing sobre a base de usuários do Windows e a facilidade de ter acesso às informações constantes na máquina. Mas, novamente, quem diz que “Toxic” é o bandido, enquanto a Microsoft é uma empresa a ser respeitada é a parte interessada? Há dois pesos e duas medidas aqui, mas o julgamento deveria ser mais equitativo.
Por mais que os motivos alegados pela Microsoft para o rastreamento destes dados seja honesto (pouco confiável, dado que ela colaborava secretamente com a NSA fornecendo dados de usuários sob condições pouco claras e pode com a mesma facilidade colaborar com as indústrias da música e do cinema, dedurando os próprios usuários), o simples fato do Windows 10 transmitir dados sigilosos dos usuários por um meio aberto (internet) sem o conhecimento prévio do usuário desta ação, tornando-o acessível a terceiros, o que é uma ação anti-ética e anti-?rofissional, além de um risco para a segurança da informação deste usuário. Para muitos, é motivo mais que suficiente para não usar este software.
Num automóvel, um aplicativo oculto que fica farejando a rede pode obter silenciosamente muitos dados sobre a utilização do veículo. Dados de GPS, da condução do carro (aceleração, marcha usada, limpador e faróis ligados) etc. Isso é valioso para muita gente, e tanto pode ser um software original do fabricante como um malicioso de terceiros, ou mesmo ambos simultaneamente.
Você aceita que seu carro conectado seja vasculhado e manipulado por um hacker? E pelo próprio fabricante? E por um gigante da internet? Os carros conectados serão máquinas de sniffing originais de fábrica como são os smartphones? É tudo a mesma coisa, tem diferença ou isso pouco importa? Cada um que saiba sua própria resposta.
“Mistificando”
Outra técnica, esta mais invasiva e nem sempre tecnicamente perfeita, é a “mistificação”, a “enganação” ou “spoofing”. Esta técnica tem muitas variações porque ela depende da forma como a comunicação se estabelece, principalmente dos mecanismos de confiança mútua que existem entre os interlocutores originais. Vou explicar o processo completo, mas nos exemplos veremos que apenas parte do processo pode ser suficiente.
Voltemos ao nosso exemplo. Ana liga para Ari e começam a conversar. Ana e Ari se apresentaram e se reconheceram mutuamente, podendo estabelecer uma conversa com confiança e usando um determinado protocolo. “Toxic” inicialmente usa a técnica de “sniffing” para monitorar a conversa e se prepara para o ataque.
O ataque é duplo e precisa ser bem realizado e com precisão cirúrgica. Primeiro, “Toxic” tem que atacar Ana de forma a incapacitar qualquer comunicação direta dela com Ari, e no mesmo instante, “Toxic” assume todos os sinais reconhecíveis de identidade de Ana de forma a manter a confiança de Ari na conversa. A partir daí “Toxic” pode conduzir a conversa com Ari para realizar o que quiser.
É assim, por exemplo, que um aplicativo rodando oculto no computador de bordo do carro pode injetar pacotes de comando na rede embarcada de tal sorte a gerar ações involuntárias ao motorista. No caso do ataque demonstrado contra o Cherokee, técnicas de sniffing foram usadas para monitorar o veículo enquanto técnicas de spoofing foram usadas para comandá-lo.
É muito comum ainda hoje que os sistemas possuam modelos elementares e frágeis de confiança. Se o botão do limpador de pára-brisa apenas injetar na rede o comando “motor do limpador: ligar na velocidade máxima”, sem identificação do ator original e sem relação de confiança, basta o aplicativo malicioso injetar o mesmo comando na rede usando o mesmo protocolo e encriptação e veremos o limpador funcionar mesmo com o botão desligado e o sensor de chuva inativo.
O problema de segurança da rede embarcada pode ser similar ao dos alemães com a máquina ENIGMA. Os projetistas da rede podem ter levado em conta que o protocolo possui uma encriptação proprietária e que somente módulos originais reconhecem essa criptografia, criando confiança presumida entre dispositivos pelo seu uso. O grau de confiança pode ser tal que um módulo pode atender uma ordem vinda de qualquer lugar e sequer checar se a origem da ordem é coerente e confiável. Para piorar, muitas vezes a criptografia utilizada é fraca e facilmente rompida, pois criptografia segura implica em funções pesadas de codificação/decodificação que são usadas dezenas ou centenas de vezes por segundo, exigindo processadores mais potentes. Então, basta um hacker quebrar essa criptografia fraca e mapear todos os tipos de mensagens e terá o carro nas mãos para fazer o que quiser.
Por sua vez, um mecânico despreparado lidando com um carro contaminado com programa malicioso irá ver este comportamento estranho e não saberá identificar que o problema se trata de um malware, uma vez que a ferramenta de diagnóstico (scanner) não foi preparada para verificar essa possibilidade. E o aplicativo malicioso permanecerá indefinidamente no carro contaminado.
A técnica de spoofing é muito perigosa em muitas de suas variantes. Um dos tipos mais perigosos e francamente aplicados hoje contra o usuário de internet é o de DNS Spoofing. DNS (Domain Name Service) é um serviço na internet que transforma o nome digitado no navegador “www.seubanco.com.br” em um conjunto numérico (200.230.95.2, por exemplo) reconhecível pelos computadores do mundo inteiro para alcançar o servidor desejado. Antigamente usava-se uma técnica de injetar um endereço de servidor malicioso, com um site sósia do original, dentro de um servidor DNS legítimo. Assim, quando o usuário digitava no navegador “www.seubanco.com.br” era direcionado para o site malicioso ao invés do original.
Hoje essa fragilidade foi eliminada na maioria das versões dos programas que oferecem o serviço de DNS e a técnica de envenenamento de servidores confiáveis já não é tão aplicável. Outra, então, foi criada mais recentemente.
Com a profusão dos roteadores WiFi nas residências, com segurança mais frágil que equipamentos profissionais, configurados muitas vezes por usuários leigos, é comum que estes roteadores carreguem automaticamente várias configurações do provedor de serviços de internet, e isso inclui o endereço dos servidores DNS do provedor. Depois, os mesmos usuários leigos configuram as conexões de rede dos dispositivos (computadores, tablets, smartphones, smartTV’s etc.) para carregamento automático das configurações do roteador WiFi. Tudo fácil e tudo prático. Ótimo para o usuário leigo dar uma de especialista em internet, melhor ainda para o cracker de plantão.
Com um simples programa de varredura, o cracker pode ir vasculhando a internet, endereço por endereço, em busca de roteadores domésticos. Com o uso de algumas vulnerabilidades conhecidas, os servidores DNS originais do provedor são trocados por servidores DNS maliciosos. Estes servidores enviam endereços corretos da grande maioria dos sites, mas quando o usuário tenta entrar em “www.seubanco.com.br”, é imediatamente redirecionado para o site malicioso.
A melhor defesa para este tipo de ataque, bastante comum hoje, é forçar a configuração de servidores DNS confiáveis nas propriedades de todas as conexões de rede de todos os dispositivos da casa. Assim, mesmo que o roteador seja atacado e receba endereços maliciosos, seus dispositivos continuam acessando os sites confiáveis.
É interessante notar através desse exemplo como é frágil a relação de confiança numa comunicação. Não há apenas o aspecto técnico da conexão. Quando o usuário digita “www.seubanco.com.br”, ele confia que está indo para o site real do banco. Quando ele se depara com um site esteticamente muito parecido, ele nem desconfia. O site pergunta abertamente sua senha e ele inocentemente a fornece.
O exemplo dos roteadores mostra como é complexo o problema de segurança dos carros conectados. Um roteador contaminado pode levar o usuário a ter um saque fraudulento em sua conta corrente, mas um veículo contaminado pode causar um acidente que ferirá o usuário e/ou atrapalhará o trânsito da cidade. A escala de conseqüências é bastante diferente.
O homem no meio
A terceira técnica utilizada chama-se “man-in-the-middle”, pela forma como é implementada. Funciona assim: “Toxic” faz um arranjo tal que bloqueia a comunicação direta entre entre Ana e Ari, e em seu ligar ele cria duas comunicações, uma com Ana e outra com Ari, e passa a atuar como ponte entre ambos. “Toxic” coloca-se então no meio da conversa entre Ana e Ari, vindo daí o nome da técnica.
A maioria das mensagens que chegam de um lado são repassadas para o outro lado sem grandes manipulações. É um tipo de sniffing, mas com uma diferença significativa. Ao invés da mensagem seguir direta para seu destinatário, ela é antes analisada, criticada, aprendida e armazenada e muitas vezes modificada para atender aos desejos de “Toxic”.
No nosso exemplo, Ana e Ari estão conversando amigavelmente enquanto “Toxic” observa pacientemente. Então “Toxic” intercepta uma mensagem de Ana para Ari:
– Ari, me deposita R$ 115.249,00 na conta XX.XXX-X para pagar o fornecedor?
É a oportunidade que Toxic estava esperando. Ao invés de mandar a mensagem original a Ari, Toxic envia uma mensagem modificada:
– Ari, me deposita R$ 115.749,00 na conta YY.YYY-Y para pagar o fornecedor?
Percebam a sutileza do que “Toxic” fez. Ari confia em Ana, e por isso faz o depósito numa conta de um laranja de “Toxic”. “Toxic” paga os R$ 115.249,00 para Ana na conta XX.XXX-X como ela pediu. Ana confia em Ari e vê o depósito no valor combinado, e por confiança, nem verifica a conta de origem do depósito. Como a adulteração do valor é baixa (R$ 500,00 no meio de R$ 115.000,00), a discrepância passa despercebida, mas “Toxic” ficou com a diferença apenas manipulando uma conversação.
Além da técnica “man-in-the-middle”, o hacker se vale da engenharia social. As pessoas percebem grandes discrepâncias mas não as pequenas. Se “Toxic” tivesse dado um desfalque de R$ 20.000,00, este seria notado e só poderia usar o truque uma vez. Tirando pouco, ele pode repetir o golpe muitas vezes por muito tempo, somando muito além dos R$ 20.000,00 e sem levantar suspeitas.
“Man-in-the-middle” é uma das técnicas mais antigas e eficazes de manipulação de comunicações, e por isso possui muitas formas de se apresentar. Costuma-se dizer que enquanto o sniffing é uma técnica elementar e pouco arriscada e o spoofing é uma técnica grosseira, de força bruta, o man-in-the-middle é uma técnica refinada e elegante que junta as melhores características das duas técnicas anteriores, porém é que tecnicamente exige mais do seu executor. Muitos confundem o spoofing com o man-in-the-middle, mas enquanto o spoofing é assimétrico, eliminando um dos atores originais da conversa para assumir seu lugar, no man-in-the-middle os dois atores são mantidos conversando, embora a conversa possa sofrer manipulação.
Os entusiastas da preparação devem conhecer um dispositivo man-in-the-middle por excelência por outro nome: módulo pigtail. Um módulo pigtail é instalado entre os sensores originais e a ECU da injeção de combustível. O módulo pigtail lê os sinais dos sensores originais e recria sinais modificados através de mapas, enganando a ECU e fazendo-a trabalhar como se deseja na modificação feita no veículo. O pigtail é um recurso para contornar uma dificuldade: nem sempre os módulos originais são remapeáveis e também não podem ser substituídos por soluções aftermarket porque eles se comunicam com os outros, como o caso da ECU do motor e a ECU do câmbio, ou então a mesma ECU faz as duas funções.
A técnica do pigtail funciona porque, por simplicidade de projeto, as ECU’s confiam que os sinais que recebem vem de sensores legítimos e não há qualquer tipo de verificação.
Em muitos tipos de preparação o módulo pigtail é uma forma eficiente de explorar uma fragilidade do sistema de injeção, já que muitas vezes a substituição da ECU original do veículo não é possível (ECU do motor que se comunica com a ECU do câmbio, coisa que um módulo aftermarket não faz, por exemplo).
Próxima parte: hackeando humanos.
AAD
Nota: O filme “O Jogo da Imitação” conta a história de Alan Turing durante o período que desenvolveu a máquina para decifrar ENIGMA. É provavelmente um dos melhores filmes de hackers feito por Hollywood, embora a história em si não seja totalmente verídica.
Recomendo a leitura desta matéria com a história real:
http://pocketbookuk.com/2015/02/22/the-imitation-game-alan-turing/
Ainda assim, o filme é bastante recomendado.