6 ms·
Secure Boot, TPM and Anti-Cheat Engines
- marthacamila 1y ago[flagged]
- neilv 1y agoThis is another way for cheaters to screw over everyone.
- Avamander 1y agoTo be fair here, the push for attestable computing environments has been here for a long time now. SafetyNet was introduced on Android nearly a decade ago. We will certainly see more of this with desktop OSs in the future.
- gausswho 1y agoCan't help but feel like this is Microsoft leaning on devs to make the general PC multiplayer gaming experience so onerous that they'll choose to get an XBox instead.
- thewebguyd 1y agoBeen wondering that myself. The kernel level anti-cheat has gone so far, it's all an attempt to turn an untrusted platform (someone's computer) into a trusted execution platform (a console). I don't like it, the idea of software mandating a very specific computing environment or else it refuses to run. It takes agency away, and will bleed into other types of software beyond just games (which we already see on mobile). I like gaming on PC, but I will continue to refuse to install/play any game that requires this level of anti-cheat. There has to be a better way than forcing users to install what is effectively a rootkit to play.
- jakebasile 1y agoI'm convinced it is as well. It also stops these very popular games from running on Linux which is finally mounting a concerted push into PC gaming thanks to Valve.
- seanhunter 1y agoMicrosoft’s corporate strategy is almost the exact opposite of this though. It’s that “everything is an Xbox” ie they are massively shifting away from the special-purpose hardware to anything being an xbox if it runs windows. I would be somewhat surprised if microsoft-made consoles even exist in a generation or two’s time.
- hbosch 1y agoI am not sure Secure Boot, TPM, or kernel-level anti-cheat still manage to accurately detect hardware with direct memory access. DMA hardware can still circumvent all of these things, and they only cost a few hundred bucks. The question in my mind remains: why would you pay ~$300 for DMA hardware and then ~$10-100+/month for an active private cheat? Is it worth it to look cool online to random strangers before you eventually get algorithmically detected or mass-reported and manually banned, just to create a new account and start all over? Even for those cheaters who buy high level accounts, what is the endgame of spending all that money and recycling the process?
- sdairs 1y agoSadly, for the people who cheat, it is, indeed, worth it. :/
- devmor 1y agoIt’s not a profit/loss evaluation. The people doing this have money to waste. It’s the same as spending money to go out drinking to them.
- trod1234 1y agoThere will be people that cheat regardless of what any game company can do. Racing to the edge is not the way to stop this. If you haven't noticed, these solutions create the platform to both test, and control your digital life without your knowledge following a classic surrogate/hegelian pattern. How much do you trust the credibility of entities behind these game companies. Would you trust them with your life? This should be carefully considered food for thought for anyone that values their future.
- polotics 1y agocould you enlighten us by explaining what you mean by: a classic surrogate/hegelian pattern. ps. on such nonstandard posts I check out previous posts by the same author. your writing style is quite something, are you misunderstood often?
- 1y ago
- strstr 1y agoCheating will slowly look more and more like trying to hack your own machine. Secure Boot+TPM combined with decent firmware will make cheating a lot harder. If the firmware ensures random devices don’t get BME set before the IOMMU is properly, attestably, configured, you are basically now stuck looking for bugs in the TPM and UEFI if you want to shove yourself beneath the OS unnoticed. These are full of bugs, so that will work for a while, until it doesn’t. Popping windows will probably work for some time, but HVCI will make this a pain once ubiquitously required. And you have to do all of this while also not being detected for aberrant behavior. Eventually, the analog hole might end up being easier, lol.
- mjg59 1y agoWhich OSes are actually imposing DMA restrictions on internal cards? That feels like something that would impose noticeable overhead, but I guess I can imagine a special mode that enforces this for competitive gaming...
- kbolino 1y agoIt's not a global on-off switch. With a proper IOMMU, the hypervisor/operating system can lock out specific devices from DMA access, or confine them to specific address ranges.
- strstr 1y agoAllegedly some of the anticheats are configuring the IOMMU through Windows APIs (vanguard, faceit, and a smattering of chinese anticheats). It’s hard to find good public information though. They do some mix of blocking access and deliberately leaving some pages as bait (and monitoring iommu d-bits/faults)
- Deathmax 1y agoRiot documents the need to have IOMMU support enabled for Vanguard: https://support-valorant.riotgames.com/hc/en-us/articles/22291331362067-Vanguard-Restrictions https://support-valorant.riotgames.com/hc/en-us/articles/222...
- bigyabai 1y agoIt doesn't matter. The new Battlefield was hacked within 24 hours of the beta using the same DMA GPU-spoofing hardware you could buy from China for the past decade. It's not a palatable notion, but you cannot really have PC gaming without some level of cheating taking place.
- jakebasile 1y agoThe solution existed starting in the late 90s through the early 2010s. You have a server browser with community run servers who are administered by people who play on the server. Admins notice cheating, the cheater gets banned. You find a server that you like and it turns into an ad hoc community. Of course that doesn't maximize shareholder value the way skill based matchmaking or revenue based matchmaking does. So the incentives are again misaligned between devs and players, so nothing will get solved.
- kbolino 1y ago> The solution existed starting in the late 90s through the early 2010s [...] the cheater gets banned. This attitude also reflects the naivete of the 1990s. You can't ban a person. You can ban an IP, you can ban "all known Tor exit nodes" or "all known VPNs" or "all known public cloud IPs", you can ban whole countries by IPgeo, you can ban anything somebody has to provide to log in (an email address, a phone number, a credit card number, etc.), but these can all be evaded. The only truly effective banning tools are private, invite-only servers or reputation/incentive systems where the cheater loses something really valuable that a ban evasion can't recover.
- stoltzmann 1y ago>but these can all be evaded And then they'll be banned again and again. There's only a limited amount of IPs available to cheaters, it won't be long before they burn through all of them.
- ohdeargodno 1y ago
- firesteelrain 1y agoWhat prevents crackers from bypassing the TPM check?
- bpye 1y agoFor online/multiplayer features the server could require a valid TPM quote - this is mentioned in the article.
- firesteelrain 1y agoOk I didn’t understand
- dist-epoch 1y agoThe TPM provides a cryptographic signature that can't be faked. If you bypass it, you won't have access to that signature.
- horseradish7k 1y agocould those be stolen from compromised computers?
- firesteelrain 1y agoRight I think I realized for online only games or online required as long as the server side isn’t compromised.
- dark-star 1y agoCan you not simply enroll your own keys in your TPM and still boot with custom-signed drivers that circumvent all this? I mean, yeah, it's a lot more work but it would still work I guess?
- strstr 1y agoThat’s not intended to be possible for any reasonable TPM with a trustworthy ekcert.
- gizmo686 1y agoThis is where measured boot and remote attestation come in. You can run whatever software you like; but will only be able to attest to running what you're at actually running (baring an attack on the TPM or some other trusted component earlier in the chain). The remote game server would then need to decide if it wants to let you connect given your inability to attest to running a trusted configuration. I've seen this setup work in very controlled conditions. But given how diverse the ecosystem is, someone is going to put out a buggy system, and too many legitimate users will buy it for most games to be willing to blacklist it.
- dist-epoch 1y agoThen your "secure fingerprint" would change, and the game servers will lock you out.
- dark-star 1y agothat would also happen when a Windows 11 update comes along, or a driver update (or when I change my GPU). How would they differentiate between those scenarios?
- dist-epoch 1y agoEasy, you can see whats "inside" the secure fingerprints, you can see there is an unknown trusted key in there in the user custom key example, while for Windows 11/driver updates all the keys would be known ones from Microsoft.
- metalcrow 1y ago> Since cheat authors will not be able to get their drivers signed by Microsoft Why not? Presumably Microsoft will decline if you say outright "this is for cheating", but if you make a kernal driver that happens to have a feature for executing commands from user space for a benign reason, i don't think they would decline to sign it. There are a few million windows drivers, there are plenty of situations where a weirdly specific driver has a valid use case.
- dist-epoch 1y agoIf you succeed, some anti-cheat company will eventually detect it and Microsoft will ban the driver. And not sign further ones.
- OneDeuxTriSeiGo 1y agoAnd of course Windows 10 on include a retroactive driver blacklist and it's nontrivial to disable it.
- metalcrow 1y agoEventually, maybe. But how fast will they get banned compared to how fast you can get drivers signed? Iirc it's not even that expensive to sign up to get your driver signed, around a few hundred dollars.
- privatelypublic 1y agoMicrosoft has to countersign them.
- OneDeuxTriSeiGo 1y agoWindows is beginning to enforce quite strong kernel mode address space isolation and security. They've also started cracking down on drivers to the point of effectively banning all printer drivers (unless you disable a bunch of security settings with big warnings on them), instead pushing those printer companies to shift entirely to Microsoft's native IPP everywhere driver.
- miohtama 1y agoHow about Steam Deck? It's kind of Linux and likely future of Linux gaming?
- SamInTheShell 1y agoI wont play anything that doesn't work through proton or wine. This is how I vote with my dollars these days.
- jakogut 1y agoQemu is capable of running secure boot enabled operating systems with swtpm emulating a physical TPM. There's also vDRM, virgl, and Venus for accelerating graphics workloads in guests, along with a proof of concept Windows driver. How exactly do anti-cheat vendors intend to prevent this kind of setup from being effective?
- Avamander 1y agoVarious caches (or them being flushed) will instantly reveal a hypervisor being active.
- rstuart4133 1y agoAs others have said, it was covered in the article. In a word: attestation. In more words, the CPU TPM contains a key signed by Intel / AMD or whoever, and can prove it. swtpm doesn't, and there is no way to fake it.
- 64718283661 1y agoBy blocking KVM. Enable or fake hyper-v? Block various qemu drivers. Don't use any of the qemu drivers? Side channels to detect KVM. Stronger hyper-v purity integrity. Detect nested hypervisors, which will have poor performance anyway. If you arent virtualizing disk drives and get banned. They will get serial banned, along with your other non virtualized hardware. GPU, monitors, ram, motherboard, keyboard, mice, headset serials. Yes, these are really all collected. No myth. Some people think server side anticheat can help. It can to a degree. Then some things will always be possible client side. Game devs need more subtle client side integrity checks inside the game, not only ones that purely check the integrity of your overall system. It's a losing battle, especially on games using the most popular engines like unreal and unity.
- strstr 1y agoIn practice, it’s essentially infeasible to make a non-detectable virtualization stack. Timing is really really hard to match (as is everything else). You can edit the binary that’s doing the detection, but this is time consuming. Every new feature they push costs you time and will poison your hardware id. You can go further by, say, requiring fTPMs that are on the SoC (super common these days for most recent consumer CPUs). If you can’t boot into linux without the PCRs reflecting your virtualization stack being in the boot chain, you’re cheat is quite detectable.
- SamInTheShell 1y agoThis is a hill I'm willing to die on: Failure to do proper server side checking is carelessness in the face of making a quick buck. I distinctly remember being a kid bypassing this type of software back when it was just Game Guard at the top. There's nothing that's going to stop kids from doing it today. It's an arms race doomed to failure until these game devs stop being lazy and just put in the sweat required to get their houses in order. Server side checks. That's it. User input is tainted evil and you can't trust it. Anything less than server side checking is insecure.
- thomastjeffery 1y agoCheck for what? This is the question that anti-cheat conveniently dodges. The real problem is that "cheating" is practically undefinable. What players really need is moderation. There is no relevant difference, from a player's perspective, between playing against a cheater or playing against a legitimately skilled person. If someone is not fun to play with, then that needs to be managed somehow. The most effective strategy is for players to moderate the servers they play on. This has recently become impossible, because game studios have chosen to monopolize server hosting while also abdicating the responsibility of moderation. Anti-cheat is nothing more than a lazy implementation of automated moderation. There's a reason that Battlefield 4 is still going strong, while Battlefield One (which came out just after 4) is unplayable. That reason is player-hosted servers.
- SamInTheShell 1y agoModeration is a fine suggestion. This idea could actually be implemented in such a way that other player clients do detection and reporting behind the scenes. Suppose a ton of clients see one user violating rules of the physics engine. Automated reporting on that can be observed as a trend and a ban would make sense. Having argued about this specific topic in the past, I agree that going so far as to do checks on player movement is difficult and even expensive if you're validating physics for every user. What concerns me more is the increased risk of RCEs when developers skip fundamental security practices because "the anti-cheat handles it" for them.
- 1y ago
- lousken 1y agowhat would need to happen for companies to implement things server side properly and do checking there?
- wmf 1y agoEven 100% server-side checking can't prevent cheating. It just means cheaters will be indistinguishable from a person playing perfectly.
- bullen 1y ago> I fully suspect that some anti-cheat providers will simply prevent access to the game if you use one of those. How would they be able to detect that the TPM is discrete?
- gjsman-1000 1y agoAs the article says, every TPM has its own signature and public key from the manufacturer, making it fairly easy to say if it isn’t Intel and it isn’t AMD, it’s discrete.
- bullen 1y agoBut the article also says you can replace that public key, also they are from the motherboard, not CPU manufacturer. I think it's going to be yet another failure like Nintendo and Sony have been struggling with for decades. If you start requiring things, people will take out their soldering iron. And this time they are trying to brick hardware we built ourselves, if you are still using a discrete header TPM your computer is from 2016, and then odds are you built it yourself!
- gjsman-1000 1y agoNonsense - Nintendo’s OS, according to reverse engineers, is currently bulletproof. The contributor who rewrote the entire kernel, and secure monitor, as open source said they have “zero bugs”… in 2020. The problem was NVIDIA’s boot code and inability to detect glitching; but the OS design was impeccable. Now that the Switch 2 inherits NVIDIA’s completely redesigned boot processor with formal verification, written in entirely memory-safe languages used for rockets and trains (ADA SPARK), with lockstep booting (two cores executing instructions simultaneously and verifying their work), and voltage monitoring / glitch detection as the cherry on top; Switch 2 won’t be cracked in the next decade, possibly two.
- bullen 1y agoHonestly the Switch 2 and PS5 bring nothing valuable to the table! Maybe that's why they wont get hacked.
- hofrogs 1y agoSo, there is a unique public key associated with each CPU, and that key can't be changed or spoofed because it's signed by the manufacturer... Sounds really bad.