Um ataque de eclipse é um tipo de ataque relativamente simples que um ator malicioso pode usar para interferir nos nós de uma rede. Esse ataque tem como objetivo obscurecer a visão de um participante da rede peer-to-peer, causando interrupções gerais ou preparando o terreno para ataques mais sofisticados.
Embora possa parecer semelhante, à primeira vista, a um ataque Sybil, um ataque de eclipse tem um objetivo diferente. Enquanto ambos envolvem o uso de nós falsos na rede, um ataque de eclipse visa um único nó, enquanto um ataque Sybil é um ataque em toda a rede projetado para manipular o sistema de reputação do protocolo.
O conceito foi discutido detalhadamente no artigo de 2015 intitulado “Eclipse Attacks on Bitcoin’s Peer-to-Peer Network”, no qual pesquisadores da Boston University e da Hebrew University relatam suas descobertas a partir de experimentos de ataques de eclipse, bem como possíveis contramedidas para combatê-los.
Como funciona um ataque de eclipse
Os mineradores de Bitcoin requerem equipamentos especializados para gerar novos blocos, mas os nós não mineradores (ou nós completos) podem ser executados facilmente em dispositivos com baixo poder de processamento. Isso ajuda na descentralização do Bitcoin, pois qualquer pessoa pode configurar um nó em um dispositivo de baixa especificação. O software mantém um banco de dados de transações que ele sincroniza com seus pares imediatos, mantendo-se atualizado com a rede.
Um fator limitante para muitos nós é a largura de banda. Embora haja uma quantidade enorme de dispositivos executando o software, o dispositivo médio não pode se conectar diretamente a muitos deles devido às limitações estabelecidas no software do Bitcoin (que permite apenas um máximo de 125 conexões).
Em um ataque de eclipse, o ator malicioso se certificará de que todas as conexões do alvo sejam feitas com nós controlados pelo atacante. A entidade primeiro inundará o alvo com seus próprios endereços IP, aos quais a vítima provavelmente se conectará ao reiniciar seu software. O reinício pode ser forçado (por exemplo, com um ataque DDoS no alvo) ou o atacante pode simplesmente esperar que ocorra.
Uma vez que isso tenha ocorrido, a vítima desprevenida estará à mercê dos nós maliciosos – sem visão da rede mais ampla, ela pode receber dados incorretos do atacante.
Consequências de um ataque de eclipse
Se um atacante está gastando recursos para isolar um nó da rede, provavelmente ele tem um motivo para fazê-lo. Existem várias sequências de ataques que podem ser lançados mais facilmente uma vez que um nó tenha sido sufocado.
Gastos duplos sem confirmação
Se um indivíduo aceita uma transação sem confirmações, ele corre o risco de um gasto duplo. A transação pode ter sido transmitida, mas até ser incluída em um bloco (e, portanto, confirmada no blockchain), o remetente pode facilmente criar uma nova transação que gasta os mesmos fundos em outro lugar. Se a nova transação tiver uma taxa mais alta, um minerador provavelmente a incluirá antes da transação original, invalidando-a.
Alguns negócios e indivíduos aceitam essas transações sem confirmação. Considere um comerciante, Bob, que vende veículos de luxo. Ele não tem conhecimento de que Alice eclipsou seu nó e não suspeita de nada quando ela faz um pedido de um carro esportivo de luxo. Ela cria uma transação, que Bob em seguida transmite para a rede. Satisfeito que o pagamento está a caminho, ele entrega as chaves do carro e Alice parte em alta velocidade.
É claro que a transação não foi transmitida para a rede – Bob apenas a transmitiu para os nós maliciosos de Alice, que não a transmitirão para os nós honestos. Enquanto essa transação fica em limbo, Alice gasta os mesmos fundos na rede real, seja para outra parte ou para um endereço próprio. Mesmo que a transação inicial para Bob seja eventualmente vista, ela será rejeitada, pois as moedas já foram gastas.
Gastos duplos com várias confirmações
O gasto duplo com várias confirmações é semelhante ao gasto duplo sem confirmação, mas envolve mais preparação. Muitas empresas preferem esperar por um certo número de confirmações antes de considerar um pagamento válido. Para contornar isso, o atacante deve eclipsar tanto os mineradores quanto o comerciante. Depois que o atacante configurou o pedido com o comerciante, ele transmite uma transação para os mineradores (eclipsados). A transação é confirmada e incluída no blockchain, mas esse blockchain não é o mesmo que a maioria da rede observa, pois o minerador está isolado.
A partir daí, o atacante transmite essa versão do blockchain para o comerciante, que libera as mercadorias acreditando que a transação foi confirmada. Quando os nós eclipsados se reconectam à rede real, o blockchain que eles erroneamente acreditam ser válido é descartado pelo que o restante da rede estava trabalhando (isso tem algumas semelhanças com um ataque de 51%).
Enfraquecendo mineradores concorrentes
Um nó eclipsado continuará operando, sem saber que foi segregado da rede. Os mineradores continuarão a minerar blocos de acordo com as regras estabelecidas pelo protocolo, mas os blocos adicionados serão descartados quando eles se sincronizarem com os nós honestos.
Teoricamente, um ataque de eclipse em grande escala a mineradores importantes poderia ser usado para facilitar um ataque de 51%. Atualmente, o custo de assumir a maioria do poder de hash do Bitcoin é simplesmente muito alto, mesmo para os atacantes mais astutos – com ~80TH/s, a entidade precisaria de mais de 40TH/s para tentar tal manobra.
Em um cenário hipotético em que esse poder de hash é distribuído entre 10 partes (cada uma possuindo 8TH/s), o atacante pode reduzir significativamente os requisitos para um ataque de 51% ao isolar essas partes da rede. Se cinco forem eclipsados, 40TH/s serão removidos da corrida para encontrar o próximo bloco, e o atacante agora precisará adquirir um pouco mais de 20TH/s para assumir o controle.
Outras sabotagens que podem ser alcançadas ao eclipsar alvos incluem a manipulação de nós para mineração egoísta ou a engenharia de corridas entre mineradores para encontrar o próximo bloco.
Mitigação
Com um número suficiente de endereços IP, um atacante pode eclipsar qualquer nó. O método mais simples para evitar que isso aconteça é bloquear conexões de entrada e fazer apenas conexões de saída para nós específicos (como aqueles que foram colocados em uma lista branca por outros nós). No entanto, como aponta o artigo de pesquisa, essa não é uma abordagem viável em grande escala – se todos os participantes adotarem essas medidas, os novos nós não conseguirão entrar na rede.
Os autores do artigo propõem algumas alterações no software do Bitcoin, algumas das quais já foram integradas desde a publicação do artigo. Essas alterações tornam os ataques de eclipse mais custosos por meio de modificações menores no código, como seleção aleatória de novas conexões e maior capacidade de armazenamento de endereços.
Considerações Finais
Os ataques de eclipse são realizados no nível da rede peer-to-peer. Quando usados isoladamente, podem ser um incômodo. Sua verdadeira eficácia está em potencializar outros ataques que impactam alvos financeiramente ou fornecem ao atacante uma vantagem na mineração.
Até o momento, não houve consequências graves resultantes de um ataque de eclipse, mas a ameaça ainda existe, apesar das contramedidas incorporadas à rede. Como acontece com a maioria dos vetores de ataque existentes para o Bitcoin e outras criptomoedas, a defesa mais forte será aquela que torna financeiramente proibitivo para as partes maliciosas tentá-los.
Perguntas Frequentes (FAQs):
O que é uma rede peer-to-peer?
Uma rede peer-to-peer é uma rede descentralizada na qual os participantes compartilham recursos diretamente entre si, sem depender de um servidor central.
Quais são os principais riscos dos ataques de eclipse?
Os ataques de eclipse podem levar à manipulação de dados, espionagem e comprometimento da integridade das informações compartilhadas na rede.
Como os invasores isolam um nó em um ataque de eclipse?
Os invasores isolam um nó inundando-o com conexões de atacantes controlados por eles, cercando-o e dificultando suas comunicações com outros nós legítimos.
Quais são as medidas mais importantes para proteção contra ataques de eclipse?
Atualização de software, uso de criptografia, autenticação robusta e monitoramento de tráfego são medidas essenciais para se proteger contra ataques de eclipse.
As redes peer-to-peer ainda são seguras após esses ataques?
Sim, as redes peer-to-peer podem ser seguras se forem implementadas medidas de segurança adequadas, como criptografia e autenticação robusta.