Fehlerhafte Implementierung des HDCP durch Amazon und Netflix

Fehlerhafte Implementierung des HDCP durch Amazon und Netflix

Beim regulären Xbox streamen über meinen PC viel in einem Livestream auf, das ich bereits in der Netflix App am Suchen nach neuen Serien war. Daraufhin stoppte ich das Streaming und war irritiert. Regulär müsste bereits beim Öffnen der Netflix App der Kopierschutz greifen. Anders als bei Amazon Prime Video, hier wird der HDCP Schutz für jede einzelne Folge aktiviert. Nach einigen Tests ist aufgefallen, das gar kein HDCP mehr greift. Bereits Anfang Dezember habe ich die Publizierung angekündigt, mitgeteilt habe ich es ihnen bereits vor über 90 Tagen.

Auffällig ist, da ich es durch eine Reihe Geräte streame damit ich alle Audio Signale parallel mit 5.1 nutzen kann. Dabei viel mir einmal beim Streamen auf das ich versehentlich 10 Sekunden einer Serie gestreamed habe. Glücklicherweise ist es mir schnell aufgefallen, so das ich es unterbinden konnte.

Wieso kann ich On-Demand über mein ganzes Netzwerk und auch Online Streamen? HDCP ist doch der Kopierschutz, der dies eigentlich verhindern soll. Anfänglich war die Idee das ich eine Beta/Alpha Firmware auf dem Gerät habe. Daraufhin habe ich unterschiedliche Geräte getestet und konnte die Produktreihe identifizieren und habe gemerkt, dass es nicht an meinem PC oder der Capture Karte liegt. Es dauerte knapp eine Woche bis ich herausgefunden habe, woran es liegt. Ein Softwareproblem der On-Demand Partner, sie haben es geschafft die eigene App fehlerhaft zu programmieren. Auf die genauen Details gehe ich erst in ein paar Monaten ein. Das Unternehmen, das die Geräte herstellt, hat sich binnen 72h zurückgemeldet inkl. einer fachlichen Erklärung und haben meine Vermutung bestätigt.

Da ich diese Lücke einigen aus der Szene schicken könnte, könnte ich damit Geld machen. Oder sogar selbst zu einem Raubkopierer werden, aber nein, das will und kann ich nicht. Denn ich möchte das die Leute die dafür tagtäglich vor der Kamera stehen und für die Infrastruktur sorgen, keinen Schaden davon nehmen.

Kritisch oder Trivial

Ob die Lücke jetzt kritisch oder trivial ist, ist relativ einfach. Das Kern Produkt von beiden Portalen ist neben VOD die hauseigene Produktion und exklusive Inhalte. Natürlich gibt es bereits HD Fury und andere Konverter die entweder den Kopierschutz direkt entfernen oder es möglich machen in dem sie HDCP auf 1.4 drücken. Allerdings ist mit meiner Methode die direkte Aufnahme möglich. Für rund 100 € habe ich das direkte Aufnahme Gerät.

Spurensuche

Während die Bluray App von Microsoft das Abspielen verweigerte, funktionierten Netflix und Amazon Prime Video weiterhin. Meine Capture Card hat eine Möglichkeit HDCP fest zu de/aktivieren, allerdings war diese Einstellung auf deaktiviert. Also hätte die Xbox keinerlei HDCP Content ausgeben dürfen. Lediglich die Bluray App kontrolliert gegen, ob HDCP korrekt funktioniert.

Die Fehlerquelle kann Hardwareseitig also nur an meiner Capture Karte der Avermedia GCE 573 oder der Xbox One X – Scorpio Edition mit Alpha Updates liegen. Nach dem Testen mit der PS4 und weiteren Xbox Konsolen in unterschiedlichen Update Stadien wurde allerdings recht schnell klar, dass das Problem an der Xbox liegen muss.

