Riscos de segurança em Ethereum DeFi

blog 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressboletins informativos

Assine a nossa newsletter.

Endereço de email

Nós respeitamos sua privacidade

HomeBlogCodefi

Riscos de segurança em Ethereum DeFi

por Everett Muzzy 19 de maio de 2020Postado em 19 de maio de 2020

9

Abordagens para monitorar e proteger contra riscos

2020 tem se mostrado um ano crítico para o ecossistema Ethereum DeFi. Além de comemorar mais de US $ 1 bilhão bloqueado em DeFi e marcos significativos da plataforma, a indústria tem estado sujeita a ocorrências frequentes de incidentes de segurança menores e maiores em aplicativos DeFi novos e estabelecidos.

5 incidentes de segurança DeFi que aconteceu em abril: 

  • Uniswap: no dia 18, $ 340k USD roubados através de um vetor de ataque de reentrada

  • Lendf.me: no dia 19, US $ 25 milhões roubados por meio de um vetor de ataque de reentrada; os fundos são reemitidos após negociação da equipe com o hacker.

  • Curva: uma plataforma de troca de moeda estável, revelou que eles encontraram e resolveram um bug no contrato de reserva sUSD.

  • PegNet: uma plataforma DeFi de cadeia cruzada PegNet sofreu um ataque de 51% quando 4 mineiros em sua rede controlaram 70% de hashrate.

  • Hegic: 28k USD de liquidez bloqueada em contratos de opções expirados por um bug no contrato, para o qual a equipe prometeu compensar os usuários afetados com seus próprios fundos.

Uniswap e Lendf.me – O ataque de reentrada no ERC-777

Os eventos bZx e Maker de fevereiro e março foram bem cobertos, mas coletamos alguns dados e informações sobre eventos recentes nos protocolos Uniswap e Lendf.me, especificamente em torno do comprometimento do padrão de token ERC-777 que permitia que os hackers drenar $ 25 milhões em criptografia em 18 de abril & 19º.

O token imBTC é um token ERC-777 lançado por Tokenlon, um DEX em execução no protocolo 0x. Em ambos os incidentes Uniswap e Lendf.me, o (s) hacker (s) exploraram uma vulnerabilidade de reentrada que surgiu da incompatibilidade entre o padrão de token ERC-777 e os protocolos DeFi. Em termos gerais, a vulnerabilidade de reentrada permitiu ao hacker essencialmente re-gastar os depósitos iniciais de imBTC, efetivamente fornecendo-lhes capital ilimitado para realizar negociações ou empréstimos.

Uniswap

O ataque foi possível porque o Uniswap V1 não possui medidas em vigor para proteger contra esse tipo de ataque de reentrada ao interagir com o padrão ERC-777. No total, o hacker ganhou ~ $ 300k USD em imBTC e ETH (~ $ 141k ETH + ~ $ 160k imBTC).

Curiosamente, esse vetor de ataque não era desconhecido para o Uniswap ou para a comunidade criptográfica em geral. Quase exatamente um ano antes do ataque Uniswap, ConsenSys Diligence – o serviço de auditoria de segurança oferecido pela ConsenSys – identificado e publicado o vetor de ataque de reentrada ERC-777. Uniswap tinha planos para lidar com o vetor de ataque, conforme descrito em seu Postagem de 23 de março no blog sobre os recursos do Uniswap V2.

Fig 1. Saldo de contrato de token imBTC uniswap

Fig 1. Saldo do contrato de token imBTC uniswap

Lendf.me

O incidente Lendf.me explorou a mesma vulnerabilidade de reentrada disponibilizada pela compatibilidade incompleta entre o protocolo de empréstimo e o padrão de token ERC-777, mas com um grau de sucesso muito mais extenso. Quase 100% dos fundos do Lendf.me – mais de $ 24 milhões de dólares – foram drenados durante o ataque em 19 de abril.

Ao contrário do evento Uniswap, os fundos roubados não se limitaram apenas a ETH e imBTC. Embora a maioria dos fundos roubados fosse WETH ($ 10,8 milhões), o USDT e o HBTC renderam $ 9,7 milhões adicionais, seguidos por pelo menos 16 outros tokens. Os gráficos abaixo mostram a distribuição de ativos dos fundos comprometidos e os volumes mensais de tokens no Lendf.me antes do ataque em 19 de abril.

Fig 2. Distribuição de fundos perdidos por tipo de token

Fig 2. Distribuição de fundos perdidos por tipo de token

