Live data from Hacker News

Steam games will need to disclose kernel-level anti-cheat on store pages

gamingonlinux.com

631–640 of 660 posts

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#631

Earlier quoted context omitted.

And all of that for something that is worse - software cheats usually get access to more information than just the pixels rendered to the screen. Seeing through solid walls and stuff like that.

You can do DMA cheating if that’s a non-negotiable for you but it is far more expensive. You install a direct memory access (DMA) card on your “clean” machine and flash it with firmware that hides the fact that it’s a DMA card since some rootkit level anticheats will look for that. The card then sends memory data to a second computer (dirty) which has the cheat software installed but no rootkit anticheat. The dirty c…

> You can do DMA cheating if that’s a non-negotiable for you but it is far more expensive.

Cheap DMA cards go for couple hundred dollars which isn't all that much. Although unlike what most people tend to believe, the DMA cards do end up getting detected quite often.

> Pretty sure there’s hardware to blend both monitor outputs, though most people do two monitors I believe.

It's called a "fuser".

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#632

Earlier quoted context omitted.

KLA isn't about preventing cheaters. It's about protecting the artificial scarcity of products for sale via microtransaction.

Gotcha. So you're saying that it's really about protecting a revenue model with pay-to-win elements? If that's so, then do we typically only see KLA on games that are mostly funded by microtransactions or live service models?

Pay-to-win isn't really the issue so much as microtransactions in general. Most of these games have an in-game currency to buy stuff (some is pay-to-win, most are cosmetics) and protecting that currency (and the virtual goods traded on the market it drives) is paramount. These games also tend to have moved away from 'community hosted' servers, since these give an opportunity for hosters to hack in features that might be detrimental to sanctioned behavior.

In short, we typically see KLA on games with in-game currencies whose servers are controlled by the vendors.

Inasmuch as KLA is actually used as anti-cheat software, it's usually a proxy for actual moderation (i.e. labor). Community-hosted servers generally develop their own processes and customs for handling bad actors, but vendors generally don't want to hand that kind of power to internet strangers.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#633
post #530

Earlier quoted context omitted.

And fundamentally, the anti-cheat software is fighting a loosing game because of some quirks of x86: - hardware breakpoints on memory latch to logical, not physical addresses - one can map the same area of physical memory to different logical addresses thus allowing arbitrary memory reads - simulating inputs through the PnP stack can be made indetectible with polymorphic code doing the injections - detecting the aimb…

I suppose the memory being mapped twice could be detected by anti-cheat though. You can then also make more mitigations to prevent detection of the mapping (e.g. hooking the syscall to check the active mappings), but it’s always a cat and mouse game.

You are right on the first point, but I don't think you are right on the syscall part - a kernel level module can just read the PT directly without resorting to a syscall, no? You get access to CR3, and besides kernel-level PTs have a fixed logical (and if memory serves, physical - though maybe just on windows) address.

When in the non-PAE mode, I think one can still practically trigger page faults on attempted reads on the PDEs mapped by a kernel-level aimbot, force flushing of TLBs when anti-cheat tries to read the PT, and effectively conceal the cloning (although if the anti-cheat is doing this often enough, the performance impact might be too much?).

When in PAE mode, I do not know of a practical way to do it, but I haven't been researching such exploits for a few years now.

I think at this point, the most practical way to implement an open-source, undetectable aimbot proof-of-concept would be to perform static reversing of the game engine to get the network protocol, peform a MITM to listen in and recreate state on a separate process or machine, do a PnP input injection via a real or fake mouse/keyboard.

Reversing the code (as opposed to memory structures) is very hard these days, though, and not because of anti-cheat software, but because of the high-end anti-piracy runtimes and layers upon layers of abstractions which are annoying to analyze in assembly. (But sure, not impossible, and I am sure people are doing this considering the crazy amounts people are willing to pay for private aimbots).

For a system programming geek its all very interesting and intellectually stimulating, but boy does it ruin the fun of multiplayer gaming :-( I think the best way to protect against cheaters would be to run streaming-only servers where all the processing happens server-side.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#634
post #233

Earlier quoted context omitted.

It's not possible to completely solve this problem with technology. High level chess players (GMs) can win with just a few bits of information transmitted to them by a cheating accomplice (a cough if it's a critical position to spend extra time on, etc). Similarly, high level gamers only need the slightest of edges to win, and therefore only need the slightest of cheating. That's why I think trusted user bases are th…

