Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bluetoothのあれこれ
Search
Bigdrea6
December 23, 2021
Technology
0
55
Bluetoothのあれこれ
BluetoothのHID・SPPの説明とBlueBorneの解説をしています
Bigdrea6
December 23, 2021
Tweet
Share
More Decks by Bigdrea6
See All by Bigdrea6
Bluetooth Mesh
bigdrea6
0
30
Fileless Malware !
bigdrea6
0
220
Annotate Windows API!
bigdrea6
0
67
Other Decks in Technology
See All in Technology
Building a cloud native business on open source
lizrice
0
140
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.9k
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
3
1.2k
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
130
「REALITY」3Dアバターシステムの7年分の拡張の歴史について
gree_tech
PRO
0
110
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
270
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.4k
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
0
1.1k
React19.2のuseEffectEventを追う
maguroalternative
2
570
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
230
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
150
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Scaling GitHub
holman
463
140k
It's Worth the Effort
3n
187
28k
How STYLIGHT went responsive
nonsquared
100
5.8k
Navigating Team Friction
lara
190
15k
Unsuck your backbone
ammeep
671
58k
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
Bluetoothのあれこれ 仕組みとセキュリティ
目次 • はじめに ◦ HID ◦ SPP • Bluetooth のセキュリティ体制
• BlueBorne について ◦ 技術的詳細
はじめに • 基礎から分かる「 Bluetooth 」のまとめ https://scrapbox.io/bigdrea6/ 借りた本のまとめ • HID と
SPP について ◦ HID( ヒューマンインターフェース ) ◦ SPP( シリアルポートプロファイル ) ◦ どちらも通信規格の種類 ( プロファイル ) を示してる • プロトコルとプロファイル ◦ プロファイルはどのプロトコルを使うか、どのように利用するかの手順を示したもの ◦ プロトコルはデータ・パケット構造のフォーマットを決めている ◦ 今回、プロトコルは Bluetooth プロトコルを指しプロファイルは HID ・ SPP を指している
HID 人間が操作して使うもの ( マウス、キーボード ) に使われるプロファイル Report ID(1 byte) +
Data(63 bytes) = 64 bytes Report ID : よく分からない Data : 余ったら 0 で埋める
SPP シリアルポートのように Bluetooth を使ってデータ送受信を行う DUN 、 FAX 、 HSP 、
LAN などに使用される 音声データと命令データは通る場所が違う ( 周波数的に? )
Bluetoothのセキュリティ体制 • 周波数ホッピング ◦ ランダムに使うチャンネル ( 周波数 ) を変える ◦
機器相互しかどのチャンネルを使ってる分からない • ペアリング ( 鍵生成 ) ◦ 通信が確定した機器以外と通信を行わない • データの保護 ◦ ペイロード = ペイロード + MIC(32bit) ◦ MIC でメッセージの偽造を防ぐ
BlueBorne • 簡単な脆弱性の内容 ペアリング無しで機器に接続できてしまう • 何が問題か 無線通信してるだけで乗っ取られる 対象は Bluetooth が使える端末となること
• 何故出来たのか SDP 、 L2CAP の実装に問題があった • 現状 多分、大丈夫
技術的詳細(1/3) デモ : https://www.youtube.com/watch?v=Az-l90RCns8&t=35s • CVE-2017-0785 SDP にある脆弱性。 SDP とは機器を探したり、機器に保有している機能を問い合わせを
するプロトコル このプロトコルの設計ミスでメモリリークができてしまい、暗号化キーなどがもれてしまう まず、これで ASLR 保護を無くす
技術的詳細(2/3) • CVE-2017-0781 BNEP にある脆弱性。 BNEP は Ethernet フレームを送るためのプロトコル 悪意のあるコードが実行できてしまう。
前段の攻撃でメモリの破壊が簡単にできてしまう このメモリの破壊は、システム・ユーザーに通知されないので気付かれない • CVE-2017-0782 CVE-2017-0781 と同じ。 PAN にある脆弱性。
技術的詳細(3/3) • CVE-2017-0783 中間者攻撃ができる脆弱性。 盗聴する機器は Bluetooth 搭載の機器であればよい。 上図のような攻撃をすることで、通信・送受信を制御することができる あくまで Android
端末の場合の CVE と攻撃方法。 この脆弱性のキモは Bluetooth 搭載端末全てが攻撃対象であること。 https://www.armis.com/research/blueborne/
参考資料 • HID の仕様 https://patents.google.com/patent/JP2004213430A/ja • BlueBorne https://www.armis.com/research/blueborne/ https://www.anquanke.com/post/id/202575 https://www.anquanke.com/post/id/86949
• 他の攻撃 https://www.lrm.jp/security_magazine/bluetooth/