@IoTSecJP東京
BLEな()おもちゃを調べてみるNV (@nvsofts)
View Slide
自己紹介名前:NV◦ Twitter: @nvsofts個人サークル「えぬえす工房」代表◦ https://www.ns-koubou.com/◦ 冬コミ(C93)出るのでよろしくお願いします普段は都内にあるセキュリティ会社でIoTセキュリティなどをやっています
事の発端は・・・ある人に
事の発端は・・・ある人に「面白いものを買ってきたから調べてみない?」と言われたことです
入手したもの
そういえばこんなのがありましたね・・・
えーっと・・・要するに「大人向けの健康器具」の類です親機と子機が付属し、子機は2種類の方法で遠隔操作可1. 親機を使用して遠隔操作2. Bluetooth LE (BLE)対応のスマートフォンで遠隔操作
えーっと・・・要するに「大人向けの健康器具」の類です親機と子機が付属し、子機は2種類の方法で遠隔操作可1. 親機を使用して遠隔操作2. Bluetooth LE (BLE)対応のスマートフォンで遠隔操作↑今回はこれにフォーカス
調べる前に海外で入手したデバイスなので、技適マークはない◦ 屋外で試すのはもちろんNG実験時は関係のない人に迷惑をかけないように対策を行っています
子機を調べる子機の電源を入れて、nRF Connectでスキャン◦ 「Aogu BLE Device」という名前でアドバタイズしている
子機を調べるサービスはこんな感じ◦ 「Command Ch」という名前のキャラクタリスティックがある
スマホアプリについて専用のスマホアプリはiOS、Androidに対応◦ Android版は.apkを配っている◦ iOS版はIn-House配布なので野良アプリ(ダメでしょ・・・)
スマホアプリを調べる調べやすいAndroid版をMobSFで静的解析する
権限が山盛り
遠隔操作コードを発見’00 XX’というバイト列を送るらしい
子機にコマンドを送ってみる試しに、Command Chに’00 01’というバイト列を送信
子機にコマンドを送ってみる試しに、Command Chに’00 01’というバイト列を送信動いた!
子機にコマンドを送ってみる試しに、Command Chに’00 01’というバイト列を送信動いた!しかもペアリングなしで(認証がない!)
攻撃用デバイスを作るESP32の評価ボードを使用プログラムはESP-IDFに付属のサンプルを改造周辺にある「Aogu BLE Device」を探して動作させる
スニファで見ると・・・?nRF Snifferを使ってESP32~子機間の通信をキャプチャ◦ Write Requestが発行されていることが確認できる◦ ハンドル:0x0012は、Command Chを意味している
まとめBLEで認証なしは危険◦ 利用者にとっては楽かもしれないが、通信を保護する手段は一切ない◦ 現在では攻撃用デバイスも容易に作成可能似たような事例のニュース記事の言葉を借りると「非常に私的なものであるはずなのに、第三者によって自在にコントロールされてしまう」ということになる
おまけ:親機を調べる親機は430MHz帯の無線を使っている◦ 子機は430MHz帯+2.4GHz帯のデュアルバンド機になる◦ 送信周波数は433.87MHz◦ アマチュア無線のバンドとかぶっている◦ 近くの433.50MHzは非常通信周波数JARL:アマチュアバンドプラン よりhttp://www.jarl.org/Japanese/A_Shiryo/A-3_Band_Plan/A-3-0.htm