Live data from Hacker News

Reverse engineering Call of Duty anti-cheat

ssno.cc

181–190 of 223 posts

Re: Reverse engineering Call of Duty anti-cheat

#181

Earlier quoted context omitted.

IOMMU gives the PCIe device access to whatever range of memory it's assigned. That doesn't prevent it from being assigned memory within the address space of the process, which can even be the common case because it's what allows for zero-copy I/O. Both network cards and GPUs do that. An even better example might be virtual memory. Some memory page gets swapped out or back in, so the storage controller is going to do…

I feel like in pretty much every case here they still do not need arbitrary access. The point of DMA cheating is to make zero modification of the target computer. The moment a driver needs to be used to say allow an IOMMU range for a given device, the target computer has been tainted and you lose much of the benefit of DMA in the first place. Does a GPU need access to memory of a Usermode application for some reason,…

> I feel like in pretty much every case here they still do not need arbitrary access.

Several of those cases do indeed need arbitrary access.

> The moment a driver needs to be used to say allow an IOMMU range for a given device, the target computer has been tainted and you lose much of the benefit of DMA in the first place.

The premise there being that the device is doing something suspicious rather than the same thing that device would ordinarily do if it was present in the machine for innocuous reasons.

> Does a GPU need access to memory of a Usermode application for some reason, okay, the GPU driver should orchestrate that.

Okay, so the GPU has some CPU cores on it and if the usermode application is scheduled on any of those cores -- or could be scheduled on any of them -- then it will need access to that application's entire address space. Which is what happens by default, since they're ordinary CPU cores that just happen to be on the other side of a PCIe bus.

> Again, opt-in. The driver should specify explicit ranges when initializing the device.

What ranges? The security processor is intended to scan every last memory page. The cache card is storing arbitrary memory pages on itself and would need access to arbitrary others because any given page could be transferred to or from the cache at any time. The cluster card is presenting the entire cluster's combined memory as a single address space to every node and managing which pages are stored on which node.

And just to reiterate, it doesn't have to be anything exotic. The storage controller in a common machine is going to do DMA to arbitrary memory pages for swap.

Re: Reverse engineering Call of Duty anti-cheat

#182

Cheating is ultimately a human problem. You can have some safeguards and heuristics like the ones the article describe, to weed out 90% the most blatant cheaters, so I think anticheats like these are fundamentally a good thing. But the anti-cheat can and should err on the safe side because ultimately it should be the players and admins themselves that sort this out. Online multiplayer games must (yes must ) take plac…

> Online multiplayer games must (yes must) take place on servers with human admins. Admins should be present for a majority of the time any players are playing.

> Ideally with admins the players recognize.

Let's just make each game have a visible referee that is visible to everyone, and then after each infraction, the play can be reviewed under a video assistant. They can even have a group that does nothing but moderates the referees.

Or, we could just have games

Re: Reverse engineering Call of Duty anti-cheat

#183

Earlier quoted context omitted.

