USENIX Once upon a time, rising through the ranks in World of Warcraft was largely a matter of patience and stamina. For some beginners aspiring to online greatness, it meant spending hours in a virtual forest gathering leaves and later finding the elf who'd pay gold for them.
But spending hours huddling over a keyboard pecking at the same keys can be just a tad monotonous, so some players soon yearned for a way to automate all the repetition. And at the same time, WoW and other massively multiple online role-playing games (MMORPGs) became multi billion-dollar economies that could generate serious real-world money for sales of rare commodities in Fairy Land.
So the hacking of online games was inevitable, as absolute a certainty as gravity. That's the first thing Gary McGraw, co-author of the forthcoming book Exploiting Online Games: Cheating Massively Distributed Systems, wants you to know about the phenomenon. The second is that the hacking of these games matters to a hell of a lot more people than the geeks who frolick about in virtual landscapes casting spells and slaying ogres.
"These massive distribution systems are pushing the limits of software technology," said McGraw, during a session at this year's Usenix Annual Technical Conference in Santa Clara. "These are exactly the sorts of software security problems we should expect to see over the next decade in all massively distributed systems."
With about 12m paying customers, WoW was Exhibit 1 during the 90-minute talk. The game is so complex and massively distributed that its architects have no choice but to break off tiny chunks of the underlying software's "state" - variables such as a character's location that are supposed to be universal throughout the WoW universe - and let them run on an individual's machine.
It turns out these chunks of state are highly alterable, which makes it trivial for WoW users to change a character's X, Y and Z coordinates to give the illusion of flying or move to a more advantageous location.
Another hack uses code to automate a character's task of camping outside a cave in wait of monsters and stabbing them when they appear. A player who runs the bot shortly before going to bed can awake to find the character has pocketed plenty of gold left behind by the felled beasts.