※2014.07.07 22:00:加筆修正しました。
GIGAZINEにて興味深い記事が紹介されていたのですが、内容がちょっと足りなかったので、ちょっと補足してみようかと思います。
- AndroidにWi-Fi接続履歴を漏洩してしまう脆弱性があると判明、簡単な対処法もあり - GIGAZINE
- Is Your Android Device Telling the World Where You've Been? - Electronic Frontier Foundation
1.問題の概要
Android 3.1(一部の2.3 Gingerbreadを含む)以降には、PNO(Preferred Network Offload)機能が搭載されています。PNO機能により、スリープ状態でも既知のWi-Fiネットワーク(非公開ネットワークを含む)に自動的に接続することが可能になるのですが、この機能に接続履歴の漏洩リスクが存在します。
ただ、Androidき限らず、iOS5以前,Mac OS X,Windows 7など多岐のOSに渡ってこのリスクは存在します。
2.漏洩する条件と内容・範囲
漏洩する条件
- Wi-Fi機能:ON
- スクリーン:OFF(スリープ状態)
- Wi-Fi:非接続
- スリープ時にWi-Fi接続を維持:ON
漏洩する内容・範囲
- 内容:これまで接続したことのあるSSID名
- 範囲:端末のWi-Fi電波が届く範囲
3.対応策
GIGAZINEで紹介されている、スリープ時にWi-Fi接続を維持機能をOFFにする対策は、一部の端末(Motorola Droid 4が紹介されています)では有効ではないことが判明しています。簡単な対応策は、
- Wi-Fiに接続していない時はWi-Fi機能をOFFにする
→ただし、何らかの原因で一時的にWi-Fi接続が途切れたタイミングで、やっぱりSSID接続履歴がブロードキャストしてしまいます
使う予定がないときはOFFにするのが簡単な防御策となります。
また、どうしても漏れると困るSSIDは削除することも場合によっては検討する必要もあるでしょう。
4.マニアックな話
そもそも今回の話は、盗聴者にSSID接続履歴と端末固有のMACアドレスが継続的に渡ることで、例えば”ここの家に住んでるヤツの職場はここか”とか”最近○○に接続したんだな”とバレてしまう可能性があることになります。なので、iOS 8ではMACアドレスのランダム化(WirelessWire News参照)によってこのリスクに対応するみたいです。
Androidでは、Root権限が必要ながら、同じくMACアドレスをランダム化することが可能です。
[root] Pry-Fi - Google Play
おなじみChainfire氏がリリースしているアプリです。
このアプリによりMACアドレスをランダム化することが可能になります。
Googleからの対応はしばらくなさそうなので、こういう対応をとるのもアリだと思います。