Fig 3. Saldo do contrato Lendf.Me

Fig 3. Saldo do contrato Lendf.Me

Em uma virada inesperada de eventos, o (s) hacker (s) Lendf.me devolveram os fundos roubados ao protocolo, supostamente porque eles expôs acidentalmente um endereço IP durante o ataque. O diagrama de Sankey abaixo mostra o fluxo de fundos após o hack. Os fundos saíram do contrato Lendf.me (verde), passaram pelo contrato do manipulador (cinza) e para o endereço do hacker (preto). Depois que o IP foi revelado, o hacker transferiu os fundos de volta para o endereço de administrador do Lendf.me, que então transferiu os fundos para um endereço de recuperação (ambos em roxo). A extrema direita do gráfico, onde o diagrama flui para muitos fluxos de fundos individuais, marca o momento em que o Lendf.me fundos devolvidos para usuários individuais.

Fig 4. Fluxo de fundos em todo o incidente do Lendf.Me

Fig 4. Fluxo de fundos em todo o incidente do Lendf.Me

É incrível ver como os aplicativos DeFi são encadeados para um ciclo financeiro completo de comportamento e como a dinâmica de alavancagem, arbitragem, empréstimos e negociações se desenrolou. A sinergia entre DEX, Loans (também Flashloans) e Oracles abriu oportunidades para o desenvolvimento de mais elementos financeiros no Ethereum, bem como reduziu as barreiras para participantes menores como um mundo financeiro inclusivo.

O que podemos fazer para proteger os ativos DeFi?

Auditorias de contrato inteligentes

Os serviços de auditoria são capazes de identificar vulnerabilidades de contrato em potencial por meio de testes rigorosos e hackeamento de chapéu branco antes do lançamento de um protocolo ou recurso. Embora ferramentas automatizadas de terceiros possam identificar conjuntos de vulnerabilidades comuns, essas ferramentas são mais eficazes quando combinadas com serviços de auditoria disponíveis.

O ataque ao Uniswap em abril foi prenunciado pelo serviço de auditoria ConsenSys Diligence. Além disso, os incidentes em 2020 parecem ter desencadeado uma nova era de transparência entre os desenvolvedores de DeFi em relação a questões de segurança. Um desenvolvedor do protocolo comercial Hegic publicou um ‘post-mortem’ aberto sobre um bug em seu código que tornou alguns fundos inacessíveis. O loop do protocolo do Exchange identificou uma vulnerabilidade de front-end, pausou a troca, anunciado para a comunidade, e trabalhou para corrigir o problema. Este tipo de transparência é crucial para construir confiança entre usuários novos e existentes e para escalar uma rede mais segura de protocolos DeFi.

Conforme os protocolos DeFi crescem em número, complexidade e interconexão, mais vulnerabilidades e comprometimentos de segurança podem ocorrer. Embora lamentáveis, esses incidentes são cruciais para o desenvolvimento seguro de qualquer tecnologia emergente. Quanto mais pudermos usar os serviços e ferramentas disponíveis para identificar e proteger contra esses vetores de ataque, mais confiantes as pessoas irão interagir com o ecossistema financeiro aberto emergente.

Ferramentas de monitoramento e classificação

Aproveitando a abertura do blockchain Ethereum, uma série de ferramentas de monitoramento relacionadas ao DeFi estão disponíveis ao público para interagir com mais confiança com os aplicativos financeiros. Codefi Inspect é uma ferramenta de código aberto para agregar informações críticas de segurança sobre os protocolos DeFi, incluindo auditorias públicas, detalhes da chave de administração, dependência do oracle e atividade na cadeia. Codefi’s Pontuação DeFi é um valor de risco de plataforma que pode ser comparado entre protocolos para informar melhor as decisões dos usuários ao escolher entre aplicativos DeFi.

Monitorando a integridade da rede: para usuários individuais

Em plataformas de empréstimo, os depósitos dos usuários são em risco de ser liquidado uma vez que os índices de garantia caem abaixo de certos limites devido a flutuações de preços. A Figura 5 mostra a quantidade de fundos que foram “mordidos” na plataforma do Maker. Em novembro de 2018 e março de 2020, mais de $ 17 milhões de dólares em garantia foram liquidados na Maker quando os preços da ETH atingiram mínimos históricos (~ $ 110 / ETH em novembro de 2018 e ~ $ 105 em março de 2020).

