4 ms·
It sounds like MtGox must have had no auditing of their wallets, or completely ineffective auditing. How did they not at least perform a simple sum of coins he
by Pyxl101 9y ago
It sounds like MtGox must have had no auditing of their wallets, or completely ineffective auditing.
How did they not at least perform a simple sum of coins held by their wallets and compare it against the amount expected by their databases? Or is the attack more sophisticated than this would detect?
If I were building a system like this, I'd want to run an auditing system continuously that looks for discrepancies, and then "shuts down everything" if they're detected.
- FRex 9y agoThe site was originally made for trading Magic The Gathering Online cards by one guy who later got bored and then got into Bitcoin but I have no idea and wikipedia doesn't mention if they reused any code or just the domain name itself. It's a fun piece of trivia one crypto currency guy told me and it seems to be true.
- camjohnson26 9y agoYep. Mt Gox = MTG: Online Exchange
- mobiletelephone 9y agoMagic the Gathering Online Exchange ;)
- FRex 9y agoYes, I never realized.. seriously, I didn't until today. I thought it was meant to sounds like Knox and Mount to invoke images of gold, vault in a mountain side and so on.
- vesinisa 9y agoIIRC the site was written in PHP and it was a miracle it didn't get hacked earlier (or, now it seems, it did, but the hackers kept the site running to maximize the heist). https://gist.github.com/alainmeier/9319451 https://gist.github.com/alainmeier/9319451
- DonHopkins 9y ago"PHP can do anything, what about some ssh?" -Mark Karpelès ಠ_ಠ https://web.archive.org/web/20100701145902/http://blog.magicaltux.net/2010/06/27/php-can-do-anything-what-about-some-ssh/ https://web.archive.org/web/20100701145902/http://blog.magic...
- zapt02 9y agoTo be fair, PHP by itself is not the issue here, the issue is rather being amateurs (Mark, Ross) who started doing a fun project and ended up brokering millions of dollars without having the experience or opsec of doing so. This is what lead to their downfall.
- viraptor 9y agoIt really bothers me how often people repeat it like it means anything in this case. Like they forget Amazon was just selling books. Also no idea if it still uses any of the old code or just the name itself.
- mbreese 9y agoBut Amazon still sells books... The MtGox pivot from trading cards to Bitcoin was pretty dramatic.
- mikeyouse 9y agoJed McCaleb built a beta release of a Magic trading card exchange for the MtGox domain. He then read about bitcoin in a Slashdot article posted on July 11th, 2010 after which he decided to write an exchange. McCaleb insists that the bitcoin exchange was completely different from the Magic cards exchange, but Mt Gox went live as a Bitcoin exchange July 18th, 2010. So either McCaleb built a brand new exchange from the ground up in one week, or he reused code from his Magic card trading service. McCaleb sold the site to Karpeles 8 months later, and 3 months after that, it was breached for the first time. Allegedly, the hacker used McCaleb's old admin credentials to arbitrarily assign himself any amount of bitcoin, which he then started selling off to crash the price. Since the price crashed to $0.01, the dollar value of the withdrawal limit represented several thousand bitcoin, which the attacker promptly sent off-site. No matter if the site was reused code from a Magic card exchange, or was written from the ground up, it never should have been within a thousand miles of anything of value.
- viraptor 9y ago> So either McCaleb built a brand new exchange from the ground up in one week, or he reused code from his Magic card trading service. Or he spent some time writing the new service while the previous one was still running.
- FRex 9y agoHow could he have spent time writing a new service if it went from him getting the bitcoin idea from slashdot to launch in 7 days?
- jnordwick 9y agoIn trading environments we have a thing called drop copy that is a real-tine feed of what the street thinks the house's trades are. This is constantly compared to what tree house's own view is. This way trade breaks (discrepancies) are caught immediately. The analogy would be scanning the block chain looking for tree firm's account numbers to verify all transactions are accounted for. I don't know for the life of me why basic stuff like this isn't implemented. The crypto currency world is like a big joke.
- wmf 9y agoIn the early days, Bitcoin exchanges weren't making enough money to pay for "real" engineering. Then things tended to take off so fast that just keeping the site up consumed all its resources. There were one or two exchanges that did things "right" (e.g. TradeHill) and were immediately driven out of business by their own high costs.
- Pyxl101 9y agoI don't buy that argument, if it implies that the site operators were anything but flabbergastingly incompetent. It's pretty straightforward to compute the sum of all coins in your wallets, I would assume. It's also straightforward to compute the sum of all account deposits tracked by your database. Just knowing those two numbers is really simple stuff, like a single SQL query on the DB. All they need to do is calculate those numbers and report on it daily or weekly and they'd have detected the fraud the very first time coins were taken.
- paulmd 9y agoYeah, how dare you presume incompetence on the part of Magic: The Gathering Online Exchange, the internet's largest online trading card site turned financial exchange. /s (Not physical cards traded online, mind you, these were virtual cards in the game Magic: The Gathering Online.) They were simultaneously bit by an attack exploiting a fault in their wallet implementation in combination with transaction malleability. You can invert all the bits in a transaction id and if you also take the complement of the signature then the signature is still valid. The transaction still happens but you never see the transaction ID come over the network (it's actually the complement of the txid). After a while, most clients concluded that it wasn't broadcast successfully and either aborted or retry, so their wallet balance diverged. And yes they probably did not check it against the official client balance. A significant number of frontend nodes participated in this transaction malleability attack over a sustained period of time, probably more than a lone-wolf attacker could access (although renting botnets isn't all that expensive, especially if you are sucking out bitcoin at the same time...) The interesting question is whether they had someone on the inside, although it could also be explained by incompetence and an attacker probing for weaknesses who comes to realize that the bug wasn't being patched.
- jimrandomh 9y agoBecause they knew they were running (illegally) on fractional reserve, but needed to avoid creating any evidence that they knew.