Fighting Online Game Cheating in Hardware
Monk writes "Multiplayer games these days have one problem. Cheating. Cheating is out of control because of failed attempts by software such as Punkbuster, and VALVe's Anti-cheat (VAC). Now it seems that could change change with Intel's own Anti-cheat Software/Hardware."
for a social problem
anything designed by a man can also be broken by a man
the only remedy for human antisocial activity is human social activity. no technology will change that fact. and if you think it can augment those who intend good, then you're right but you must also bear in mind that it can also augment those who intend evil
this applies to security cameras, file trading on the internet, etc. as well as game cheating
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
How about just adding cheats as elements to the game? Players like radar? Add it. The ability to see through walls? Auto aim, auto trigger? Make them power ups. Don't fight it, integrate it.
The Quake fiasco has already taught us plenty about this: don't trust the user.
We at slashdot are scientists, specialists and kernel hackers. Your FUD will be found out.
It appears to be yet more DRM designed to ensure that peripheral inputs match those received by the game.
This does not address the issue of cheats that allow the player to have information that he would otherwise not have, such as seeing through walls. Nor can it detect proxies.
Like all DRM, it sounds like it will cause legitimate users more problems than it will cause to cheats and crackers.
Nobody seems to care how good a game is, "the game" is all about finding ways to cheat no matter which game you're playing.
Wanna fight ? Bend over, stick your head up your ass, and fight for air.
The whole concept of anti-cheating is based on making a chip comparing input on mouse/keyboard to input into the program.
So how about:
1: Software that wraps this chip, and returns "true" all the time ?
2: Cheats that does not emulate keyboard or mouse input ? (like radars, spike skins, you name it)
3: Software that generate keyboard/mouse interrupts ?
4: The fact that someone would not buy a CPU/MB with anticheat stuff in it if you intend to cheat. You'd just have a dummy driver emulating this hardware or something.
This only seems to be able to solve a very small portion of cheats.
Probable impossibilities are to be preferred to improbable possibilities.
Aristotele
Exactly like DRM, I am sure this restrictive method will work flawlessly! I think Intel is making the right choice by using something you can't update against an entire army of hackers!
Blame Canada!
This handy device fits in a computer's 5.25" inch bay and if it detects cheating a razor sharp knife comes out and relieves the offending player of the little (as is always the case with cheaters) piece of manhood that the loser has left. (Towels to clean up blood not included).
I'm looking forward to the time when I can't play a game online because some POS hardware/software thinks that my MP3 or video encoder is a cheat mechanism.
Lame, very lame. And you KNOW this will eventually happen. Some harmless software program running at the same time as a game will screw your online play without lube.
Why can't the game devs shift focus away from DRM & etc. and try building a solid product that doesn't NEED a third party anti-cheat software running? It's called internal testing, FFS. You made the software yet you can't find the holes, meanwhile some smartass 15 year old Russian just reads your code and goes "Oh! Look at what we have here!"
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
A friend of mine plays the Final Fantasy XI MMORPG on PlayStation 2. I rigged a little box with a bunch of timers, relays, the heart of a USB keyboard which can repeat timed sequences of game macros without supervision. It works wonders for some "skill-upping".
Intel's little trick wouldn't detect that as it involves no software at all, no injection of keyboard events. As far as the console is concerned, it's a keyboard, period.
I could go a whole lot more sophiticated and build a USB box that would emulate both keyboard and mouse events. Marry that with software that can "look" at the screen data and recognize patterns, and you'd have yourself an automated player.
Go ahead Intel, invent better traps. We'll invent better mice.
The players don't like radar. The cheaters do.
Following your logic, the game would offer the ability to instantly kill any enemy, at any range, automatically. Regardless of intervening obstacles.
Yeah, that sounds like a fun game.
Cheaters want those because cheaters don't want to play by the same limits that everyone else does.
..is that the server, at some point, has to trust the data the client is sending. Now there's client-side anti-cheat software that will do things like try and make sure that external applications (not entirely unlike the old TSR cheats of lore) aren't altering the data in RAM before it sends the info back to the server. But that client-side anti-cheat software can-and-will be defeated. Eventually there might be an anti-cheat relying on TCPM sort of things, but eventually somebody will just make a TCPM-less version indistinguishable from the TCPM type by the server.
/kill'ing them (rather than banning - as they'll just be back) and ousting them in public. )
So the only proper anti-cheat lays with the server. But there you hit a problem. You can, for example, prevent some cheats that way. Somebody lobs 2 nades while the server knows he only has 1? Cheating. Somebody moves all over the screen, faster than the player can actually run? Cheating. Wait - or a laggy connection.. or a bug. Tread with caution there. Caution means a margin. A margin means a margin for cheating. Okay, so you don't have your cheat make your player run at 200% - you just make him run at 105%. Still an advantage, and the anti-cheat won't catch it because of the margin. And even when you can detect all the -technical- cheats (more ammo, faster reloads, increased speed, greater jetpack fuel (if there's any), that leaves you with the cheats that cheat the User Input. Aimbots and the like - which can be extremely difficult to detect.
In the end, you can't 100% prevent cheating. But you can make the landscape unattractive enough to cheat in by at least trying to prevent it and having an actual human being look at suspicious behavior from time to time.
( I admin at one of the more popular Soldat servers - we're virtually cheater-free because the cheaters know they'll be busted in no time and their cheating fun ruined by us
Remember folks, although the remote attestation features of TCPA could be used by online services to force you to use a particular "trusted" application/OS stack, locking you in to a configuration like "IE on Vista", that's not why they are there.
.*BSD or whatever. It's your choice.
The point of TCPA isn't to enforce DRM or strengthen software monopolies. It's all about things that benefit you, like preventing cheating in online games, and... erm... many other things.
TCPA is a misunderstood technology. The EFF, the FSF and security experts are just making a knee-jerk reaction to something that they don't understand. Let me explain:
1. TCPA doesn't take away your ability to run whatever software you want. If every online service requires you to use (say) Vista, and uses TCPA to enforce this, you can just opt out of the Internet entirely and carry on running Linux or
2. TCPA doesn't spy on you, although it might be used to prevent you modifying software that does. But then you can just opt out of using that software. Again, it's your choice.
So, say yes to TCPA! Like atomic bombs and subdermal RFID chips, the technology isn't inherently evil, and it will certainly never be abused to reduce competition in the software marketplace, preventing free software interoperating with online services.
>north
You're an immobile computer, remember?
Really? Just one? What about:
Bad design
High prices
Poor performance
Steep system requirements
Bugs
All software anti-cheat systems are flawed because they include things other than cheating. I get kicked by Punkbuster for high ping on gaming servers.
The trouble with anti-cheat systems is that the developers have no ethical standard. They tolerate inconveniencing legitimate players to ensure that the cheaters are stopped as well. The law would see things differently. The law believes in letting some criminals go to ensure that it never punishes an innocent man. Flawed though it may be, it works far more often than it fails. Punkbuster is the complete opposite, and what's worse is that Punkbuster is full of bugs. I get kicked from servers several times a day and the only message I get is:
"Punkbuster
[Ok]"
All complaints to the company fall on deaf ears. And because EA chooses PB, I am stuck with a company granted an artifician monopoly by another company, and have no choice but to have a greatly diminished experience. Nothing is worse than screwing a gamer over in the heat of a competitive match, and that's what PB does too often.
You can't trust the person, you can't trust the hardware or the software you can't trust anything which comes back from the client machine.
Da fix? A cross game registry of gamers with identities linked to real addresses and bank details. Something which all the online games can query, though I'd go with hashed values for bank details/address etc rather than real ones. You get caught cheating, you get marked as such. To get rid of the marking you need a new identity.
Will it stop it? Mmm look at the athletes who take drugs, I doubt it. What getting caught would do though is ruin the gaming life in all the games which use the registry. Gaming environments could be split into two areas. One for trustworthy gamers, one for cheating scum.
Deleted
Personally I've been leaning back towards LAN parties. Cheaters are much easier to deal with, you just chuck an empty beer bottle at them after the first offense. The second offense involves dragging them out back for a little wall to wall counselling session.
But technology has moved on. For one, hardware is far more complex these days. The idea of having to hit modern hardware from scratch sounds nightmarishly complicated.
For another, the PC philosophy is that you can use many different types of sound/video/etc hardware because they're supplied with drivers. If there was no OS, the game writers would have to write their own drivers for *every damn card that they expected it to run on*. And that's assuming that the makers were willing to release the specs to their cards anyway, which very often isn't the case.
In short, you'd have to duplicate the functionality of large parts of Windows XP, the sound and video drivers, DirectX, networking, blah blah blah.... all from scratch. You can see why this isn't going to happen just to stop a few kiddies cheating, especially since it would likely get cracked quite soon anyway.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Software that compares the input from the hardware with what the game sees? No problem: just make sure that the input comes from the hardware itself, and not from a piece of emulator software.
I built a cheat box for GTA San Andreas soley because I am lazy. The game requires that the player have their character "exercise" in a gym in order to build strength and stamina. I didn't like the idea of abusing my fingers and keyboard by rapidly typing the necessary keyboard combinations, so I buit a box with three big buttons on it that emulates a USB keyboard. It emits the correct key combinations when I press a button. (NB: I didn't use a programmable keyboard because I'm a hardware guy and was playing with USB anyway. I like my form factor better and used actual arcade game buttons for feel and durability.)
Want to run on the treadmill for the maximum allowed time? Press and hold a button. Want to lift heavy weights quickly and repeatedly? Press a different button. Yes, folks, I was cheating at virtual exercise.
It actually gets worse. I got tired of holding the button down, so I set an old disk drive on it. Then I could just sit back and watch my character get buff. This was the ultimate in laziness: I was cheating at cheating at virtual exercise.
For fark's sake people. A statement like "there is no technological fix for a social problem" is just important-sounding nonsense. Really? We seem, after all, to have prevented the problem of people physically reaching out across the internet and strangling people... I have yet to see anybody do this (as much as I'd like to sometimes). Parent poster completely ignores the obvious problem with his arguments: that ALL defense mechanisms are not about absolute defense, but about reducing the rate of successful attacks and/or increasing the barriers to entry (such as technical sophistication, equipment, time, etc) that an attacker must invest in to be successful. Security guards and alarm systems do not prevent all bank robberies - but it is safe to say that there would be more robberies if those things didn't exist. Same here. You may have technological issues as to exactly how much such a hardware defense would decrease the amount of cheating, but it seems fairly obvious that, if implemented, this figure would be greater than zero.
Is that a reference to the horrible, horrible, Chinese pirated Attack of the Clones (subtitled in english-chinese-english translation)?
That always cracks me up. Vader's "NOOOOOOOO" becomes "DO NOT WANT!!!"
Don't thank God, thank a doctor!
Well some of us nerds are busy earning money just like you, but we do it by making video games :P
Incredibly poor logic and a crappy analogy.
I will have a sig when the market demands it.
...because most people who think they understand the nature of Trusted Computing are dead wrong.
In theory you are perfectly correct. There's no sense in trusting data coming from the client. Any hardware or software added to the client's machine to make it disobey its owner can be circumvented.
In practice, the bad guys have come up with a way to make this circumvention difficult and expensive. Here's the basic outline for trusted computing:
* A small chip called a TPM is added to your motherboard. This chip may (in later incarnations) be integrated into the CPU or other system components.
* The chip **DOES NOT** restrict the activities that your system can perform. You can still run arbitrary code at arbitrarily high privilege levels.
* What the chip **DOES** do is keep a detailed log of the code that has run or is running with elevated privileges. Just to reiterate: you can run any code you want, but the chip is watching.
* The chip contains its own public/private key pair that it can use to sign reports on your computer's activity. If you choose to run software on your computer that passes these reports on to other computers on the Internet, other computers on the Internet can know with certainty what software is in control of your computer. You could choose to run software on your computer that would modify these reports before passing them on. However, owing to the nature of public key cryptography, other computers on the Internet would be able to detect your forgery.
* You are free to turn off or remove the chip at any time.
Many people criticize "Trusted Computing" technology by saying that it "controls" what software you can run on your computer. This is true, but not in the way most people think. You are still free to run any software you like on your Trusted Computer, but you cannot program your computer to lie convincingly about your choice of software to other computers on the Internet.
In this way, other people on the Internet can hold you responsible for choosing to run software that they don't approve of. Want to install AutoAim v3.5 on your PC? Go ahead. But the next time you try to play a multiplayer game, the game server will refuse to let you connect until it receives a report from your Trusted Platform Module indicating that you aren't enhancing your aim with software. Don't like the idea of installing GovernmentSpySoftware v2.02 on your home PC? Then don't! But be aware that the next time you try to connect to the Internet, a government-mandated piece of software in your ISP's Radius server will require a signed certificate from your TPM that the spy software is running and unaltered before it instructs the routers to handle your traffic.
These are just hypothetical examples, but they show how trusted computing will be used to control your computer without ever making your computer less capable or more restricted. If anything, a "trusted computer" is more capable than a PC of today: it has the extra capability of spying on you and reporting your actions to other people!
So you can't "wrap the chip in software" like you suggested. Your software won't have the necessary private keys to produce authentic-looking reports from the TPM. You could definitely physically break open the chip and try to extract the private key. You might even be successful if you've got a lot of equipment and education. But that would have to be done on a PC-by-PC basis since each PC will have its own TPM and each TPM will have its own private key.
I was appalled at the recent PunkBuster update. Evenbalance has essentially installed a rootkit on my computer without my knowledge. The only reason I noticed is because my firewall suddenly lit up with warnings.
.dll file in your game folder. However, this recent update downloads two .exe files and places one in the game folder, and one in your Windows system folder. PB says these are necessary only for players who want to bypass admin rights for people who play BF1942 or ArmyOps. Apparently so many people are playing these games on their office network and can't log on as administrator on their own computer that Evenbalance has sent out a rootkit with their recent PB update. The programs are mandatory for everyone, though, regardless if you are the administrator. Any player attempting to play on a PB-enabled server without these files, or otherwise blocking these files with a security program, is kicked for "Losing Key Packets" (PB often has trouble with accurate error messages).
Normally, PunkBuster is a
The executables are run upon startup of your computer, and run constantly in the background, regardless of whether you are playing the game. They also intermittently connect to the Internet and send data to Evenbalance's servers. Of course, the player has consented to this (and more) by agreeing to PB's voluminous EULA. In fact, if you read it carefully, players have consented to sending their entire hard drive and hardware information to Evenbalance at any time Evenbalance deems necessary.
Evenbalance will tell you, as support team member Glenn (or someone imitating him) says on a game forum I found: "We're not trying to hide anything or throw anything by the user without his knowledge. These services are doing nothing when a PB-enabled game is not being played, other than waiting to see a PB-enabled game launched. When a PB-enabled game is not being played, we're not scanning your computer or internet traffic or anything of that nature."
Though if you have any sort of firewall on your computer you'll know that that is either total ignorance of their own product or a total lie, as PnkbstrB.exe and PnkbstrA.exe do in fact connect to the Internet while the game is not being played. They also use a large amount of system resources for something that is only supposed to be a service waiting for a game to start.
PunkBuster offers people the option of uninstalling these files, with something called pbsvc.exe which gives you an "UnInstall" option. This doesn't seem to uninstall everything, as the PB files are not only still present but still load on startup despite the uninstaller's "Uninstall Finished!" message.
All-in-all, if PunkBuster cannot even get its act together to create an uninstaller, nor to inform its support team of what a rootkit they just installed on everyone's computer is actually doing, how can anyone expect PunkBuster to detect cheats and hacks? Private home-made hacks can already slip through PB's dragnet--the only ones they can catch are publicly available hacks Evenbalances finds on the Internet, the way a virus detector works, so I think it's pretty clear that the solution does not lie on the player's computer.
Instead I'd say it lies in the programming of the game itself. Wallhacks and radar, for instance, wouldn't work if the server did not send the locations of non-visible players. A difficult task perhaps, and for only one kind of cheat, but it is a real solution. And it doesn't involve uploading my hard drive to Evenbalance and granting them access to information which, as EvenBalance's EULA says, "includes, but is not limited to, devices and any files residing on the hard-drive and in the memory of the computer on which PunkBuster software is installed"