Um ataque eclipse é um ataque a uma rede blockchain que manipula os participantes para comprometer suas operações. Os ataques do Eclipse visam nós em uma blockchain, separando-os do resto da rede para aceitar e processar dados específicos benéficos para o invasor.
Ataque Eclipse em Blockchain: O que é?
Uma rede blockchain peer-to-peer (P2P) consiste em nós que transmitem informações sobre a atividade da blockchain entre si. Essa rede geralmente é altamente descentralizada e envolve nós espalhados por uma grande área física em vários ambientes físicos diferentes. Para fazer o blockchain funcionar, eles precisam chegar a um consenso sobre os dados que estão sendo gerados para produzir blocos válidos.
O Bitcoin (BTC) foi a primeira rede de criptomoedas a superar esse desafio, conhecido como o problema do general bizantino, em escala, usando seu algoritmo Proof-of-Work (PoW) para permitir que nós que não podem ver as operações uns dos outros ou se comunicar de forma confiável com todos os outro nó de uma só vez para ainda ratificar e validar transações.
Essa falta de visibilidade, no entanto, significa que o potencial de obscurecer a visão de um nó do resto da rede e manipulá-lo para rodar em dados “falsos” permanece. Uma maneira pela qual os hackers fazem isso é por meio do chamado ataque eclipse.
Em um ataque eclipse, o hacker força um nó a se conectar a contatos falsos sob seu controle. Eles podem então controlar os dados que o nó recebe, e o nó acaba validando esses dados falsos em vez dos dados “reais” legítimos que o resto da rede faz. A vítima geralmente não tem ideia do que está acontecendo e, como tal, os ataques do eclipse geralmente são uma plataforma de lançamento para um ataque em grande escala a uma blockchain P2P.
Como funcionam os ataques Eclipse na Blockchain?
Os ataques Eclipse começam selecionando e direcionando um nó em uma rede blockchain. O invasor cria nós falsos que se juntam à rede – podem ser botnets ou redes fantasmas – que efetivamente enviam spam ao nó de destino, isolando-o do resto da rede.
O invasor pode usar um ataque de negação de serviço distribuído (Distributed Denial of Service - DDoS) para que a vítima se reconecte aos seus novos nós “falsos” em vez dos legítimos usados anteriormente.
Feito isso, o nó de destino está de fato sendo alimentado com um fluxo de dados espúrios de nós que atendem aos objetivos do invasor. O alvo acaba validando esses dados, o que por sua vez compromete a validade de todo o blockchain.
Tudo isso é possível porque em uma rede blockchain, nem todos os nós podem se comunicar com todos os outros nós em tempo real. Cada nó tem um subconjunto menor de outros com os quais se comunica, e substituir esse número menor de nós por outros maliciosos é como um ataque de eclipse pode começar.
O raciocínio por trás do nome do ataque torna-se óbvio – a visão de um nó do resto da rede é “eclipsada” ou obscurecida.
Quais são as consequências de um ataque Eclipse?
Os ataques Eclipse geralmente acabam passando despercebidos pelos participantes da rede, e a dificuldade de notá-los os torna ideais como um 'trampolim' para lançar ataques mais complexos em uma blockchain.
Ao obscurecer a visão de vários nós de mineração da rede, por exemplo, um ataque pode fazê-los processar transações ilegítimas que de outra forma seriam descartadas. Assim, gastos duplos, onde os mesmos tokens de blockchain são usados em várias transações, acabam sendo legitimados por aqueles mineradores ‘cegos’ que não sabem que não estão minerando na cadeia legítima.
Outro resultado dos ataques eclipse é o que é comumente chamado de ataque de 51%. Isso envolve uma parte maliciosa assumindo o controle de mais da metade do poder de hashing da blockchain e usando-o para seus próprios fins. Um ataque de eclipse permite que o ator faça com que essa seção da rede minere uma cadeia inválida em preparação para tal ataque.
Em uma escala menor, enquanto isso, um ataque de eclipse pode atingir um nó específico para confirmar transações ilegítimas. Dado que os comerciantes podem aceitar transações de confirmação zero em vez de esperar que elas confirmem, o risco de aceitar uma transação com moedas gastas em dobro aumenta.
Semelhante a um ataque de confirmação zero, um ataque de não-confirmação visa os comerciantes e mineradores a obter transações ilegítimas aceitas em blocos que de fato não são válidos.
Nas situações acima, os mineradores acabam gastando recursos sem recompensa, levando ao aumento de custos e desperdício de energia.
Como os ataques Eclipse podem ser evitados em redes Blockchain?
Desde que os ataques eclipse ganharam notoriedade na década de 2010, as redes blockchain se adaptaram para tornar sua execução mais difícil – em termos de segurança e custo.
Sistema de identificação de pontos
Ao escolher os nós se conectar na rede blockchain, cada participante pode mitigar o risco de se comunicar com pares desconhecidos ou potencialmente não confiáveis se cada nó tiver um identificador exclusivo.
Processo de seleção de pontos
Os realizadores de ataques Eclipse dependem fortemente de nós de blockchain que se comunicam com pares aleatórios toda vez que se conectam à rede. Isso não é obrigatório, no entanto, e alterar os parâmetros da rede para que os nós interajam com os pares de maneira diferente pode dificultar a tarefa de um invasor.
Existem duas maneiras principais de fazer isso. Os nós podem se conectar a pares aleatórios em vez de um grupo familiar, ou usar a repetição da inserção de endereços IP de nós conhecidos específicos com reconexão de alcance - conhecida como seleção de nó determinística.
Controle as conexões de entrada e saída
Uma maneira secundária de reduzir a eficácia de um possível ataque de eclipse é aumentar o número de conexões de saída para outros nós. No Bitcoin, foi descoberto em um artigo dedicado ao tema em 2015, há espaço mais do que suficiente para fazer isso sem arriscar a rede ficar sem capacidade de conexão.
O mesmo artigo, que introduziu o conceito do ataque eclipse no que se refere ao Bitcoin, destacou um número muito grande de conexões de entrada provenientes do mesmo endereço IP como má prática. Em vez disso, eles devem ser diversificados, de modo a fazer com que “um nó aceite apenas um número limitado de conexões do mesmo endereço IP”.
Diferenças entre ataque Eclipse vs. ataque Sybil
Nos primórdios da criptomoeda, os ataques eclipse eram de fato chamados de ataques sybil, mas os dois fenômenos são de fato diferentes.
O termo “ataque eclipse” para Bitcoin originou-se especificamente no trabalho de pesquisa mencionado acima de 2015. Até então, o que agora é conhecido como ataque eclipse era chamado de ataque sybil, conforme confirmado pelo desenvolvedor do núcleo do Bitcoin, Peter Wuille.
Agora, no entanto, um ataque sybil refere-se a agentes mal-intencionados que enviam spam a uma rede blockchain inteira em uma tentativa de alterar sua função ou ethos. Isso é diferente de um ataque eclipse, que visa nós específicos e tenta permitir operações específicas de blockchain, como gastar duas vezes os mesmos tokens.
Em redes altamente descentralizadas, como Bitcoin, os ataques sybil são de pouca preocupação para os participantes da rede. Isso ocorre por causa do PoW – um nó ou grupo de nós que se comporta de maneira estranha é quase imediatamente sinalizado e excluído do consenso.
Como não se tornar uma vítima de um ataque Eclipse?
Parte do motivo pelo qual os ataques de eclipse são comuns é porque pode ser muito difícil para um nó perceber que é vítima de um. Também é improvável que um participante da rede suspeite que suas transações estão sendo comprometidas como resultado de tal ataque.
Existem alguns procedimentos de práticas recomendadas que podem reduzir a probabilidade de um ataque ser executado com sucesso.
- Execute um nó independente. Ao fazer isso, a responsabilidade é principalmente centrada em você como operador do nó e não em um terceiro. Nós completos independentes também contribuem para a segurança geral da rede.
- Use sua própria carteira. Não confie em software de mercado de massa ao executar um nó, pois o controle é sacrificado por conveniência e exposição aos problemas do host.
- Não confie automaticamente nas transações no blockchain. Aceitar transações com zero confirmações, por exemplo, aumenta a probabilidade de ser vítima de ataques de gastos duplos.
- Como mencionado acima, verifique e orquestre as conexões de nó de entrada e saída, limitando as conexões de entrada e aumentando as conexões de saída sempre que possível.
Ataque Eclipse FAQ
O que é um ataque de eclipse?
Um ataque eclipse é uma forma de ataque de rede blockchain que visa nós específicos para cortá-los do resto da rede, geralmente para fazê-los validar dados espúrios.
O que é um ataque de sybil no Blockchain?
Um ataque sybil agora se refere ao direcionamento em massa de nós em uma rede blockchain, em vez de individuais em um ataque eclipse. Um ator mal-intencionado pode obter resultados diferentes dependendo do tipo de ataque usado.
O que um ataque de eclipse pode fazer?
Os ataques do Eclipse podem ser usados para fazer os nós validarem dados falsos que não seriam aceitos pelo resto da rede, por exemplo, permitindo o gasto duplo das mesmas moedas. Os invasores podem usar ataques de eclipse como trampolim para ataques maiores, como um ataque de 51%.
Como evitar ataques de eclipse?
Existem várias precauções que podem ser tomadas para evitar ser vítima de ataques de eclipse, que podem ser difíceis de detectar uma vez iniciados. Isso inclui verificar conexões de entrada para nós e aguardar várias confirmações antes de aceitar uma transação como concluída.