theNet by CLOUDFLARE

Entender a Web3 e suas implicações de segurança

Saiba sobre as considerações à medida que as empresas exploram a web descentralizada

Primeiros passos no mundo da Web3

A mudança da Web 1.0 para a Web 2.0 expôs as empresas a toda uma gama de novos riscos de segurança. A capacidade de qualquer usuário de postar conteúdo na internet significou que entradas não confiáveis e maliciosas poderiam comprometer sites, vazar dados e infectar bancos de dados com mais facilidade.

À medida que as empresas começam a explorar o novo mundo da Web3, elas terão que enfrentar outra safra de vulnerabilidades de segurança, algumas das quais podem não ter encontrado antes. As empresas que experimentam a Web3 precisam de novas abordagens para enfrentar esses desafios.


Os principais conceitos da Web3

A Web3 é uma visão para uma versão da web descentralizada e de propriedade coletiva. A tecnologia Web3 foi desenvolvida sobre bancos de dados descentralizados que requerem consenso majoritário para qualquer alteração ou atualização.

Para resumir como a Web3 difere da tecnologia web anterior:

  • A Web 1.0 é lida: os usuários podem obter dados na web, mas não podem interagir com eles.

  • A Web 2.0 é lida-escrita: os usuários contribuem com dados para a web, por exemplo, fazendo o upload de conteúdo.

  • A Web3 é lida-escrita-possuída: os usuários não apenas contribuem com dados; eles possuem seus dados.

Este conceito de lida-escrita-possuída é possibilitado por alguns princípios básicos:

Descentralização

Durante grande parte da história da internet, os aplicativos web foram controlados por provedores centralizados. Esses provedores controlam a lógica e os dados do aplicativo e podem editá-los e apagá-los como quiserem.

Na Web3, os aplicativos web são distribuídos em uma rede peer-to-peer (P2P) de nós conectados. Não há autoridade ou controlador central, os dados estão sempre visíveis para todos os nós e os dados não podem ser apagados ou alterados sem consenso da rede.

Consenso

A Web3 requer um consenso majoritário da rede para validar novas transações ou atualizações. Os blockchains usam mecanismos de validação proof-of-work (PoW) e proof-of-stake (PoS) para chegar a um consenso.

Confiança implícita

A Web3 depende de criptografia, especialmente hashing, para garantir que os dados nunca sejam alterados ou removidos sem o consentimento da rede de suporte.

Por exemplo, um determinado bloco em um blockchain não pode ser alterado por conta própria, pois seu hash é registrado no bloco seguinte. A alteração de um bloco altera o valor do bloco subsequente, o que invalida o hash no bloco seguinte e assim por diante. Em outras palavras, qualquer alteração exigiria alterar muito do restante do blockchain. Tais mudanças ocorrem, mas requerem amplo consenso da rede de apoio e são altamente intensivas em recursos.

De muitas maneiras, isso torna a Web3 mais segura que a Web 2.0. Os clientes participantes têm certeza de receber os dados exatos que solicitam, e os dados solicitados não podem ser alterados ou substituídos por algo malicioso. Os clientes não precisam confiar em um provedor centralizado; a confiança implícita é criada no blockchain.


Como as empresas estão usando a Web3

Existem várias maneiras pelas quais as empresas estão explorando as possibilidades da Web3, que variam de arquiteturas de aplicativos descentralizadas a métodos mais resilientes de armazenamento de arquivos.

Blockchain e aplicativos descentralizados (DApps)

Blockchain é um método para registrar transações em blocos cronológicos de dados em uma rede distribuída. Os dados gravados no blockchain não podem ser alterados.

Uma das aplicações mais conhecidas para blockchain é a criptomoeda, que é o componente essencial dos serviços financeiros descentralizados (DeFi) em uso atualmente. Mas os desenvolvedores também podem escrever aplicativos descentralizados (DApps) que usam um blockchain para serem executados (incluindo tokens não fungíveis ou NFTs).

Contratos inteligentes são a lógica dos DApps. Um contrato inteligente é um código projetado para executar funções específicas, como qualquer outra função programável, os contratos inteligentes são executados ao serem chamados. Contratos inteligentes são criados e armazenados em redes de blockchain.

Do ponto de vista do desenvolvimento, os DApps oferecem às empresas a vantagem de não precisar gerenciar e manter toda a infraestrutura de back-end necessária para dar suporte a um aplicativo. Os contratos inteligentes são armazenados no blockchain e operam de forma autônoma. Uma organização que implanta um DApp geralmente precisa implantar e manter uma interface de usuário também, usando um serviço intermediário para fazer consultas de API a contratos inteligentes no back-end.

Os DApps são confiáveis, pois são executados em uma vasta rede peer-to-peer, enquanto os aplicativos centralizados são desativados se a infraestrutura de suporte for interrompida.

Finanças é um dos principais casos de uso para DApps, os exemplos variam de criptomoedas a carteiras e trocas descentralizadas. Além disso, os desenvolvedores criaram navegadores da web de DApps, jogos, redes sociais e outros serviços também.

