Live data from Hacker News

Why anti-cheat software utilizes kernel drivers (2020)

secret.club

41–50 of 68 posts

Re: Why anti-cheat software utilizes kernel drivers (2020)

#41

The problem with anti cheat is that is doesn't even work. Play any game with anti cheat and you will still be flooded by hackers.

If we must pick just one problem I'd say it's that the techniques that we develop for anti cheat will later be used by authoritarian regimes to turn our devices into weapons against those of us foolish enough to dissent.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#42
post #37

Earlier quoted context omitted.

Can't read files or access memory of other users though, which is kind of the point. It's trivially easy to run games as a different user than the one you use for e.g. banking, and operating systems have had fast user switching for decades.

Most games require admin privileges to install, so if the game maker wants to be evil you're already screwed even if you have separate users. Moreover, most software isn't really designed for multi-user system security (because it's basically never used), so there's often sloppy coding practices that lead to trivial EoP between users (eg. cache directories accessible by all users).

Maybe this is a difference with Windows vs. Linux and admittedly I basically never have time for games anymore, but I don't remember any game ever asking me for my root password to install or run. I'm also not sure what software you have in mind that doesn't work in a multi-user environment. I see plenty of usage of `~/.cache`, and `~` has 700 for permissions. Other services on my computer run as their own user.

In any case, something being programmed poorly isn't a good excuse to make things even worse. It is, however, a great reason to... run things under isolated users/environments, or in a VM (which these drivers also want to prevent).

Re: Why anti-cheat software utilizes kernel drivers (2020)

#43
post #12

HN has a lot of very clever people. Solving online game cheating is a billion dollar business.

> Solving online game cheating is a billion dollar business.

The existence of an incentive does not guarantee the existence of a solution.

> HN has a lot of very clever people.

From the way people are talking about this issue (in this and the other thread) I don’t think any solution is going to come from HN commenters. Most of the people here are thinking about the problem from first principles and generating ideas that either:

- haven’t worked in over a decade because cheaters have workarounds

- overestimate the capabilities of AI or statistical methods

- underestimate cheaters or contain false assumptions about how cheaters think/behave

- underestimate how many people are demanding a solution to this and what kinds of strictures they’re willing to accept

- underestimate the backlash in store for any solution that isn’t 100% correct

It’s not like the incumbents are dummies. They’re constantly thinking about this from all angles and are willing to try anything.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#44

The problem with anti cheat is that is doesn't even work. Play any game with anti cheat and you will still be flooded by hackers.

Because you don´t understand anti-cheat in the first place, the goal is not to stop 100% of cheats, it's impossible.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#46
post #36
post #28

Earlier quoted context omitted.

Ring 3 and Ring 0 can try to do the same bad stuff. But the point is that in one the OS security layers or antivirus will catch it.

>But the point is that in one the OS security layers or antivirus will catch it. Doesn't antivirus have detections for ring0 as well? Otherwise virus makers can just code their viruses to be in drivers and evade all the antiviruses.

No, antivirus can't know if a virus is running on Ring 0, it can try, but the virus can just stop the antivirus and the OS won't stop it.

At ring 0 the virus can do whatever it wants with your computer.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#47
Not proud of this part of my history but in Counter-Strike: Source, you could replace the game textures yourself and re-skin the entire game! This was done mostly so people could rock their own client-side gun skins (Before actual implemented skins were a thing!)

Anyway, people realised you could make ANY texture custom. Who's to say those walls wouldn't look better transparent? I created a _ton_ of transparent textures with different colours and what not and packaged them into a .zip with a $ attached. Didn't expect much because all of this was available for free by many other provides but I pulled in about $15k for an afternoon's job.

Valve eventually released the sv_pure server command which would force Valve textures on their servers, fixing the issue. Because this was a custom texture hack, it was rightly undetectable by VAC and therefore no bans were issued.

Anyways the point of this is there's a lot of money in it for the cheat devs. They aren't going to stop. I really hope a new innovative solution comes along that puts an end to it.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#48
post #46
post #36

Earlier quoted context omitted.

>But the point is that in one the OS security layers or antivirus will catch it. Doesn't antivirus have detections for ring0 as well? Otherwise virus makers can just code their viruses to be in drivers and evade all the antiviruses.

No, antivirus can't know if a virus is running on Ring 0, it can try, but the virus can just stop the antivirus and the OS won't stop it. At ring 0 the virus can do whatever it wants with your computer.

This wasn’t really true in decades past - there was a cat and mouse game where often it could be detected because the virus wasn’t perfect at hiding its activity and resource usage – and it’s become far less so in the era where even consumer hardware has virtualization features which allow even kernel code to be restricted. Even Windows is starting to use that to prevent malware from accessing secrets (e.g. Credential Guard) so I wouldn’t treat this as the ring0=game over situation it was in the 90s.

A more accurate phrasing is that antivirus software can positively confirm the presence of malware but it cannot on its own definitely prove the absence of ring0 malware. For that, you need an Apple-level secure boot process to give confidence that the code is running on an unmodified, unvirtualized kernel.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#49
post #43
post #12

HN has a lot of very clever people. Solving online game cheating is a billion dollar business.

> Solving online game cheating is a billion dollar business. The existence of an incentive does not guarantee the existence of a solution. > HN has a lot of very clever people. From the way people are talking about this issue (in this and the other thread) I don’t think any solution is going to come from HN commenters. Most of the people here are thinking about the problem from first principles and generating ideas t…

Obvious, cheap solution (to this controversy): make it optional. If people don't want to install a rootkit, let them play with other people who are willing to play in a rootkit-disabled session. I seem to recall this was how e.g. punk buster worked 20 years ago.

Re: Why anti-cheat software utilizes kernel drivers (2020)

#50

> Why does this pose an issue in game-hacking? Well.. As we all know, game-hackers go to extreme lengths to achieve their common goal: winning. This is the sad reality of the cat-and-mouse game of game-hacking, as cheaters will not abide by any rules or morals. I feel like this is a flawed basis of assumption and also just a mis-framed situation as a whole. Cheat developers and the people that use them en-masse aren'…

> They might sell their software or distribute it to people that do play to cheat, but the cheat designers are rarely motivated by a desire to be at the top of a leaderboard that will boot them off for obvious manipulation. So the entire concept of blaming the players for wanting to win so bad is really just an emotional "we're the poor developers" deflection.

Are you sure you're not deflecting the issue onto a group of people that doesn't really exist either? I.e. The group of people who are just "hacking to hack" - these people do exist but they are exceptionally rare (w.r.t the likelihood of running into a player using that persons cheat) compared to the ones who are in it for some personal gain, financial or otherwise. Also this group is typically not the one having an oversized negative impact on the game (as always there are exceptional cases - but it's not the norm).

The cheat designers are motivated by money, and their customers are motivated by a desire to be at the top of a leader-board (or to grief, or because they feel "everyone else is doing it so I have to", etc). I'm not sure it makes sense to throw out the entire argument just because a level of indirection is there. If the customers stopped caring about winning at any cost, it follows that most of the cheat developers would have no more motivation to maintain the cheats (at least as publicly available to the masses), because the money would dry up and the work would not be worth it anymore.

RMT is also huge in certain games. For example Escape from Tarkov is infested with cheaters not because they want to get on the leaderboards, but because they want to sell items/services to other players for real money (cheating by proxy basically), and again those players spending real money are doing it to gain an advantage in-game.

It's also important to note that that maintaining a public cheat is _very_ different to maintaining a private one. Basically nobody who is just 'hacking to hack' is going to be publicly maintaining a cheat for a major competitive online game just for the heck of it. Privately for sure, that happens all the time where things are traded/sold between just a handful of people. But nobody is out there maintaining free public cheats for Valorant, Apex, Siege, etc. (or at least not one that puts a meaningful effort into evading anti-cheat, which is sort of the point).

Sometimes the two groups overlap (i.e. an individual might "hack to hack" in their spare time, whilst also contracting for a commercial cheat developer), but if the commercial incentive disappears, so does the most of the negative impact on the game even if that individual continues to cheat personally (because 1 is less than tens of thousands - and the people who were previously buying cheats don't have the skills to replicate it themselves).

Post reply on HN