Com ferramentas de monitoramento adequadas, os usuários podem se proteger melhor de serem os destinatários involuntários de liquidações automatizadas em plataformas de empréstimo. Para produtos de empréstimo, um nível exigido de índice de garantia (valor dos ativos de depósito, divisão do valor dos ativos emprestados, medido em dólares na maioria dos casos) define a linha de segurança para os proprietários de cofres. Quando o valor da garantia cai, a proporção cai e o cofre fica aberto para liquidação. Os usuários podem rastrear o índice de garantia e decidir pagar os empréstimos ou adicionar depósitos para manter o cofre em condições seguras e fora do intervalo de liquidação. As ferramentas de monitoramento desempenharão um papel significativo na interação confiante dos usuários com os protocolos de empréstimo se essas ferramentas estiverem fornecendo feeds de preços oracle confiáveis ​​em tempo real para vários ativos, a fim de alertar os usuários para agirem com antecedência.

Fig 5. Volume de liquidação no fabricante

Fig 5. Volume de liquidação no fabricante

Outra métrica a ser monitorada nas plataformas de empréstimo é a taxa de utilização do pool de liquidez de ativos. O índice de utilização é calculado dividindo o valor total da dívida em aberto pelo volume de oferta no reservatório de liquidez. Se todos os fundos do pool forem emprestados e não reembolsados, a taxa de utilização chega a quase 100%.

Uma mudança dramática na taxa de utilização pode refletir mudanças de mercado (por exemplo, a queda de preço da ETH em março) que causam reações em grupo ou sinalizam o risco de um hacker drenar o pool (por exemplo, o caso Lendf.me). A Figura 6 mostra a taxa de utilização de ativos% para Maker, Lendf.me e outros. Em março, podemos ver a taxa de utilização na maioria das plataformas pico, provavelmente como uma reação retardada aos eventos do mercado em 12 de março.

A queda no preço da ETH fez com que o valor total da oferta (se apoiado pela ETH) na maioria desses protocolos caísse, o que causou um pico repentino na taxa de utilização. Entretanto, como o rácio de garantia caiu devido ao preço ETH, uma grande quantidade de dívida pendente foi compensada devido a liquidações. Com o tempo, portanto, as taxas de utilização em muitas dessas plataformas diminuíram.

O Lendf.me se destaca como um exemplo de como pode ser um gráfico de taxa de utilização para um hack. Em abril, vemos a taxa de utilização de todos os tokens aumentar até 100% quase que instantaneamente, o que indica a exploração do hacker da vulnerabilidade de reentrada ERC-777.

Fig 6. Taxa de utilização de ativos em todos os protocolos

Fig 6. Taxa de utilização de ativos em todos os protocolos

Em bolsas descentralizadas, os tamanhos dos pools de liquidez podem ajudar os usuários a decidir qual plataforma é a reserva mais resiliente. DEXes são uma das portas mais importantes na cadeia de arbitragem, comprovada no bZx caso. Uniswap é um dos DEXs mais ativamente usados ​​e seus pools de liquidez são conectados a muitas interfaces de protocolo DeFi / DEX. A Figura 7 mostra o tamanho dos pools de liquidez no Uniswap. A queda mais acentuada ocorreu em 18 de fevereiro, momento do segundo ataque do bZx. Em 18 de fevereiro, o pool de liquidez da Uniswap caiu porque o explorador tomou emprestado uma grande quantidade de WBTC no bZx por meio da reserva KyberUniswap. A segunda maior queda ocorreu em 13 de março, quando os mercados de criptografia caíram. Em 13 de março, o pool de liquidez do Uniswap caiu porque os detentores de criptografia estavam preocupados com as flutuações do mercado e retiraram grandes quantias de sua liquidez do pool do Uniswap. Apesar das quedas significativas no tamanho da carteira de liquidez, no entanto, o Uniswap resistiu muito bem às vulnerabilidades e flutuações do mercado dos últimos meses – demonstrando a resiliência de um protocolo DeFi com uma carteira de liquidez maior.

Fig 7. Tamanho da piscina de liquidez no Uniswap

Fig 7. Tamanho da piscina de liquidez no Uniswap

Algumas ferramentas – como pools.fyi – pode ajudar os usuários do DeFi a encontrar os maiores pools de liquidez entre os principais DEXes.

Monitorando a integridade da rede: para plataformas

