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
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
120
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
130
Android Audio: Beyond Winning On It
atsushieno
0
3.4k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
120
AWSで始める実践Dagster入門
kitagawaz
1
750
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
340
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
200
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Code Review Best Practice
trishagee
71
19k
Visualization
eitanlees
148
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for humans not robots
tammielis
253
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
BBQ
matthewcrist
89
9.8k
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/