Netflix が Android スマートフォン上のビデオを保護するために使用している Google Widevine L3 DRM がクラックされました。セキュリティ研究者の David Buchanan は、十分に文書化された攻撃により、このプロトコルをバイパスして MPEG-CENC ビデオ ストリームをキャプチャすることに成功したと発表しました。 Widevine L3 DRM は、L1 DRM よりも安全性が低く、最大 720p までのストリームを暗号化する脆弱性の低いセキュリティ ソリューションと互換性のない特定のスマートフォンで Netflix によって使用されています。
DRM については、もうあまり話題になりません。これは、Netflix などのコンテンツ プラットフォームがビデオを保護するために使用する保護機能です。それには十分な理由があります。近年、そのセキュリティがあらゆる種類のセキュリティ研究者やハッカーによって回避されることはほとんどありません。まだ、Android Police の報告によると、セキュリティ研究者のデビッド・ブキャナン氏は、無料のターンキー ソリューションである Google Widevine L3 プロトコルを解読することに成功しました。Android エコシステムでアプリケーションのコンテンツを保護したいパブリッシャーに同社が提供する DRM。また、Netflix を含む多くのアプリケーションで、 Widevine L1 などのより安全なバージョンのプロトコルとともに使用されています。
これらの DRM プロトコルは、一部のスマートフォンで Netflix 動画を 1080p で再生できない理由の 1 つです。たとえば、OnePlus 5Tおよびそれ以前のバージョンのスマートフォン。 Widevine L3 は、Netflix ビデオ ストリームを最大 720p まで暗号化します。 Netflix が依然としてこれを使用している理由は、アプリが幅広いスマートフォンとの互換性を維持できるためです。 L1 プロトコルは、安全なコンポーネントが工場からスマートフォンにインストールされていることを前提としています。一方、L3 はブートローダーがロックされていると想定します。
こちらもお読みください:ハッキングされたNetflixアカウントがインターネット上で3ユーロ未満で販売される
デビッド・ブキャナンは、いくつかの技術的な詳細を説明しながら、彼の攻撃は「セットアップは驚くほど簡単です」そして彼に尋ねなかった「ほんの数晩の仕事」。同氏はツイートの中で、この問題は、十分に文書化されたタイプの攻撃に対して脆弱なAES-128ビット暗号化の実装に起因していると説明している。差動故障解析(DFA)。簡単に言うと、これは暗号化されたストリームと復号化されたストリームの比較に基づくタイプの攻撃です (エラー挿入があり、明らかにもう少し複雑ですが、このタイプの攻撃はQuarkslab などのいくつかのサイトで詳しく説明されています皆さんの中で最も興味がある人のために)。
この技術を使用して、研究者は元の暗号化キーを取得することができました。その後は、ビデオ ストリームを復号化するだけで済みます。ffmpegその場でこのキーを使用してそれをキャプチャし、必要に応じて使用します。彼によると、これはこの保護の設計上の欠陥です「バグではありません」。これは妨害技術によってブロックされる可能性があります…その代償として、パフォーマンスへの影響が増大し、したがってバッテリー寿命が長くなります。好奇心に駆られた研究者は、より安全であると考えられている Widevide L1 DRM 保護に取り組むつもりです。
ああ、数晩仕事をした後、 Widevine L3 DRM を 100% 解除してしまいました。彼らの Whitebox AES-128 実装は、元のキーを回復するために使用される可能性がある、よく研究された DFA 攻撃に対して脆弱です。その後、昔ながらの ffmpeg を使用して MPEG-CENC ストリームを復号化できます。
— デビッド・ブキャナン (@David3141593)2019年1月2日