O monitoramento de riscos para plataformas DeFi envolve a detecção de anomalias. Geralmente, os comportamentos anormais podem ser categorizados de 5 maneiras: 1) transferências de grande valor, 2) alta frequência de transações ou chamadas para uma função (especialmente aquelas que não são expostas ao público) dentro de um curto período de tempo, 3) ações de valor fixo , ocorrendo a cada dois períodos fixos de tempo (bots), e 4) ações de um “superusuário” em várias plataformas e / ou propriedade de volumes de fundos assustadoramente altos.

Uma vez que um comportamento anormal é detectado, as equipes de protocolo podem usar algum controle de administrador projetado no contrato inteligente, por exemplo:

  1. Freios para encerrar algumas / todas as funcionalidades de contratos ou protocolos inteligentes.

  2. Adicione uma sessão pendente a algumas transações de grande quantidade.

  3. Reverter transações suspeitas.

Para elaborar as categorias de comportamentos anormais:

  1. Transferências de grandes valores de fundos

Ações de grande valor que acontecem na cadeia – incluindo empréstimo, depósito, negociação e liquidação além de um limite – devem acionar alertas, pois podem abalar a estabilidade de um pool ou plataforma, ou indicar movimentos suspeitos (hacks em fundos, lavagem de dinheiro ou saída imediata após o ataque). Stablecoins podem desempenhar um papel particularmente indicativo em transferências de grande valor, uma vez que seus valores são comparados com a moeda fiduciária.

2. Alta frequência de ações (incluindo transações ou chamadas para funções específicas) dentro de um determinado intervalo de tempo

Uma alta frequência de chamadas de função, especialmente aquelas que não são expostas externamente, pode ser um sinal de ataques. A reentrância é um ataque típico para drenar fundos, em que uma função é chamada recursivamente várias vezes na mesma transação. Em um caso mais geral, se as plataformas coletam estatísticas de benchmark sobre métricas normais de uso de contrato (ou seja, uma função normalmente será chamada de “x” vezes) e monitoram as transações onde os números são muito mais altos, é provável que possam capturar o comportamento anormal como assim que acontecer.

Fig 8. CDP do Maker aberto ao longo do tempo

Fig 8. CDP do Maker aberto ao longo do tempo

A Figura 8 mostra um exemplo de um evento de alta frequência na plataforma do Maker. No terceiro trimestre de 2019, as aberturas diárias do CDP atingiram 8,7 mil, o que está muito acima da média histórica de 172 / dia. Mais alguns lotes de aberturas de CDP alto ocorreram nas semanas e meses seguintes. Acreditamos que esses picos de dados foram de campanhas visando aquisições de usuários, mas mostra que o push manual deixará um rastro e podemos monitorá-lo para ficarmos alertas.

3. Padrão de comportamento fixo (detecção de bots)

É uma prática legítima para indivíduos ou equipes construir bots de arbitragem para interagir com (alguns) protocolos DeFi, mas a equipe de desenvolvimento da plataforma pode ter preocupações com os efeitos dos bots na experiência da base do usuário. Ao definir regras e padrões específicos indicativos do comportamento do bot automatizado (número fixo de ações em todas as janelas fixas de tempo), é possível construir mecanismos para detectar bots e monitorar sua influência em um pool.

4. Superusuários (baleias)

Baleias ativas na base de usuários dos protocolos DeFi podem ter uma influência significativa na estabilidade do sistema. Outra abordagem para a segurança sistemática geral, portanto, é entender o comportamento dos “superusuários” e ter um pensamento mais profundo sobre os riscos potenciais.

Fig 9. Grande movimento dos usuários de DeFi. Gráfico do relatório Alethio Q1 DeFi.

Fig 9. Grande movimento dos usuários de DeFi. Gráfico do relatório Alethio Q1 DeFi.

Produtos de gerenciamento de risco

O seguro baseado em blockchain já existe há algum tempo, mas foi fortemente focado nos últimos meses. Nexus Mutual – um veterano de seguros de blockchain que agiu como o primeiro entrevistado para vítimas em exploit bZx – e mais recentemente Opyn (re) emergiram como os principais participantes na indústria adjacente de DeFi, servindo como opções de hedge contra os ativos protegidos. De acordo com O bloco, alguns outros produtos semelhantes incluem Etherisc, iXledger, VouchForMe e aigang. Esses widgets atendem a necessidades semelhantes, embora também possam proteger como uma camada extra um para o outro – o seguro Nexus pode ser adquirido contra as opções da Opyn como um “Resseguro”.

