Para ler a primeira parte acesse: http://thinkhacker.blogspot.com.br/2018/04/como-os-hackers-roubam-criptomoedas.html
Endereços para doações:
BTC: 1FSzwTdndhtbjGtRTKiu2vQHHrVAPUGSZG
DCR: DsnWSf8qCZD85KR5mpidae5FEpJtuaARHir
Para baixar o relatório completo em PDF clique aqui: https://goo.gl/46oWm1
Vimos que existem diversas formas de se roubar senhas de um usuário, algumas quase impossíveis de se detectar. A popularização da informática trouxe muitos usuários inexperientes ao mundo da tecnologia, que são presas fáceis para os hackers usando os ataques aqui discutidos. Com isso a demanda por soluções seguras para garantir o controle de emails, contas de redes sociais, e mais importante instituições financeiras garantindo o acesso somente pelo beneficiário, cresceu muito.
Todo tipo de serviço hoje na internet tem que partir do pressuposto de que seu cliente é inexperiente e pode estar sofrendo um ataque neste exato momento, com isso foram criadas diferentes formas de se evitar a maioria deles, grande parte das soluções foram originadas no mercado financeiro, as quais discutiremos a seguir.
1. Prova de autenticidade
Provavelmente uma das implementações mais simples de segurança existentes no mercado é a prova de autenticidade, ela protege tanto contra phishing como man-in-the-middle e é tão simples que um programador sênior pode ser desenvolver ela em minutos.
Imagem 6 - Exemplo de prova de autenticidade usada pela Walltime, as cores serão sempre as mesmas quando acessada a partir da mesma máquina.
O princípio desta prova de autenticidade é criar uma camada a mais de segurança. Antes mesmo do login o serviço compartilha um segredo com o cliente que apenas eles sabem, desta forma se houver alguma informação divergente o cliente já fica em estado de alerta e evita digitar a senha por receio de ser roubado.
Apesar de simples a prova de autenticidade é uma forma poderosa de impedir que pessoas digitem senhas em páginas falsas criadas por phishing ou man-in-the-middle, é recomendado que esta prova venha acompanhada de outras medidas de segurança.
Imagem 7 - Prova de autenticidade do Mercado Bitcoin, o cliente cadastra uma palavra segredo que aparece em todas as páginas.
O maior exemplo de prova de autenticidade ocorre quando acessamos o internet banking de instituições financeiras, nestas é comum darem o nome do cliente antes de permiti-lo usar a senha, como o hacker não tem como saber o nome da pessoa de antemão isso já cria um alerta para o usuário de que ele pode estar sendo enganado.
Imagem 8 - Prova de autenticidade do Banco Itaú, ele afirma o nome do cliente antes dele digitar a senha de forma que ele possa desconfiar de um ataque caso o nome esteja errado ou não esteja presente.
Imagem 9- Prova de autenticidade do Banco Inter, assim como o Itaú ele informa o nome antes da senha.
Vale se atentar que a prova de autenticidade apesar de útil não é uma solução perfeita, pois o hacker pode programar um robô para acessar o mesmo site e copiar o nome da pessoa ou segredo. Apesar disso ela adiciona uma camada de dificuldade aos hackers uma vez que teriam que desenvolver um sistema de phishing mais avançado e isso dificulta e desestimula a fraude.
Como citado anteriormente a implementação da prova de autenticidade é bastante simples e é recomendado sempre ser utilizada em sistemas sensíveis, pois adiciona uma camada a mais de segurança, porém não deve ser utilizada sozinha.
2. Autenticação de dois fatores - 2FA
Essa talvez seja a melhor solução encontrada pelo mercado financeiro para evitar os ataques citados na segunda seção. A autenticação de dois fatores, também conhecida como 2FA (do inglês Two Factor Authentication) faz uso de um segredo que apenas você e seu banco possuem.
Imagem 10 - Token 2FA como era fornecido antigamente por bancos, desta forma era garantido que apenas o cliente saberia da chave gerada em determinado momento.
Um dos focos principais deste documento será como o 2FA, quando implementado corretamente, tem como dar garantia para o cliente de posse da sua conta a partir da posse do token.
O motivo do nome autenticação de dois fatores é porquê ele fatora a forma com que é feita a autenticação do cliente, a senha passa a não ser o fator mais importante para o uso da conta pelo beneficiário. Cada transação realizada na instituição financeira pela internet passa a exigir um código gerado pelo token na hora de sua execução.
Como apenas o cliente e o banco possuem posse do segredo gerador de números (chaves) a instituição tem como garantir a validade da transação com a mesma qualidade de quando o beneficiário está presente. O Banco possui em seu sistema um gerador de chaves eletrônico análogo ao do cliente e o cliente através do aparelho também tem posse física desse gerador.
Com a popularização dos smartphones foram desenvolvidas novas soluções no mercado que fazem uso destes e reduzem custos de operação, mas desta forma como se pode garantir que apenas o beneficiário saiba o segredo gerador?
Imagem 11 - Solução 2FA do Banco do Brasil, o BB Code, além de garantir segurança para a transação garante que o cliente esteja ciente da transação sendo realizada com a chave.
Note que agora o cliente estará usando seu smartphone pessoal para confirmar as transações, como ele não mais estará recebendo um aparelho de seu gerente é necessário muito cuidado no fornecimento deste segredo pois ele só pode ser fornecido para o beneficiário.
Para garantir isso os bancos usam uma combinação de internet banking com caixas eletrônicos, o cliente recebe parte do segredo via internet gravando em seu celular e posteriormente recebe a outra metade no caixa eletrônico após inserir seu cartão, impressão digital e uma série de respostas a perguntas pessoais. Desta forma ele tem como garantir que a pessoa por trás do celular é a mesma que fez a conta. Em certos casos uma foto é retirada em conjunto para confirmar a posse do segredo em casos de fraude.
Caso o cliente venha a perder seu celular, a pessoa que adquiriu nada pode fazer pois não sabe a senha, caso o cliente perca a senha, o invasor nada pode fazer sem ter posse do celular do cliente.
Em caso de perdas do aparelho o serviço financeiro precisa fornecer uma forma para o cliente trocar o segredo gerador. É de extrema importância que essa troca seja feita de forma segura, garantindo a identidade do cliente ao fazê-lo. Tal garantia é tão importante quanto no primeiro fornecimento pois se for oferecido uma forma de troca sem o mesmo rigor nas verificações de identidade a instituição estará abrindo a porta para hackers.
Imagem 12 - Aplicativo Authy, usando o protocolo de 2FA do Google Authenticator, tem sido o mais adotado atualmente no mercado de criptomoedas.
A implementação deste modelo de autenticação varia de moderada a complexa, para que haja a proteção contra ataques é preciso ter meios de garantir seu uso apenas pelo cliente e é preciso verificações adicionais de identidade, mas quando bem implementado é uma ferramenta forte contra roubo de contas.
Em questão de pouco tempo outros sistemas não financeiros começaram a adotar o token 2FA para aumentar a segurança dos usuários, redes sociais como Facebook ou Twitter, serviços de e-mail como o Gmail e até sistemas de armazenamento em nuvem e backups. A grande diferença desses sistemas é que eles não realizam transações que precisam de 2FA então ele serve apenas como barreira de defesa suplementar na hora do login, não é a mesma segurança que os padrões do mercado financeiro mas adiciona uma dificuldade a mais para os hackers.
3. E-mail de confirmação
Essa é uma forma simples e bastante poderosa de criar um bloqueio contra hackers, para cada transação é exigida uma confirmação enviada para o email do cliente.O funcionamento desta solução é bem similar ao 2FA discutido anteriormente, porém com um adicional, o email enviado ao cliente deve conter um link para a página original da empresa. Desta forma mesmo que o cliente tenha sido atingido por um phishing ele irá se salvar ao clicar no link, pois será direcionado ao endereço correto da instituição financeira.
Normalmente usa-se um link com uma chave aleatória que representa somente aquela transação solicitada pelo cliente, o cliente então só consegue executar a transação se clicar no e-mail, ler a página com a transação e confirmar ela.
Imagem 13 - Email de autorização da transação do Mercado Bitcoin, repare que ele contém um link para dar prosseguimento ao pedido.
Imagem 14 - Email de confirmação de transação da Braziliex.
Note que a presença de links “https”, ou seja, com criptografia, é importante para evitar ataques man-in-the-middle, uma vez que o cliente poderá ver um alerta ao entrar na página caso ela seja falsificada por este ataque.
Ao exigir um email de confirmação, a plataforma financeira em questão se torna muito mais segura contra phishing, além de aumentar a segurança dos clientes contra man-in-the-middle, este tipo de técnica vem sido amplamente utilizada no mercado de criptomoedas e se tornou um padrão de mercado.
Uma vez adotada esta medida o agente malicioso terá que invadir a conta do cliente na plataforma bem como seu e-mail, sendo assim a real vulnerabilidade fica reduzida a clientes que possuem a mesma senha em seu email, sem 2FA, e na plataforma ao mesmo tempo.
3.4. Cancelamento instantâneo da transação
O cancelamento instantâneo funciona de uma forma muito similar ao email de confirmação, logo é comum que essas medidas sejam oferecidas em conjunto. Ela consiste em oferecer ao cliente uma forma de congelar tanto a transação a ser realizada como sua conta de forma imediata.
Imagem 15 - Exemplo de cancelamento instantâneo oferecido pelo Banco do Brasil, basta apenas uma mensagem SMS e a transação, bem como o cartão, serão bloqueados.
A simplicidade de implementação é a mesma do email de confirmação, é aconselhável para situações emergenciais em que o usuário foi trancado fora de sua conta e de outra forma não teria como cancelar a transação realizada pelo hacker, ela tem sido frequentemente utilizada no mercado financeiro de criptomoedas no exterior.
Imagem 16 - Email de confirmação da Bitstamp, bolsa européia de criptomoedas, note que além do link de confirmação é fornecido um link para congelamento da conta em caso de acesso indevido.
Note que é importante que o cancelamento da transação seja feito de forma instantânea, muitas bolsas oferecem o cancelamento apenas após o login do cliente, esta implementação é incorreta, pois nestes casos bastaria o hacker trocar a senha ou usar outro método para trancá-lo fora da conta, ficando a vítima impossibilitada de agir.
5. Validação de navegador novo
Navegadores podem ser identificados pelo serviço que acessam, através de uma espécie de impressão digital. Características únicas são enviadas para o serviço toda vez que ele é acessado, entre essas características o endereço de IP do usuário.
Vimos na imagem 6 que a Walltime implementa essa impressão digital de forma a criar uma imagem que o cliente pode memorizar para saber se está lidando com a página correta.
Essa informação pode ser usada por plataformas financeiras para saberem que estão lidando com a mesma pessoa que lidaram outras vezes. A solução não é perfeita, pois o IP do cliente ou o ambiente que usa pode mudar com o tempo. Porém é possível criar uma forma para o cliente cadastrar impressões digitais novas como se fossem dele, usando as técnicas de validação explicadas anteriormente como e-mail de confirmação (3) e 2FA (2).
Imagem 17 - Email de cadastro e confirmação de login por IP novo usado na Bittrex, bolsa internacional de criptomoedas.
Apesar de adicionar mais uma camada na segurança a maioria dos dados enviados pelo navegador podem ser forjados pelo atacante. Deixando o endereço IP como uma das únicas garantias na identificação.
Desta forma é fornecida uma forte proteção contra phishing (1.1) porém não há proteção contra man-in-the-middle (1.2) ou malwares (1.3) uma vez que eles permitem o uso do mesmo ip do cliente, como em casos por exemplo de invasão do roteador do cliente.
6. Anti-Malwares Personalizados
Existem hoje no mercado diversas soluções de antivírus que protegem contra malwares ou até mesmo man-in-the-middle, mas eles realizam a proteção de uma forma mais genérica e abrangente, para que a plataforma financeira garanta a proteção de seus clientes se faz necessário o uso de uma solução própria, com foco a ataques contra ela.
Este tipo de proteção é extremamente complexa e avançada, mas existem empresas terceiras que possuem soluções próprias e que pode ser personalizada para cada plataforma. Dado a complexidade dela no entanto o custo pode ser alto.
Imagem 16 - Instalação do Warsaw, solução da GAS Tecnologia e Diebold Nixdorf, usada em plataformas bancárias
A idéia por trás dessa solução é ter um software rodando continuamente na máquina do cliente, capaz de detectar malwares que possam furtar suas credenciais bancárias.
Além da proteção contra malware esse software pode prover anti-phishing, fazendo a autenticação criptográfica da plataforma que o cliente está se conectando e bloqueando acessos indevidos em uma lista negra de páginas não permitidas.
“A finalidade é impedir que o usuário interaja com páginas falsas e também que softwares maliciosos atuem nos sistemas protegidos pela solução. No momento em que é identificada uma página falsa, via lista negra de sites falsos conhecidos ou inteligência artificial sofisticada, técnicas variadas são utilizadas para proteger o usuário contra o roubo de suas informações.
Um grande diferencial é a utilização de um conjunto de regras e métodos avançados conhecido por heurística para identificação de sites maliciosos não conhecidos. Isso é essencial, já que inúmeros novos sites falsos são desenvolvidos diariamente, sendo necessária esta técnica para conseguir inviabilizá-los.” - Fonte: http://www.dieboldnixdorf.com.br/gas-antifraude.
Para a terceira parte, com a falha descoberta acesse aqui:
No comments:
Post a Comment