The default security measures on Linux are pretty bad compared to windows, it's not even close. People like to bash windows but they have a way better security model.
The default security measures on Linux are pretty bad compared to windows, it's not even close. People like to bash windows but they have a way better security model.
2 - if I recall properly, that linux feature is a direct mapping of the target user process allowing extreme dynamicity in time, performant, and much more powerfull mechanisms than basic 'calls'. Namely hell for hackers if a live service game has a proper "security" team, all that without a kernel module.
The parent is right.
I'm quite literally the first person to bash Windows for being a shitty operating system, but the requirement for signed modules puts a massive barrier to entry for cheaters, where Linux can load just about anything.
If every system call can lie to you, there's a few things you can do, but it's not many.
I know this because I've actually done a lot of due diligence on anti-cheat.
One mechanism I attempted to employ was to replay initalisation vectors and determinism of inputs; this means I could replay your session out of band and witness the same outcomes. If there was variation then there's a fault. Except as soon as you introduce floating point numbers there's no more determinism... Oh well.
The other was to watch for "impossible" things, but then you need to run full complex physics simulations for every client. If your game requires you to effectively buy an i7-11700k for every user then you'd have to sell your game for a lot more money, and limit how long they can play - nobody wants this.
The third option was to score our best players and anyone who performs better than that gets their behaviour tracked. The problem is, coming up with a scoring system that's server side is much harder than you think.
GameDevs don't actually like paying a shit load of money for anti-cheat (that also breaks their debugging systems and causes bugs: a wonderful combination)... so if you've got a better way: join the industry and fix it. You'll be a moderately wealthy person.
1 - kernel anti-cheats ARE weaponized by hackers. This is not a matter of discussion unless you are into the AI generated HN news conspiracy.
2 - this linux feature should provide (if I recall properly) a very complex and flexible (not limited to "calls"), and performant, set of interactions between a set of anti-cheat processes and the set of game processes. All that as being non-root priviledge (I think you must be have the same effective user id). The actual and real parameter is the level of competence and creativity of the "anti-cheat" team which is a requirement of any "live-service games" with frequent updates.
3 - for FPS games where aiming skill is critical, anti-cheat are close to useless due to "external" AI based aim assist hardware.
> "While the anti-cheats are allowed in the kernel by Microsoft, the study also revealed that cheat software commonly uses weaknesses in Windows protections to ‘inject’ itself into the kernel and gain higher privileges. Many techniques mirror what is commonly seen in the domains of malware and anti-virus, with a difference in motivation."
> "This kernel injection technique has previously been observed in advanced ransomware attacks to disable anti-malware protections before the main attack."
The goal of cheats is to make money not to hack PCs.
> Ransomware Actor Abuses Genshin Impact Anti-Cheat Driver to Kill Antivirus
And we all know this is fully hypocrit. "Computer security" does not exist, but for sure, adding a "gaming" _kernel module_ won't improve anything there... (irony).
Are they moving faster than conceivably possible by a real player? Even the most basic (x2-x1)/t > twice the theoretical will catch people teleporting or speed hacking.
Is their KDR or any other performance metric outside 5 standard deviations from the mean?
Here’s one: is everyone they encounter reporting them for cheating along with one of the above? Do people leave their matches constantly?
Defining and detecting objectively impossible things is not impossible.
1) they’re not foolproof
2) there is a delay in aggregating the data
this has annoying effects when the game has a trial period/goes on sale/has lots of cheap CD keys floating around.
3) if you weren’t delayed then the cheaters get better at adjusting to how you catch them.
We actually do a lot of statistical analysis, but it works in tandem with endpoint anti-cheat, and would hardly work at all alone.
If we banned them, they just created a new account and kept doing the same things.
When we detected them and the isolated them from all other good standing accounts, only allowing them to interact with other shadowbanned users, it virtually solved the problem. Normal users went about their day and the cheaters/fraudsters wasted a lot of time never getting through to anyone.
In gaming it seems like creating a cheaters purgatory where they are stuck competing against other cheaters forever would probably end up being its own special league after a while. Like when people suggested steroids in pro-baseball should be legal.
That's what GTA5 did (though, they marked you with a dunce cap)...
.. even though it's a good idea (and we nearly implemented it actually), there's probably a reason that GTA5 is still plagued with cheaters.
Give this team server side data, user level 'traps' and 'pitfalls' with frequent updates (they do that for dota2 and probably cs2, they don't need a kernel module), and you should end up with a rather sane gaming experience.
It gives a score that is hard to use.
This is how I imagine Amazon ended up banning a large amount of players for speedhacking. The players were lagging. I'm guessing their anti-lag features ended up moving them faster than the anti-cheat expected.
But I agree that a combination approach would probably work.
I got a better way... just look at the past. Back in ye goode olde UT2004 times, there was no random matchmaking / ranking bullshit that removed the social element, game licenses cost money, people ran their own servers, and if you pissed off server mods enough, no matter if you were a cheater, a suspected cheater, or just an asshole, your serial got banned - sometimes, across a fleet of servers that shared ban lists. Cheating had costs associated.
But of course, that means you can't lure in whales with free to play games and loot them via microtransactions any more...
The truth is that UT2004 sold 234,451 units over its life according to Wikipedia.
The Division sold over 10,000,000 copies in the first weekend.
The requirements change drastically when you have a larger audience.
Primarily driven by my utter disgust for modern monetization mechanics, corporate greed and gambling. Cheaters, IMHO, are an inevitable side effect of combining gamification with gambling, with no barriers to entry, and with removing social barriers of entry.
> The requirements change drastically when you have a larger audience.
The market has exploded in the 12 years between UT2004 and The Division.
Yes, and you can’t assert that it didn’t happen at least in part due to efforts to make games more accessible.
You couldn’t release a game like UT2004 today with the same UX and expect competitive sales. Even if you did, the experience would scale very poorly.
You don't have a better way. You have a nostalgic memory of how games should be played which doesn't match what people in a modern audience expect. It's like saying the solution to cell phones tracking you is to use a landline, because that's how we used to do things.
You still see this with modern day servers. Modded GTA V, FiveM, had additional anticheat even before the unmodded game added anticheat. Part of the appeal of CS2 servers, Face-IT and ESEA, is the additional anticheats.