Konsolen Xbox One X Xbox One S PS4 Pro
Einstellungen HDCP deaktiviert HDCP aktiviert HDCP deaktiviert HDCP aktiviert HDCP deaktiviert HDCP aktiviert
Netflix
Amazon Prime Video
Bluray App
YouTube
Sky Ticket
Disney + N/A N/A N/A N/A N/A N/A
Maxdome N/A N/A N/A N/A N/A N/A
HBO N/A N/A N/A N/A N/A N/A
Hulu N/A N/A N/A N/A N/A N/A

Legende: ✔ funktioniert konform ✘ funktioniert nicht (HDCP Schutz greift nicht)

Amazon und die Disclosure-Policy ohne Bounties

Also versucht man erst einmal die App Hersteller zu kontaktieren. Auf der Suche nach der Security Research Abteilung bzw. Bug Bounty Abteilung wird man enttäuscht. Auf einer einfachen schlichten Seite gibt es die Möglichkeit den Fehler zu melden und fertig. Also habe ich mich erstmal am 04.07.2019 nach Information einer Belohnung erkundigt. Ich möchte ja auch meine investierte Zeit belohnt sehen. Dabei ist es mir egal ob ein Shirt, ein Gutschein oder etwas anderes. Es geht um die Anerkennung der Arbeit und Zeit die man darein investiert hat.

Die Antwort bzgl. des Bugbountys von Amazon kam 3 Stunden später:

Thanks for your email, can you please help us better understand the issue you are observing and the related security risks?

Also bin ich so nett und beschreibe den Fehler ein wenig. Am 07.07.2019 folgt eine Email, das man immer dankbar ist, aber das man mir nichts geben kann.

Am 09.07.2019 schrieb ich dann als Reaktion:

The error lies in the inconsistent implementation of the HDCP. Only True / False values are checked. However, some devices are also able to deliver a more specific value or a faulty one.

