3 ms·
as someone who works in the gaming industry, i think anti-cheat exists in part because of the culture of game development. every games company i have worked wit
by zemnmez 7y ago
as someone who works in the gaming industry, i think anti-cheat exists in part because of the culture of game development. every games company i have worked with has valued releasing the content they want to release above everything else – they'll request API changes and the removal of security hurdles to meet their release deadlines. crunch culture is very real.
As a small, real and not at all outlier example I was asked once if the game's backend servers could establish a persistent mutual TLS connection to authentication servers so game clients wouldn't need to implement oauth / oidc, in which they'd request whatever data they wanted in essence.
Multiplayer games are only a continuation of this philosophy. For quite a few games, the 'multiplayer' aspect is created by simply replicating identical game state across all clients, meaning clients end up with a ton of information the player shouldn't be able to see being beamed to their computer.
most game UIs are literally flash, or embedded chrome instances that dynamically load their content from user input or straight from the web, often over unencrypted connections. These browsers also often have direct sandbox bypasses to the game engine.
Making games is hard. Making games secure is something games companies don't want to invest in, and they've largely just eaten the risk with bolt-on anticheat software. Games companies are in a similar but slightly worse position than the financial industries where, due to historically not valuing security talent they can't and don't acquire it, instead opting for whatever off-the-shelf solutions, mitigations and contractors they can use to help stem the bleeding with the exception of less than a handful of household name shops.
It is possible, depending on the game to take good steps to make games harder to cheat at. Dota 2, for example took steps (in their rather favourable context) to thwart cheating by not sending information to the player on objects they should not be able to see (though mistakes are made in this on a regular basis). For any other industry, such a filter would be the standard way to implement the server-client relationship but this is not a priority in game development as it stands.
There's simply no other non-security software one downloads to their computer that comes with a heavy and intrusive rootkit that attempts to try to see if you're messing with it, because no other industry as wealthy or influential as gaming considers security an afterthought.
- meheleventyone 7y agoNot sending info about objects you can’t see is a fairly standard thing to do. Not to big up the lack of security (which is a problem in some cases) but games often have to balance sending over to much information against other concerns. For example in an FPS you could theoretically determine exact visibility but tend to send everything within a certain radius because you want to avoid sending information late both because the client is predicting and a half-round trip of latency before an enemy that appeared round a corner showing up is bad for gameplay. Not to mention that you want the server to run reasonably quickly and visibility determination is expensive. Hence “ESP” hacks. Then you have the mechanical helpers like aimbots that can’t be solved easily even if you perfectly restricted data sent across the network to that which was visible. So we’re kind of stuck with invasive programs trying to spot hacks and broad strokes statistic analysis.
- zemnmez 7y agoI agree with the gist of what you're saying, which is that it's not possible to fully 'solve' security in video games by good security architectural design – it's just that for 99% of games out there, there is not even an attempt to solve part of it. The discussion goes as you say – the gameplay would suffer if greater security is taken into account and due to this these problems rarely get the talent they might need if the problems were to be solved better.
- meheleventyone 7y agoIn my experience that’s broadly unfair. Cheating is a big issue for the integrity of online games and something taken seriously. Although I’m coming at it from the other direction and might have been very lucky with the projects I’ve worked on. There is an obvious trade off between making a game that people want to play and making it secure. And that trade off gets stronger towards gameplay the more latency sensitive the game is. I guess what I’m actually saying is that good security design has to extend to the client in those cases. Defence in depth. I also think it’s unfair to suggest this is an issue due to lack of talent. Although I’d be open to knowing what you think is lacking in particular.