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
56
Bluetoothのあれこれ
BluetoothのHID・SPPの説明とBlueBorneの解説をしています
Bigdrea6
December 23, 2021
Tweet
Share
More Decks by Bigdrea6
See All by Bigdrea6
Bluetooth Mesh
bigdrea6
0
33
Fileless Malware !
bigdrea6
0
220
Annotate Windows API!
bigdrea6
0
71
Other Decks in Technology
See All in Technology
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.2k
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
110
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
230
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2.5k
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.9k
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.7k
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.2k
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4k
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
730
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
350
Ethics towards AI in product and experience design
skipperchong
1
140
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
38
Thoughts on Productivity
jonyablonski
73
5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Paper Plane
katiecoart
PRO
0
44k
The Curse of the Amulet
leimatthew05
0
4.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
67
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/