Live data from Hacker News

Trying to extract Widewine key: A journey to failure

github.com

41–50 of 133 posts

Re: Trying to extract Widewine key: A journey to failure

#41
post #27

Earlier quoted context omitted.

For now, at least. It is possible they fix all issues.

Not really, since that would entail breaking playback on current devices/firmwares. They can only try again next time (for 8K?).

Until current broken devices fall out of use. Eventually, all devices might be secure.

Re: Trying to extract Widewine key: A journey to failure

#42
post #39

Earlier quoted context omitted.

I've never really looked long into these things, but now that most GPUs do the actual video decoding, how come it's still not possible to use Linux or any random OS? Isn't the GPU supposed to somehow guarantee that it only sends the decrypted stream to a compliant screen? Isn't this the point of HDCP? When this was done in software, I understand that open source decoders could have been modified to pipe the clear str…

Between the video decoder and the screen is the display server (e.g. Xorg or GNOME Shell) which is untrusted.

This wasn't my understanding. If the decoding happens in hardware, I wouldn't have expected the decoded video to be passed back to the display server to be sent back again to the GPU and out to the screen.

My understanding was that there was some kind of compositing going on, in hardware, where the display server would tell the GPU to display the output between some coordinates, but the server itself wouldn't know what the actual output would be.

Here is the libva documentation which seems to support this: http://intel.github.io/libva/group__api__prot.html

Re: Trying to extract Widewine key: A journey to failure

#43

Earlier quoted context omitted.

I've never really looked long into these things, but now that most GPUs do the actual video decoding, how come it's still not possible to use Linux or any random OS? Isn't the GPU supposed to somehow guarantee that it only sends the decrypted stream to a compliant screen? Isn't this the point of HDCP? When this was done in software, I understand that open source decoders could have been modified to pipe the clear str…

Linux is not the issue here but ARM processor as OP said. First DRM library for ARM came only earlier this year so finally I am able to play DRM content on Raspberry Pi 4 in Chromium but I am not going to because chromium is painfully slow and plugin maintainers have figured out how to play Netflix in Kodi. edit: DRM library still doesn't get to "fully FLOSSed"

So then Netflix et al.'s requirement of Windows or macOS in order to play high definition video is purely artificial on x86?

Last time I checked (a few months ago) they didn't even support Chrome (either Windows or Mac) for UHD, they required Safari, Edge or their own Windows app.

Re: Trying to extract Widewine key: A journey to failure

#44

From the repo: >It is my honest opinion that DRM is a malignant tumor growing upon various forms of media, and that people that either implement or enforce implementation are morally repugnant and do no good to society. With that in mind, I was sad to learn in May 2021 that the original extension would soon be rendered obsolete. I really can't agree more. I don't use, and never have, services that require DRM. I buy…

"because DRM is fundamentally pointless" I dunno, it gave this person a lot of trouble and the result is maybe a very narrow victory that doesn't practically matter? And this is the lowest level of widevine security - L3 which is basically assumed to be owned. Good luck with L1 which uses trusted compute primitives. DRM has won. And I'm saying this as someone who agrees DRM is a threat to society as we're taking thin…

DRM is always pointless because the content has to be converted to analog form at some point. So, it gets decrypted in the DistrustZone, decompressed, then encrypted again before it goes over HDCP to your display, which then decrypts it to show it on the screen. Couldn't you capture the LVDS signal that the display panel receives? And even if you don't do that, isn't every version of HDCP cracked already so you could use a capture card instead?

Re: Trying to extract Widewine key: A journey to failure

#45
post #5

Earlier quoted context omitted.

The point of semi-unusable DRMed crap when L1 released keep getting WEB-DLed? Very likely it's not the Shield now which leaks L1, but an actual key recovery because they get the stream even before it gets watermarked in the secure domain. My guess, it's Qualcomm's debugging TZ applets. They cannot really revoke keys because they will take down a giant amount of Snapdragon based handsets for which manufacturers don't…

Lately Google has mostly stopped revoking whole devices. Instead, when someone extracts a key from a device and it leaks publicly, they just revoke that one specific device's key. That improves the experience for legitimate users, but also means the person who extracted the key can just go buy another device of the same model and use the same exploit to extract a new working key.

Are these keys unique per-device?

Re: Trying to extract Widewine key: A journey to failure

#46
post #20

Earlier quoted context omitted.

"because DRM is fundamentally pointless" I dunno, it gave this person a lot of trouble and the result is maybe a very narrow victory that doesn't practically matter? And this is the lowest level of widevine security - L3 which is basically assumed to be owned. Good luck with L1 which uses trusted compute primitives. DRM has won. And I'm saying this as someone who agrees DRM is a threat to society as we're taking thin…

