According to a new report by the Independent Security Evaluators, one ‘blockchain bandit’ was able to siphon off a fortune of 45,000 ether by guessing user’s private keys. The stolen stash was at one point worth more than $50M.
Last year, Adrian Bednarek and his team at Independent Security Evaluators tried a simple experiment — could wallet private keys be guessed using cloud servers?
The experiment brought surprising results. The previously unguessable, 78-digit string of numbers could technically be breached if it was narrowed down to the first value being 1. The team then tried to guess other consecutive keys beginning with 2, 3, 4, and then a couple of dozen other combinations.
However, they were shocked to find that many of these easily-guessable wallets were already emptied.
Mysterious Blockchain Bandit Makes Off with Millions
In a new paper outlining their findings, the Security Evaluator team concluded that not only could private keys be guessed, but that a secret bandit was already one step ahead of them.
The mysterious hacker had managed to empty out accounts to steal a fortune of 45,000 ether using the same trick the team was employing.
How is this even possible? For starters, guessing a random key is, safe to say, unthinkable. The odds of guessing a randomly-generating key is around 1/2256. That denominator is roughly the same number of atoms in the universe (114 quattuorvigintillion in case you were wondering).
However, upon further investigation, Adrian Bednarek and his team realized many people were storing their ether with vastly simpler private keys. This is due to the fact that Ethereum (ETH) often cuts off keys at a fraction of their intended length due to errors, or sometimes users even choose their own keys. This makes them much easier to guess.
Bednarek scanned some 34B blockchain addresses for these weak keys in a process called ‘ethercombing.’ The team managed to identify 732 ‘easily guessable’ private keys but, strangely enough, all of them were emptied. Many of these stolen funds went to one Ethereum address which today holds 45,000 ether.
Bednarek tried the same test on Bitcoin (BTC), but could not find as many weak private keys. Nonetheless, over 100 weak Bitcoin keys were identified and they, too, had been emptied. However, the breach was nowhere as severe as on Ethereum.
Although the bandit will likely never be identified, the lesson Bednarek wants us all to take from this is that wallet developers must audit their code carefully. Any bugs which might truncate keys and leave them vulnerable must be carefully located and resolved.
Although it is likely that 99.9 percent of all private keys are unguessable, that 0.01 percent just may be enough for a hacker to become a millionaire — as this notoriously savvy blockchain bandit managed to do.
Do you think private keys have unresolved vulnerabilities? Should users be concerned? Let us know your thoughts in the comments below.
Images courtesy of Shutterstock.