That's just elitist though isn't it? These games are enjoyed by players from all over the world, including massive numbers of players in countries with far less average disposable income. Its common in many countries to go to an internet cafe to play these games as they don't own their own hardware even. It would also massively reduce the number of players. Competitive multiplayer games rely on large active playerbas…

Money is just one way of establishing "trust clubs". Time is another. For free-to-play games, you could make it so that users are peered with other users who have put in the same amount of time into the system. So if you've gone a whole year without being flagged for cheating in the system, you'll be paired up with other users who have also gone years without being flagged.

If you create a new account, you'll be peered with other new accounts (low trust). Still possible to cheat, but the cost is very high (years of effort to get accepted in the best trust clubs)

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#635

Earlier quoted context omitted.

Add ‘-nobattleye’ to the Steam command-line launch options and you can play single-player without any installs. (Rockstar really should’ve made this a separate launch option like other games do)

Call of duty 6 launches the single player campaign from the main launcher and I noticed they advertise the anti cheat stuff being enabled (I forget what it’s called). For a single player game. Smh.

I think it’s also no longer possible to play the single player of these games offline.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#637
post #246
post #207

Earlier quoted context omitted.

Performance impact is overblown, it was proven that the lost of perf is marginal when implemented properly.

Proven by who and what proof? Because Denuvo is the only one outspoken about how it doesn't impact performance despite all evidence to the contrary and they provide no evidence of their own beyond claiming it doesnt. Then saying they'll prove it doesn't and then backing out of proving it. https://www.resetera.com/threads/irdeto-backtracks-on-plans-...

DRM and anti-cheat aren't the same though. That link is talking about denuvo DRM, not denuvo anti-cheat. Also, just because one implementation impacts performance doesn't mean they all have to.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#638
post #233

Earlier quoted context omitted.

This is a naive take. Of course these developers already permaban cheaters. Firstly many of these games are free to play so "getting another license" is a non issue. They're doing hardware bans nowadays which are harder to avoid but not impossible. Half the battle is detection though. If you don't detect cheaters quick enough they ruin enough games that genuine players start getting frustrated and leave. Anti cheats…

It's not possible to completely solve this problem with technology. High level chess players (GMs) can win with just a few bits of information transmitted to them by a cheating accomplice (a cough if it's a critical position to spend extra time on, etc). Similarly, high level gamers only need the slightest of edges to win, and therefore only need the slightest of cheating. That's why I think trusted user bases are th…

CSGO used to have that, more or less. You could play for free but then you were not in the "prime" matchmaking pool. Only by paying, something like 13€, and registering your phone number, which could only be registered once, would you get prime matchmaking. I thought it made quite a bit of sense but I think they scrapped the system in CS2.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#639

Earlier quoted context omitted.

i respect your feelings and your choice. happiness, privacy and security are important. there are however legions of fortnite players who would mortgage their lives for a better game. a handcam without audio during gameplay seems a more reasonable and low price to pay. time will tell what gamers think! very exciting.

Wish you and your project well!

consider yourself on the team.

Re: Steam games will need to disclose kernel-level anti-cheat on store pages

#640

I'm absolutely not a fan of giving a game the level of kernel access these games take without my permission. That said, cheating is an existential threat to a good game experience online, and I really don't know of any other solution. What's been frustrating over the years is when kernel anti-cheats, unbeknownst to you, are causing issues with other games entirely unrelated to what you are playing - because some game…

> That said, cheating is an existential threat to a good game experience online I never understood this. As I mentioned in another thread, maybe I’m just old or something now, but I’ve never given a fuck if another player was cheating. Back in the day it was pretty normal to run into someone using aimbot or wall hack or whatever shit. You would just change server or join a different lobby or whatever if it was really…

until very recently TF2's servers were infested by bots which kill you in one shot across the map. changing the server wouldn't help because they were on every server. this quite literally made the game unplayable for years.
Post reply on HN