brink anticheat 'feature'


(Sssaap) #1

So here I am some sort of a simple question(and suggestion):
I was thinking about how to prevent cheats what so ever in the past, actualyl quite alot. Well there is no 100% working tool against anticheats (well, far from that) but even in theory it all comes down to a simple check: is there everything alright? yes or no, while you can always make a tool return a yes for you, all you can do is dig in this question as much as you want to, on the cost of performance. BUT you actually DO not have this problem IF those things bots rely on are handled by the server. The more advanced idea I had back then was:
You only aim on a model, not a hitbox(which would mean that you actually aim on a picture - where the changed position of the model gets pasted into, changing what ever input you give (while you only have the ability to respond with the movement commands letting you move somewhere else and the mouse creating a new image more or less, BUT there’s still the problem with the caused data that I never got around - sending min. 30 pictures of the size of min. 800*600 px per seconds is one nightmare, well even with the right compression (well, there’d be no engine more or less, the server handling it, no clue if it would actually be able to) so you could use free resources to decompress pictures.
But since this is just an idea and would imo need alot of planning and testing and back and forth to prevent aimbots aswell as wallhacks (just having the possibility to maybe send new graphic settings once every minute to the server considering this when creating the image (just using your coordinates and FOV to create this picture).

But at least had a I think of much easier solution - no clue if it actually is that easy thats why I’m here - to prevent at least wallhacks.
Id3 and Id4 both as far as I know have the possibility to trigger how far beyond your surrounding walls you want to have your environment loaded, - assuming such exists for textures - why not also enable this for models and force it to a minimum; so that you only calculate what you are currently able to see, not loading anything that is beyond the walls that surround you, textures and terrain aswell as models that is - so that you do not get any data a bot could process to make out oponents(except a server hack channeling other player’s data maybe, but that’s a bit far fetched(no server just agreeing to reseive such code imo, so the hack would have to be hosted on the server - but thats a bit obvious being open to everyone so - voila).

This is basically addressed to the one being responsible for the coding of…well dunno, for the coders of the game itself I guess - well certainly for everyone else aswell, may it be for adding/discussing this or maybe even develop the first added idea (which only would allow for visual hacks - which imo would be quite flawed :D)

Well, good night everyone and would like to hear what you think about it.:slight_smile:


(mortis) #2

Just a rule of thumb, we don’t often discuss things like wallhacks, aimbots and warez types of things on the board for obvious reasons. Anticheat requires some obfuscation of how it works in order to be effective. Honestly, the less information that is provided about anticheat, the better.

But even with the best anticheat, a skilled admin is often the last line of defense. Humans can tell when things just “aren’t right”. One of the best anticheat features I have found are server side demos. They really allow you to study it from all angles. There is always a new hacker with some new l33tBOT3000 or whatever that allows them to cheat. I gather evidence and forward it to anticheat bigwigs, whenever I get something obvious.


(Nail) #3

“obfuscation” great word, outstanding descriptive

:infiltrator:


(timestart) #4

This is the general thinking of people who create bad security systems - that if we keep it all secret no one will ever figure out how it works. But this is simply not true - someone will reverse engineer all your hard work and, since you rely on these secrets, your entire system is broken. If you’re going to make an anticheat (or any security system) the best thing you can do is make its design public: let people look at it and they will find flaws you never even considered so you can fix them before release.

And why shouldn’t we discuss aimbots, wallhacks or whatever when discussing anti-cheats? How can you make a system secure if you don’t understand the possible attacks you are trying to protect against? Right now the only people that know how cheats and anti-cheats work are the people who make them and the people who break them. When I hear about some league introducing their own “unbeatable” anti-cheat I wonder if they have even heard the words “peer review” or “security through obscurity” because they are making all the classic mistakes.

Apologies for the rant, I don’t mean any of it personally :slight_smile:

@Sssaap
Kind of thinking along similar lines (and wouldn’t mind a programmer giving some feedback on how this would impact performance/networking): you could have the server do a frustum cull + collision trace to see which players (and probably only for players for performance reasons) were visible and not send entity updates to a client if a player would be invisible. I’m sure I’m not the first person to think of this, so as I said some info on why it’s not done would be nice (Rahdo poke someone about this :wink: )


(Sabayon) #5

I know Punkbuster will never do this, they have said in the past that they would never buy hacks. But the reasons most hacks aren’t caught is because of that private signature. They just can’t detect something that’s private. I think they have enough money and resources just to purchase 1 of the cheats from the major cheat companies. Be undercover on the website and getting that signature caught. That way once interested cheat buyers try to go get them. They will see that its constantly being caught and won’t bother getting it. With new games you have to purchase new cd keys. So if its constantly being caught with a new update. People will give up and stop using it I’m sure. It would definitely keep the league play more clean for new games and overall I think it would be a full proof system. I know giving to hackers is bad. But 1 purchase may make it so they actually loose money instead of gaining. If the hacker is not making money anymore from it. Then why would they keep updating it? :slight_smile:

Just my 2cents :slight_smile:


(Sssaap) #6

Well that’s basically what some quite generous people in ET do. There’s one person on CF that has already pumped(what he said) more than 500€ into private hacks already and sent those to EB - not to talk about the non-legal ways like breaking into the cheat coders webstites(which is proving to be the most efficient so far - while leagues as CB only can only use the claimed data to take those as indicators but are not banning for those - who knows’s why(rumors are that they fear legal threats which is imo bollox - but don’t want to discuss that).
Also demos bear one problem:
It’s hard to tell nowadays if someone is cheating - if he’s doing it ‘well’.

Also I understand, that you don’t want this to be discussed on this site(obviously to not have more advertisement for cheating than you already have, originally I only intended to reach the one responsible for this (because rahdo asked me to post it here).

Long story short; I more or less only wanted to know if this idea would be realizable.
(If you feel like this thread is becoming a problem or something feel free to remove it - but please still let the devs know about it, thanks)


(Rahdo) #7

wait a minute, are you saying this is a job for robert redford?


(engiebenjy) #8

Firstly “I know nothing” …

But I was always under the impression that aimbots worked by using the already built in bot mechanics somehow - because they can already see through walls and lockon to you. Either way I am sure that if there was a solution to preventing hacks someone would have done it already - I guess punkbuster will have todo :eek:


(ducks) #9

[QUOTE=Sssaap;197344]
Id3 and Id4 both as far as I know have the possibility to trigger how far beyond your surrounding walls you want to have your environment loaded, - assuming such exists for textures - why not also enable this for models and force it to a minimum; so that you only calculate what you are currently able to see, not loading anything that is beyond the walls that surround you, textures and terrain aswell as models that is[/QUOTE]

Digibob will correct me on this, but I believe ETQW does this already (not sending data for completely-obscured players)

It was certainly one of the more effective counter-aimbot measures in later versions Counter-Strike, but meant that players would sometimes ‘pop’ into view a frame or two after they became visible, depending on lag. Was countered by being a bit more generous with the culling, even with this measure though wallhackers still have a small(er) yet distinct advantage.


(Sabayon) #10

[QUOTE=Rahdo;197374]wait a minute, are you saying this is a job for robert redford?
[/QUOTE]

Wow! Why didn’t SD think of that before! It makes so much sense! :smiley:


(Zhou Yu) #11

With varying degrees of success unless that changed significantly post public beta: http://www.youtube.com/watch?v=xERLQWjpjnA&fmt=18


(digibob) #12

We only sent less frequent updates about entities which were further away, we never discarded the data entirely.


(ducks) #13

Well that 'splains it!


(dommafia) #14

are aimbots possible just because of how 3d systems work? I’ve always wondered why bots can “inject” themselves into games. How come there’s no way to say “hey buddy, you dont belong here and you stink so take a hike!”

There you go folks, a simple man’s take on this issue.


(radiator) #15

i guess cheats are “enemy’s in disguise” :infiltrator:


(mortis) #16

[QUOTE=dommafia;197399]are aimbots possible just because of how 3d systems work? I’ve always wondered why bots can “inject” themselves into games. How come there’s no way to say “hey buddy, you dont belong here and you stink so take a hike!”

There you go folks, a simple man’s take on this issue.[/QUOTE]

Some of them hook into the 3D system, especially OpenGL, from what my programming buddies say. Reyalp used to say that you can’t trust any information from a client, as it is potentially compromised data. On the other hand, clients need to be able to give input as to desired vector of travel, the vectors of projectiles fired your weapon etc.

Wallhacks simply allow you to see things/people that you shouldn’t be able to view, either by haxxoring the textures to make them transparent or by superimposing symbols/words that show enemy positions when concealed. Aimbots just tend to spray bullets that are almost always uncannily accurate. One of the key clues for aimbots, is that they will make harsh turns (even 180s) as they switch targets. Some of the more advanced ones even use human heuristics to make the movement more natural and the shooting not so perfectly accurate. Close observation is required, but sometimes just peering at stats is enough. I have specced aimbots in W:ET where they had maybe 60% accuracy with the MP40, but 70-90% of the shots were head shots.

That said, I’ve also specced alpha players, some of whom seem to have ‘inhuman’ accuracy. But if you watch them, you’ll see that even the best players are sometimes surprised while reloading, etc. The very, very best players can seem to be cheaters…and there are many false accusations. Irrefutable proof is needed.

To tell you the truth, I’m always very surprised how many bots can be detected and banned. When one company is trying to compete against every hacker in the world…it’s not a very fair fight. There is nothing lamer than cheating in an online game, nothing more meaningless and empty than spoiling the fun of others because some hacker doesn’t have the skill to compete on his own, or just wants to grief others. But the misanthropes will always do their best to make the world a suckier place. It’s pretty sad actually. These brilliant minds could be curing cancer, developing valuable open source tools, creating AI, or whatever. But instead they spend their time in their mother’s basement, coding tools that serve but one purpose: to make other peoples’ lives as miserable as their own.


(digibob) #17

[QUOTE=dommafia;197399]are aimbots possible just because of how 3d systems work? I’ve always wondered why bots can “inject” themselves into games. How come there’s no way to say “hey buddy, you dont belong here and you stink so take a hike!”

There you go folks, a simple man’s take on this issue.[/QUOTE]

Alas, dll injection is an incredibly easy thing to do, detecting that your game is compromised is not.