So what even is the purpose of Pluton if it’s useless for its main use case?
Comment on Why does DRM consume vast system resources even though we have TPM, Pluton, etc.
litchralee@sh.itjust.works 5 months ago
In a nutshell, the TPM works great as a trust anchor if it’s only needed once during boot-up. But anti-cheat and DRM software run concurrently with the software payload, so it’s not a one-time deal but a continual process to reverify. More so, the TPM is not self-enforcing so there would have to be software which issues a challenge to the TPM, and then interprets the response. This uses CPU power, at a minimum.
The crucial challenge – likely unsolvable in the general case – is that anti-cheat software has to try to monopolize some portion of the machine, to prevent running other software like hacks or keygens. But this is diametrically opposed to the goal for the past 60 years of multitasking operating systems and context-switching CPUs, which try to divy out the machine so different software appear to run almost simultaneously.
As a result, some anti-cheat software is truly horrible, because they have to employ very strange tricks to coerce the system to either prevent something undesirable from happening, or to indicate when something undesirable has happened.
The only plausible way I could see the situation improving is if OS makers integrated anti-cheat and DRM into the scheduler in a uniform manner. But this is: 1) really complicated, and 2) a security nightmare if malware could exploit it. And that’s ignoring whether the Unix/Linux/BSD world would ever tolerate such a kernel feature.
SuperSpruce@lemmy.zip 5 months ago
litchralee@sh.itjust.works 5 months ago
I will admit I had to look up what Pluton is, but I think Microsoft did a decent job of explaining it by themselves:
Microsoft Pluton is a secure crypto-processor built into the CPU for security at the core to ensure code integrity and the latest protection with updates delivered by Microsoft through Windows Update
Microsoft Pluton is designed to provide the functionality of the Trusted Platform Module (TPM) and deliver other security functionality beyond what is possible with the TPM 2.0 specification
In other words, Pluton is an enhanced TPM that’s baked directly into newer CPUs, for code integrity of Microsoft’s software. Here, integrity means the software was not tampered with, and will do exactly what Microsoft wanted it to do. That no guarantee that their software won’t spy on you or expose your data (see Microsoft Recall controversy), though.
Now, Microsoft can extend that integrity guarantee by blessing other software makers’s code. That is one of many avenues to use Pluton as DRM and/or anti-cheat, if game makers obtain the necessary blessing.
But this is still years away from fully rolling out, and it necessitates that everyone buys a CPU which has Pluton enabled. I personally wouldn’t want to pay money for something that historically would have given me full control. Game consoles have always been locked down, but I draw a line at PCs. Everyone will have to decide what they’re comfortable with, as we enter this brave new world.
SuperSpruce@lemmy.zip 5 months ago
Unfortunately pretty much everything has Pluton these days, including all non-Dell/non-Lenovo Ryzen 6000+ or Intel 13th? Gen laptops and all Copilot+ PCs. I wouldn’t be surprised if Pluton was required to run Windows 12.
skullgiver@popplesburger.hilciferous.nl 5 months ago
litchralee@sh.itjust.works 5 months ago
Perhaps this is a matter of nomenclature, but I wouldn’t have thought that enforcing a ban is part of what anti-cheat software is meant to do. Sure, the anti-cheat is what alerts the game server, and then the server bans either the account or the actual machine. But the OP’s question was about anti-cheat and DRM software that impacts system performance. Someone that’s been banned from a game will not have in-game performance issues, because they’re not able to play the game at all.
I don’t think my omission of a TPM-based ban makes my answer “not entirely true”. I stand by my statement that TPMs are not suitable for the anti-cheat or DRM functionality when a game is running, and would not solve any performance issues if they were.
With that out of the way, yes you’re right that the TPM can be used for other, ancillary purposes. The typical use is to securely store certificates uniquely issued to a machine, such that the bearer of the certificate must be the certificate’s rightful owner. This is sometimes used to authenticate to corporate VPNs or Windows AD domains. But these certificates can be replaced, which makes them useless for enforcing a ban on a particular machine.
But TPMs also have a built-in, static certificate from when they were manufactured, which can only be challenged/responded using tokens from that manufacturer. If a game maker wants to coordinate with various TPM or mobo manufacturers to achieve that level of security, they’re certainly welcome to do so. But it also alienates users who don’t have or refuse to own such hardware, exactly as you’ve described. It’s a business decision, what they choose to do. Expedited manual review for broken TPM users is still fraught with issues, since there’s now an incentive to brick your own TPM and get a second chance at cheating.
There’s no free lunch in building secure systems, and that’s why anti-cheat makers will always face the uphill battle.
FierySpectre@lemmy.world 5 months ago
Valorant kernel level driver managed to fuck up my whole system every few updates though. It’s managed to freeze my whole pc 2 times, cause a BSoD 3 times… And that’s only talking about last week.
Almost as if running unstable software designed to be intrusive to other programs on a kernel level was not a great idea. But hey less cheaters right??? Oh wait no, turns out it still doesn’t stop cheaters.