4 tipos de criptohacks, explicados

Views: 615
0 0
Read Time:10 Minute, 18 Second

As criptomoedas existem há mais de uma década. Durante esse período, observamos mais de uma centena de hacks importantes de trocas criptográficas e outros serviços relacionados a criptomoedas.

Muitas vezes, os detalhes do hack permanecem obscuros. É fácil saber quem foi hackeado, quando aconteceu e quanto foi roubado, mas o “como” permanece indescritível. Os jornalistas estão mais interessados ​​nas quantias envolvidas e as organizações vitimizadas não têm pressa em divulgar os detalhes de sua vergonha.

Vamos preencher as lacunas e falar um pouco sobre como esses hacks funcionam – não para pregar, mas na esperança de impedir a recorrência.

Phishing e malware: o hack padrão de troca de criptografia

As trocas criptográficas armazenam criptomoedas e dinheiro ordinário dos usuários em contas bancárias convencionais. Para os cibercriminosos, envolver-se com dinheiro comum é arriscado; para se safar do saque roubado, eles precisariam descontá-lo rapidamente antes que o banco tivesse a chance de congelar as contas. É por isso que os hackers normalmente optam pela criptomoeda.

Do lado de fora, os primeiros e talvez únicos fatos conhecidos sobre um hack típico de troca de criptografia são (1) que isso aconteceu e (2) que o dinheiro dos clientes se foi. Mas o que realmente aconteceu? Provavelmente, o seguinte: primeiro, os atacantes obtiveram uma lista de funcionários, estudaram seus interesses (inclusive nas redes sociais) e enviaram e-mails de phishing direcionados com cargas maliciosas para aqueles que consideravam potencialmente ingênuos. Dessa forma, os cibercriminosos entraram na rede de câmbio.

Em seguida, aprenderam o caminho da empresa: com que frequência o contador se comunicava com o diretor, o que enviavam um ao outro, a arquitetura da rede interna, onde as carteiras de criptografia estavam armazenadas e como eram protegidas. Esse estágio pode levar muito tempo, mas eventualmente leva os cibercriminosos à máquina de um funcionário com acesso a sistemas críticos.

Se o sistema automático da bolsa estiver configurado para enviar criptomoeda, ter direitos de operador significa que os atacantes podem enviar criptomoeda para si mesmos. Acredita-se que um ataque recente à bolsa Binance tenha se desenrolado de acordo com esse cenário.

Ataques direcionados: como se manter protegido

Se sua empresa é uma troca de criptografia, sua tarefa é garantir que o custo de um ataque exceda o ganho potencial multiplicado pela probabilidade de sucesso. Daí a necessidade de:

  • Treinar funcionários em ciberliteracia (por exemplo, não abrir um currículo no formato DOC);
  • Use uma solução de segurança para proteger contra ataques direcionados – de preferência um que não apenas proteja as ameaças em cada nó específico, mas também procure anomalias na organização;
  • Encomende um certificado (durante o qual os especialistas em segurança tentam penetrar e navegar pelo seu sistema e depois informar onde estão os pontos fracos).

Gastos duplos: roubando um caixa eletrônico Bitcoin com um telefone

Outro caminho para roubar bitcoins surgiu na forma de caixas eletrônicos. As pessoas geralmente usam caixas eletrônicos simplesmente para sacar dinheiro (ou depositá-lo em) suas contas bancárias existentes, mas um caixa eletrônico Bitcoin acrescenta mais: a capacidade de comprar e vender criptomoeda.

Para executar um golpe de bitcoin em um caixa eletrônico, as pessoas poderiam usar as máquinas para vender bitcoins, receber um pagamento em dinheiro e depois cancelar as transações. Parece óbvio demais para funcionar, mas, por exemplo, dentro de um curto espaço de tempo de 45 caixas eletrônicos habilitados para criptomoeda que aparecem no Canadá, os ladrões fugiram com $ 200.000 deles.

Como isso pôde acontecer? Como você sabe, as informações na blockchain são armazenadas em blocos, daí o nome. Uma transação como “Enviando 1 BTC para John” não é gravada imediatamente no bloco; primeiro é enfileirado e um novo bloco é criado aproximadamente a cada 10 minutos. Qualquer transação não confirmada é removida da fila pelo criador do bloco. Deve-se observar que não há espaço suficiente no bloco para todas as transações; portanto, é dada prioridade àqueles com taxas mais altas (que o criador do bloco retém).