Finanças descentralizadas (DeFi)

Finanças descentralizadas (DeFi) são uma coleção de métodos para obter serviços financeiros sem depender de autoridades centralizadas, como bancos. Os usuários de DeFi podem conceder ou receber empréstimos; comprar, vender e trocar criptomoedas; ganhar juros; e executar outras tarefas associadas ao setor de serviços financeiros, tudo usando plataformas descentralizadas. As DeFi são criadas em grande parte em contratos inteligentes (suportados pelo blockchain Ethereum). As trocas centralizadas são compatíveis com as DeFi (como Coinbase), mas os protocolos de DeFi são inerentemente descentralizados.

Arquivo distribuído, descentralizado e armazenamento de dados

O armazenamento descentralizado de transações do blockchain o torna um elemento básico central para a Web3, mas não é o único tipo de arquitetura que as empresas estão experimentando. O Interplanetary File System (IPFS) é outro protocolo (não blockchain) para implementar os princípios da Web3. O IPFS armazena dados em um sistema de arquivos distribuído. O endereço do conteúdo fornecido via IPFS não pode ser alterado, as atualizações resultam em um endereço de conteúdo novo e exclusivo. E a arquitetura distribuída do IPFS o torna mais resiliente e confiável do que os métodos de armazenamento mais centralizados.

As empresas podem confiar no IPFS para fornecer conteúdo aos usuários de maneira confiável. O IPFS também permite que os usuários publiquem facilmente seu próprio conteúdo a partir de seus próprios ambientes.


Os maiores riscos de segurança da Web3

Embora os princípios subjacentes da Web3 a tornem mais segura do que a Web 2.0 em alguns aspectos, como qualquer tecnologia, ela apresenta sua cota de riscos de segurança. Algumas das lacunas de segurança vêm do modo como as arquiteturas Web3 e Web 2.0 interagem; outros são inerentes ao funcionamento de protocolos como blockchain e IPFS. E a confiança da Web3 no consenso da rede pode tornar a correção dessas e de outras falhas um processo lento.

Alguns dos principais riscos de segurança incluem:

Falta de criptografia e verificação para consultas de API

A maioria das pessoas sabe que não deve fornecer informações pessoais a solicitantes não verificados. No entanto, os aplicativos Web3 geralmente dependem de chamadas e respostas de API que não autenticam as extremidades da conexão.

Em teoria, a Web3 é completamente descentralizada e qualquer nó conectado na rede pode interagir diretamente com os dados armazenados. Na prática, os front-ends de aplicativos Web3 ainda precisarão contar com tecnologias Web 2.0 com as quais os endpoints de usuários possam interagir facilmente. A maioria dos front-ends de aplicativos Web3 usa consultas de API para o back-end Web3 para lógica e armazenamento de dados das empresas.

Atualmente, muitas consultas de API Web3 não são assinadas criptograficamente.Isso as deixa vulneráveis a ataques on-path, interceptação de dados e outros ataques, assim como o uso de aplicativos HTTP Web 2.0 não criptografados e não assinados deixa os usuários vulneráveis ao vazamento de dados e ataques on-path.Em outras palavras, geralmente não há garantia de que os dados do aplicativo Web3 sejam de fonte correta, apesar do conceito de "confiança implícita" descrito acima.

Contratos inteligentes de hacking

Como qualquer código, os contratos inteligentes podem conter grandes falhas de segurança que colocam em risco os dados do usuário ou, como costuma acontecer, os fundos. Um estudo de 2019 identificou contratos inteligentes Ethereum mal codificados que colocam em risco US$ 4 milhões em Ether. O problema não melhorou com o tempo; em dezembro de 2021, contratos inteligentes com falhas permitiram que os invasores roubassem aproximadamente US$ 31 milhões em moeda digital. E em maio de 2022, um algoritmo falho fez com que a criptomoeda TerraUSD perdesse cerca de US$ 50 bilhões em valor.

Preocupações de privacidade para o armazenamento de dados descentralizado

Os dados em um blockchain podem ser armazenados e acessados por qualquer nó conectado, em contraste com um modelo Web 2.0, no qual o acesso a bancos de dados pode ser altamente restrito. Isso apresenta várias preocupações de segurança e privacidade, dependendo de quais dados são armazenados. Mesmo que seja anonimizado enquanto está em repouso, a pesquisa mostra de forma consistente que nenhum dado é verdadeiramente anônimo.

Roubo de conta e roubo de carteira móvel

A mídia está repleta de histórias de ataques a criptomoedas ou carteiras NFT.Na maioria das vezes, isso ocorre por meio de invasores que obtêm acesso às chaves privadas dos usuários ou enganam os usuários para que as entreguem por meio de phishing.Na verdade, se essas chaves privadas forem armazenadas localmente no dispositivo de um usuário, elas estarão vulneráveis ao roubo físico.

