O Blockchain pode ser seguro, mas e o software que interage com ele? Temos visto o aumento de ataques cibernéticos por conta de vulnerabilidades em sistemas que suportam exchanges, mineradoras, contratos inteligente, etc

Proteger o ecossistema Blockchain é o problema de segurança cibernética mais desafiador do momento. O Blockchain em si pode ser seguro, mas isso não significa que todas as peças que o usam – carteiras, trocas, mineradoras, contratos inteligentes – estejam seguras. E muitas não estão. De acordo com um estudo recente da Carbon Black, hackers roubaram 1,1 bilhão de dólares em criptografia no primeiro semestre deste ano.

Embora a ameaça seja basicamente restrita ao Blockchain público, no momento, o espaço corporativo será o próximo. Fraquezas no Blockchain privado serão encontradas devido a explorações já bem-sucedidas do blockchain público.

Curva de aprendizado de segurança
Toda nova tecnologia gera novas ameaças e uma nova curva de aprendizado de segurança. Com qualquer nova tecnologia, precisamos esperar algum tempo até que os riscos surjam e consigamos entender como lidar com eles. Passamos por essa mesma curva com WiFi, e ainda estamos nela com IoT. Estamos atualmente nos primeiros estágios de aprendizagem quando se trata de segurança Blockchain. E precisamos aprender rápido, porque é um alvo atraente. Há muito dinheiro envolvido e uma quantidade correspondente de atividades de invasores vem acontecendo.

Parte da razão pela qual Blockchain é um alvo tão atraente é porque, nesse novo cenário, os cibercriminosos podem eliminar um passo para chegar à recompensa: eles não precisam se preocupar em como ganhar dinheiro com os dados que roubam. Eles simplesmente roubam o dinheiro (virtual) em si.

Os elos mais fracos
Até que todo o sistema Blockchain seja seguro de ponta a ponta, haverá lugares onde os invasores poderão entrar. Os componentes que interagem com o Blockchain são escritos em código, e a maioria dos códigos possui bugs e vulnerabilidades. Examinamos bilhões de linhas de código no Veracode, da CA, e encontramos um número significativo de vulnerabilidades ano após ano. Nosso conjunto de dados mais recente descobriu que 77% dos aplicativos tinham pelo menos uma vulnerabilidade na varredura inicial. Com estatísticas como essa, você acredita que todo o software interagindo com o Blockchain é seguro? As carteiras, os contratos inteligentes, as trocas?

Vejamos exchanges e contratos inteligentes, por exemplo. As exchanges de criptomoedas são plataformas online nas quais os usuários podem trocar uma criptomoeda por outra criptomoeda (ou por moeda fiduciária). Em outras palavras, dependendo da bolsa, ela pode funcionar de forma semelhante a uma bolsa de valores ou a uma troca de moeda (no aeroporto ou banco).

Houve algumas violações significativas de trocas nos últimos anos:

– A Gox perdeu US$ 480 milhões em Bitcoin

– Em 2016, a Bitfinex sofreu uma invasão de carteira com várias assinaturas e perdeu US$ 72 milhões

– A Nicehash perdeu US$ 63 milhões depois que um atacante roubou credenciais por meio de um ataque de phishing

– O Coincheck sofreu um ataque porque estava armazenando tudo em uma carteira quente e usando autenticação de fator único. (Isso é como um banco armazenando todo o dinheiro na gaveta de um caixa).

Os contratos inteligentes, que facilitam, verificam ou reforçam digitalmente a negociação ou a execução de um contrato, também não são imunes. Também vimos erros simples de programação em contratos inteligentes que levaram a algumas violações significativas:

– A DAO tinha um bug em seu contrato inteligente. Um bug de reentrância permitiu que um atacante drenasse US$ 50 milhões em Ether.

– Problemas de controle de acesso da Parity levaram a uma violação de US$ 30 milhões.

Em última análise, é ingênuo pensar que só porque você está lidando com o Blockchain, suas transações são seguras.

O que os usuários do Blockchain devem fazer para se proteger? Comece com algumas medidas básicas de segurança:

– Não exponha sua chave privada

– Use autenticação de dois fatores

– Não publique endereços de e-mail ou números de telefone online ao usar trocas

– Não se gabe sobre sua fortuna de criptografia online

Implementando segurança em nível de código

Precisamos daqueles que criam software que interage com o Blockchain para criar segurança em seus processos. Eles precisam considerar:

– Um bom ciclo de vida/ecossistema de desenvolvimento de software

– A adição de segurança ao processo de desenvolvimento e ao código herdado

– Uso de autenticação de dois fatores

– Adesão às melhores práticas padrão

– Uso de SSL e certificados para garantir que as partes são quem elas dizem que são

Há muitos benefícios úteis para o Blockchain, incluindo melhores contratos legais, maior visibilidade nas cadeias de suprimentos e ainda menos fraude nas votações. Mas, como qualquer nova tecnologia, os agentes de ameaças estão procurando por pontos fracos que podem aumentar o ceticismo e desacelerar a adoção.

Fonte: CIO
Autor: Chris Wysopal , CSO/EUA