Contenu connexe Similaire à Kavya racharla ndh-naropanth_fin_jp-final Similaire à Kavya racharla ndh-naropanth_fin_jp-final (20) Kavya racharla ndh-naropanth_fin_jp-final7. クラッシックBT と BLE
クラッシックBluetooth Bluetooth Low Energy
到達距離 (理論値) 100 m > 100 m
消費電力 1 W 0.01 to 0.5 W
ピーク電流消費 <30 mA <15 mA
データ転送速度 1-3 Mbit/s 1 Mbit/s
無線周波数 2.4 GHz 2.4 GHz
狙い
短距離のデータ伝送用の
無線プロトコル
低電力消費 – 定期的に少量の
データを伝送
ユースケース
ワイヤレススピーカー、
ヘッドセット
ウェアラブルデバイス、
スマートペイシステム
• Bluetooth 5 が登場! 4倍の到達距離と2倍の速度
10. Secure Simple Pairing
• Just Works: 非常に限定的・ユーザインターフェース無し
• Numeric Comparison: ボタンとディスプレイの付いたデバイス
• Passkey Entry: 6桁のPINとパス・キー
• Out Of Band: 中間者攻撃に対抗するために他の通信手段を使用
ペアリング アルゴリズム
17. 問題 – 前触れ
デバイス コマンド:
• デバイスをリカバリモードに
する
• ファームウェアアップデート
を行う
• デバイス名(BLE)を変更
通知:
• SNSアプリケーション
• 電話とテキストメッセージ
情報:
• ユーザの行動データ
• ユーザ・プロファイル更新
• アプリケーションの動作(起動、
選曲)
• 電話・テキストメッセージ・SNS
アップデート(時々)
18. デバイス コマンド:
• デバイスをリカバリモードに
する
• ファームウェアアップデート
を行う
• デバイス名(BLE)を変更
通知:
• SNSアプリケーション
• 電話とテキストメッセージ
情報:
• ユーザの行動データ
• ユーザ・プロファイル更新
• アプリケーションの動作(起動、
選曲)
• 電話・テキストメッセージ・SNS
アップデート(時々)
問題 – 前触れ
攻撃者
19. デバイス コマンド:
• デバイスをリカバリモードに
する
• ファームウェアアップデート
を行う
• デバイス名(BLE)を変更
通知:
• SNSアプリケーション
• 電話とテキストメッセージ
情報:
• ユーザの行動データ
• ユーザ・プロファイル更新
• アプリケーションの動作(起動、
選曲)
• 電話・テキストメッセージ・SNS
アップデート(時々)
問題
攻撃者
21. 事例 – ウェラブル エコシステム 1
• BLEを使用
• 独自のコード
• メッセージとヘッダのフォーマットに関する市場調査が存在
• マルウェア アプリは既知のBLE特性にサブスクライブし、正規
のアプリとデータを同期させる
23. 事例 – ウェラブル エコシステム 2
• BT, BLE と WiFi を使用!
• デバイスは直接クラウドと同期が可能
• アプリに関連した脅威はより少ない!
• マルウェア アプリ (GATTのキャラクタりスティック 検索・読
出し・書込み) はユーザの情報を一切取得しない
24. 事例 – ウェラブル 3
• 似ている、でも、ひとひねりある
• マルウェア アプリは自身ではウェアラブルにコマンドを送ることはできない
• 正規のアプリはデバイスに接続を行う
• マルウェア アプリはウェアラブルにコマンドを送るために正規のアプリの動きを
モニターし、セッションを乗っ取る
教訓:部分的なセキュリティは役に立たない
• ハンドシェイクだけでなく全てのメッセージを
保護すべき
26. マルウェアのPoC(Proof of Concept)
ウェアラブル デバイスは心拍数の
データをBLE上で継続的に送信
if ((charaProp | BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
mNotifyCharacteristic = characteristic;
mBluetoothLeService.setCharacteristicNotification(
characteristic, true);
}
return true;
}
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
final byte[] data = characteristic.getValue();
...
if (characterstics.equals("558dfa01-4fa8-4105-9f02-4eaa93e62980"))
{
int[] dataArray = new int[data.length];
int i = 0;
for (byte b : data)
dataArray[i++] = b & 0xff;
int steps = ((dataArray[5] & 0xff) << 8) | (dataArray[4] & 0xff);
int calories = ((dataArray[13] & 0xff) << 8) | (dataArray[12] & 0xff);
int heartRate = dataArray[18];
System.out.println("malware: Steps = "+ steps +" , calories = “+
calories +", HearRate = “+heartRate);
}
}
マルウェア アプリは同じGATTプロ
ファイルをサブスクライブし、生
データを取得して有用な個人データ
に組み立てる
27. • 行動データと運動モード
• 心拍数。カロリー、距離、皮膚温度、など
• 精密なGPSパターン = ユーザの居場所
• マルウェア アプリはリカバリ用のファームウェア
のイメージが無くてもデバイスをリカバリモードに
できる
• ユーザはデバイスをサービスセンターまで修理に
持っていかなくてはならない
• デバイス名の変更は一時的なDoSを引き起こす
“マルウェアが電話に?”
違う!
しかし…
機密性
• マルウェアはデバイス上でコマンドを実行
• デバイス名を不当なものに変更
• コマンドについて詳しくはリストを参照
正確性
可用性
社会的な認知 の問題
• 注目される研究の題材
• Break Once and Reuse Everywhere
(攻撃手法が幅広く使われる) リスク
どうして気にしなくてはならない?
33. 軽減策 — 現実
Web ポータルと
サービス
サービス A
サービスB
サービスC
複数の信頼できるアプリが複数の信頼できる電話上に存在
クラウドベースの
アカウントと の
管理
ウェラブル デバイ
スは複数のアプリ
にサービスを提供
し得る
37. サマリー
• 攻撃しやすい急所:
• Bluetooth/BLE Spec
• 主なスマホプラットフォーム上で採用された仕様
• 中程度のリスク (電話上のマルウェア); 大きな被害 (機微なユーザ情報)
• セキュリティおよび金融サービスに活用されたウェラブルへの大きな被害
• Apple Watchの自動アンロック
• Pay
• ネットワーク攻撃からの保護は不十分
• アプリ開発者とウェラブルのOEM生産者にとっては更なるセキュリティの層を追加す
るのは荷が重い!
アプリ <— —> デバイス 通信