Até este ponto, com a criptomoeda sendo o principal uso para DApps e Web3 em geral, a maioria dos ataques tem como alvo a moeda digital. Mas as implicações para outras aplicações da tecnologia Web3 podem ser igualmente onerosas.

Ataques de protocolo e de ponte

Nem toda a Web3 é construída diretamente em blockchain. Assim como a internet é composta por camadas (7 de acordo com o Modelo OSI) construídas umas sobre as outras, o blockchain possui protocolos criados sobre ele. Um exemplo é a dependência generalizada de "pontes", que são protocolos que permitem transferências de um blockchain para outro.

Esses protocolos também podem ser atacados. Por exemplo, ladrões exploraram a ponte Wormhole em fevereiro de 2022 para roubar aproximadamente US$ 320 milhões em criptomoedas.

Atualizações lentas

A Web3 dificulta a emissão de correções para problemas de segurança depois que eles são identificados. Como a Web3 é criada em um consenso de rede descentralizado, qualquer alteração deve ser aprovada pela rede como um todo.

Este é talvez o maior desafio de segurança para a Web3. Construir aplicativos completamente seguros é humanamente impossível, e a falta de capacidade de corrigir falhas rapidamente aumenta o impacto que as falhas de segurança podem ter, pois elas permanecerão ativas por mais tempo mesmo após a descoberta.

Riscos típicos da Web 2.0

Do roubo de credenciais do usuário ao cross-site scripting, os front-ends da Web3 ainda terão muitas das mesmas vulnerabilidades dos front-ends da Web 2.0, apesar do back-end da Web3.Injeção de código, bots, ataques baseados em API e outros vetores de ameaças podem colocar aplicativos e usuários em risco.


Práticas recomendadas para proteger aplicativos e infraestrutura da Web3

Criptografia e assinatura de consulta de API

O uso generalizado do Transport Layer Security (TLS) para solicitações e respostas HTTP melhorou extremamente a segurança da Web 2.0. Da mesma forma, aplicar criptografia e assinatura digital de consultas e respostas de API para DApps da Web3 será essencial para proteger os dados de aplicativos.

WAF e outras medidas de segurança da Web 2.0

Neste ponto, as empresas têm décadas de experiência no combate às vulnerabilidades de segurança da Web 2.0.Embora isso não reduza a gravidade dessas vulnerabilidades, significa que os métodos estão disponíveis há muito tempo para proteger contas de usuários, impedir a injeção de código e interromper cross-site scripting, entre outros ataques.Firewalls de aplicativos web (WAFs), gerenciamento de bots e medidas de segurança de API barram uma ampla gama de vetores de ataque para front-ends de aplicativos.

Auditoria de código consistente antes da implantação

Isso também foi importante na Web 2.0, mas muitas organizações (se não a maioria) pulam ou se apressam nessa etapa em nome da liberação e da iteração rápida. Afinal, qualquer falha de segurança em recursos ou produtos recém-lançados pode ser corrigida na próxima versão.

Mas na Web3, não é tão simples. Atualizações e adições a aplicativos descentralizados levam muito mais tempo do que na Web 1.0 e na Web 2.0, pois exigem consenso de toda a rede descentralizada. O momento certo para identificar vulnerabilidades de segurança é antecipado, não depois de ocorrido. A auditoria de código tem importância dobrada nesse cenário.


Web3: como avançar com segurança

À medida que as empresas exploram e começam a interagir com a Web3, elas devem manter a segurança em mente. Falhas de segurança podem prejudicar uma empresa ou prejudicar sua reputação. E como os aplicativos Web3 dependem de front-ends no estilo Web 2.0, as empresas precisarão se proteger simultaneamente contra os riscos de segurança da Web 2.0 e da Web3.

A Cloudflare ajuda a combater falhas de segurança para organizações em qualquer situação, desde proteção de rede no local até organizações migrando para a nuvem, até organizações na vanguarda de novos modelos como a Web3. Para a Web3, a Cloudflare pode ajudar a proteger o front-end e o back-end, além de fornecer gateways que facilitam a interface com a Web3.

A Cloudflare gerencia e protege a conexão com a infraestrutura Web3 para que as empresas possam se concentrar no que importa: criar produtos de ponta e serviços necessários para seus usuários.

Este artigo é parte de uma série sobre as tendências e os assuntos mais recentes que influenciam os tomadores de decisões de tecnologia hoje em dia.



Principais conclusões

Após ler este artigo, você entenderá:

  • Como Web3 difere da tecnologia web anterior

  • Como as empresas estão aplicando a Web3 a seus produtos e operações

  • O riscos comuns de segurança da Web3

  • Como mitigar esses riscos de segurança


Recursos relacionados


Saiba mais sobre esse assunto

Para se preparar para a Web3, saiba mais sobre como a tecnologia subjacente funciona no artigo técnico sobre o Gateway Ethereum.

Get the white paper!

Receba um resumo mensal das informações mais populares da internet.