If you know where to look L1 content can be readily downloaded, including the original 4K streams. As usual the net effect of DRM is to make the paid service inferior to piracy. That's not what I would call "wining".

In theory DRM could be mathematically perfect. However DRM relies on actual implementations both in software and hardware and shares a lot with broader security. Software implementations can have bugs but it’s relatively easy to ship fixes. The hardware level however is where it becomes very difficult to ensure a valid implementation of “secure compute” or “trusted zones” which are key to DRM and general security, particularly from an agent with physical access. It costs money to ship new fixed hardware, if it’s even possible. Then even if a given hardware implementation is correct there are ways to physically glitch the hardware to skip the checks. ESP32 chips had an issue like that where the hardware encryption was correct but simply “glitching” the voltage at the correct time could cause the processor to skip the encryption check entirely [1]. It’s very difficult and costly to make hardware immune to all such attacks. Small seemingly unrelated physical details can become novel ways to break the encryption system (like specter).

Ultimately I’ve come to believe that DRM and it’s cousin of system security is an economic game. So DRM useless in that it will probably be cracked after some time, but that time can translate to revenues or control until that point. It depends on how much money you have to throw at either hardening and cracking systems. It’ll likely become harder (i.e. more expensive) in the future to crack hardware DRM in the future as the technology becomes more sophisticated and classes of vulnerability are discovered and mitigated. But then the cracks become more valuable both for anti-DRM or anti-security.

1: https://raelize.com/blog/espressif-systems-esp32-bypassing-s...

Re: Trying to extract Widewine key: A journey to failure

#47
post #44

Earlier quoted context omitted.

"because DRM is fundamentally pointless" I dunno, it gave this person a lot of trouble and the result is maybe a very narrow victory that doesn't practically matter? And this is the lowest level of widevine security - L3 which is basically assumed to be owned. Good luck with L1 which uses trusted compute primitives. DRM has won. And I'm saying this as someone who agrees DRM is a threat to society as we're taking thin…

DRM is always pointless because the content has to be converted to analog form at some point. So, it gets decrypted in the DistrustZone, decompressed, then encrypted again before it goes over HDCP to your display, which then decrypts it to show it on the screen. Couldn't you capture the LVDS signal that the display panel receives? And even if you don't do that, isn't every version of HDCP cracked already so you could…

The last bastion of DRM is forensic watermarking (so they can trace the leaked video back to your device) and key revocation (so your device won't play any new content). These techniques are so complex that they aren't used much.

Re: Trying to extract Widewine key: A journey to failure

#48
post #45

Earlier quoted context omitted.

Lately Google has mostly stopped revoking whole devices. Instead, when someone extracts a key from a device and it leaks publicly, they just revoke that one specific device's key. That improves the experience for legitimate users, but also means the person who extracted the key can just go buy another device of the same model and use the same exploit to extract a new working key.

Are these keys unique per-device?

Yes.

Re: Trying to extract Widewine key: A journey to failure

#49

Earlier quoted context omitted.

Linux is not the issue here but ARM processor as OP said. First DRM library for ARM came only earlier this year so finally I am able to play DRM content on Raspberry Pi 4 in Chromium but I am not going to because chromium is painfully slow and plugin maintainers have figured out how to play Netflix in Kodi. edit: DRM library still doesn't get to "fully FLOSSed"

So then Netflix et al.'s requirement of Windows or macOS in order to play high definition video is purely artificial on x86? Last time I checked (a few months ago) they didn't even support Chrome (either Windows or Mac) for UHD, they required Safari, Edge or their own Windows app.

The UHD restriction is not a technical one. Content producers and the rest of the media industry has strict requirements about streaming. UHD content uses proprietary DRM systems from Microsoft and Apple that are considered more secure than WideVine, which is why those browsers are permitted to watch 4k.

You can't watch UHD content on Edge for Linux, for example, because the necessary DRM isn't implemented.

Re: Trying to extract Widewine key: A journey to failure

#50
post #47
post #44

Earlier quoted context omitted.

DRM is always pointless because the content has to be converted to analog form at some point. So, it gets decrypted in the DistrustZone, decompressed, then encrypted again before it goes over HDCP to your display, which then decrypts it to show it on the screen. Couldn't you capture the LVDS signal that the display panel receives? And even if you don't do that, isn't every version of HDCP cracked already so you could…

The last bastion of DRM is forensic watermarking (so they can trace the leaked video back to your device) and key revocation (so your device won't play any new content). These techniques are so complex that they aren't used much.

So they trace the ripped video file to a particular throwaway account that was registered with a prepaid card, then what? And if you're determined enough, you could as well rip multiple copies on behalf of multiple accounts and average out the pixel colors.
Post reply on HN