from Hacker News

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

by jrepinc on 10/30/24, 7:39 PM with 640 comments

  • by yreg on 10/30/24, 11:18 PM

    I've just reinstalled GTA V last week and I was very surprised to find out that I now have to install a rootkit to run it.

    They had the balls to add a mandatory kernel extension into a game that I've bought 10 years ago and that I wish to play in single player only.

    I find it utterly ridiculous. As usual, piracy would have been the superior experience.

  • by WatchDog on 10/31/24, 3:28 AM

    With the way that computer vision and AI continue to improve, I imagine that we will soon have completely external and undetectable cheating peripherals, simply capture the screen direct from the display output, and pass inputs via mimicking a usb human input device.

    This won’t provide all the same capabilities as cheats that hook into the game process, such as wall hacks, but it would be possible to build a super human aimbot with such an approach.

    We already have external “radar” cheats that use the game stereo sound to give the direction that a certain sound(such as footsteps) came from.

  • by ho_schi on 10/31/24, 9:03 AM

    First step.

    Second step?

    Ban games with kernel-level anti-cheat.

    It is not acceptable on Linux. Apple will also not accept that shit further, that said Apple lost relevance in gaming with Mantle and the M-Processors (both mean a lot of incompatibility). And Microsoft is regretting every choice in this regard:

    https://www.theverge.com/2024/9/12/24242947/microsoft-window...

    But that is a usual pattern. Microsoft makes bad decisions and everyone suffers. Even Linux. Their is a reason why closed-source kernel modules mark Linux as tainted, the system is not trustworthy.

    It is the duty of game developers to secure their games themselves. Not manipulating user devices. Forcefully doing stupid and dangerous things because you cannot achieve your task in a safe why is not a reason.

  • by JohnMakin on 10/31/24, 5:10 PM

    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 developers had a bad habit of leaving them running/idle even if you were not playing.

    I have a dedicated laptop for gaming that I do absolutely nothing else on, not even logging into email accounts. Just steam + games + whatever video software I might need. This is my sane compromise as someone who participates in a lot of competitive games. it sucks, but I see no better solution than to disclose it (insane this wasn't the standard already). Even that is hard, because if you disclose too much, cheaters can take advantage.

  • by nathants on 10/31/24, 12:14 AM

    kernel level anticheat is not enough.

    client inputs have to be trusted, and there is no provenance. the kernel has no visibility of inputs.

    i’m shipping a 100 player matchmaking game now. clients tick at 360hz, server ticks at 120hz. fair up to 60 ping, which covers entire continents. servers are metal, not vms. epyc 4244p with 2Gbps egress, 1 server per 15 minute game. mitigations=off and nosmt on all clients and the server.

    i love steam, but won’t be releasing this there.

    it’s reboot-to-play, a modified archlinux iso that boots directly into the game from a usb drive.

    i control not only the kernel, but the os, and every running program. you don’t get cortana. you don’t get discord. you don’t get spotify. you get the game. for the duration of play, your pc becomes an arcade machine.

    still, this is not enough.

    to play ranked, you’re going to have to get a handcam over your left shoulder. it will see head orientation, both hands, full mousepad, and screen. you’re also going to use fixed mouse speed, mousepad size, and monitor size. reviewing any players inputs will look familiar, since everyone is playing with identical settings and setup.

    kernel anticheat is not enough. we need a reproducible full os setup, down to running programs and network connections.

    even that is not enough. we need provenance of user inputs hooked right up to the game replay system, so you or anyone can review engagements from any parties perspective.

    obviously this should all be opt in. not everyone wants to play ranked, and whole-os anticheat should help even without input provenance.

    have you ever wondered if you died to a cheater or a god? do you wish you could never wonder again? i do. soon, i won’t.

  • by steelframe on 10/31/24, 1:49 AM

    I built a separate Arch Linux box just for Steam gaming. I will never log into any of my sensitive accounts -- email, banking, etc. -- on that machine. It's a Framework laptop so I can physically keep the camera and microphone disconnected. I basically treat it like a public terminal.
  • by WithinReason on 10/31/24, 9:09 AM

    Hope there will be a tag. I wish they also had a tag for "requires third party account" so I could just filter those games out so I never see them.
  • by jolmg on 10/30/24, 8:56 PM

    I've never seen a game request root privileges, and I would think installation of anything kernel-level would need that. None of the steam binaries have setuid nor capabilities set.

    Have anyone seen games that request root privileges?

    EDIT: I'm gathering from this[1] and the fact that no wine-related package have kernel modules included and no executable from any of those packages have setuid nor capabilities set, that this isn't really a problem in Linux, just in Windows.

    [1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...

  • by nithssh on 10/31/24, 1:12 PM

    Makes sense considering Valve has maintained that kernel level AC is not required and has not included one in their own games, but let's be honest, unfortunately you have to often wonder if your enemy is having a good day or if he's hacking in CS but not so in valorant for a reason.
  • by lousken on 10/30/24, 8:19 PM

    Good, the sooner devs realize they need to do server side properly, the better
  • by fngjdflmdflg on 10/30/24, 10:52 PM

    I hate to say this but a large percentage (in fact, I believe a majority) of gamers simply do not care about invasive anti-cheats. Right now CounterStrike players are mostly begging Valve for kernel-level anti-cheat since their current solution isn't working at all. If anything, this warning will actually make many player's more impressed with the game. That said, more consumer information is almost always better in any case, especially in this case considering that this is not a requirement of law but of a private company.
  • by wiz21c on 10/31/24, 7:58 AM

    > kernel-level anti-cheat

    Add UEFI on your PC and DRM in your browser.

    And next, your governement will ask you to add its anti pedo-pornography tools.

    And then we have a new episode of Black Mirror...

  • by bunderbunder on 10/31/24, 4:22 PM

    So, I'm not really into online multiplayer, but from a distance I keep wondering if this could be more easily mitigated by altering the incentive structure?

    What if online games track how well people do and sort them into tiers based on skill level? And then put people who are roughly evenly matched together. I am guessing that cheaters will naturally end up clumping together with each other, and maybe a smattering of elite players who are good enough that they can hold their own, and maybe even benefit from the added challenge. And also, casual and less-skilled players can play together and not get dominated so much.

    I don't think it would end cheating. But perhaps it would mitigate it by reducing a lot of the potential upside. Assuming the upside for many cheaters is that they enjoy feeling like they can dominate a server full of non-cheaters.

  • by imchillyb on 10/31/24, 4:40 AM

    Locks & picks.

    This is the war. It's always been the war. It will always be the war. Digital changed the medium but war, war never changes.

    The war in unwinnable in any real sense of the word win. However, security does not need to be impenetrable security only needs to dissuade the attacker.

    Kernel level, blah-blah-blah, doesn't dissuade cheaters. Those things dissuade legitimate users. It's never the ideology that dissuades those users though as they don't know or care. What dissuades these users are the difficulties that these systems present to the uninformed user.

    The typical end user doesn't know how to 'fix-it' when things go wrong. PC vendors won't support the issue. The game publisher won't support the issue. The game developer rarely supports the issue. Kernel level blah-blah-blah causes a blah-blah-blah. Nobody wants to hear it. Nobody wants to fix it.

    And, to top off this defecation-confection, the user is left with software that they paid for and cannot use or access. No refunds. Sorry. And, and, and!!! There are still cheaters on the platform. Every platform. There's your f'n cherry.

    This is bad for the entire industry.

  • by Terr_ on 10/30/24, 11:48 PM

    There are two trends in the broader multiplayer game ecosystem which I think are worth highlighting:

    1. More games are trying to cut costs with ad-hoc P2P servers, meaning that sometimes important logic is occurring on a not-so-trusted machine.

    2. More games are using a revenue model which may be threatened by consumer-side tinkering.

    For example, imagine a cooperative game that uses a P2P server, and the host has done something to make it much easier for the squad to get a drop of the Super Special Loot (#1) and the rarity of the loot through gameplay drives many players to purchase it though an in-game store.

  • by andrewmcwatters on 10/30/24, 9:59 PM

    I think the population of game developers and their knowledge of multiplayer networking is fundamentally getting worse over time, because I see things that should not be architecturally possible in a lot of newer multiplayer games.

    This whole thing anti-cheat thing is just a separate problem entirely, but it's so painfully exacerbated by the first.

  • by juliangmp on 10/31/24, 7:40 AM

    They need to disclose when they want to install malware on my system? About time if you ask me...
  • by dang on 10/31/24, 4:10 AM

    Related ongoing thread:

    Why anti-cheat software utilizes kernel drivers (2020) - https://news.ycombinator.com/item?id=42001030 - Oct 2024 (50 comments)

  • by mattigames on 10/30/24, 8:40 PM

    I still hope someday the European Union forces Steam to allow transferring of games "owned", even if it's time-restricted (e.g. can't transfer the same game twice in a month)
  • by dbrueck on 10/30/24, 10:57 PM

    The anti-cheat problem is long-running and complicated. If you choose not to run anti-cheat because you understand that these are opaque rootkits, good for you! That's a totally, 100% valid choice. But please keep in mind:

      - you are a tiny minority and not the target customer
      - online multiplayer games are an absurdly big business (i.e. there are huge incentives here)
      - no, you can't completely solve this server side
      - elite players are insanely good - they are by definition outliers, so looking for statistical outliers is not in itself a solution
      - game companies are highly incentivized to work with (or at least not antagonize) the elite players (so just throwing them in matches with cheaters is not a solution)
      - the stakes are high both for the devs and their users, so "pretty good" anti-cheat is usually insufficient
    
    You can sum things up by saying that kernel-level anti-cheat DRM is the worst solution, except for all of the other solutions.

    I hope to see more discussion on possible solutions and tradeoffs - this is a challenging technical problem whose solution (if there is one) is fairly valuable.

    [edit: hopefully fixed the tone, per feedback]

  • by supportengineer on 10/30/24, 10:24 PM

    Not a gamer - Is Steam basically a package manager like 'yum' or 'brew', but for games?
  • by Kapura on 10/31/24, 4:57 PM

    I know there are large multiplayer shooters that have or are going to be moving off of Linux soon. Anecdotally, the percentage of linux users running cheat software is significant, north of 50% in some cases.

    Ultimately, I sympathize with game developers trying to create a good, _consistent_ experience for players across multiplayer titles. The reason players accept anticheat software in large mp games is because the alternative is worse.

  • by 0cf8612b2e1e on 10/30/24, 8:37 PM

    I built a dedicated gaming PC a couple of years ago. Too much cowboy coding in the industry for me to feel safe running this code on my main computer. Even games for which I pay have supposedly* been scanning/uploading personal data presumably for some adtech purposes.

    Why should I ever trust a gaming company to take security seriously? There was a story a few years ago about how one guy at home debugged GTA5’s atrocious loading times without any resources. Loading times which were notoriously bad and surely had a negative impact on revenue, yet nobody in the company could be bothered.

    *Never verified it, but I recall the new owners of Kernel Space Program were accused of reporting personal data files to the cloud.

  • by LinuxBender on 10/30/24, 11:19 PM

    Are these anti-cheats kernel modules? Asking because I only play two games on Linux and they do not use rootkits. If so one could at least prevent the installation using a couple sysctl variables [1]. I do not recommend putting this in /etc/sysctl.conf or in the .d directory as it can break OS updates among other things... I would instead put it in a startup script so that it can easily be disabled and the node rebooted. This would be in the cases the game installer wants elevated privileges and silently tries to install the modules. Obviously it will break the game but maybe that will happen soon enough so that one can request a refund for the games that did not disclose the rootkit. Once these are set to 1 on a running system the only way to set back to 0 is to disable that startup script and reboot as it becomes immutable on a running system. Your OS update tools should also be wrapped to check if this is enabled, warn you and politely abort until it is unset. The failure conditions are not strictly binary and may work, or appear to work until the machine is bricked.

    Related to this it may be worth installing something that does checksum snapshots of the filesystems to see if a game has tampered with system files. OSSEC, chkrootkit or even a cron job that just does this manually and runs diffs. While some package managers have this functionality they will usually ignore files outside of the package manifest that may get picked up by the system. Immutable off-system backups are of course good too.

        # do not put in /etc/sysctl.conf, instead use a startup script or a script that is run prior to starting Steam.
        sysctl -w "kernel.modules_disabled=1"
        sysctl -w "kernel.kexec_load_disabled=1"
    
    [1] - https://linux-audit.com/increase-kernel-integrity-with-disab...
  • by butterfly42069 on 10/30/24, 8:49 PM

    The biggest giveaway the kernel level anti cheat is stupid is that Easy Anti-Cheat works on Linux without kernel level access.
  • by Topfi on 10/30/24, 9:26 PM

    Does anyone know whether disclosure of Denuvo and similarly controversial "add-ons" does negatively affect sales? Maybe I am cynical, but I have come to the conclusion that whether it is always online DRM, rootkit-level anti-cheat or the need to have an account for offline play, community anger is often only maintained when a game had other things going against it from the get-go. Not against disclosing this of course, that is a great move for those who actually are willing to walk-the-walk, just asking whether we should perhaps temper our expectations on the impact of such a measure.
  • by AdmiralAsshat on 10/30/24, 8:46 PM

    Do kernel-level anti-cheat measures even work if I'm running Steam as a Flatpak + Using the game under Proton? I (naively, perhaps) assumed the security sandboxing model of flatpak would restrict that level of access.
  • by pjmlp on 10/30/24, 9:57 PM

    This is very much welcomed.
  • by donatj on 10/31/24, 4:08 PM

    Has anyone made a game where cheating is not just explicitly allowed but is in fact the game? It really seems like there could be something there.
  • by insane_dreamer on 10/31/24, 4:37 PM

    I haven't been a hardcore gamer in nearly 2 decades (think Half-Life, original CS), so forgive the ignorance; but why do game publishers care whether users cheat? I mean it's not like it costs them money--you're buying the game either way. I guess maybe in a MOOG it ruins the experience for other players if you show up with a gazzilion resources, but other than those games, so what if you leveled up quickly? why spend dev effort on trying to stop it?
  • by two_handfuls on 10/31/24, 12:20 AM

    They didn't already? O.o I thought Steam was better than that.
  • by agentultra on 10/30/24, 11:07 PM

    Yeah… it’s more that the anti-cheat itself provides surface area for RCE’s than the anti-chest company using it nefariously.
  • by m463 on 10/31/24, 2:32 AM

    so anti-cheat, but not drm?
  • by bigstrat2003 on 10/30/24, 9:29 PM

    Good. I absolutely refuse to compromise my system by using these things. Games should be required to let people know what they are signing up for.

    And if that means more companies choose to avoid kernel anti-cheat, so much the better. I'm still mad that I can't play Helldivers 2 - a freaking co-op game where cheaters can't pose a problem - because of this nonsense.

  • by gnuser on 10/31/24, 3:55 PM

    Im annoyed at all the servile responses in defense of these bad companies.

    Wanna hear my conspiracy theory?

    Three letter agencies are using games as an intel gathering tool, and KLA is part of that. What if the CEOs are getting NSLs, etc?

  • by bastard_op on 10/30/24, 10:16 PM

    The problem is since Valve and Proton made windows games viable for Linux and the Steam Deck, most of that anti-cheat vermin does NOT work under Linux. Even if it did, if you run Linux, you likely take some objection to someone wanting to add kernel modules of unknown and/or ill repute to your pretty open-source kernel.

    Valve knows this, kernel-level anti-cheat is simply not practical for use with Linux as a consideration. Most game companies care zero for Linux in the first place, which means for us, we just end up inadvertently boycotting those games and bad-mouthing them regardless, but hey, it's only 1%.

  • by throwaway48476 on 10/30/24, 8:13 PM

    After the crowdstrike disaster 3rd party kernel drivers need to be shunned for non critical applications.

    Games publishers have been bad actors in this space for a long time now. The genshin impact anticheat was used in a malware campaign. Rockstar was very misleading trying to imply their kernel driver not being compatible with the steam deck was valves fault.