CIÊNCIA & TECNOLOGIA
Como blockchain supera os desafios da cibersegurança
Aspectos de segurança cibernética de blockchains e protocolos de consenso
A segurança e a autenticação das comunicações são fundamentais no mundo atual, dada a onipresença das plataformas e sistemas eletrônicos numa sociedade cada vez mais hiperconectada. Bem por isso, gestores e tomadores de decisão também devem olhar para a cibersegurança em blockchain com uma perspectiva de longo prazo.
Vejamos, então, do ponto de vista da cibersegurança, quais estruturas e influências que a tecnologia blockchain pode ter.
Blockchains na preservação da “tríade da CIA”
A segurança cibernética é frequentemente descrita como uma questão de preservar as três propriedades conhecidas como “triade da CIA“: confidencialidade, integridade e autenticidade.
- Confidencialidade
Confidencialidade é a proteção de dados contra acesso não intencional, ilegal ou não autorizado, divulgação ou roubo
Blockchains podem ser usados para apoiar a confidencialidade por meio do gerenciamento de direitos de acesso ou registros, por exemplo, em identidade auto-soberana.
- Integridade
Significa a manutenção e garantia da precisão e consistência dos dados ao longo de todo o seu ciclo de vida
Blockchain pode apoiar a integridade por meio de propriedades como carimbo de data / hora e reconhecimento de firma da data, por exemplo, na certificação de documentos.
- Autenticidade
Autenticidade diz respeito à reservação da veracidade dos dados, certificando-se de que os dados recebidos no servidor de coleta são originais e foram recebidos exatamente como enviados
Os blockchains podem oferecer suporte à autenticidade fornecendo credenciais digitais e garantindo a escassez digital, por exemplo, em sistemas de identidade, rastreamento e pagamentos.
Áreas de atenção de cibersegurança em blockchains
Existem diferentes áreas de preocupação de segurança em blockchains [1].
Contratos inteligentes
Smart contracts são a única preocupação puramente relacionada ao blockchain
Eles são um alvo interessante devido às suas muitas vulnerabilidades: são acessíveis ao público, têm valor e são imutáveis, o que significa que bugs / vulnerabilidades uma vez que o contrato é lançado não podem ser corrigidos.
Código fora da cadeia, como bancos de dados e APIs
Existem também os problemas usuais de cibersegurança fora da cadeia que as pessoas tendem a ignorar. Isso inclui problemas de segurança em: Bancos de dados, sites, Gerenciamento de chave, APIs, dentre outros.
Tais problemas usuais de segurança compõe de 80-90% dos aplicativos de blockchain, e a segurança dos quais é frequentemente negligenciada.
a) Incidentes de segurança comuns incluem:
- Autenticação não segura;
- Uso incorreto de criptografia;
- Exposição de armazenamento de chaves;
- Vulnerabilidades de software;
- Backdoors, normalmente criados por um funcionário insatisfeito.
b) Vulnerabilidades de infraestrutura, incluindo no software do nó ou na rede
- Node software, sistemas operacionais com vulnerabilidades;
- Rede;
- APIs que são abertas e não deveriam ser;
- Permissões não definidas corretamente.
c) Incidentes comuns incluem
- Vulnerabilidade no software do nó (node);
- Segurança de host de nível de sistema operacional;
- Segurança de rede;
- Ataque de negação de serviço;
- Ataque Eclipse (isole um nó de modo que ele veja apenas sua própria cópia do blockchain).
Infraestrutura
Veremos mais adiante quando tratarmos da segurança do blockchain em nível de protocolo.
Interação Humana
Humanos, que são a preocupação mais séria atualmente, geralmente são o elo mais fraco em segurança.
a) As vulnerabilidades incluem:
- Desleixo, por exemplo, uso de senhas fáceis de decifrar;
- Comportamento irracional;
- Comportamento não determinístico;
- Valorizar a experiência do usuário acima da segurança, o que reconhecidamente é uma troca muito difícil em blockchain.
- Elo mais fraco da corrente.
b) As façanhas comuns de humanos incluem:
- Engenharia social, como phishing, que é um grande problema;
- Vazamento de informações;
- Ataques internos;
- Atalhos de segurança;
A cibersegurança do blockchain no nível do protocolo
Os protocolos de blockchain são seguros, mas existem cenários de ataque possíveis.
Para entender a segurança do blockchain no nível do protocolo, primeiro você precisa entender se o blockchain é público ou privado, e se é permissionado ou não permissionado [2].
Os problemas de segurança variam conforme os diferentes tipos de blockchain
Nos Blockchains públicos, qualquer nó pode se juntar à rede e acessar / gravar dados no livro-razão, por exemplo, Bitcoin ou Ethereum público.
Já no blockchain privado, as operações de leitura / gravação são restritas a participantes autorizados, como é o caso do Hyperledger Fabric.
Também é necessário diferenciar entre blockchains não permissionados e permissionados. Em estruturas não permissionadas, qualquer nó da rede pode ler e gravar transações. Em blockchains permissionados, uma ou ambas as ações são restritas aos nós autorizados.
A segurança blockchain e as arquiteturas multicamadas
Ainda, é importante considerar as arquiteturas multicamadas, quais sejam:
- camada de aplicação;
- de mecanismo de contrato inteligente;
- de consenso; e, por fim,
- camada de rede.
Essas duas últimas são importantes para a cibersegurança, pois as duas camadas superiores dependem delas.
De outro lado, para ter sucesso, um protocolo de consenso distribuído deve garantir segurança (integridade dos dados) e vivacidade (alta disponibilidade da rede) em face de diferentes modelos de rede, diferentes suposições de confiança entre os participantes e à luz da possível existência de nós maliciosos (referidos como nós bizantinos).
Olhando para os mecanismos ou protocolos de consenso de uma perspectiva de alto nível, podemos distinguir duas famílias principais.
Primeiro, os protocolos de consenso baseados em “loteria”, como Prova de Trabalho (PoW) e a maioria das Provas de Participação (PoS), envolvem uma eleição probabilística dos líderes na rede. Daí, eles são bons para redes públicas porque funcionam com um grande número de nós (nodes), mas são lentos.
Segundo, os protocolos de consenso baseados em votação abrangem os mecanismos de consenso tolerantes a falhas bizantinos clássicos. Eles usam um processo de votação para eleger um líder e são altamente adequados para redes permitidas com pequeno número de nós.
Cenários de ataque possíveis no nível do protocolo blockchain
a) ataque 51% ou ataque de gasto duplo
- Reorganização da cadeia
- Hashpower (ou poder hash) pode ser alugado por hora
b) Selfish mining
- quando um minerador aumenta sua chance de obter uma recompensa por pré-minerar um bloco.
c) The long-range attack in proof of stake consensus — Ataque de longo alcance como prova do consenso da participação
d) Má aleatoriedade na prova de consenso da participação
e) Conluio de delegado em “delegated proof of stake”
A proteção de ativos digitais em blockchains
A maioria dos problemas de segurança cibernética enfrentados pelas implementações de blockchain não estão diretamente relacionados ao blockchain, mas sim a questões tradicionais de segurança cibernética [3].
Tal pode incluir vulnerabilidades em código fora da cadeia, como bancos de dados e APIs, vulnerabilidades na infraestrutura subjacente, autenticação não segura, uso incorreto de criptografia ou exposição de armazenamento de chave, entre outros.
Como acontece com qualquer tipo de segurança cibernética, a vulnerabilidade mais séria é o ser humano.
Com efeito, os blockchains são vulneráveis a toda uma gama de problemas de segurança relacionados a pessoas, desde ataques de engenharia social, vazamento de informações, ataques internos, incluindo backdoors introduzidos por funcionários insatisfeitos à preguiça ou ignorância dos procedimentos de segurança adequados.
Perspectivas possíveis para cibersegurança em blockchains
É possível olhar para segurança cibernética de blockchain sob duas perspectivas distintas [4]:
Sob a perspectiva das capacidades defensivas, visualiza-se a cibersegurança sob a ótica dos usuários, proprietários de plataforma ou profissionais de segurança, que são considerados aqui amplamente como defensores.
Já sob a perspectiva das capacidades ofensivas, visualiza-se a cibersegurança sob a ótica de um adversário ou invasor que normalmente tenta explorar, interromper, modificar ou hackear amplamente soluções baseadas em blockchain.
Capacidades defensivas
Sob a ótica das capacidades defensivas, o Blockchain foi projetado com certos elementos de segurança em mente (como a natureza distribuída do armazenamento de dados), no entanto, existem conceitos adicionais que estão sendo propostos para aumentar ainda mais o potencial de segurança.
Nesse passo, dentre esses conceitos adicionais desenvolvidos para aumentar a segurança em blockchains, pode-se citar: Mecanismos de proteção de privacidade para não armazenar detalhes da transação em “texto simples” em blockchains que são usados como parte de contratos inteligentes sem a necessidade de empregar camadas de segurança adicionais, como ofuscação ou criptografia [5]; sistema de alimentação de dados autenticado para contratos inteligentes que precisam obter dados confiáveis de fontes externas localizadas fora do blockchain. Pode incluir dados fornecidos pelo governo, entre outros que podem iniciar ou influenciar contratos e podem usar credenciais seguras para camada adicional de proteção de acesso [6], dentre outros.
Quanto às novas ferramentas de cibersegurança que aproveitam o próprio design da tecnologia, várias startups têm empregado conceitos básicos de blockchain para alcançar diferentes funcionalidades, como autenticação aprimorada, melhor mecanismo de proteção de dados ou plataformas holísticas de segurança cibernética.
Capacidades ofensivas
No tocante à ótica das capacidades ofensivas, quase não há metodologias publicadas ou estudos de caso que descrevem como alguém pode influenciar outros sistemas ou aplicativos influenciando a solução de blockchain [7].
Até agora, os agentes mal-intencionados podem usar Denial of Service (DoS) ou procurar vulnerabilidades gerais para escalar privilégios.
Nessa linha, é possível identificar 5 grupos principais de ameaças e 2 vetores de ataques tradicionais, quais sejam:
- Grupos de ameaças que em teoria podem atingir IDD baseada em blockchain: Ameaças de gasto duplo; de mineração / pool; de carteiras [8]; à rede [9]; e, por fim, ameaças de contratos inteligentes [10]
- Vetores de ataques tradicionais que em teoria poderiam atingir IDD baseada em blockchain: Negação de serviço distribuída – DDoS -, conquanto seja mais difícil desencadear um ataque DDoS em IDD baseada em blockchain devido à sua natureza distribuída e mecanismo de prevenção integrado; bugs e vulnerabilidades [11].
Takeaway
Apesar de ser uma tecnologia relativamente jovem, com apenas 12 anos, Blockchain é atraente em termos de mitigação do risco cibernético devido a suas propriedades únicas.
Por fim, não é fácil direcionar soluções blockchain como facilitador de um ataque cibernético. Pelo menos, não há registro identificado ou documentado neste sentido. Tal não significa, contudo, que não seja possível [12].
—–
Referências
[1] EU Blockchain Observatory & Forum. In: Workshop: Cyber Security. Brussels, 29 de Outubro de 2019.
[2] Idem Nota 1.
[3] Idem Nota 1.
[4] A. Rot and B. Blaicke, “Blockchain’s Future Role in Cybersecurity. Analysis of Defensive and Offensive Potential Leveraging Blockchain-Based Platforms,” 2019 9th International Conference on Advanced Computer Information Technologies (ACIT), Ceske Budejovice, Czech Republic, 2019, pp. 447–451, DOI: 10.1109/ACITT.2019.8779855.
[5] Kosba, A. Miller, E. Shi, Z. Wen, C. Papamanthou, “Hawk: The blockchain model of cryptography and privacy-preserving smart contracts”, IEEE Symposium on Security and Privacy, 2016, pp. 839-858
[6] Zhang, E. Cecchetti, K. Croman, A. Juels, E. Shi, “Town crier: An authenticated data feed for smart contracts”, Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, 2016, pp. 270-282.
[7] Idem Nota 4.
[8] Uma wallet (carteira) é usada a autenticação baseada em chave privada. Uma carteira nesta configuração é uma coleção de chaves privadas para gerenciar todas as transações e contas. Existem cinco ataques e bugs que visam esse mecanismo de autenticação, em muitos casos usando falhas no Algoritmo de Assinatura Digital da Curva Elíptica (ECDSA);
[9] Por ser uma rede distribuída, existem várias maneiras de influenciar os nós de mineração e os usuários que enviam transações. No total, existem pelo menos 10 tipos diferentes de ataques conhecidos, aproveitando as falhas no protocolo blockchain, roteamento da Internet ou limitações de rede ponto a ponto. Em Estruturas auto-soberanas como o Sovrin usam o modelo de um administrador para manter a confiança. Os administradores, por sua vez, são terceiros confiáveis - organizações que operam os nós no razão distribuído. Sovrin atualmente tem mais de 50 administradores que fornecem energia humana e de computação. O aspecto positivo disto é que tal modelo estende a noção de descentralização para outra camada. Mas os administradores se tornarão um ponto fraco no sistema? Ora, os cibercriminosos terão como alvo os administradores para obter o controle dos nós?
[10] Contratos inteligentes são scripts que executam transações quando certas condições são atendidas. Até agora, eles estão associados a outra grande criptomoeda chamada Ether (parte da plataforma Ethereum).
[11] Possível encontrar e explorar vulnerabilidades de um serviço ou software blockchain que podem estar relacionados a uma implementação ou ambiente específico em um servidor ou cliente, em vez de falhas no próprio sistema.
[12] Idem Nota 4.
itforum365