• thedeadwalking4242@lemmy.world
    link
    fedilink
    English
    arrow-up
    34
    ·
    1 day ago

    On the one hand software freedom.

    On the other this has me thinking about how fascinating this problem is from academic standpoint.

    How can you ensure software can ONLY run on the machines you allow? Even if the user has ring 0 access?

    Is it mathematically impossible to achieve?

    • aurelar@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 hours ago

      Practically speaking, people already have cell phones that are impossible to own, because in many cases, users are not allowed to unlock the bootloaders of their phones.

    • redsand@infosec.pub
      link
      fedilink
      English
      arrow-up
      6
      ·
      20 hours ago

      Only with a client server model like in multiplayer or always online games. DRM is a conceptual scam. This kind of attack is unpatchable. It’s essentially a blue pill attack against a single program.

      • mlg@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        23 hours ago

        I think Denuvo technically does a little bit of this.

        I forgot the exact details, but one of the keys that’s used to unscramble the bytecode has to be downloaded from their registry server on first launch.

        But after that, it’s not required.

      • Cethin@lemmy.zip
        link
        fedilink
        English
        arrow-up
        6
        ·
        23 hours ago

        Although that still never totally protects it. I’ve seen a fair few number of passionate game communities bring online-only games back from the dead by reverse engineering the server architecture. It’s a lot of work, but if you know how the software is supposed to function then you can write the other half of the software that gives the response to make that work.

        • SpikesOtherDog@ani.social
          link
          fedilink
          English
          arrow-up
          4
          ·
          21 hours ago

          Yeah, I can see that. I’m thinking of streaming assets and code on demand, similar to how an optical disk works. It’s a terrible waste of resources, and they can be grabbed if they are not cryptographically secured.

          • Cethin@lemmy.zip
            link
            fedilink
            English
            arrow-up
            3
            ·
            18 hours ago

            Even that, a dedicated player can capture it. If it has to be rendered on the device then they have access to the assets.

          • richmondez@lemdro.id
            link
            fedilink
            English
            arrow-up
            1
            ·
            8 hours ago

            The original code for that was leaked, most if not all replacement servers run that code, not reverse engineered code.

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 day ago

        Or use the cloud gaming approach and just stream the video, no local engine at all!

        • SpikesOtherDog@ani.social
          link
          fedilink
          English
          arrow-up
          7
          ·
          1 day ago

          That would protect the IP, but the response time is terrible. Pinging Google.com I get a response time of about 80 ms. At that delay, everything would feel spongy and laggy.

          • frongt@lemmy.zip
            link
            fedilink
            English
            arrow-up
            13
            ·
            1 day ago

            If they cared about your experience they wouldn’t be using intrusive DRM at all.

    • LedgeDrop@lemmy.zip
      link
      fedilink
      English
      arrow-up
      17
      ·
      1 day ago

      It’s totally possible to achieve. TPM is the desktop equivalent of the technology that runs on your cellphone to have apps detect if you have an unlocked bootloader or root. It’s the same technology prevents your favorite concole (ie: switch 2, ect) from running pirated games.

      This improved security does come at a price: we/the users are the enemy and cannot be trusted. This means modifying your system will be prohibited and we (the consumer) will have to trust that Big Tech has our best interests in mind. /s

        • LedgeDrop@lemmy.zip
          link
          fedilink
          English
          arrow-up
          4
          ·
          17 hours ago

          To expand on this a bit:

          It’s all built on top of the concept of “a chain of trust”, starting at the hardware level.

          (as mentioned) TPM is a chip that’ll store encryption keys at a hardware level and retrieval of these keys can only happen if the hardware is unmodified.

          I assume that part of this key is derived from aspects of your OS (ie: all device drivers are signed by MS).

          The OS will fetch this key, if it’s valid - the OS knows that the hardware is untampered, it can then verify that the OS is unmodified, which can then be used by application to determine that their not modified, etc.

          Now you could spoof your own TPM chip (similar to how Switch 1’s are chipped/nodded), but the deal-breaker is that when you add your key to the TPM chip, you sign it with a hardware vendor specific public key. And that vendor private key is baked into the hardware (often into the CPU, so the private key never crosses the hardware bus).

    • someacnt@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      18 hours ago

      I don’t think this is matter of mathematics, it is difficult to define what “software only running on desired machine” is. Like, do you permit functionally equal software with different code? With painstaking effort, functionality should be approximated fairly close (although idk what that means in mathematical context) On the other hand, requiring exact code is likely not what they want.

      Cryptographic guarantee requires mathematical specification, which seems ill-fit in this scenario.