A ConsenSys lançou o Codefi Compliance, uma plataforma de conformidade e regulamentação automatizada e ágil para ativos digitais. O Codefi Compliance faz parte do pacote de produtos Codefi, que alimenta coletivamente o comércio e as finanças, otimizando os processos de negócios e digitalizando os instrumentos financeiros. Como uma solução de última geração para combate à lavagem de dinheiro (AML) e combate ao financiamento do terrorismo (CFT), o Codefi Compliance garante que os ativos digitais atendam às expectativas regulatórias sem comprometer o mercado e os requisitos de negócios, independentemente da jurisdição e do design. É a única solução de conformidade projetada exclusivamente para ativos baseados em Ethereum e desenvolvida pela ConsenSys, líder no desenvolvimento de Ethereum. O Codefi Compliance oferece recursos avançados de conformidade que incluem estruturas de conhecimento da sua transação (KYT), gerenciamento de casos de alto risco e relatórios em tempo real.

Consciência

Embora muitas ferramentas e recursos já tenham sido desenvolvidos para ajudar os clientes a se envolverem com mais confiança no DeFi, o ecossistema requer um nível mais alto de consciência. Olhando para trás, para os incidentes de fevereiro, março e abril, é importante reconhecer que o espaço DeFi é:

  1. Ainda frágil entre alguns protocolos. Embora o ecossistema como um todo seja bastante resiliente, os protocolos individuais ainda podem ser severamente afetados. Em particular, volumes limitados de pool de liquidez podem facilmente causar desvios de preços.

  2. Sujeito à arquitetura “lego” de Ethereum. DeFi vive em cima de Ethereum e ainda – pelo menos por enquanto – depende da saúde e estabilidade do preço da ETH. Isso foi demonstrado principalmente durante os eventos de mercado de março.

  3. Um ecossistema nascente e, conseqüentemente, sujeito a ataques. Conforme comprovado por incidentes nos últimos meses, a imensa oportunidade da tecnologia blockchain não a protege da mesma tendência de ter bugs e vetores de ataque que a tecnologia tradicional tem.

O resultado líquido de todos esses incidentes, no entanto, é positivo. E esses ataques não são novos para a comunidade Ethereum – como demonstrado pelas ondas que o ataque DAO causou no ecossistema de criptografia em 2016. Os ataques fizeram a maioria das equipes e participantes se preocuparem mais com a segurança de diferentes produtos. E com essa consciência, acreditamos que métricas e ferramentas mais maduras serão desenvolvidas para atender às necessidades e ajudar na proteção contra riscos.

A compreensão, manutenção e melhoria das bases de código pelas equipes de desenvolvedores é crucial para a saúde e prosperidade de todo o ecossistema. Garfos não examinados do trabalho existente de terceiros podem resultar em consequências críticas. Depois que o protocolo é lançado na rede principal, ele se torna efetivamente um honeypot – aberto e exposto a todos os ataques maliciosos em potencial. Esses protocolos financeiros são complexos e cheios de valor, mas ainda muito jovens e, portanto, particularmente capazes de violar a confiança dos usuários.

Apesar dessas ondas de incidentes de segurança nos protocolos DeFi, a indústria ainda é esmagadora positivo sobre as oportunidades do DeFi e o ímpeto que ele está trazendo para a Ethereum. As estatísticas de DeFi objetivas apóiam o sentimento positivo. Em resposta aos eventos de segurança deste ano e às pressões do mercado consideráveis ​​a partir de março, a ETH bloqueada diminuiu de uma alta histórica em fevereiro. No entanto, os níveis caíram apenas para os números de dezembro de 2019. Essas estatísticas, mesmo em face de incidentes de segurança de alto perfil, sugerem que o ecossistema DeFi como um todo ultrapassou algum ponto de “não retorno”. Embora a confiança em protocolos individuais tenha sofrido, o compromisso geral com os paradigmas emergentes de finanças descentralizadas manteve-se forte.

Escrito por Danning Sui e Everett Muzzy

Isenção de responsabilidade

A Codefi Data não tem preferência ou preconceito em relação a nenhum dos projetos mencionados acima. A gama de protocolos discutidos é limitada e continuaremos trabalhando para adicionar mais na lista para obter uma visão mais holística. Este artigo nunca deve ser usado como um guia para qualquer prática maliciosa ou sugestão de negociação.

DeFiIndustry InsightNewsletterSubscreva nossa newsletter para obter as últimas notícias da Ethereum, soluções empresariais, recursos para desenvolvedores e muito mais. Endereço de e-mail