I’ve seen many instances of some software having DRM that significantly degrades the performance of the software, or worse, the performance of the entire OS due to heavy background tasks. Prime examples include Denuvo and all those Adobe background processes. Why can’t they just simply use the TPM or the other 5 security chips embedded into the CPU so that they don’t bloat the system?

  • Xantar@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    52
    ·
    edit-2
    20 days ago

    Because they don’t care about performances. They just want you to not pirate the game for the first couple weeks after release so they can make the most sales money, then once the crack is out, they remove Denuvo…or not.

    The security is for their benefit not yours, so they don’t have a reason to trust your hardware over proprietary software they control.

    But maybe I’m wrong, I’m just assuming. I’m not a dickhead using Denuvo.

    • SuperSpruceOP
      link
      fedilink
      arrow-up
      5
      ·
      20 days ago

      But my main barrier to using Adobe products is reducing my laptop battery life by an hour because of its many background bloat processes, not the price (as I am currently a student). So much for “hook 'em while they’re young.”

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    27
    ·
    edit-2
    20 days 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 and independently.

    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 act as a canary when something undesirable has happened. The definition of “undesirable” is left to the software package makers to define.

    The only plausible way I could see the situation improving is if OS makers integrated anti-cheat and DRM into the scheduler (the very core of an OS) 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.

      • litchralee@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 days 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
        link
        fedilink
        arrow-up
        1
        ·
        19 days 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.

    • SuperSpruceOP
      link
      fedilink
      arrow-up
      1
      ·
      20 days ago

      So what even is the purpose of Pluton if it’s useless for its main use case?

      • litchralee@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 days 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.

        • SuperSpruceOP
          link
          fedilink
          arrow-up
          1
          ·
          19 days 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.

  • mindbleach@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    20 days ago

    Denuvo is a cache defeat mechanism. Of course it kills performance. If CPUs still worked like 386s and 68000s, having eight copies of every function and bouncing merrily between them would make no difference. But modern processors are only fast because they spend negligible time waiting for RAM to get its act together. Every squandered microsecond is a thousand cycles burned.