Submit Search
Upload
HDMI探検隊
•
9 likes
•
20,993 views
Yuki Mizuno
Follow
Kernel/VM探検隊 online part2 で発表した HDMI探検隊の発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 32
Download now
Download to read offline
Recommended
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
NVIDIA Japan
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
lsh
lsh
Shunsuke Aihara
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition
Deep Learning JP
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
Recommended
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
NVIDIA Japan
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
富士通クラウドテクノロジーズ株式会社
lsh
lsh
Shunsuke Aihara
[DL輪読会]SlowFast Networks for Video Recognition
[DL輪読会]SlowFast Networks for Video Recognition
Deep Learning JP
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
Jun Okumura
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
Yusuke Uchida
プログラマのための線形代数再入門
プログラマのための線形代数再入門
Taketo Sano
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
Unity Technologies Japan K.K.
RAPIDS 概要
RAPIDS 概要
NVIDIA Japan
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
Ryo Suzuki
Paxos
Paxos
nobu_k
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
Katsuya Ito
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
Preferred Networks
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
Takeshi Yamamuro
機械学習 (AI/ML) 勉強会 #2 IoT編
機械学習 (AI/ML) 勉強会 #2 IoT編
Fujio Kojima
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
Tech Summit 2016
More Related Content
What's hot
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
Yusuke Uchida
プログラマのための線形代数再入門
プログラマのための線形代数再入門
Taketo Sano
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
Minoru Nakamura
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
Unity Technologies Japan K.K.
RAPIDS 概要
RAPIDS 概要
NVIDIA Japan
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
Kentaro Ebisawa
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
Ryo Suzuki
Paxos
Paxos
nobu_k
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
Katsuya Ito
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
Preferred Networks
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
Kentaro Minami
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
Deep Learning JP
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
Takeshi Yamamuro
What's hot
(20)
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
プログラマのための線形代数再入門
プログラマのための線形代数再入門
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
RAPIDS 概要
RAPIDS 概要
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
Paxos
Paxos
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
Similar to HDMI探検隊
機械学習 (AI/ML) 勉強会 #2 IoT編
機械学習 (AI/ML) 勉強会 #2 IoT編
Fujio Kojima
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
Tech Summit 2016
「Photon OS + Docker」VLAN 環境の構築
「Photon OS + Docker」VLAN 環境の構築
Fuva Brain
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
Shinya Sugiyama
社内勉強会用(Laravel):Routingとページ出力
社内勉強会用(Laravel):Routingとページ出力
Lee Daebum
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
Nobuyuki Sasaki
Similar to HDMI探検隊
(6)
機械学習 (AI/ML) 勉強会 #2 IoT編
機械学習 (AI/ML) 勉強会 #2 IoT編
Hol012 windowsコンテナー始動
Hol012 windowsコンテナー始動
「Photon OS + Docker」VLAN 環境の構築
「Photon OS + Docker」VLAN 環境の構築
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
社内勉強会用(Laravel):Routingとページ出力
社内勉強会用(Laravel):Routingとページ出力
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
More from Yuki Mizuno
地デジを理解したつもりになる回
地デジを理解したつもりになる回
Yuki Mizuno
Xavier NXのカーネルとVMの話
Xavier NXのカーネルとVMの話
Yuki Mizuno
HTML5 and Video Streaming Vol.1
HTML5 and Video Streaming Vol.1
Yuki Mizuno
# TELETEXT
# TELETEXT
Yuki Mizuno
Subscriber Identity Module
Subscriber Identity Module
Yuki Mizuno
実践イカパケット解析α
実践イカパケット解析α
Yuki Mizuno
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
CTFの話 - coinsLT #10
CTFの話 - coinsLT #10
Yuki Mizuno
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
Yuki Mizuno
More from Yuki Mizuno
(9)
地デジを理解したつもりになる回
地デジを理解したつもりになる回
Xavier NXのカーネルとVMの話
Xavier NXのカーネルとVMの話
HTML5 and Video Streaming Vol.1
HTML5 and Video Streaming Vol.1
# TELETEXT
# TELETEXT
Subscriber Identity Module
Subscriber Identity Module
実践イカパケット解析α
実践イカパケット解析α
実践イカパケット解析
実践イカパケット解析
CTFの話 - coinsLT #10
CTFの話 - coinsLT #10
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
Recently uploaded
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Recently uploaded
(9)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
HDMI探検隊
1.
HDMI探検隊 Kernel/VM探検隊online part2 David MarkによるPixabayからの画像
2.
クリックしてタイトルを入力 mzyy94 セキュリティ系をやってた 最近は映像系をやってる エビを飼っている ネコは飼ってません
3.
HDMIをご存知ですか?
4.
の機能 映像 音声 イーサネット 機器コントロール ディスプレイコントロール HDMI、HDMI ロゴ、及びHigh-Definition Multimedia
Interface は、 HDMI Licensing LLC の商標または登録商標です。
5.
の機能 映像 音声 イーサネット 機器コントロール ディスプレイコントロール HDMI、HDMI ロゴ、及びHigh-Definition Multimedia
Interface は、 HDMI Licensing LLC の商標または登録商標です。
6.
制御系 機器コントロール Consumer Electronics Control CEC ディスプレイコントロール Display
Data Channel DDC
7.
CEC DDC ディスプレイ操作(DDC/CI) コンテンツ保護 交換(HDCP) ディスプレイ情報(EDID) ステータス/コントロール(SCDC) I²Cプロトコル 機器ごとにI2Cでやり取りする リモコン入力操作 入力映像切り替え スタンバイ・復帰 など AV.linkプロトコルベース 全て同じバスに繋がっている
8.
DDC/CI DDC Command Interface HDCP EDID
SCDC Status and Control Data Channel HDMI 2.0の新機能 映像・音声の設定を読み書き 仕様書は hdmi.org (会員のみ) ディスプレイハードウェア制御 音量の変更・輝度など読み書き 仕様書は vesa.org High-bandwidth Digital Content Protection コンテンツ保護の 交換 機器失効リストを書き換え可能 仕様書は digital-cp.com Extended Display Identification Data ディスプレイの表示情報 基本的に読み込み専用 仕様書は vesa.org
9.
PIN配置 HDMI A Public domain,
ウィキメディア・コモンズ経由で
10.
Charly Whisky, CC
BY-SA 4.0, ウィキメディア・コモンズ経由で
11.
映像と音声 Charly Whisky, CC
BY-SA 4.0, ウィキメディア・コモンズ経由で
12.
Charly Whisky, CC
BY-SA 4.0, ウィキメディア・コモンズ経由で 制御系
13.
HDMI制御系をいじる Lucasbosch, CC BY-SA
3.0, ウィキメディア・コモンズ経由で
14.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_3b_1p2_reduced.pdf
15.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_3b_1p2_reduced.pdf
16.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_3b_1p2_reduced.pdf
17.
18.
CECを探検する • VideoCoreのAPIを叩く void vc_vchi_cec_init int
VCHPOST_ vc_cec_send_message ほか • cec-clientを使う(お手軽) apt install cec-utils cec-client -s <<< "tx <CECフレーム>"
19.
CECのフレーム形式 1F:82:40:00
20.
CECのフレーム形式 1F:82:40:00 送信元バスID 宛先バスID OPコード 引数 バス1の機器(1)から Broadcast宛(F)に 入力切り替え(0x82)が バス4.0.0.0(40:00)に切り替わったことを通知するCECフレーム
21.
CECで色々やってみた • 認証機構がないのでCECフレーム送り放題 • 機器によっては受理するかを受け取る側が判断する •
低速なので連続で送りまくるとバスが詰まる • 連続して送り続ければCECの送信を妨害できる • 定義されていない引数など不正なCECは無視される? • 巧妙に細工したらおかしな挙動をする機器もあるかも
22.
DDCを探検する • VideoCoreのAPIを叩く int VCHPOST_
vc_tv_hdmi_set_hdcp_revoked_list int VCHPOST_ vc_tv_hdmi_ddc_read ほか • I2Cバスを直接触る /boot/config.txt [all] dtparam=i2c2_iknowwhatimdoing # OR #dtoverlay=vc4-kms-v3d [pi4] # Kernel 5.10 or higher required dtoverlay=vc4-kms-v3d
23.
DDCバスを確認する pi@raspberrypi:~ $ i2cdetect
-y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- -- 50: 50 -- -- -- 54 -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
24.
DDCバスを確認する pi@raspberrypi:~ $ i2cdetect
-y 2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- -- 50: 50 -- -- -- 54 -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- DDC/CI HDCP EDID SCDC
25.
DDCで色々やってみた • HDCPのやり取りを途中までやってみる • 途中で止めるとディスプレイによっては挙動が不安定に •
HDCPの失効リスト(SRM)を書き換える • コンテンツ保護ができるはずの機器を失効させ放題(?) • ディスプレイによっては効果なかったりする • DDC/CIでディスプレイ設定をいじり放題
26.
簡単に弄り回せる ということは
27.
悪用もできる😈
28.
#BadHDMI
29.
#BadHDMI • BadUSBならぬBadHDMI(勝手に命名した) • 善良なデバイスに扮した悪意を持ったHDMI機器 •
HDMI機器が悪意を持つことを世間は想定していない • CECやDDCに認証機構がないため防ぐ術がない
30.
BadHDMIの攻撃例 CECでリモコン操作信号を送って他のHDMI機器を勝手に操作 CECを傍受してリモコンによるパスワード入力を盗む DDC/CIで輝度を高頻度で変えてハードウェアに負荷をかける DDC/CIで範囲外の値を書き込んで挙動を不安定にする HDCPやSCDCで手続きを無視したやり取りでディスプレイを ハングアップさせる
31.
#BadHDMI
32.
enriquelopezgarreによるPixabayからの画像 HDMI探検隊 Kernel/VM探検隊online part2
Download now