So I am able to pick up the contents of Amazon Prime in 4K HDR with the Xbox One about the Avermedia Capture Card (https://amzn.to/34yw0So).
The card can output unexpected information about settings and thus cause the Xbox not to deliver HDCP. However, the source of the problem is the app itself, as other media apps can handle these errors.

I hope to be able to help you protect your content.

On January 15th, 2020 I will write about it in my blog, as long as I give them time to fix this problem.

If this bug is intended or if you need more time to solve it, please let me know so that I can publish my contributions later.

Nur 7 h später hatte ich bereits meine Fall ID SI135552466 und wartete ab. Und am 11.07.2019 kam dann die Überraschung. Man honoriert die Zeit und den Aufwand nicht, möchte aber nun, das ich noch mehr Zeit investiere:

Could you please provide us with the details requested below to help us with this investigation:

    1. Please provide a sample rip of some content that you were able to copy.
    2. Are you using the production app, or a development app?
    3. Please provide a complete list of steps to reproduce this with your capture card.

Thanks again for helping us improve our services.

Also war ich so nett und schickte ihnen am 11.07.2019 diese Anleitung:

Hi ******,

    1. Link deleted
    2. I am using the production App.
    3. List of Steep
      1. Connect Xbox One X through Avermedia Capture Card (https://amzn.to/34yw0So) with a Monitor. ( In my Case I cant testing HDR, if you send me a 4K HDR Screen I can test it). But I think is possible, because HDR is only a feature, not a copy protection setting.
      2. Install on your Xbox Amazon Video App
      3. Install on Windows 10 the ReCentral 4 Software
      4. In the Card Settings force the Card to disabled the HDCP. (You can only Force on/off not dynamic. :’( )
      5. The Xbox get now the Information about HDCP is available, but cannot be activated. Here is the bug! The xbox app is not correctly handling hdcp failures and so hdcp is bypassed.
      6. You start the Amazon App, then you can recording the Content
    4. Microsoft MSRC tells me, that the implementation is not correct, because the Bluray App works. You can see it at the end of the Video.
    5. Netflix has the same security issue. I am going to inform them about their own app.
    6. I would be glad to be able to test more devices, e.g. amazon devices. It would be great if you could support me. Please let me know if some kind of reward for finding this security issue is possible.
    7. I also tried another capture card (Terratec Grabster Extreme HD). There it does not happen because it does not produce a hdcp handshake failure.

Regards Sebastian

Danach kam noch ein Dankesemail, die aussieht wie eine vorgefertigte automatische Email und das war es dann. Abgesehen daovn das man kaum Dankbarkeit zeigt, war das Interesse auch relativ gering und kam seit dem kein Fall Update zustande. Sparen und Optimieren ist ja gut, aber sollte man einmal zumindest eine kleine Belohnung andeuten um Sicherheitsforschern und Bug Jägern das ganze schmackhaft zu gestalten? Cloudflare gibt einen Gratis Monat und ein Shirt heraus.

In einer weiteren Mail am 17.10 teilte man mir mit, das demnächst ein Bug Bounty Program starten würde und ich hierzu eingeladen werde.

Netflix gfys

Parallel kontaktierte ich Netflix über das Bugcrowd Programm und erhoffte mir daher schon zumindest einen Gratis Monat/Jahr Netflix oder sowas einfaches. Das Registrieren auf der Platform ging einfach, allerdings benötigt Bugcrowd eine Verifizierung mit Personalausweis und allem. Netflix hat auch alle Regeln unter denen sie Bug Bountys annehmen klar kommuniziert. Zur Sicherheit habe ich mir dann auch einmal alle ihre Regeln durch gelesen und fühlte mich etwas vor den Kopf verstoßen. Ich verstehe zwar, das man vieles direkt ausschliest, aber nicht das man alles ausschliest, was nicht die eigene Kern Infrastruktur betrifft. So sind alle Apps und Dritt Anwendungen ausgeschlossen. So werden Lücken auf offizielle Netflix Domains und die Mobile Apps für IOS und Android Honoriert. Aber nicht das Betriebssystem Tizen, Linux, Windows oder auch die Konsolen Xbox und Playstation.

Auch hier startete ich das Gespräch sehr Amateurhaft mit der Frage, ob denn grundlegend Bugs zum umgehen des Kopierschutzes ausgeschlossen sind. Allerdings habe ich direkt beschrieben, das ich in der Lage bin den 4K Content mit HDR aufzunehmen. Als Antwort kam lediglich, ob ich Aufnahmen zeigen kann ggfs. ob ich mehr darüber erzählen kann.

Also habe ich den Fehler etwas detaillierter Beschrieben und ihm erklärt, das es an der fehlerhaften Implenentierung des HDCP Schutzes in der Xbox liegt. Ebenfalls habe ich erneut gefragt, ob man meine bereits investierte Zeit in irgendeiner Form dann honorieren würde. Selbstverständlich investiere ich dann auch gerne mehr Zeit.

Nach über 2 Wochen ohne Reaktion, schickte ich ihnen am 12.09.2019 diesselbe Anleitung wie Amazon einen Tag zuvor schon. Daraufhin folgten sofort Reaktionen die ich nicht erwartet habe:

Hey huskynarr,
we are still investigating this and will get back to you asap. Thank you for additional details and proof of concept.
Cheers,

Nur 4 Stunden vergingen und der Status des Bugs wurde geändert. Der Status “Blocker” wurde removed und zu “Nicht akzeptiert” geändert. Am 16.09.2019 erfolgte dann eine weitere Antwort:

Hey Huskynarr,
Thanks for your patience. We have discussed this issue with the Netflix team and agree that this is out of scope – playback issue. However, the team is interested in investigating this issue in detail so I am requesting some information from you:
we want to understand the detail (actual served resolution of the captured content), or the account you used to capture content and the approximate date and time of the captured playback. We look forward to hearing from you.

Meinen Account den ich nutze, gebe ich nicht her. Denn, wie man es ja so gerne gewohnt ist, teilt man sich den Account mit seinem besten Freund und möchte ihn daher nicht mit reinziehen. Vor allem, sollte es doch als Security Team nicht so schwer sein, sich kurz eine Xbox bzw. diese Capture Card zu organisieren? Eine Xbox sollte so oder so in der Abteilung vorhanden sein. Nicht weil ich Xbox Fan bin, sondern weil sie darauf eine Anwendung ausliefern. Oder die QA Abteilung sollte eine haben, die man sich kurz ausleiht.

In zwei weiteren Mitteilungen habe ich dann verkündet, das ich kein weiteres Interesse habe. Sie haben alle nötigen Details die sie benötigen und die Mitteilung das ich den Artikel veröffentlichen werde.

Vorbild Microsoft

Auch wenn es kein offensichtliches Bug Bounty explizit für Xbox gibt, habe ich MSRC kontaktiert, sowie einen Kontakt von Azure Stack auf der Devcom 2019. Hier habe ich vorab ein Shirt erhalten als kleines Dankeschön für meinen Aufwand.

Am 11.07.2019 schrieb ich:

Hi ******,

    1. Link deleted
    2. I am using the production App.
    3. List of Steep
      1. Connect Xbox One X through Avermedia Capture Card (https://amzn.to/34yw0So) with a Monitor. ( In my Case I cant testing HDR, if you send me a 4K HDR Screen I can test it). But I think is possible, because HDR is only a feature, not a copy protection setting.
      2. Install on your Xbox Amazon Video App
      3. Install on Windows 10 the ReCentral 4 Software
      4. In the Card Settings force the Card to disabled the HDCP. (You can only Force on/off not dynamic. :’( )
      5. The Xbox get now the Information about HDCP is available, but cannot be activated. Here is the bug! The xbox app is not correctly handling hdcp failures and so hdcp is bypassed.
      6. You start the Amazon App, then you can recording the Content
    4. Microsoft MSRC tells me, that the implementation is not correct, because the Bluray App works. You can see it at the end of the Video.
    5. Netflix has the same security issue. I am going to inform them about their own app.
    6. I would be glad to be able to test more devices, e.g. amazon devices. It would be great if you could support me. Please let me know if some kind of reward for finding this security issue is possible.
    7. I also tried another capture card (Terratec Grabster Extreme HD). There it does not happen because it does not produce a hdcp handshake failure.

Regards Sebastian

Am 17.07.2019 folgte dann bereits eine Antwort von Microsoft. Die Mitarbeiter der Security Abteilung bestätigten den Anfangsverdacht, das es sich um App Bugs handle. Also aufgrund einer fehlerhaften Implementierungen des HDCP.

Hello Huskynarr,

Thank you for reaching out and submitting this issue to Microsoft. We determined that this behavior is considered to be by design.

HDCP works fine on the console.  Movies & TV prevents media playback when routed through an HDMI capture card.  It is up to the app as to how they want to handle HDCP failures (if at all).  Netflix is currently not handling HDCP failures.

There is no issue with the Xbox platform, this is an application issue with Netflix, but only if they intend to limit playback when an HDCP isn’t available.
We have therefore closed this case.  

If you have any questions, or additional information related to this report, please reply on this case thread. 

Thank you very much for working with us.

Regards,
MSRC

Das Problem im Detail

Netflix und Amazon haben zwar das HDCP implementiert, allerdings sind sie nur auf die Fälle eingegangen ob HDCP vorhanden ist oder nicht vorhanden. Die Avermedia Karte gibt als Antwort vermutlich die Information, HDCP vorhanden, aber nicht aktivierbar. Also kein True oder False wert. Die Apps kommen damit nicht klar und geben daraufhin den Content weiterhin aus. Youtube, Sky und Twitch haben diese Funktion korrekt umgesetzt.

Über 90 Tage später

Amazon hat Anfang letzten Monat eine Rundmail geschickt, das man ein Bug Bounty Programm erarbeiten werden. Seit dem habe ich nichts mehr von Amazon gehört. Netflix hat sich nie mehr gemeldet. Ich bin überrascht wie beide Unternehmen die Hoffnung im Keim ersticken und das Problem vorgekaut und serviert haben möchten. Und das ohne jedwede Motivation.

Das Problem ist am 20.01.2020 immer noch vorhanden und es ist mir weiterhin möglich, den Content von Netflix und Amazon Prime Video in 4K aufzunehmen.
Update: Mittlerweile wurde der Bug behoben, allerdings ohne Kommunikation nach außen.