Since 4 of the 5 compromised keys were under the control of one organization, it seems reasonable to wonder about an inside job.
Since 4 of the 5 compromised keys were under the control of one organization, it seems reasonable to wonder about an inside job.
There's good commentary on Axie Infinity (the Sky Mavis game which got hacked) and links to more detailed explanations here.
https://web3isgoinggreat.com/?id=2022-03-29-0
(particularly by Molly White the owner of the web3isgoinggreat https://blog.mollywhite.net/axie-hack/ )
For clarity: I'm interested in answers to questions such as : how exactly did the attacker gain control of 5 validator private keys? The validators were running a vulnerable version of the Linux kernel, and the private keys were sitting in the filesystem, for example, could be an answer. And: what exactly is the mumble about RPC about? Did they build some sort of master key into the bridge contract, then left that key sitting on a machine with no root password?
And it appears the final key was also under the control of the same organization temporarily.
I don't have more details because I don't think they've released any, but fundamentally, that appears to be the critical vulnerability which made this hack almost inevitable.
They began with a system that was extremely carefully designed to be decentralized (multiple signers) and then they centralized it.
Subsequently, the hacker only had to attack one organization, instead of five
Incompetence? Inside job? Or why not both?
- The bridge was controlled by a 5 of 9 validator set (ie. 5 of the 9 nodes needed to agree to withdrawals and deposits between Ethereum and Ronin)
- 4 of these nodes were run by Sky Mavis themselves (a bad idea), those were compromised because their internal infra was compromised in some traditional social engineering attack (ie. not blockchain related, just a normal cloud infra compromise)
- 1 of the nodes was run by the community-operated Axie DAO. However, that node had whitelisted Sky Mavis' cloud infrastructure a while back to allow them to run transactions through Axie DAO's node in order to use Axie DAO treasury funds to pay gas on user's behalf (to help with onboarding into Ronin).
This was discontinued, but they forgot to remove the whitelist (another critical mistake), so the hackers were able to use that Axie DAO node for the final 5th verification needed to steal bridge funds (because they had compromised the whitelisted Sky Mavis cloud infra).
TLDR: A traditional cloud infra compromise via unspecified social engineering attack, compounded by an insufficiently decentralized validator set allowing the bridge funds to be "withdrawn" to hacker's wallets by forging fake signatures. This is why decentralization is important in blockchain infra, and they learned the hardest way possible.
Hope that helps!
The whitelisting wasn't a secret. Axie DAO is an open community, so it's easy to have known the whitelist existed and was left in. It was a very bad idea, but what can I say, people get cocky and make mistakes. The only difference in crypto is that it has a built-in bug bounty of losing stored funds like this, so you have to take security incredibly seriously, and they didn't.
Why? The concerns (how to steal the money, how to launder/tumble it) seem orthogonal.
Random question: is there a statute of limitations on this type of theft? If so, insiders would be highly incented to steal 600M today and then wait X years before using that one-time, anonymous wallet.
The fact that the FBI was able to recover the Colonial Pipeline hack funds from the hacker Bitcoin wallet, something that should have been theoretically almost impossible, basically told me that if you steal enough money for the feds to get interested, you better be in a country where they can't get to you.
First, as carlosdp points out, insiders are the first suspect, everyone knows that now, and the FBI has advanced methods of finding them and recovering the funds. There's more deterence factor now.
Second, hacking cloud infrastructure for industrial secrets and the like is so common these days, there are tons of black hat hackers and groups around the world that specialize in that.
Third, the hack was simple once it was realized that the 5th of 9 signing keys was compromised by the whitelist. Combine that bit of information with #2 and it's essentially a guarantee that someone will make an attempt at it.
Fourth, due to war in Ukraine, the world is in an elevated state of cyber warfare now. On top of the usual criminal hackers just looking to steal money, Russian and their allied hackers are seeking ways of stealing money to break sanctions, and/or disrupt financial systems in the West.
All this just increases the odds the attack came from outside the org.
Unless all swap contracts are updated to somehow keep track of any funds associated with the hackers original address, washing up those funds it's just a matter of time, no?
Those ZK-pool based mechanisms all depend on the amounts being significantly smaller than the total pool in order to attain reasonable levels of anonymity. Unless you intend to take out incredibly small sums over time (at which point, why take 600m), statistical methods will flag you eventually.
I guess maybe if you wait long enough, in theory those pools could get big enough to allow you to more safely retrieve larger sums. But all the while you are trying to hide this from coworkers and not tell a single soul and live below your means. Easier ways to make a ton of money in crypto right now that don't put you in jeopardy of jail time if/when you screw up.
Just because that was the amount locked in contracts :)
If you have that much money you'll find ways to funnel them out while keeping anonymity. Heck, even selling tokens in real life at half their market value is an option if you're desperate.