Honestly I'd prefer it if games could permaban based on just heuristics and the EULA simply stated "tough luck, buy the game again". I'd happily pay for that, knowing my money is at least not going to some 2 year legal fight. I get that I might be the one accused of cheating next time. But if that risk is tiny and the cost when it happens is $50 or $100 it sounds a lot more attractive than the alternative. Also (obvi…

I think stat based bans are the ultimate solution for all the client side bullshit. If you use statistics, you will sometimes get it wrong, but in the other cases the cheaters are completely out of luck. You could offer the source code to your game willingly and it wouldn't help them very much. If the cost of a false positive is $50 for the gamer and the chance of it happening is rare, I think many would quickly unde…

I feel like pretty much all cheaters can be detected by just looking at mouse movements vs enemy positions. If you can easily spot cheaters through a killcam or spectator view, they can be detected through a serverside watchdog, no?

Re: Reverse engineering Call of Duty anti-cheat

#184
post #161

Earlier quoted context omitted.

The exact same thing happened to me with League of Legends. I was inexplicably banned for cheating, despite never having done any such thing (and despite regularly playing on three accounts (this is fully permitted), the other two of which were not banned!) Their support people repeatedly said "we reviewed your case and the ban is correct", etc. all the while giving zero information about what I did so I could correc…

Maybe take it as a signal from universe that intense gaming is waste of life and a net loss for you? I know its harsh and double that in gaming thread, but I don't see any other way. We don't talk 3-5h a week, and it seems neither are you. You will almost certainly badly regret when on that proverbial death bed and most probably well before that, life goes darn fast and the feeling of losing out in the most important…

> gaming is waste of life and a net loss for you?

Is it? Can you share peer reviewed sources? In my experience, it's been quite the opposite.

Re: Reverse engineering Call of Duty anti-cheat

#185

Earlier quoted context omitted.

I feel like in pretty much every case here they still do not need arbitrary access. The point of DMA cheating is to make zero modification of the target computer. The moment a driver needs to be used to say allow an IOMMU range for a given device, the target computer has been tainted and you lose much of the benefit of DMA in the first place. Does a GPU need access to memory of a Usermode application for some reason,…

> I feel like in pretty much every case here they still do not need arbitrary access. Several of those cases do indeed need arbitrary access. > The moment a driver needs to be used to say allow an IOMMU range for a given device, the target computer has been tainted and you lose much of the benefit of DMA in the first place. The premise there being that the device is doing something suspicious rather than the same thi…

Re everything above the below, you are naming esoteric reasons for allowing unfettered access to physical memory. That's fine, but what percent of players of X game are going to have such a setup in their computer? Not enough that detecting that and preventing you from accessing a server would be a problem.

> And just to reiterate, it doesn't have to be anything exotic. The storage controller in a common machine is going to do DMA to arbitrary memory pages for swap.

I'd like a source for that if you have one. I'd be very surprised if modern IOMMU implementations with paging need arbitrary access. The CPU / OS could presumably modify the IOMMU entries prior to the DMA swap. The OS is still the one initiating a DMA transaction.

Re: Reverse engineering Call of Duty anti-cheat

#186

Cheating is ultimately a human problem. You can have some safeguards and heuristics like the ones the article describe, to weed out 90% the most blatant cheaters, so I think anticheats like these are fundamentally a good thing. But the anti-cheat can and should err on the safe side because ultimately it should be the players and admins themselves that sort this out. Online multiplayer games must (yes must ) take plac…

> Online multiplayer games must (yes must) take place on servers with human admins.

The sheer scale of this arbitrary requirement is hilarious.

Re: Reverse engineering Call of Duty anti-cheat

#187
post #161

Earlier quoted context omitted.

The exact same thing happened to me with League of Legends. I was inexplicably banned for cheating, despite never having done any such thing (and despite regularly playing on three accounts (this is fully permitted), the other two of which were not banned!) Their support people repeatedly said "we reviewed your case and the ban is correct", etc. all the while giving zero information about what I did so I could correc…

Maybe take it as a signal from universe that intense gaming is waste of life and a net loss for you? I know its harsh and double that in gaming thread, but I don't see any other way. We don't talk 3-5h a week, and it seems neither are you. You will almost certainly badly regret when on that proverbial death bed and most probably well before that, life goes darn fast and the feeling of losing out in the most important…

I play games very little, a few hours a week. I am very social and not lacking in that area -- don't worry about me lol :) I don't engage in "intense gaming", notice how I said I've played since 2009, that's 16 years ago :P

Re: Reverse engineering Call of Duty anti-cheat

#188

Earlier quoted context omitted.

The exact same thing happened to me with League of Legends. I was inexplicably banned for cheating, despite never having done any such thing (and despite regularly playing on three accounts (this is fully permitted), the other two of which were not banned!) Their support people repeatedly said "we reviewed your case and the ban is correct", etc. all the while giving zero information about what I did so I could correc…

I feel that. I'm not against playing video games, but I'm uneasy about getting too attached to virtual property, considering it's controlled by a gaming company who has no obligation to you and no inclination to keep games alive beyond their shelf life. To be fair though, real life property is only slightly less ephemeral.

Yeah for real, my Steam account could just be erased and I instantly lose like $1000 of games I "bought" (by some vague definition of the word). As soon as online-only services started becoming more prevalent, it became quickly apparent how ephemeral they are, and how unilaterally they can be taken away from me with zero recourse. "Don't get too attached", as they say >_>

Re: Reverse engineering Call of Duty anti-cheat

#189
post #186

Cheating is ultimately a human problem. You can have some safeguards and heuristics like the ones the article describe, to weed out 90% the most blatant cheaters, so I think anticheats like these are fundamentally a good thing. But the anti-cheat can and should err on the safe side because ultimately it should be the players and admins themselves that sort this out. Online multiplayer games must (yes must ) take plac…

> Online multiplayer games must (yes must ) take place on servers with human admins. The sheer scale of this arbitrary requirement is hilarious.

It's not that long ago this was the norm.

Re: Reverse engineering Call of Duty anti-cheat

#190
post #186

Cheating is ultimately a human problem. You can have some safeguards and heuristics like the ones the article describe, to weed out 90% the most blatant cheaters, so I think anticheats like these are fundamentally a good thing. But the anti-cheat can and should err on the safe side because ultimately it should be the players and admins themselves that sort this out. Online multiplayer games must (yes must ) take plac…

> Online multiplayer games must (yes must ) take place on servers with human admins. The sheer scale of this arbitrary requirement is hilarious.

This was the norm. It just changed in the last few years (say, 10). And it could be the norm again. I still play games with zero cheaters because I return to the same server every night, playing against 63 other players where I usually have seen most of them before. And there is usually an admin there, or someone who can ping one if needed.

I have no idea why this changed in more recent games. While every other online thing moved to have users create content abd self-moderate, games for some reason moved the other direction.

Post reply on HN