É difícil de acreditar, mas os desenvolvedores lógicos dos caixas eletrônicos não os instruíram a esperar que as transações fossem gravadas no blockchain antes de distribuir dinheiro. A conveniência do usuário superou a segurança.

Mais um pequeno detalhe: inicialmente, o Bitcoin não permitia o cancelamento de transações na fila, o que geralmente levava a transações com pequenas taxas penduradas no sistema por vários dias antes de serem removidas. Para resolver esse problema, o Bitcoin adicionou um mecanismo de substituição por taxa , permitindo que uma transação na fila de espera seja substituída por outra – normalmente para aumentar a comissão e fazer com que a transferência seja realizada. Mas esse mecanismo também permite alterar o destinatário, enviando os bitcoins de volta ao remetente.

Chamar isso de vulnerabilidade seria o mínimo. Era pura imprudência. E aqui está o que isso levou a:

Hack de gasto duplo: como se manter protegido

Depois que o dinheiro foi roubado, a empresa por trás dos caixas eletrônicos trocou suas máquinas para incorporar um tempo de espera. Agora, os usuários precisam retornar ao caixa eletrônico para receber seu dinheiro após a entrega dos bitcoins. É muito menos fácil de usar, mas é a única maneira de fazê-lo adequadamente, considerando a mecânica da blockchain.

Em retrospectiva, é claro que, para evitar uma perda tão estúpida de dinheiro, os desenvolvedores deveriam ter solicitado uma revisão de segurança do aplicativo. Isso envolve ter especialistas externos examinando a arquitetura do seu serviço, visualizando o código e procurando vulnerabilidades.

O ataque de 51%: dominando o blockchain

Você provavelmente já ouviu o axioma da imutabilidade: “Os dados no blockchain não podem ser alterados.” Mas essa não é a verdade em alguns casos. Para entender mais detalhadamente como a blockchain e a mineração funcionam, consulte “ O que é a tecnologia blockchain e como ela funciona ” e “ Explicador: Mineração de Bitcoin ”.

Dois princípios garantem que o blockchain é o mesmo para todos os usuários. Primeiro, todos os participantes precisam concordar com quem será o criador do próximo bloco. A probabilidade de ser sortudo depende dos recursos investidos – quanto mais poder de mineração, melhores as chances.

O segundo é a “regra da cadeia mais longa”, que afirma que, em caso de conflito, a versão válida do blockchain é a mais longa. Se alguém forjar sua própria versão do blockchain e tentar transmiti-lo, todos os outros o rejeitarão porque menos recursos foram gastos nele e, portanto, é mais curto.

Mas a situação muda se o falsificador usar mais de 50% de toda a energia de mineração. No tempo necessário para que todos os outros mineradores criem, digamos, nove blocos, um usuário mal-intencionado pode criar 10. Nesse momento, a versão forjada da blockchain se torna a mais longa, portanto todos a aceitam e o histórico financeiro é efetivamente alterado. Um usuário que gastasse bitcoins na versão antiga do blockchain público encontraria esses bitcoins novamente em sua conta no blockchain forjado.

Foi exatamente isso que aconteceu com a troca de criptografia Gate.io no início de 2019. Um invasor enviou sua criptomoeda para a bolsa (e escreveu esse fato para a blockchain pública) e, enquanto isso, começou a criar sua própria blockchain. Quando a troca recebeu a transferência e creditou o valor ao saldo do atacante, este transmitiu sua blockchain privada (que não continha a transação acima, permitindo que a criptomoeda fosse reembolsada) e solicitou a retirada de seu saldo da troca. Como resultado, a bolsa perdeu dinheiro.

Agora vamos ver por que isso não ocorre todos os dias e quanto poder de computação o invasor teve que gastar.

Usaremos o Bitcoin como exemplo. Os mineiros criam seis blocos por hora. Para cada bloco, uma recompensa de 12,5 BTC é emitida. (Em 6 de outubro de 2019, 75 BTC equivalem a US $ 600.000.) Isso é aproximadamente o quanto custa alugar toda a energia de mineração de Bitcoin por uma hora. O site Crypto51 mostra esses cálculos:

