The issue of anti-cheat on Linux (2024)

(tulach.cc)

88 points | by todsacerdoti 1 day ago

29 comments

  • xg15 15 hours ago
    This article gave me more appreciation for the stance of the Linux community.

    So to sum up. Valorant's anti-cheat, which the author sees something like an ideal solution:

    - starts up and loads its kernel driver on boot.

    - generates a persistent unique ID based on hardware serial numbers and associates this with my game account.

    - stays active the entire time the system is up, whether I play the game or not. But don't worry, it only does some unspecified logging.

    - is somehow not a spyware or data protection risk at all...

    • mitkebes 7 hours ago
      I also always hear a lot of people complain about cheaters in Valorant, so all of that compromised personal security doesn't actually stop cheaters.

      Honestly I feel like you should only use kernel anticheat on a dedicated machine that's kept 100% separate from any of your personal data. That's a lot to ask of people, but you really shouldn't have anything you don't consider public data on the same hardware.

      • pxc 4 hours ago
        > you should only use kernel anticheat on a dedicated machine that's kept 100% separate from any of your personal data.

        Correct. Unfortunately, what you've just described is a gaming console rather than a PC. This problem fundamentally undermines the appeal of PC gaming in a significant way, imo.

        • thewebguyd 3 hours ago
          > This problem fundamentally undermines the appeal of PC gaming in a significant way, imo.

          Yes, game publishers are trying to turn PCs into a gaming console, which IMO will always be a futile effort, and is quite frankly annoying. I don't game on PC to have a locked down console-like experience.

          Just embrace the PC for what it is and stop trying to turn it into a trusted execution platform with spyware and rootkits.

          Look at BF6 - for all the secure boot and TPM required anti-cheat they stuffed it with, there were cheaters day 1, so why abuse your users when it's clearly ineffective anyway.

          • ryandrake 1 hour ago
            That's what gets me! If these rootkit anti-cheat systems actually stopped cheating then maybe, just maybe, I'd accept them as a necessary evil. But every game that has these things... still has cheaters! So as a user, you're consenting to ripping a security hole through your system, and in return you are still playing games with cheaters.

            The game companies keep saying these things are necessary, yet they don't fully do the very thing they claim to do on the label.

        • pityJuke 3 hours ago
          Honestly, if consoles were willing to accept KB+M (and gyro aiming for that matter), I’d be completely proposing that competitive live service titles mostly abandon PC, except for a small “probably infested with cheaters” base.
        • msgodel 1 hour ago
          Somehow Xonotic manages to be both completely free/open software and not have cheating problems like this. It's never been clear to me how they've done that although client-side stuff like these kernel anti-cheat things were obviously never going to work.
      • pfooti 7 hours ago
        A dedicated machine with no other general purpose apps that has minimal private data on it sounds like a gaming console.
        • wakawaka28 5 hours ago
          Or a virtual machine...
          • superb_dev 5 hours ago
            And with PCIe pass through you can get near bare metal performance. You won’t be able to play Valorant though
          • Gigachad 4 hours ago
            Anti cheat won't run in a VM
            • dylan604 2 hours ago
              Flip it. Run the games on bare metal with nothing on it but games and a VM. use the VM for your personal system.
              • Hackbraten 1 hour ago
                That achieves nothing. A hypervisor can see and manipulate any VM it runs. By extension, a compromised kernel can do the same.
            • wakawaka28 4 hours ago
              Why not?
              • Gigachad 2 hours ago
                Because anti cheat want's to verify that the highest levels of the system are not being tampered with. When contained within a VM it's impossible to tell if some cheating script on the host OS is reading or tampering with the game memory.

                Probably the only workable solution is for windows to provide some kind of secure game mode where the game and only the game runs and can have windows attest nothing else is running. But that anti cheat has no access to the data in the real work OS which is currently not running. Ruins multi tasking, but assuming you can switch over fast enough it might not be too bad.

              • kaladin-jasnah 3 hours ago
                I've read that they specifically look for this by finding RDTSC timestamps, which would include (?) the overhead of the hypercall or something.
              • dandersch 3 hours ago
                It can work on a vm, but for Valorant specifically it seems that detecting a vm triggers the anticheat and gets you banned. I believe this is the case for most anticheats except VAC. You can try to evade the detection, but then you just enter the same cat & mouse game as a cheater. Whether allowing/disallowing VMs actually cuts down on cheaters? I don't know.
      • Scramblejams 5 hours ago
        > doesn't actually stop cheaters.

        doesn't actually stop all cheaters.

        We could have a better discussion around this if we recognize that failing to stop 100% of something isn't a prerequisite to rigorously evaluating the tradeoffs.

        • trehalose 4 hours ago
          Doesn't actually stop all cheat developers. If even one person develops and sells a cheat that the kernel-level anticheat doesn't catch, then it stops 0% of cheaters from buying and using the cheat.
          • pharrington 3 hours ago
            It makes the cheats more valuable on the black market. I'm fairly sure the only people cheating in the major competitive games with anticheat are whales and extremely unethical pro players.
            • baby_souffle 2 hours ago
              If that's the case then why not only have kernel level anti-cheat enforced for the leagues and the tournaments?
        • gellybeans 4 hours ago
          I think the problem with this line of reasoning is that it's one-sided. Essentially you are saying "Just trust me bro" on behalf of a self-evaluating company.

          I'd argue the potential for abuse is a perfectly reasonable discussion to have, and doesn't have much bearing on the effectiveness of anticheat, but I understand that's not the point you are trying to make.

          • Scramblejams 2 hours ago
            Sorry, my writing should have been clearer, I put one too many negatives in. :-)

            I didn't claim we should trust the company. Whether we can trust the anticheat maker is certainly part of the rigorous evaluation of the tradeoffs I mentioned. My point was that saying "it doesn't stop cheaters" is both incorrect and stifling to a more productive conversation, because it implies anticheat has no value and is therefore worth no risk.

            As for me, if Gabe said "now you can opt your Steam Deck in to a trusted kernel we ship with anticheat and play PUBG," I'd probably do it. But that's because I, for better or worse, tend to trust Gabe. If Tencent were shipping it, I'd probably feel differently.

            • YokoZar 1 hour ago
              Compare: "I still get spam, therefore all these anti-spam measures are worthless"

              It is absolutely the case that there would be more cheating if we turned off the only partially effective systems. We know this because they are regularly stopping and banning people!

      • 0xDEAFBEAD 25 minutes ago
        Why not dual boot, and keep your files on an encrypted partition?
      • sounds 4 hours ago
        About halfway in the article, there's a brief nod to CS:GO. It uses a tick system and the server controls what is possible, such as physics or awarding kills. Fighting genre games use the same server-based game logic.

        Cheating is a big draw to Windows for semi-pro gamers and mid streamers. What else is there to do except grind? Windows gives the illusion of "kernel level anti-cheat," which filters out the simplest ones, and fools most people some of the time.

        • ben-schaaf 50 minutes ago
          > About halfway in the article, there's a brief nod to CS:GO. It uses a tick system and the server controls what is possible,

          As does Valorant and virtually every other first person shooter. The cheats aren't people flying around or nocliping, it's wallhacks and aim assists/bots.

          • JoshTriplett 3 minutes ago
            Wallhacks depend on the server giving the client information the client shouldn't have.
        • chowells 4 hours ago
          Fighting games do not use server-mediated simulation, in general. Cheating is actually a huge problem in popular games. And in fact, even running a server-mediated simulation wouldn't help with any of the common cheating in fighting games.

          For instance, a common cheat in Street Fighter 6 is to trigger a drive impact in response to the startup of a move that is unsafe to a drive impact. That is recognizing the opponent's animation and triggering an input. There's no part of that which cares where the game simulation is being done. In fact, this kind of cheating can only be detected statistically. And the cheats have tools to combat that by adding random triggering chances and delays. It's pretty easy to tune a cheat to be approximately as effective as a high-level player.

          Kernel-level anticheat isn't a perfect solution, but there are people asking for it. It would make cheating a lot harder, at least.

      • tzs 1 hour ago
        > Honestly I feel like you should only use kernel anticheat on a dedicated machine that's kept 100% separate from any of your personal data. That's a lot to ask of people, but you really shouldn't have anything you don't consider public data on the same hardware.

        Wouldn't it be sufficient to simply have a minimal system installed on a separate partition or on a separate drive (internal or external). Boot that for gaming, and never give it the password for the encryption of your non-gaming volumes.

    • everdrive 3 hours ago
      Strongly agreed. Some people want kernel-level anticheat for Linux. I think that's a huge mistake. Ideally, kernel-level anticheat would be done away with altogether. More realistically, I'm just going to avoid any games which use kernel-level anticheat, even if it means missing out.
    • koakuma-chan 8 hours ago
      > - is somehow not a spyware or data protection risk at all...

      Don't worry, it's owned by Tencent.

      • NewsaHackO 7 hours ago
        The author made the most ridiculous arguments, had to stop reading after that point.
    • Retr0id 7 hours ago
      - and, by design, is resistant to auditing, analysis, or user-modification
      • gjsman-1000 7 hours ago
        If you trust Microsoft with your OS; I suppose you should trust Microsoft when they sign kernel modules, right? ;)
        • ACCount37 4 hours ago
          It's a good thing that Microsoft has never signed an anticheat kernel module that turned out to be so vulnerable that some malware installed it on purpose to gain more system access.
          • internetter 3 hours ago
            • dylan604 2 hours ago
              Thanks for the link. I read the GP's comment, and was thinking that was an ballsy if not hilarious move on the hacker's part. Your link saved me the trouble of searching. I'm not a gamer, so I don't keep up with these details. Whether you like it or not, the cheat devs are definitely HN level types
    • Stevvo 3 hours ago
      In Valorant's defence:

      1) There is a 100k bug-bounty on the anti-cheat: https://hackerone.com/riot?type=team

      2) The anti-cheat is the game's entire reason for being. It is the main focus of the development and marketing. People buy Valorant for the anti-cheat; they are willing to accept a kernel driver as a trade off for fairer competition.

    • zaptheimpaler 6 hours ago
      Except that this kernel driver is audited and signed by Microsoft, whom you also trust with the rest of your kernel if you use Windows at all.
      • sidewndr46 5 hours ago
        I don't think Microsoft auditing of code it signs. Wasn't Crowdstrike signed by Microsoft?
        • ronsor 4 hours ago
          It was. All Windows kernel drivers are.

          Microsoft doesn't do any auditing besides "is this the most obvious malware?"

    • shaokind 3 hours ago
      Honest question: do you segment your activities on your computer on different users?

      No? In which case, what practical spyware risk does a kernel level driver add that user mode software can’t do?

      User mode software can spy on your clipboard, surreptitiously take screenshots, and take data out of your system. That spooks me enough that, if I don’t trust a software manufacturer, I don’t install it. Kernel mode makes no practical difference in my security posture.

      • xg15 2 hours ago
        For starters:

        - Creating a unique ID that is directly bound to hardware.

        - Accessing the memory of any process, including browsers or messengers.

        - Installing persistent background processes that are hidden from the rest of the system.

        But I think that's the wrong question. Talking about the kernel driver is a distraction.

        The abuse scenario that I think is most likely would be that the game and/or anticheat vendor uses the hardware ID for user profiling instead of just ban enforcement, and that the "logging" functionality is coopted to detect software or activities that aren't related to cheats at all, but are just competition of the vendor or can once against be used for profiling, etc.

        None of that strictly requires a kernel driver. Most of that stuff could be easily done with a usermode daemon. But under normal circumstances, there is no way I'd install such a program. Only in the name of cheat prevention, suddenly it gets permissible to make users install that stuff if all they want to do is play some game.

      • throwaway01934 2 hours ago
        > User mode software can spy on your clipboard, surreptitiously take screenshots, and take data out of your system

        Not on any properly secured Linux machine. But yes, it's generally a bad idea to install software you don't trust, a category that anticheats slot nicely into, given their resistantance to auditing and analysis.

        • vilunov 53 minutes ago
          A properly secured Linux machine is a unicorn. The Linux desktop ecosystem is struggling a lot with putting software in namespaces. People still install software with their package managers outside Flatpak, there is no isolation of data, not to say many workflows depend on the whole user directory being available to access.
    • gjsman-1000 8 hours ago
      - … but successfully, more or less, prevents most cheating attempts which would also make the game unplayable regardless.

      For anyone saying “just do server side,” no, it’s physically impossible to stop all cheating that way until we have internet faster than human perception.

      • dvdkon 7 hours ago
        Sure, but you could stop the most blatant wallhacks at least, but most times I see a video of a cheater, it's something stupid like that. It can't be that hard to do occlusion calculations server-side, right?

        Don't let perfect be the enemy of good.

        • orbital-decay 3 hours ago
          >It can't be that hard to do occlusion calculations server-side, right?

          I think you already know the answer. Yes, it's bottlenecked by latency and jitter (of the laggiest player, no less), and in addition to that the maximum possible movement velocity makes it much much worse in fast paced games. It's been attempted a few times since at least late 90's, with predictable results.

          In other words, complete server-side calculations are a fantasy. Besides, they won't even remotely make cheating impossible or even harder! Even complete hardware lockdown won't.

        • vel0city 43 minutes ago
          If the server sends your client "you hear footsteps from this location" then you know where they are.
        • gjsman-1000 7 hours ago
          When it comes to cheating, perfect is the enemy of good. This is one of those rare cases where the phrase doesn’t hold.

          The problem is that server-side occlusion is only a small piece of the puzzle. A naïve implementation means hundreds of thousands of raycasts per second, which doesn’t scale. Real engines rely on precomputed visibility sets, spatial partitioning, and still have to leak some data client-side for responsiveness.

          Basically - the kernel level check is not laziness, but for unsolvable problems without huge compute costs or latency.

          • dvdkon 7 hours ago
            Fine, then let's not bother with anti-cheat at all, since an aimbot can work by just filming the screen and sending HID events over USB. Anti-cheat is like DRM: You have to make do with a compromise.

            Hundreds of thousands of raycasts per second sounds doable to me, but couldn't you just use a GPU and some simplified level geometry? That ought to scale well enough. It's not free or perfect (knowing the position of a hand a cheat will be able to estimate where the head is anyway), but that's not the goal, right?

            • whatevaa 5 hours ago
              There is a video of DYI aimbot of using a camera and sending electrical impulses into his arm to make him do certain adjustments. It's a bit hit and miss but seems refineable.

              It's cat and mouse game.

              • pxc 4 hours ago
                Is cyborg doping even cheating? At least at this stage it's still high effort and DIY. That almost makes it legitimate to me
                • internetter 3 hours ago
                  many sport communities call doping cheating
                  • pxc 2 hours ago
                    and that's reasonable! but it's not a given. It's different from other kinds of cheating and some of its motivations are unusual when it comes to cheating restrictions (e.g., long-term health of players)
  • bob1029 3 hours ago
    Targeting perfect fairness in a multiplayer video game with arbitrary latency between participants is a waste of energy. A much better target is to make it feel like no one is cheating. I don't really care too much if someone is actually better or worse than me at counterstrike. What I mostly care about is wildly implausible gameplay. No one is going to stop the guy who is getting a 5% gain on his ELO by using a 2nd computer, machine vision and a robot to move his mouse ever so slightly faster than he typically can.

    However, there are ways to detect when someone is being an absolute madman with the hacks. We're talking head snapping through walls with 100% accuracy and instantaneous displacement across an entire 30 minute match. These people can simply be banned immediately by hardware/steam ID. We can write basic rules to detect stuff like this. There's no "confidence interval" for speed hacking through a map and awping the entire CT team in 3 seconds. You certainly don't need kernel drivers.

    • jayd16 1 hour ago
      This isn't exactly wrong but you're not looking at it from a modern perspective.

      If you can cheat and get away with it, then you'll see streamers do it. That will tank confidence in your game.

      It doesn't matter if cheating doesn't make you top the leaderboard. If you have global leaderboards, they will be dominated by cheaters.

      I don't think rootkits are excusable but if the solution was simple they would do that.

    • cam_l 2 hours ago
      Or entire lobbies filled with bots with the same name that stand around doing nothing while one of them goes full spinbot, and auto kicks anyone who happens to join their lobby. Those bots I see week after week with the same accounts and no bans in sight.
    • twic 1 hour ago
      No need for a robot to move the mouse:

      https://www.youtube.com/watch?v=9alJwQG-Wbk

    • vel0city 42 minutes ago
      > These people can simply be banned immediately by hardware/steam ID

      And how do you actually ensure a good hardware ID that can't be trivially modified?

  • J_McQuade 7 hours ago
    Was going to post this on a now-deleted comment about anticheat being a hard problem, so popping it here because it might be relevant:

    Anticheat is only hard because people are looking for a technical solution to a social problem. The actual way to get a good game in most things is to only play with people you trust and, if you think someone is cheating, stop trusting them and stop playing with them.

    This doesn't scale to massive matchmaking scenarios of course - and so many modern games don't even offer it as an option - so companies would have to give up the automatic ranking of all players and the promise of dopamine that can be weaponised against them, but it works for sports in the real world and it worked for the likes of Quake, UT, etc. so I don't think it's a necessarily bad idea. Social ostracism is an incredibly powerful force.

    However, it does mean that the big publishers wouldn't have control over everything a player does. Getting them to agree to that is probably the real hard problem.

    • cosmic_cheese 3 hours ago
      My naive take is that technical solutions are possible, but critically they can’t be fully automated. The most effective anti-cheat solution possible probably looks something like a full-time in-house team comprised of seasoned ITSEC, data nerds, a couple of ML people, and a few devs. A team like that could probably pick out and boot cheaters with a very low rate of false positives given adequate data to crunch, and they’d only get better over time as they build a roster of patterns and behaviors to match against.

      The problem is that this costs more than game companies are willing to spend, even when they’re raking in cash hand over fist. As long as the problem isn’t so bad that it’s making players quit, it’s cheaper to employ more automated, less effective strategies. The end goal isn’t player happiness, it’s higher profit margins.

      • Rohansi 2 hours ago
        I work on one of the games mentioned in this article and you're underestimating cheaters and cheat developers. We're doing this already and we're one of the smaller studios, so the larger studios are for sure doing it on a larger scale. Cheaters are still managing.
      • J_McQuade 2 hours ago
        I think this is the most reasonable take I've seen here. As my sibling comment mentions, people are already doing this. I think that - if anything - my point is that this is being done, but separately to the social element. You could get a hundred PhDs to look at the data and identify a cheater, but what you really want to avoid is someone that 9/10 people don't want to play with... and only the players can really tell you who that is. Data from the PhDs would help, though!

        I've not really thought about it so deeply until right exactly now (thanks, all!), but I think doing so might have led me to a very unpopular opinion - I might be prepared to say that this problem can't be solved in an anonymous environment. Unless you have a reputation to ruin (or, say, an xbox account to lose), then being outed as a cheater costs you nothing. Again, this is incompatible with a lot of current multiplayer modes - and most of what I love about PC gaming - but, ultimately, I'd rather be judged by my peers than a rootkit.

    • mjr00 4 hours ago
      > Anticheat is only hard because people are looking for a technical solution to a social problem. The actual way to get a good game in most things is to only play with people you trust and, if you think someone is cheating, stop trusting them and stop playing with them.

      As much as I reminisce about the days of private servers for Quake/2/3, UT99, CS1.6, etc., saying this is really ignorant of how modern gaming and matchmaking works. Some games would simply not be possible without public matchmaking; I don't care how much of a social butterfly you are, you are not going to get 99 friends to get a PUBG match going. Even getting 11 other people to run a game of Overwatch or CS would be a pain. Other games need public matchmaking to have a fair ranking system. You go onto say ranking is "weaponised" but, ranking is a feature, and a lot of people like that feature.

      > However, it does mean that the big publishers wouldn't have control over everything a player does. Getting them to agree to that is probably the real hard problem.

      The demand for anticheat, and matchmaking/ranking systems, are entirely player-driven, not publisher-driven. If developers and publishers could get away with only implementing player-managed servers and letting players deal with cheaters, they would! It's a lot less work for them.

      As a sibling comment mentioned, even in the days of private servers you ended up with community-developed tools like Punkbuster. I remember needing to install some anti-cheat crap when I signed up for Brood War's private ICCUP ladder.

      • OkayPhysicist 4 hours ago
        Large-player count community server driven games actually have a pretty big advantage compared to smaller player count ones: it makes it easier to have somebody with the permission to ban cheaters online at approximately all times.

        Squad has 100 player games, and despite its anticheat having well-known bypasses, I don't see a lot of hacked client cheating. Why? Because I play on servers that consistently have a couple people online during the hours I play that ban anybody who cheats.

        Community servers have a lot more moderators than the game devs could possibly afford, because they can build trust with volunteers.

      • J_McQuade 4 hours ago
        > this is really ignorant of how modern gaming and matchmaking works.

        If you listen to the people complaining about cheating... it doesn't.

        > I don't care how much of a social butterfly you are, you are not going to get 99 friends to get a PUBG match going.

        True, but my county is able to get more than that number of people into a cricket league. You don't need to personally know everyone, just be confident that there is a system of trust in place that would weed out any rotters. Is such a system going to be perfect? No, but neither are any of the top-down approaches attempted in videogames. At least this one doesn't require me to install an umpire in my home at all times.

        > As a sibling comment mentioned, even in the days of private servers you ended up with community-developed tools like Punkbuster.

        The difference is that you could have played the game without doing that. If you didn't trust the people on that server, how likely would you be to install those tools?

        • mjr00 4 hours ago
          > True, but my county is able to get more than that number of people into a cricket league. You don't need to personally know everyone, just be confident that there is a system of trust in place that would weed out any rotters. Is such a system be perfect? No, but neither are any of the top-down approaches attempted in videogames.

          I played against the EVO 2025 world champion Street Fighter 6 player in ranked matchmaking last week. When's the last time your county cricket team played against anyone who's won the Cricket World Cup?

          We're fundamentally talking about different activities here. Lamar Jackson doesn't get to choose who he plays against in the NFL; if he wants to win the Super Bowl he has to play against Joe Burrow. If Joe Burrow cheats by deflating some footballs, there has to be a system in place which catches him and doles out appropriate punishment. Your "solution" is essentially telling Lamar to not worry about it and just play flag football with his friends instead.

          I realize this type of activity isn't for everyone, and there's something to be said about too many games becoming overly competitive, but your proposed solution doesn't really address the problem.

          • J_McQuade 3 hours ago
            > We're fundamentally talking about different activities here.

            It seems so, and I think your example underlines this:

            > Lamar Jackson doesn't get to choose who he plays against in the NFL; if he wants to win the Super Bowl he has to play against Joe Burrow. If Joe Burrow cheats by deflating some footballs, there has to be a system in place which catches him and doles out appropriate punishment.

            I don't know who those people are, but I'll assume that this is a reasonable pairing of NFL players. Are you saying that there is no system in place to catch cheating in the NFL? Because I'm pretty sure that there is - it is just made out of people, rather than software.

            Software anti-cheat seeks to stop everyone cheating everywhere, and this is clearly impossible. Using current anti-cheat methods in IRL sports, then in a game with as many involved participants as NFL a cheater might get away with it for a bit, but I'm sure if it turned out if the Steelberg Bunglers were deflating their balls every game, then this would be a massive scandal that makes national television. They would probably have to be audited (install anti-cheat) for a season or two before people would trust them to play a clean game for a while.

          • namibj 3 hours ago
            Move to console or an arcade or something, but away from general purpose personal computers, if you want that level of assurance from the system.

            Please. They'll take our collective computing freedom if we don't keep these separate.

    • jeroenhd 4 hours ago
      There are quite a few games that are fun because they throw dozens of players into the same event. I don't have over 100 friends to play with, let alone over 100 friends I trust not to cheat.

      For some games the small group approach works, but even a game as simple as Counter Strike requires at least a dozen players to make the most of.

      That said, there are perverse incentives in many of the games hit worst by cheaters. Games that invent more and more prestigious rewards and titles for accounts that do well in hopes of them spending more money on microtransactions, or the microtransaction hell-holes like GTA Online that exist as a vessel to take your money more than to be of any fun. Adding upgrades and other desired items behind a gambling mechanic makes the whole ordeal extra shitty, praying on the psychological weaknesses of the unfortunate souls to get a digital gambling addiction so they can be sucked dry by billion dollar companies.

      I've personally never run into anticheat issues because I find most of the games that require anticheat for online play just aren't worth the time and effort to play online in.

      But still, the old SW Battlefront II wouldn't be fun without the massive online matches, and those require some form of anticheat to stay fun.

    • ThatPlayer 5 hours ago
      I agree with you the issue is scale, but the scale when it worked was when gaming was niche. You can't put that back into the bottle.

      The history of plenty of anticheats start with community servers, not matchmaking. Even Team Fortress Classic had enough of a cheating issue that community members developed Punkbuster, which went on to get integrated into Quake 3 Arena. A lot of 3rd party anticheats were developed in that era for community servers. BattlEye for BattleField games. EasyAntiCheat for Counter-Strike. I even remember Starcraft Brood War's 3rd party ICCUP server with 'antihack'.

      You still see this today with additional anticheats on community server solutions. GTA V's modded FiveM servers had anticheats before it was added to the official game. CS2 Face-IT and ESEA servers have additional anticheats as people do not think VAC is effective enough.

    • Rohansi 3 hours ago
      > The actual way to get a good game in most things is to only play with people you trust and, if you think someone is cheating, stop trusting them and stop playing with them.

      One of the games mentioned in this article is Rust. Playing with only people you trust defeats the point because it's a game full of betrayal. At best you'll be able to get a group together once and then destroy your relationships more than Monopoly would.

    • Notatheist 3 hours ago
      I cannot agree. Getting a Quake game up in the early 2000s could take hours worth of sitting in IRC pickup channels, if it happened at all. I don't feel publishers are at fault here. I figure the vast majority of players would pick an instant game with potential cheaters over an hour wait for a 50% chance at a game.
      • orbital-decay 3 hours ago
        That's because few people played Quake, it got elitist really fast. I had the same issue with it. I had zero issues with CS, though, finding a match was pretty easy. PUGs aren't a thing of the past, PUBG players used to do them for example.
    • Wowfunhappy 7 hours ago
      I think there's immense value in being able to just press a button and jump into a game, without having to actually know people and build up a community.

      However, I wonder if you could have that while still removing features that make cheating seem appealing. For example, as you said, you can have games with randoms without an automatic ranking of all players. (Or maybe you rank players so you can match people of similar skill levels, but you don't tell anyone what their rank is.)

      • cortesoft 4 hours ago
        > For example, as you said, you can have games with randoms without an automatic ranking of all players

        Good skill matching is one of the most important advancement in gaming over the last few decades. Being able to consistently play against people who are fair competition for you makes the games so much more fun, especially if you are much better or much worse than the average player. In the old days, you could alternate between opponents that were no challenge at all and opponents you would have no chance against; both types of games get old really fast.

        In some ways, good skill matching can alleviate the harm cheaters do; if the cheating makes them way better than everyone else, then good matchmaking should start to match them up only against other cheaters. In many ways, this is the ideal scenario - cheaters play against each other, and everyone else plays against people who are close in skill level.

        • Wowfunhappy 4 hours ago
          I think you might have missed my parenthetical! :)
      • mjr00 4 hours ago
        > However, I wonder if you could have that while still removing features that make cheating seem appealing. For example, as you said, you can have games with randoms without an automatic ranking of all players.

        This does not stop cheaters whatsoever. Anyone who played during the private server era of FPS in the late 90s/early 00s knows this; wallhacking, modified character models with big pointy spikes indicating player locations, aimbots, etc. ran rampant, even when nothing was on the line.

      • everforward 4 hours ago
        That still exists in many games with server browsers. The game just goes through the server list to find a populated one with low latency and “official” settings (ie not knife only or modded).

        Works basically the same as matchmaking does now, albeit in only matching on server quality and not player skill.

      • eikenberry 5 hours ago
        They could still have this with a campaign/story-mode or even a simple bot-mode.
        • Wowfunhappy 4 hours ago
          Even as someone who plays very few games online, I can tell you that playing against bots isn't the same as real people, even if they're randoms you don't know. Maybe that could be improved if developers prioritized bot AI, but since they don't, here we are.
    • zaptheimpaler 7 hours ago
      So how am I supposed to play a game of PUBG if I don't have 99 friends who I trust not to cheat who also play it? How is any community going to establish and continuously monitor that their members don't cheat, while also allowing new members to join over time? I don't have a big group of friends who also like playing the same games I play at the same times I want to play, sounds like a total non-starter to me.
  • shirro 25 minutes ago
    Anti-cheat behaves exactly like malware. It inserts itself in your system in a privileged state to monitor your activity. It's only job is to spy on your behavior.

    If you want to run it I don't see a problem. Use a dedicated machine. Lets call it a console. Use it exclusively to play online pvp. Don't use it for anything else.

    Privacy and security conscious people who use Linux desktops as general purpose computing devices generally don't want anti-cheat systems on their computers. I have no problem with the technology existing for other people. Don't try and force me to use it or I won't support your games/service.

    I think a lot of the posturing from game publishers about anti-cheat on linux is really about dissatisfaction with Valve's control of the platform and revenue cut. Competitors aren't prepared to invest in development to build a strong platform like Valve but they are jealous of Valve's income. Nerfing their product on Linux is likely a way of pushing people to other platforms. I don't know what they are smoking because Sony, Apple, Nintendo and Microsoft aren't going to be any better for them.

  • bigstrat2003 7 hours ago
    I don't personally see an issue that my computer can't run literal rootkits being shipped with the game. But I concede that not everyone shares my preferences, and if you wish to run this malware you should be able to do so.
  • ai_critic 23 hours ago
    I miss PUBG, but the fundamental purpose of anti-cheat software is to circumvent and curtail user freedom. I don't really want affordances for that in my OS.
  • Retr0id 7 hours ago
    One way to do anti-cheat on linux without compromising the sanctity of your host kernel would be to run the game inside a hardware-protected VM.

    Anti-cheat does not ordinarily like to run inside a VM, because then the hypervisor can do the cheating, invisibly to the kernel. However, technologies like AMD SEV can (in theory) protect the guest from the host, using memory encryption. (And potentially also protect from DMA-based cheats, too)

    What you'd need is some way for the hardware to attest to the guest "yes, you really are running inside SEV".

    • jeroenhd 4 hours ago
      Even with SEV, you need hardware passed through to the VM. That means either running two GPUs or hot-swapping the machine your GPU is connected to and hoping neither driver crashes and burns (which is what you can expect from any consumer GPU driver that tries to hotplug). The software will also break the moment someone finds yet another side channel attack to break memory encryption. Intel's attempts at secure hardware hypervisors failed so bad they took the hardware out of consumer chips.

      In theory you could probably get it to work on some hardware given some boot configurations with some games, but what game developer is going to develop a bespoke Linux VM? And if not the game developer, what Linux developer is going to spend time developing a platform that caters to the wishes of closed-source, rootkit-driven anticheat developers?

      • Retr0id 3 hours ago
        The guest VM doesn't actually have to be Linux, but I don't see why it couldn't be any old distro.
      • NoahZuniga 3 hours ago
        > Intel's attempts at secure hardware hypervisors failed so bad they took the hardware out of consumer chips.

        That doesn't seem right. Hypervising is not a feature many consumers use, so why would they spend the money to include it in consumer chips?

        • namibj 3 hours ago
          Watching rented movies is something consumers apparently do; I understand it to have mostly been used for that.

          Besides that, these aren't area-heavy features; it's cheaper to share the core design and just have the feature available anyways than to design it out.

  • Cloudef 1 hour ago
    Article citing valorant as doing anti-cheat the best way is really baffling. Their anti-cheat practices are so invasive they might as well require you to play on a PC they own completely. They simply won't let you play if you have software or drivers installed they don't trust. One step further is to use TPM and secure boot to completely lock your PC to a trusted vendor installation aka iOS/Android walled garden for PCs.

    But if "serious gamers" really want to go this far to prevent cheating (which will happen anyways as it's not a technical but social problem) then go ahead I guess.

  • Bender 2 hours ago
    If anyone finds it useful, these can be added in a startup script but dont put it in sysctl.conf or sysctl.d/ as it may eventually break OS updates. Someone will say these have never broken their OS update but what they do not realize is that they have jynxed themselves and murphies law is now active. These options may prevent some rootkits malicious or otherwise. Research these options and test them before running scissors.

        kernel.modules_disabled = 1
        kernel.kexec_load_disabled = 1
    
    The options can be loaded last after the OS is entirely up and running using sysctl. The script that loads these options would have to be disabled and the OS rebooted prior to doing OS updates. Once these options are enabled they can not be disabled without a reboot.

    If giving a video game sudo or doas or root access, research the game, its developers and publisher exhaustively and ask a magic 8 ball at least 3 times if the game developers can be trusted. Are they within your countries jurisdiction? As others eluded to, consider having a dedicated bare metal system for the games that are suspect. Keep a thumb drive around with the OS image, maybe even a few OS snapshots just in case the game performs dark magic on your system. Consider enabling auditd with custom rules to watch for writes within /boot, /etc, /lib and /usr at very least. Auditd has a built in module that can be enabled to send auditd messages to a remote syslog server. If a game is doing something sneaky or shady, name and shame them.

  • Wowfunhappy 7 hours ago
    I found this part notable:

    ---

    Let me ask you a question. How many vulnerable drivers (yes, those that can be abused by bad actors to gain kernel access) do you think the average gamer has on their Windows install? I’ll start with my own system. This is what I can immediately think of:

    MSI Afterburner - RTCore64.sys driver (yes, even in the latest version) has a vulnerability that allows any usermode process to read and write any kernel memory it wishes

    CPU-Z - cpuz142_x64.sys driver has (again) kernel memory read/write vulnerability and MSR register read/write

    If I looked hard enough, I would most likely find more.

    • Retr0id 7 hours ago
      I didn't really get the point being made there. Yes, windows kernel security posture is swiss cheese, but that's not an argument for poking more holes.
      • Wowfunhappy 7 hours ago
        Well, if nothing else, it makes me think that if you are doing truly security-sensitive work, you almost certainly need to get a separate computer for that. Whether or not you play any games with kernel-level anti-cheat, you probably have cpu-z installed.

        And if you're not doing something particularly sensitive, then security on consumer PCs must matter a lot less than some people think.

        • jeroenhd 4 hours ago
          > Whether or not you play any games with kernel-level anti-cheat, you probably have cpu-z installed.

          The problem with these is actually worse. Any program with the necessary permissions can load these drivers. Some malware likes to ship known-vulnerable drivers with one of their later stages to get kernel code execution, and Microsoft doesn't want to revoke the signatures of this malware because applications and hardware will stop working.

          You don't nee CPU-Z to be installed, you just need to run a program that decided to bundle the (old) CPU-Z driver.

  • PUSH_AX 7 hours ago
    I thought DMA cheats rendered all of these anticheat efforts useless? It feels like the future of anticheat should probably be focused on how to efficiently send player data to clients only when they would be able to interact with them anyway. Or replay moderation?
    • Asooka 7 hours ago
      Not entirely. Valorant's anti-cheat tries hard to detect DMA cards, which eventually led to one of their largest banwaves. See:

      https://playvalorant.com/en-gb/news/dev/vanguard-hits-new-ba...

      Of course the cheat developers don't sit idle, so this is far from over.

      • PUSH_AX 7 hours ago
        I read this article, unless I missed it Brazilian pixel bots comprised the bulk of the ban wave, with DMA cheaters getting a mention but of unspecified quantities, and could have been swept up in manual and rage hacking bans?
  • j-bos 3 hours ago
    Kernel level anti-cheat a short term curse with long term damages. For those wondering about the short term, here's a cheat that will never be handled by rootki-anticheat: https://youtu.be/9alJwQG-Wbk (vid description, an aimbot that triggers your human muscles to aim faster than any unaugmented human) That solution was effectively made from a box of scraps. Now imagine in a year when some go getters package and sell it to the mass market.

    Long term damages are self explanatory, it's called a-rootkit

    • mudkipdev 1 hour ago
      This is an extreme example
  • why_at 7 hours ago
    This is one use case where I think the idea of cloud gaming (e.g. google stadia) could make some sense. Having this as an alternative for linux users would be nice.

    It's much harder to cheat if the game isn't running on your computer.

    • dvdkon 7 hours ago
      That's a good idea, sadly I think gamers would reject it due to extra latency.

      The ultimate "anti-cheat" is playing on some trusted party's computer. That can be a cloud machine, but I think today a game console would work just as well, turn that closed nature into an actual user-facing benefit. Console manufacturers seem focused on their traditional niche of controller couch gaming and not on appealing to high-FPS keyboard-and-mouse gamers, though.

      • everforward 4 hours ago
        Consoles are also vulnerable via peripherals. There are controllers that will run recoil countering scripts and things like that.

        XIM fakes being a controller but is KBM. I sort of wonder whether it’s possible to use a camera to get a stream of the game and make an aimbot either by making a fake controller or a robot that manipulates a real controller.

      • why_at 7 hours ago
        Yeah I don't think this would work for hardcore competitive gamers, but it would be nice to have as an option for those who are more casual. Definitely better than not being able to play at all.

        It doesn't even seem very hard to implement, steam already has the ability to stream games, they could add this pretty easily as an option for any game (although there is the concern of the extra cost of running the servers).

      • prmoustache 5 hours ago
        >That's a good idea, sadly I think gamers would reject it due to extra latency.

        That shouldn't be a problem if all players, regardless of the OS, are required to use the same cloud service with similar latency.

    • Tuna-Fish 7 hours ago
      Cloud gaming is flatly non-workable for any kind of game where latency matters. This also covers most of the market for games where anti-cheats matter a lot.
      • internetter 3 hours ago
        > Cloud gaming is flatly non-workable for any kind of game where latency matters.

        Not if only the rendering is done on the client. Look at rocket league.

        Edit: of course, it is still possible to cheat in rocket league, but because all physics state is server authoritative at best a perfectly coded cheat could play like a perfect human, not supernatural.

        • Rohansi 2 hours ago
          I'm not familiar with Rocket League but server authoritative netcode is not comparable to cloud gaming. All games should be as server authoritative as possible to prevent cheating from the start. The problem is the client may have more state in memory than what you can see rendered on screen (players behind walls). Running the game on the cloud makes all of that inaccessible to cheats.
      • prmoustache 5 hours ago
        How is that a problem if everyone is using it?
    • mitkebes 7 hours ago
      Generally yes, although some cheats like aim assistance would work fine on online streamed games, since they can scan your screen and adjust your mouse input to aim.

      To be fair kernel anticheat can't block this completely either, it can be run on external hardware that uses a capture card to analyze your video feed and alter your mouse inputs to the computer. Generally undetectable unless the game is able to identify unnatural mouse movements.

      • why_at 7 hours ago
        >it can be run on external hardware that uses a capture card to analyze your video feed and alter your mouse inputs to the computer.

        I think at some point defeating this becomes impossible. This sort of cheating isn't much different conceptually from just having someone who's really good at the game play for you.

    • tracker1 7 hours ago
      Lag is the biggest issue... even a local wifi connection vs wired can make a massive difference in terms of what's acceptable lag.

      Of course, to TFA's point on network code... a lot of the issues in question could come down to checking for movements that exceed human... moving faster than the speed in game, or even twitch aiming movements faster than a mouse, or a consistent level of X accuracy in shooting over time. On the last part, I'm not sure if there might be some way to mask a user's hit zone, rendering and such so that an aim-bot thinks the foot is center-mass, etc. Or if it could be randomly shifted in a test scenario.

  • mitkebes 8 hours ago
    The author cites fear mongering over kernel anticheat, but I don't think anyone reasonable should be ok with their personal computer having kernel anticheat installed.

    Genshin's anticheat was used to install ransomware, ESEA's anticheat was used to install bitcoin miners on users machines, EA's anticheat was used to hack clients computers during a tournament, etc.

    When not explicitly malicious, anticheat software is at best spyware that's spying on your computer use to identify cheating. People complain a ton about Microsoft recall storing screenshots of your computer locally being a security risk, and yet they're fine with a Chinese owned anticheat program taking screenshots of your computer and uploading them online. And even if the company isn't trying to use that info to spy on you, my understanding is that when you're a chinese company, you have to give full access of that data to the government.

    With the ongoing/rising tensions between the US and China, I actually think there's a significant chance that we may see all Chinese owned anticheat programs banned in the US, which would be pretty significant since they own or partially own the majority (as far as I know).

    • phendrenad2 7 hours ago
      > I don't think anyone reasonable should be ok with

      Well, I don't think anyone reasonable should be telling others what they "should" be ok with, myself included (I made an exception this one time).

      > Genshin's anticheat was used to install ransomware

      You should tell the full story: Ransomware installed Genshin's anticheat because it was whitelisted by antivirus providers, it then used the anti-cheat to load itself deeper into the system. So not really a problem with Genshin's anticheat (indeed, users who had never played the game or even heard about it would be affected), but a problem with how antivirus providers dealt with it.

      > ESEA's anticheat was used to install bitcoin miners

      You should tell the full story: Someone compromised the supply-chain and snuck a miner into the anticheat binary. It was discovered immediately, and the fact that the miner was in the anticheat and not, say, a game loader, did nothing to hide it.

      > People complain a ton about Microsoft recall storing screenshots of your computer locally being a security risk, and yet they're fine with a Chinese owned anticheat program taking screenshots of your computer and uploading them online

      This is just a fallacy. Like saying "people voted for candidate A, but then they voted for candidate B!" Obviously, there can be multiple groups of people, and saying that "people" vaguely support X but not Y is usually a misunderstanding of the groupings involved.

      The obvious explanation for this is"apparent" contradiction you point out is: Windows Recall is likely to be an on-by-default feature, and people don't really trust Microsoft not to "accidentally" enable it after an update. Also, Recall would likely be installed on all computers, not just gaming PCs. That's a big deal. A lot of people have multiple PCs, because they're cheap and ubiquitous these days. Maybe they're okay with recall and/or anticheat taking snapshots of their gaming PCs, but not the laptop they use to do their taxes, etc. The source of your confusion is likely the misunderstanding that most people, unlike the HN crowd, are practical, not ideological. They don't oppose anticheat on some abstract level, they care about the practical reality it brings to their life.

      Another element is that most people, at least in the US, have "spy fatigue". They figure, hey, the US government spies on me, the five eyes spies on me, Russia and China spy on me, what does it matter?

      • nemetroid 4 hours ago
        > So not really a problem with Genshin's anticheat (indeed, users who had never played the game or even heard about it would be affected), but a problem with how antivirus providers dealt with it.

        The distinction doesn't really matter. The claim wasn't that the ransomware authors exploited deficiencies in the anticheat design, just that the anticheat was used to install the ransomware, which it was.

      • yjftsjthsd-h 4 hours ago
        > You should tell the full story: Someone compromised the supply-chain and snuck a miner into the anticheat binary. It was discovered immediately, and the fact that the miner was in the anticheat and not, say, a game loader, did nothing to hide it.

        Software with that level of access having a supply chain compromise is not an argument in its defense.

        • phendrenad2 4 hours ago
          See that's the thing, I'm not making an "argument in its defense", I'm just telling the truth (the whole truth). It might not be an important distinction to you, but it might be an important distinction to the next person, and glossing over points like this does everyone a disservice.
          • yjftsjthsd-h 4 hours ago
            Fair. Then thank you for telling the full story (which makes them look even worse).
    • ectospheno 7 hours ago
      I just gave up and only console game. On the plus side I can buy cheaper computers now.
  • jrm4 8 hours ago
    Can't help but consider how, perhaps, this could be a teaching moment for other folks. I know "convenience reigns supreme" but getting perhaps less-tech savvy gamers knowledgeable about what is being given up when you use anti-cheat.

    Alas, I'd like to believe we could be in an era of "hey, not a problem, just have a dedicated gaming machine," but that too is difficult.

  • CrimsonCape 3 hours ago
    Is cheating possible because games are written in low level languages which have to have precise tracked positions of elements in memory?

    If your garbage collector is grabbing an entire arena of memory and moving it constantly, doesn't that limit a cheat to asking an API to retrieve an object because only the managed memory knows where objects reside at any given moment?

    • Stevvo 3 hours ago
      No. When you write code in a high-level language, your data is still in-memory offset at some 'precise tracked position', even if you are not being explicit/conscious about that layout. Games that use high-level languages are often easier to hack. e.g. Escape from Tarkov is one of the most hacked games because players can hook directly into its C# script VM, writing code as easily as if they had the original source.
  • Retr0id 7 hours ago
    > Just recompile the kernel and change the functions it uses to hide the possible cheat and bypass all checks.

    You can do this on macOS too, by the way. XNU is open-source.

    • hollerith 7 hours ago
      Is that really true?

      How would one get the modified XNU past the verified-boot process? Turn off verified boot?

    • gjsman-1000 7 hours ago
      … well, technically speaking, most of it is open source. However, some parts regarding Apple Pay, FileVault, FairPlay DRM, any iOS compatibility, it’s excised.
      • Retr0id 7 hours ago
        Right, but you can splice your recompiled version back into the original binary, complete with proprietary components. I've done this before, maybe I should write up the process.
        • commandersaki 7 hours ago
          With SIP enabled?
          • Retr0id 7 hours ago
            For my particular use case I disabled SIP and everything was fine, but workarounds should be possible.
        • porridgeraisin 7 hours ago
          Please do!
    • chuckadams 7 hours ago
      Good luck booting a custom kernel with SIP enabled, and I'm pretty sure any anti-cheat will nope out immediately if SIP is disabled.
      • 15155 7 hours ago
        So intercept whatever mechanism it's using to detect SIP enabled status...?
      • Retr0id 7 hours ago
        You do have to disable it, but you can patch the kernel to lie to userland about SIP status.
  • fa3556 7 hours ago
    I feel like the only other solution to kernel-level anticheat is some kind of measured and verified system image. The whole chain has to be signed and trusted from the TPM through the kernel to userspace. This way if anyone tampers with the system the game will refuse to launch. I think something like this is already possible with systemd or is at least the long term goal IIRC from Lennart's blog.
    • dvdkon 7 hours ago
      I don't know much about TPM APIs, but I think (barring some hardware attestation scheme) a malicious kernel could intercept any game-TPM communication.
      • jeroenhd 4 hours ago
        The verified bootloader would register the signature of the kernel into the TPM, so a malicious kernel would be noticeable. You could still exploit the kernel, of course.

        Even a hacked kernel won't have access to the key material stored inside of the TPM, though, so it wouldn't be able to fake the remote attestation key material used to sign any challenges.

        Using TPMs this way requires secure boot which only permits non-exploited, signed kernels to load signed operating system images and signed drivers. Revocation of exploitable software and hardware must be harsh and immediate. That means most dTPMs (which have been proven vulnerable to numerous side-channel attacks) are unusable, as well as some fTPMs from CPUs running old microcode. Several graphics cards cannot be used anymore because their drivers contain unpatched vulnerabilities. Running tools with known-exploitable drivers, such as CPU-Z and some motherboard vendor software, would imply a permanent ban.

        This approach can work well for remotely validating the state of devices in a highly secure government programme with strict asset management. For gaming, many hardware and software configurations wouldn't be validatable and you'd lose too much money. Unfortunately, unlike on consoles, hardware and software vendors just don't give a shit about security when there's a risk of mild user inconvenience, so their security features cannot be relied upon.

        You can do what some games do and use TPMs as your system's hardware identifier, requiring cheaters to buy whole new CPUs/motherboards every time an account is banned. You can also take into account systems like these but don't rely on them entirely, combining them with kernel-level anticheat like BF6 does (which requires secure boot to be enabled and VBS to be available to launch, though there are already cheaters in that game).

  • donatj 7 hours ago
    It's an unpopular opinion, but for better or worse, this is why I think it still makes sense to have a dedicated games machine separate from the main computer.

    I'm largely a console gamer, so I don't have to worry about EA's latest malware opening my computer up to the world. I'm also a filthy casual though.

  • AlienRobot 7 hours ago
    Cheats are why I stopped playing FPS's and only occasionally play Rocket League. I can't tell if I'm bad at the game or if everyone else is cheating. Half of the games on this list are FPS's.

    I think the more important question isn't how you implement an anti-cheat, it's why some types of games attract cheaters.

    When victory in a game isn't about strategy but just about how quickly you can click o character's head, and just by doing it once you win the game, that makes the whole game a clear target for cheating. Everyone cheats as the sniper, nobody cheats as the medic.

    I think you could make an FPS that cheaters hate by designing it so that it requires at least 2 players to defeat a player on the opposite team, e.g. by giving everyone weapons of different type and needing two types to defeat an enemy.

    I wonder if anti-cheating game design is a thing?

    • bee_rider 7 hours ago
      Cheating and worrying about cheating in these matchmaking FPS games is a ridiculous thing to do. If you get matched with cheaters, and the ranking system actually works, they are cheaters whose cheat-augmented skill is equal to yours.

      Game designers could have just worked on their ranking systems, and least the cheaters rocket off into their own domain of impossibly-high-elo games. Let there be a cheaters league. It could be fascinating, what’s fully-cheated gameplay look like? Just ban disruptive behavior like ddosing other players.

      OTOH, artificially lowering your rank to stomp low-level players is a problem. But cheaters, as well as just legitimately really good players, can do this; the place to solve this is the ranking system.

      • AlienRobot 4 hours ago
        I feel like it's more about trust. Once you stop trusting that you are NOT playing against cheaters, every match feels like you are just a walking target for someone else's entertainment.

        To put it in another way: either I'm bad at a competitive game, or I'm playing against cheaters. Once you start feeling like that, neither scenario seems like an enjoyable time, so why play at all?

        I feel like the biggest problem to me is that these types of games are INSANELY popular, but personally I'd rather play something less skill-based and more fun-based. These competitive games just keep appearing in front of me all the time despite that fact I don't enjoy them.

    • tracker1 6 hours ago
      I think that Team Fortress is pretty good in this regard... at least for some CTF maps and configurations... (I'm mostly recalling the original quake mod)... there were some maps that you had to have a scout/spy to be able to get past a strategically positioned automatic gun, and even then an HW guy by the flag was a pretty good secondary that was hard to get through.

      Of course, I still remember seeing cheaters back then, in that game... usually quickly kicked off the server you were playing on.

  • prmoustache 5 hours ago
    Just invite you friends at home and play together already.
    • rrix2 4 hours ago
      my friends live in the computer
  • arminiusreturns 3 hours ago
    tinfoil hat time: three letters use anticheat rootkits to pivot into systems and are sock puppeting anti-anti-cheat.
  • Asooka 7 hours ago
    The cat and mouse game between cheat devs and anti-cheat devs is quite interesting. I saw a nice video [1] a year ago about the state of the art in cheat development, which at that point was having a PCIe device that can issue DMA requests to read the RAM at any time and stream the data to a second PC to analyse. Vanguard did end up banning those people eventually, since it can see what devices you have plugged in. I can't help but wonder if the next level would be some kind of shim on the physical RAM sticks; or maybe custom UEFI firmware.

    Ultimately the OS should be providing a service that can verify a program is running in a secure environment and hasn't been tampered with. That's something that's useful for things far beyond games. I kind of hope the cheaters win this war for now, to create the incentive for building a better, proper, standardized, cross-platform solution.

    [1] https://www.youtube.com/watch?v=kzVYgg9nQis

    • jeroenhd 4 hours ago
      > Vanguard did end up banning those people eventually, since it can see what devices you have plugged in.

      Only because the makers of those DMA cards do a bad job hiding themselves. They either use vague, recognisable names, or don't act like the devices they're spoofing.

      The moment a cheat developer manages to reprogram an actual SSD (especially a common model), hardware detection like that becomes near impossible.

      • davikr 1 hour ago
        Riot just shipped a new kind of DMA protection, using IOMMU, and they tout that that cheating method is now 6 feet deep.
    • tracker1 6 hours ago
      I would think the Linux kernel could offer a "don't let anything read/write to the process I'm about to open" with a launcher then have that process also create a random/temp executable to test that the configuration is working...

      Having the kernel itself, actually deny any access... The game devs run a build without debug symbols (not that debugging could work with it on), and run with it... Also, this should severely limit what that process can do in terms of communication outside itself. And maybe a launch warning from the OS... "You are about to launch a sealed application that cannot be observed, do you want to continue? Y/N"

      • Sohcahtoa82 5 hours ago
        > I would think the Linux kernel could offer a "don't let anything read/write to the process I'm about to open" with a launcher then have that process also create a random/temp executable to test that the configuration is working...

        Then all a cheater has to do is run a custom kernel that has an API that responds to that request but then lets another process read/write the memory anyways.

        You have to keep in mind something. The cheaters don't give a shit about what they have to do to let a cheat work. It's only the legit players that are like "I don't want anti-cheat to have kernel access". Cheaters will flash a custom BIOS to their motherboard if they have to without a second thought, while legitimate players would be absolutely horrified of the idea of needing a custom BIOS for anti-cheat, and very rightfully so.

      • positr0n 5 hours ago
        That would only protect against userland cheats. A cheat developer would just write a kernel module to read the memory so it wouldn't be another process attempting to read it, but the kernel itself.
  • hulitu 9 hours ago
    > The issue of anti-cheat on Linux

    Is the memory of this kernel module protected from access from another kernel module ?

    • kuschku 8 hours ago
      That's why anticheats demand they are loaded first, and then intercept the loading of later drivers.

      Which obviously causes all kinds of issues, and violates both freedoms 0 and 1 https://www.gnu.org/philosophy/free-sw.en.html

      And they don't just remove those freedoms regarding the game, but for the entire system.

      • cyberax 7 hours ago
        > Which obviously causes all kinds of issues, and violates both freedoms 0 and 1 https://www.gnu.org/philosophy/free-sw.en.html

        They do not, as long as you can disable the anti-cheat and reboot.

        • kuschku 6 hours ago
          The core freedoms are about allowing anyone to run, inspect, understand and modify software.

          Even if the game itself doesn't grant me that freedom, my OS and drivers should not prevent me from attaching a debugger to the game without it noticing.

          My computer, and the software on it, should obey me, and me alone. Never should they obey a developer's desire to restrict what I can and cannot do.

          That is the ideological basis of the free software movement, and as you may have noticed, incompatible with client side anticheat.

  • quotemstr 3 hours ago
    Everyone is thinking about this problem the wrong way. Just use remote attestation.

    Who needs opaque binary blob kernel modules or whatever for anti-cheat when you can bootstrap a secure boot and remote attestation setup? It's possible for a game server to verify cryptographically that someone is running stock firmware, stock bootloader, stock TCB userspace, a stock game executable, and that no debugger is attached. You don't need cat and mouse BS with executable obfuscation. You don't need inscrutable spyware. You don't need to prohibit VMs. All you need to do is configure your program not to be debuggable, prohibit network MITM (e.g. with certificate pinning), and then use remote attestation to make sure nobody has tampered with the system to make it ignore your anti debugging configuration.

    All of the components involved in this trust chain can be open source. There's no spyware involved. No rootkit. No obfuscation. Everything is transparent and above board.

    The only downside (besides implementation complexity) is that the remote attestation scheme is incompatible with running custom builds of the components remotely attested. But so what? Doing so isn't a requirement of open source. You can still run custom builds too -- just not at the same time you play your game.

    Seems like a fair compromise to me

  • int_19h 3 hours ago
    TL;DR: the issue of anti-cheat on Linux is that Linux actually gives the user full control of their OS, which precludes all even remotely effective anti-cheat mechanisms by design.
  • thunderfork 14 hours ago
    [dead]
  • TacticalCoder 1 hour ago
    [dead]
  • shmerl 4 hours ago
    TL;DR: Malware level / kernel invasive anti cheats idea that relies on some opaque anti-user blobs is conceptually incompatible with Linux and open source in general.

    Proponents of such junk can get lost with their fake justifications of why kernel level anti-cheat malware should be acceptable. They should instead work on server side anti-cheats.

    • davikr 1 hour ago
      haven't seen this done properly in a FPS yet.