Obtendo Segurança na Blockchain Parte Um: Esboçando o Problema
Introdução
Recentemente, tem havido um evidente aumento de participação na direção de uma forma descentralizada de internet, conhecida como Web3. Isso resultou na popularização da tecnologia blockchain e nos seus vários casos de uso. Espera-se que os sistemas baseados nas blockchains sejam a força dessa nova era da internet, graças às vantagens oferecidas em termos de anonimato, gestão de confiança e segurança.
Entretanto, apesar de muitos benefícios, é imperativo observar que essa tecnologia não vem com sistemas infalíveis em vigor para segurança cibernética; ao invés disso, essa é uma área que requer conhecimento contínuo daqueles que trabalham nesse espaço. Num esforço para contribuir para essa causa crucial, nós decidimos lançar uma série composta de duas partes discutindo tanto os problemas da cibersegurança nos sistemas blockchain quanto as suas possíveis soluções. Por meio disso, esperamos ensinar aos engenheiros e a outros profissionais de cibersegurança as áreas com os problemas mais importantes, de forma que eles possam usar seus conhecimentos para aperfeiçoarem ainda mais esses sistemas no futuro.
Sem dúvida, o primeiro passo para obter sistemas verdadeiramente seguros é identificar onde estão os problemas. Essa publicação vai tentar alcançar a identificação desses buracos existentes ou lacunas que possam criar um maior risco para os futuros usuários.
Importância de Proteger a Blockchain
O maior pilar da tecnologia blockchain é a transparência. Isso significa que qualquer sistema construído na blockchain é por definição, público - um fato que introduz um conjunto de vulnerabilidades e ameaças inteiramente novas. Como resultado, hacks inteligentemente orquestrados nas soluções blockchain não são proezas incomuns. Mesmo os maiores nomes na área continuam a sofrer ataques, resultando em perdas equivalentes a milhões de dólares.
De acordo com a empresa de análise de blockchains, Chainalysis, crimes relativos a criptomoedas atingiram um novo recorde histórico em 2021, totalizando o valor de US$14 bilhões de dinheiro ilícito durante o ano. Se a adoção da tecnologia de blockchain aumentar nos próximos anos (como é esperado com o advento da Web3), as brechas para tais crimes podem também aumentar. Isso torna a importância da proteção da blockchain ainda mais significativa.
Fonte: Relatório sobre crimes de criptomoedas em 2022 pela Chainalysis
Principais Conceitos Rudimentares
Antes de nos aprofundarmos em analisar os problemas de segurança mais urgentes na blockchain atuais, é importante ter uma compreensão considerável sobre o domínio de segurança em geral. Abaixo estão alguns conceitos básicos preliminares que desempenham papel importante na discussão relativa à proteção de sistemas baseados em blockchain.
As 5 dimensões de Proteção com referência à Blockchain
Qualquer discussão sobre proteção é incompleta sem a compreensão dos cinco pilares que são considerados como construtores do alicerce dessa área.
Essas dimensões são referidas como confidencialidade, integridade, disponibilidade, autenticidade e não-repúdio.
Confidencialidade: A primeira dimensão é confiabilidade. Isso significa que qualquer informação que esteja sendo trocada ou armazenada dentro do sistema é segura contra indivíduos, grupos ou organizações não autorizados. Em outras palavras, somente aqueles que forem autorizados a ver a informação têm acesso a ela. Nos sistemas baseados em blockchain isso é normalmente alcançado com a ajuda da criptografia assimétrica e principais técnicas de gestão.
Integridade: Se a primeira dimensão tem relação com a privacidade dos dados, a segunda tem mais a ver com a sua precisão geral. Isso envolve garantir que um sistema de informação não seja adulterado por entidades não autorizadas, já que isso pode resultar em alteração ou destruição dos dados. Na blockchain, dados armazenados são imutáveis e permanentes. Como isso significa que uma vez que os dados sejam adicionados à chain não poderão mais ser modificados ou apagados por ninguém, diz-se que atende aos requisitos de integridade. Entretanto, isso não garante que os dados inseridos on-chain sejam confiáveis por concepção e é uma área que requer foco central dos engenheiros de cibersegurança na construção de futuros sistemas baseados em blockchain.
Disponibilidade: Essa dimensão se refere ao acesso fácil aos dados pelos usuários autorizados. Isso significa que independentemente de quaisquer condições externas atenuantes, todas as informações e recursos devem permanecer robustos e totalmente funcionais o tempo todo. Embora isso seja comumente mantido na maioria das soluções on-chain na blockchain, soluções off-chain, se diz, têm dificuldades para isso. O problema de disponibilidade da off-chain tem sido citado como um grande desafio atual, particularmente nas aplicações de canais de estado.
Autenticidade: A quarta dimensão é projetada para evitar a falsificação de usuários autorizados com a implementação de certas medidas de segurança que verificam a identidade dos usuários. Em aplicações gerais, isso inclui o uso de campos como nome do usuário, senhas, e-mail e biometria. Essa medida de segurança também leva em conta a validade das transações e mensagens. Sistemas baseados em blockchain são desenvolvidos para serem anônimos. Assim, o processo de autenticação não é tão simples quanto obter e-mail e biometria de uma pessoa. Em vez disso, isso é feito com uso de chaves criptografadas, onde uma string de dados é usada para identificar um usuário e dar acesso a sua conta ou carteira.
Não-repúdio: A quinta e última dimensão é conhecida como não-repúdio. Isso se refere ao fato de que exista prova substancial dizendo que os dados foram enviados, acessados e recebidos pelos usuários, sem que haja nenhuma parte capaz de discordar da validade dessa declaração. Na blockchain, isso é normalmente implementado com a ajuda de assinaturas digitais que são usadas para desbloquear as transações por usuários autenticados. Por meio dessa propriedade, qualquer usuário que tenha assinado alguma transação ou informação não pode, mais tarde, negar tê-lo feito.
Relação entre Cibersegurança e Segurança Blockchain
Como discutido na seção acima, partes dos recursos fundamentais da blockchain, de fato, garantem as cinco dimensões de segurança até certo ponto. Elementos do projeto básico dessa tecnologia, tais como criptografia, algoritmos de hashing e assinaturas digitais reiteram o fato de que ela foi construída com foco de segurança na mente.
Entretanto, isso não significa que não exista espaço para aprimoramento. Empresas que contratam blockchains, como outros sistemas, precisam adotar medidas de cibersegurança e padrões para se defenderem de ameaças externas.
Cillian Leonowicz, Gerente Senior em Deloitte Ireland fortalece ainda mais a importância disso, declarando que: “as características da blockchain não fornecem uma solução milagrosa impenetrável para todos os males cibernéticos. Pensar assim seria ingenuidade na melhor das hipóteses. Por outro lado, como acontece com outras tecnologias, implementações e lançamentos de blockchain devem incluir controles típicos de segurança cibernética de sistema e de rede, diligência devida, prática e procedimentos”.
A relação inversa também foi discutida extensivamente. Diz-se que a blockchain é uma força motriz potencial no fortalecimento da cibersegurança de plataformas existentes. Ideias propostas incluem mensagens privadas seguras, um DNS descentralizado e o uso de blockchains para dispositivos de segurança IoT, apesar de que atualmente se vê pouca implementação para esse casos de uso.
O Trilema da Blockchain
O trilema da blockchain é um conceito criado por Vitalik Buterin, um dos fundadores da Ethereum. Refere-se a um tradeoff (equilíbrio) de 3 caminhos entre a descentralização, escalabilidade e segurança que desenvolvedores experienciam quando trabalham com a tecnologia blockchain. Abaixo estão os conceitos explicados individualmente:
Descentralização: criação de um sistema de blockchain que não depende de um único ponto de controle.
Escalabilidade: a habilidade de um sistema de blockchain de lidar com o aumento da quantidade de transações.
Segurança: a habilidade que um sistema de blockchain tem de se defender de ataques maldosos, bugs e qualquer outro problema imprevisto.
Apesar de todos serem igualmente importantes, alcançar todos em um único sistema é extremamente difícil. Algumas pessoas vão mais longe e dizem que esse trilema é o resultado de um defeito inerente ao projeto de tecnologia blockchain. Apesar de ser apenas um modelo e não poder ser considerado um fato, ele contribui com a ideia de que a tecnologia blockchain não vem equipada com mecanismos de segurança superiores e proteger esses sistemas deve ser ainda mais difícil e consequentemente mais necessário do que os outros.
Os Problemas de Segurança Mais Urgentes na Blockchain
Existem alguns recursos dentro dos sistemas baseados em blockchain que contribuem para o maior risco. Abaixo estão as principais áreas que identificamos em nossa pesquisa.
A Ausência de Unlinkability (condição de um invasor não conseguir fazer ligação entre as transações)
O anonimato é normalmente citado como sendo um dos principais princípios da tecnologia blockchain, permitindo que qualquer usuário participe na área sem revelar sua verdadeira identidade. Entretanto, como a natureza da blockchain é como um registro público, pode ser muito fácil para qualquer pessoa elaborar ideias sobre a identidade de um usuário específico com base na história da transação. A falha em fornecer proteção de unlinkability para as transações dos usuários é uma das áreas de maior problema desse campo, levando a um conjunto de questões em termos de segurança e privacidade dos usuários.
Fonte: Bitquery Coinpath Archives
A ausência de unlinkability na blockchain pode ser melhor entendida com a ajuda de ferramentas de visualização A empresa de dados de blockchain Bitquery criou uma série de APIs de rastreamento de dinheiro de blockchain chamada Coinpath, que pode ser utilizada para exibir informações sobre transações, como a criação de clusters, fluxos de transação, o balanço da conta de uma carteira específica, assim como todos os endereços de origem e de destino que enviaram ou receberam transações de qualquer endereço. A Plataforma de exchange de criptomoedas, Coinbase criou uma ferramenta parecida com o nome de Coinbase Analytics, que conecta transações para entidades do mundo real e ao mesmo tempo monitora o risco de milhões de endereços.
Confiabilidade pobre das transações
Sistema de blockchain como a Ethereum usa smart contracts para implementar transações complexas. Isso exige que os dados do smart contract e o código em que ele é executado sejam públicos, além da condição de que todo minerador deve emular a execução de cada contrato. Isso pode levar a vazamento de informação do usuário. Da mesma forma, no Bitcoin, o conteúdo das transações como a quantidade de transações e os endereços são totalmente públicos. Isso pode ainda aumentar mais o risco de linkage, onde um pseudônimo fornecido para a blockchain é mapeado pela verdadeira identidade do usuário, um problema que representa um risco adicional no caso de transações confidenciais e dados privados.
O risco de armazenar dados privados on-chain é uma das maiores limitações da blockchain hoje. Muitos até discutem que esse mesmo problema é o que está impedindo a Web3 de se tornar mainstream. É possível que um modelo de compartilhamento baseado em necessidade de saber (em vez do atual no qual todas e quaisquer coisas são visíveis publicamente) seria, a longo prazo, muito mais seguro para usuários. Até lá, é fundamental projetar e implementar mecanismos de proteção mais fortes para a preservação da privacidade dos smart contracts.
Imutabilidade da Blockchain
Um dos principais recursos da tecnologia blockchain é sua imutabilidade. Isso significa que uma vez que os dados são adicionados à blockchain, estarão lá para sempre e não poderão ser alterados ou mudados de jeito nenhum. Embora essa propriedade seja benéfica para evitar a manipulação de dados ou para minimizar ataques de gastos duplos, também traz alguns problemas.
Como os dados on-chain não podem ser alterados ou excluídos, pode levar à redundância em massa que pode retardar o processamento na rede. É muito difícil corrigir os erros, como no caso de código com erro nos smart contracts, levando a problemas maiores de segurança.
Já sabemos que a quantidade de dados na Web2 é imensa, com números apontando para uma estimativa de mais de 2.5 quintilhões de bytes sendo gerados todos os dias. Se a mesma quantidade de dados fossem gerados na Web3 impulsionada pela blockchain, seria, teoricamente, também imutável - uma situação que poderia levar a vários problemas práticos.
Principal Risco de Gerenciamento
Na blockchain, a propriedade de qualquer ativo digital é sinônimo de posse das chaves. Se alguém roubar a chave privada de um usuário, a propriedade dos ativos vinculados àquela chave seria retirada dele, fazendo com que o ativo não fosse mais dele. Ativos digitais roubados podem se tornar irrecuperáveis, especialmente se não exista administrador ou controlador do sistema.
Muitas vezes, os invasores descobrem que a melhor maneira de obter chaves é atacar o link mais fraco na chain, que, nesse caso, é nos computadores pessoais ou celulares que são utilizados pela maioria dos usuários na área. Consequentemente, é essencial que engenheiros de cibersegurança sigam as melhores práticas no uso de carteiras e gerenciamento de chaves para minimizar esse problema.
Questões de Integridade e Disponibilidade nas Soluções Off-chain
Soluções off-chain ajudam a resolver problemas de escalabilidade e velocidade que existem nas soluções on-chain. Elas normalmente tendem a ser mais baratas, mais rápidas, mais privadas e oferecem aos usuários controle sobre qual informação eles querem tornar disponível publicamente.
Entretanto, apesar de suas vantagens, soluções off-chain apresentam riscos para usuários em termos de integridade. Como é difícil modificar dados sem ser notado pelo resto da rede, a integridade é garantida por padrão nas soluções blockchain de camada 1. Quando os dados são armazenados fora da blockchain, entretanto, essa funcionalidade é perdida porque o armazenamento é manejado por terceiros. Se, por alguma razão, esse sistema ou processo terceirizado falhar no fornecimento do serviço necessário, todo o processo de integração entre on-chain e off-chain falha, o que resultaria em perda de dados para os usuários.
Áreas que Podem Ser Comprometidas em Sistemas Blockchain Existentes
Hackeando uma Carteira
Proprietários de criptomoedas armazenam seus ativos em carteiras de criptos. Para garantir a segurança desses ativos, cada carteira gera uma frase semente que pode ser usada para recuperar a carteira no caso do usuário perder, danificar ou excluir sua carteira. Enquanto a frase semente estiver protegida, os fundos do usuário também estarão protegidos.
Se a frase semente de uma pessoa fosse roubada, entretanto, poderia ser que os ativos na carteira conectada àquela frase semente também não estejam protegidos. Um invasor pode facilmente capitalizar numa frase semente vazada para assumir o controle dos fundos de um usuário. Um ataque phishing (referente a fishing - pesca - é a tentativa de adquirir dados pessoais de diversos tipos) na área Discord da NFT collectible Cryptopunks alcançou exatamente isso, manipulando um usuário para entrar com sua frase semente a fim de ter chance de ganhar “10 super exclusivos avatares NFT”. Em segundos, a carteira do usuário ficou limpa.
Alguns apps na Web2 também cometeram esse erro simples, com um aplicativo pedindo aos usuários para entrarem com sua frase semente como uma forma de fazer login no aplicativo, como mostra a figura acima. Muitas pessoas apontaram isso como sendo não somente uma grande irresponsabilidade, mas também perigoso, já que as frases sementes são a fonte da identidade digital de uma pessoa.
Protegendo Chaves de Pontes Centralizadas
Pontes Blockchain foram introduzidas como uma solução para o problema de interoperabilidade da blockchain. Essas pontes fazem a ligação entre duas blockchains que funcionam de forma independente. Os usuários podem, então, utilizar essa tecnologia para realizar uma variedade de tarefas, incluindo transferência de ativos, empréstimo cross-chain (cadeia cruzada) e execução de dapps em várias plataformas, ao invés de uma só.
Entretanto, é importante observar que quase todas as pontes blockchain possuem um servidor central pelos quais elas operam, tais como AWS ou Hostinger. Consequentemente, o mecanismo de armazenamento da chave privada deve ser examinado para garantir que não haja vazamento ou comprometimento de qualquer tipo, já que confiar as chaves privadas a terceiros é, por si só, irresponsabilidade.
Rastreamento de Dados em Exchanges Centralizadas
Outra área considerada comprometida é o caso das exchanges centralizadas como a OpenSea. Essas entidades armazenam uma grande quantidade de dados de usuários, em algumas exchanges como a Binance exigindo até fotos de carteiras de identidades do usuário, assim como a verificação de endereços para registro em sua plataforma.
Apesar disso ser feito com a justificativa de ser uma forma de manter maus atores longe da área, não tem como negar que uma ação dessa pode levar ao aumento do rastreamento de dados, gerando a ausência do problema de unlikability discutido anteriormente.
Confiança dos Dapps em Serviços de Terceiros
Apesar de ser descentralizado pelo nome, a verdade é que a maioria dos dapps, para funcionarem, dependem de serviços de terceiros, como a Infura, Alchemy, ou Truffle. Trabalhando de maneira muito semelhante aos servidores centralizados da Web2, essas empresas prometem fornecer aos desenvolvedores em Ethereum as ferramentas e estruturas que eles precisam para levar seus aplicativos de teste para implantação, tornando-os uma opção lucrativa.
A facilidade fornecida por essas plataformas resulta em que elas sejam confiadas pela maioria dos desenvolvedores. Michael Wuehler, o cofundador da Infura, explicou por que isso pode ser potencialmente perigoso, afirmando, “Se todos os dapps do mundo fossem apontados para a Infura e nós decidíssemos desativá-los, então poderíamos e os dapps poderiam parar de funcionar. Essa é a preocupação e é uma preocupação legítima.”
Além disso, uma situação como essa, poderia significar que qualquer desses serviços ficasse comprometido de alguma forma, todos os dapps associados a eles estariam desprotegidos.
Conclusão
A necessidade urgente de fornecer proteção aos sistemas baseados em blockchain tem ficado cada vez mais evidente, nos últimos anos. Conforme o número de soluções blockchain disparam, também dispara o público de usuários em potencial, levando a uma superfície de ataque maior e a repercussões mais perigosas se alguma coisa der errado.
Nesta publicação, nós tentamos fazer um esboço dos problemas atuais, que os sistemas baseados em blockchain encaram, para obter a segurança de suas plataformas. Alguns pontos mais importantes foram discutidos, incluindo a importância de proteger as blockchains, as preocupações de segurança mais urgentes, bem como as áreas que podem ser comprometidas nos sistemas existentes que implementam essa tecnologia.
Uma observação feita por Sheila Warren, chefe da plataforma no Fórum Econômico Mundial pode ser referenciada como o melhor resumo sobre o estado atual das coisas:
“A tecnologia Blockchain não pode resolver o fator humano. Se algumas vezes alguém inserir dados sujos numa blockchain, este lixo é gravado para sempre e pode inadvertidamente se tornar uma fonte falsa de verdade. Consequentemente, uma análise de higiene de dados é um precursor essencial para qualquer implantação de blockchain” — Sheila Warren, Chefe de Plataforma — Blockchain, Moeda Digital, e Política de Dados, Fórum Econômico Mundial.
No futuro, vamos explorar as soluções dos problemas abordados nesse texto. Desse modo, esperamos instruir engenheiros de cibersegurança e profissionais de segurança para garantir que nossos sistemas permaneçam tão protegidos quanto possível.
References
Chainalysis. (n.d.). 2022 Relatórios de Crimes Criptográficos. Consultado em 18 de fevereiro, 2022, em https://go.chainalysis.com/rs/503-FAP-074/images/Crypto-Crime-Report-2022.pdf
Gimenez-Aguilar, M., de Fuentes, J. M., Gonzalez-Manzano, L., & Arroyo, D. (2021). Conseguindo Ciberseguranças em sistemas baseados em Blockchains: Uma pesquisa.
Future Generation Computer Systems, 124, 91–118. https://doi.org/10.1016/j.future.2021.05.007
Liu, L., Zhang, R., & Xue, R. (2019). Segurança e Privacidade na Blockchain. ACM Comput. Surv.,
https://doi.org/https://doi.org/10.1145/3316481
Lumb, R. (2016, September 9). Desvantagem do Bitcoin: Um livro-registro que não pode ser corrigido. The New York Times. Consultado em 3 de março, 2022, em https://www.nytimes.com/2016/09/10/business/dealbook/downside-of-virtual-currencies-a-ledger-that-cant-be-corrected.html
Molina, F. (2021). Construindo soluções de blockchain com reconhecimento de privacidade: diretrizes de design e técnicas de análise de ameaça (tese). Universidad De La Republica Del Uruguay.
Tovanich, N., Heulot, N., Fekete, J.-D., & Isenberg, P. (2021). Visualização de dados de blockchain: Uma revisão sistemática. IEEE Transactions on Visualization and Computer Graphics, 27(7), 3135–3152. https://doi.org/10.1109/tvcg.2019.2963018
Kit de ferramentas de Blockchain WEF: Integridade de dados. Fórum Econômico Mundial | Integridade de Dados. (n.d.). Consultado em 25 fevereiro, 2022, em https://widgets.weforum.org/blockchain-toolkit/data-integrity/index.html
Este artigo foi escrito em BlockApex e traduzido por Fátima Lima. Seu original pode ser lido aqui
Latest comments (0)