Custo estimado de uma hora de um ataque de 51% nas principais criptomoedas

Custo estimado de uma hora de um ataque de 51% nas principais criptomoedas

A última coluna especifica quanta capacidade está disponível para aluguel no momento. Como você pode ver, tomar posse da blockchain Ethereum Classic, como o atacante mencionado, custaria cerca de US $ 10.000 por hora. Eles precisaram de quatro horas para receber US $ 200.000.

Observe que este não é o primeiro ataque desse tipo. Várias outras criptomoedas sofreram ataques bem-sucedidos de 51%.

51% ataques: como se manter protegido

Em geral, a capacidade de reescrever uma blockchain e lucrar com um ataque de 51% é um recurso inato da tecnologia. Para tornar o ataque o mais caro possível, as trocas criptográficas tentam esperar o máximo possível antes de atualizar o saldo do usuário após uma transação. Isso ocorre porque quanto mais blocos criados desde que a transação entrou no blockchain, menos provável é que o blockchain seja reorganizado e revertido. Mas o atraso causa o grande inconveniente de transferências que levam horas para serem concluídas.

De qualquer forma, certamente veremos esse tipo de ataque novamente.

Roubo de chave secreta: verificação ortográfica da senha

Para gastar criptomoeda, você precisa da chave secreta. A chave é o que é salvo em cryptowallets; o saldo do usuário é armazenado na blockchain.

Se você trocar as carteiras criptográficas, deverá copiar a chave da carteira antiga para a nova. Por conveniência, a chave consiste em uma frase-semente composta por 12 palavras simples – por exemplo, práticas de colapso de bruxas alimentam vergonha, desespero aberto, estrada do riacho novamente, menos gelo .

Uma vez, os desenvolvedores de uma carteira de criptomoedas acidentalmente enviaram essa frase on-line para verificação ortográfica, um erro que um investidor de criptografia descobriu depois de sofrer um roubo de US $ 70.000. Duvidamos que esse tenha sido o motivo do roubo, mas, de qualquer forma, a história é instrutiva.

Isso aconteceu porque hoje em dia, os aplicativos geralmente não são escritos do zero, mas montados a partir de componentes, incluindo componentes de desenvolvedores de terceiros. Foi assim que os desenvolvedores da Coinomi cryptowallet continuaram. Para exibir o formulário de entrada da senha, eles usaram o componente jxBrowser. Sem o conhecimento dos desenvolvedores, esse componente, por padrão, verifica a ortografia de todo o texto inserido no formulário. E, para não ser carregado de dicionários para todos os idiomas conhecidos do mundo, ele realiza uma verificação baseada na nuvem usando googleapis.com.

Para formulários de entrada comuns, isso pode ser útil, mas para campos de entrada que aceitam senhas e frases super secretas, é extremamente arriscado.

Em sua defesa, os desenvolvedores afirmaram que a frase inicial foi apenas para o Google e foi transmitida em forma criptografada. E o Google retornou um erro. No entanto, a vítima tem certeza de que essa vulnerabilidade foi a causa do roubo.

Roubo de chave secreta: como se manter protegido

Por um lado, o descuido comum causou o problema. O recurso de verificação ortográfica do componente foi documentado e as instruções descritas como desabilitá-lo. Os testes convencionais provavelmente não teriam identificado o problema, mas uma revisão de segurança do aplicativo definitivamente o teria identificado.

Por outro lado, o problema é mais profundo que isso. O uso de bibliotecas de terceiros abre possíveis problemas, agora ou no futuro (se suas atualizações os tornarem vulneráveis), bem como o risco de um ataque na cadeia de suprimentos. Em um ataque à cadeia de suprimentos, um cibercriminoso não precisa hackear o desenvolvedor original da ferramenta; eles apenas precisam violar um de seus contratados. Freqüentemente, os contratados não são tão bem protegidos e podem nem estar cientes de quais projetos importantes seus códigos serão usados.

Às vezes, você coça a cabeça com a imprudência dos responsáveis ​​e, outras vezes, simpatiza com a impotência deles.

FONTE: KASPERSKY

POSTS RELACIONADOS