<前の日記(2007年11月04日) 次の日記(2007年11月06日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 2553   昨日: 2857

2007年11月05日

ユビキタス社会の歩き方(5) [重要] 自宅を特定されないようノートPCの無線LAN設定を変更する

昨日の日記を書いて重大なことに気づいたので、今日は仕事を休んでこれを書いている。昨日「最終回」としたのはキャンセルだ。まだまだ続く。

目次

  • Windowsの無線LANはプローブ要求信号として自動接続設定のSSIDを常時放送している
  • Windowsの新たな設定項目「このネットワークがブロードキャストしていない場合でも接続する」をオフに
  • Windowsの無線LANが放送するSSIDからPlaceEngineで自宅の場所を特定される恐れ
  • 電波法59条について再び

Windowsの無線LANはプローブ要求信号として自動接続設定のSSIDを常時放送している

昨日の日記の図3で、probe request信号の例としてSSIDが「GoogleWiFi」になっているものを使った。これは昨日キャプチャしたものだが、周囲に「GoogleWiFi」なるアクセスポイントはないのに、これはどうしたことか。

「GoogleWiFi」で思い出すのは、米国カリフォルニア州のMountain View市でサービスされている、Googleの無料の公衆無線LANサービスである。

先月、米国出張した際に、Mountain View駅の前のカフェで、このサービスを利用していた(図1)。

図1: Mountain Viewの駅前カフェで無線LANを利用した際の様子

このときの「自動接続」の設定が、私のWindows XPのノートPCに残ったままだったようだ。図2のように、出かけた際にあちこちで利用した公衆無線LANのSSIDを「自動接続」の設定にしたままだった。

図2: Windows XPの「ワイヤレスネットワーク」自動接続設定の様子

Windows XPは、これらのSSIDを全部それぞれ常時、probe requestとして周囲に放送しているようだ。

無線LAN管理用のソフトウェアで、自分のノートPCが発するWi-Fi信号を傍受して観察してみると、各チャンネルに対して、自動接続設定の各SSIDを繰り返し probe requestとして放送しているのを確認できた(昨日の日記の図3)。

普段使わない自動接続の設定は、削除しておいた方がいい。職場や集会や家庭でWi-Fi信号を傍受されると、自分が最近どこへ行ったかがバレてしまうというプライバシー問題があると言える。

そういえばそんな話をどこかで見たような記憶が……と探してみたところ、SANS Instituteがそういう警告を出していた。日本語版のニュースレターも見つかった。

  • SANS DVISOR Vol.1, No.3, SANSニュースレター, 2005年9月

    Windows XPでは、802.11ワイヤレスLAN (WiFi)をアクティベートするたびに、優先ネットワークの全てについて接続可能かどうか試される。この「呼びかけ」によりあなたのワイヤレス接続履歴などのワイヤレスクライアントの情報が漏洩してしまう。(詳細はPAGE 3)

SANSは、プライバシー問題だけでなく、セキュリティ上の危険についても指摘していた。つまり、Windows XPマシンを無線LANを有効にして持ち歩いていると、自動接続設定にしているSSIDを常時周囲に知らせてしまうので、攻撃者は、同じSSIDの偽のアクセスポイントを作って誘い込むことがやりやすくなるという話だ。

記憶にあったのはそちらの方の話で、しかしどのみち偽アクセスポイントは避けられないしなあと思っていたのだが、こうして自分で実験してみると、プライバシー問題の方がリアルな問題として気づかされた。

Windowsの新たな設定項目「このネットワークがブロードキャストしていない場合でも接続する」をオフに

さらに調べてみたところ、その後この問題に対処する更新プログラムがMicrosoftからリリースされていたのを知った。

  • Windows XP Service Pack 2 用のワイヤレス クライアント更新プログラムについて, 2006年12月(?)

    ブロードキャスト非対応のネットワークに関する変更

    (略)優先するワイヤレスネットワークに一致するネットワークがない場合、ワイヤレスの自動構成機能では、プローブ要求を送信して、優先するネットワークがブロードキャスト非対応のネットワークであるかどうかを確認します。このようにして、Windows XP ワイヤレス クライアントでは優先するワイヤレスネットワークの一覧がアドバタイズされます。第三者がこのプローブ要求を監視して、優先するワイヤレスネットワークと一致する名前を使用してワイヤレスネットワークを構成する可能性があります。ワイヤレスネットワークがセキュリティ保護されていない場合、そのネットワークでは権限のないユーザーがコンピュータに接続できる可能性があります。

    ワイヤレスクライアント更新プログラムをインストールすると、ワイヤレスネットワークを、ブロードキャストネットワークとして構成することも、ブロードキャスト非対応のネットワークとして構成することもできます。また、ワイヤレスの自動構成機能では、ブロードキャスト非対応のネットワークについてのみプローブ要求が送信されます。

    Windows XP でワイヤレスネットワークを構成する際、ワイヤレスネットワークのプロパティダイアログボックスの [アソシエーション] タブを使用して、ワイヤレスネットワークをブロードキャスト非対応のネットワークとして指定することができます。ワイヤレスネットワークをブロードキャスト非対応のネットワークとして定義するには、[ネットワーク名 (SSID)] の下の [Connect even if the network is not broadcasting] をクリックします。(略)

この更新プログラムは、セキュリティの更新としては配布されていないようなので、Windows Updateを自動で運用しているだけではインストールされていないようだ。

早速これをインストールしてみた。

ワイヤレスネットワークの設定にある「優先ネットワーク」のところ(図3左)で、「自動」となっているアクセスポイントを選び、「プロパティ」ボタンを押したときに、図3右の画面が出るようになった。

図3: 更新モジュール導入後における「優先ネットワーク」の「プロパティ」

新たに、「このネットワークがブロードキャストしていない場合でも接続する」のチェックボックスが出るようになっている。

これをオフに設定しておけばよい(チェックを外す)。デフォルトではオンなので注意したい。

これをオフに設定変更して、再び、無線LAN管理用ソフトウェアで傍受して確認してみたところ、たしかに、そのネットワークのSSIDが記載されたprobe requestは出なくなったようだ。

他の自動接続設定のネットワークも全部そこをオフに設定したところ、SSIDが空のprobe requestだけが観測されるようになった。ただし、そのネットワークに接続中は、そのSSIDに対するprobe requestが出てしまうようだ。接続を切断すると出なくなった。どこにも接続していないときは、SSIDが空のprobe requestだけが観測される(図4)。

図4: SSIDが空のprobe request

なお、「このネットワークがブロードキャストしていない場合でも接続する」をオフに設定した場合、そのアクセスポイントが、いわゆる「SSIDステルス」の設定、かつ、「ANYプローブ応答禁止」の設定になっていると、接続できなくなると思われるので注意が必要そうだ。設定項目の名称にある「ブロードキャストしていない」ネットワークとはそういう意味なのだろう*1

アクセスポイント側でSSIDをいくら隠そうとしてもどのみち正規接続者の接続時には判明してしまうので、「ANYプローブ応答禁止」設定はやめたほうがよいのではないか。公開してもかまわないような名前のSSIDを設定しておくのがよい。

なお、Mac OSやその他の無線LAN対応機器がどうなっているかはまだ確認していない。

Windowsの無線LANが放送するSSIDからPlaceEngineで自宅の場所を特定される恐れ

ここで極めて重大なことに気づいた。

もし、自宅の無線LANアクセスポイントのSSIDが、無線側MACアドレスと同一、ないしその連番、ないし、それを一部に含むものである場合、家でそれに接続するのに使用したことのあるノートPCを、家の外で無線LANの電源を入れていると、その近くに居る人は、probe requestとして放送されるSSIDを傍受することができるので、傍受したSSIDを元に、その人の自宅無線LANアクセスポイントのMACアドレスを推定し、それを元にPlaceEngineを使って自宅の場所を突き止めることができてしまう。

ギャーこれはヤバい。

もう一度簡潔に言う。

たとえば、自宅にソニーのロケーションフリー(以下「ロケフリ」)を設置しているとしよう。ロケフリを設置するとデフォルトで無線LANアクセスポイントになる。

WindowsのノートPCを、そのアクセスポイントに無線LANで接続したことが一度でもあると、図3のようにロケフリのSSIDが「自動」設定で登録されていることがある。

その場合、そのノートPCは、実は、「LocationFree.0013A9XXXXXX」というSSIDを常時(自宅の外で使っているときでも)周囲に放送している。そして、それは誰でも傍受できる(図5)。

図5: WindowsノートPCが自宅ロケフリのSSIDを無線LANで周囲に放送している様子

傍受されたSSIDの「0013A9XXXXXX」の部分は、そのロケフリの無線側MACアドレスなので、10月21日の日記「デイリーポータルZ 記者の家を探しに行く」で書いたように、最近広まりつつある「PlaceEngine」というサービスを使うことで、自宅の位置を調べられてしまう。

もっと簡単に言うと、(自宅の無線LANアクセスポイントの設定によっては)ノートPCを持ち歩いていると、近くに居る人に自宅の場所を知られてしまう場合があるということ。

対策は次の通り。

対策(1)

まず、自宅の無線LANアクセスポイントのSSIDを確認しよう。MACアドレスのようなものが含まれていないか確認する。含まれているなら、アクセスポイントの設定で、SSIDを別の文字列に変更する。

ソニーのロケーションフリーを使用している人は全員モロに該当する。ロケフリのベースステーションを無線LANアクセスポイントとして設置している(デフォルト設定)場合、SSIDの値は「LocationFree.0013A9XXXXXX」の形式で無線側MACアドレスが含まれる(デフォルト設定)。

アップルコンピュータ製の無線LANアクセスポイントも該当する。図5のように「Apple Network XXXXXX」というSSIDがデフォルト設定の製品が出回っているようだ。16進数12桁のMACアドレスのうち下位の6桁しかSSIDに使われていないが、図6のように、上位6桁はベンダーIDなので数種類に限定されているため、何分の一かの確率で自宅特定に使われてしまう。

図6: アップルコンピュータ製アクセスポイントのSSIDとMACアドレス

その他、少なくとも、バッファローの製品、コレガの製品などでは、10月21日の日記「デイリーポータルZ 記者の家を探しに行く」に書いたように、無線側MACアドレスそのものをSSIDにしているものや、1番違いのものを使用しているアクセスポイントもかなり出回っているようなので、該当するかどうかよくわからなくても、とにかく、16進数12桁を含むようなSSID(図7の矢印)は、全く関係のない文字列に変更した方がよい

図7: 16進数12桁を含むようなSSIDの例
デイリーポータルZの記事「無線LANを探しに行く」より)

「YBBUser」とか「BBUser」とか「default」といった名前は明らかに該当しないので、むしろこれらを設定する方が安全だ*2(WPAで暗号化の設定をしているならば)。

アクセスポイントのSSIDを変更したら、Windows側で、変更前のSSIDで登録されている自動接続の設定を削除しておく(この作業が重要)。つまり、図8の左の「優先ネットワーク」と書かれたリストの中から、変更前のSSIDの項目を選んで「削除」ボタンを押す。

以上を実施した場合は、以下の対策(2)は必要ではない。上記に該当するSSIDの場合で、もしそのSSIDを変更することができないならば、以下の対策(2)が必要となる。

対策(2)

自宅のアクセスポイントに接続したことのあるノートPCの設定で、自動接続になっている自宅アクセスポイントについて、「このネットワークがブロードキャストしていない場合でも接続する」の項目をオフに設定する(図8)。

この設定項目は、標準状態のWindows XP SP 2には存在しないので、マイクロソフトの「Windows XP Service Pack 2 用のワイヤレスクライアント更新プログラムについて」に置かれている更新モジュールをインストールしてから図8の設定を行う。

図8: 「このネットワークがブロードキャストしていない場合でも接続する」をオフに設定

ついでに、不要な「(自動)」設定の項目は「削除」ボタンで削除してしまったほうがよい。

また、今後、新たなWindowsのノートPCを購入したときにも、そのネットワークに接続すると、デフォルトで「自動」となり、「このネットワークがブロードキャストしていない場合でも接続する」がオンとなるので、オフに設定しなおす。

それが面倒、あるいは、きちんと設定できるか不安な場合は、前述の対策(1)をとった方がよい。

対策(3)

PlaceEngineのデータベースに自宅の無線LANアクセスポイントが登録されないようにすればよいわけだが、現状ではそれは不可能。

「こんなよくわからない手間をかけさせられるのは承服しがたい」という場合には、そもそもPlaceEngine(と同様のサービス)が存在しなければこんなことにはならないことから、「PlaceEngineはプライバシーの侵害である」、「私の家のMACアドレスを勝手に登録しないようにしてください」と運営会社に抗議することも、何らかの解決につながるかもしれない。

電波法59条について再び

なお、他人の無線LANを傍受して知った情報を元に、その存在や内容を漏らしたり、それを窃用する行為(たとえばストーカー行為に利用する等)は、電波法59条違反となる可能性があるので注意。

ただし、無線LANクライアントがprobe requestとしてブロードキャスト(不特定多数に放送)する信号は、電波法59条の「特定の相手方に対して行われる無線通信」に当たらないと解釈される場合には、そのような行為を電波法で取り締まることはできないのかもしれないので、安心はできない。

つまり、PlaceEngineが合法と解釈されるなら、probe request傍受に基づく行為も合法となり、逆に、probe request傍受で得た情報の窃用が違法だというのなら、PlaceEngineも違法と言わざるを得ない。

関連

さて、これから出勤……。

*1 この設定がオンのときは、SSIDを載せたprobe requestを放送するので、「ANYプローブ応答禁止」のアクセスポイントも、自分のSSIDに一致するprobe requestに対してのみprobe responseを返すことで接続できるようになる。

*2 巷には、SSIDを「YBBUser」のままにしていることを笑いものにするアホな解説記事も出回っている。

本日のTrackBacks(全100件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20071105]

昨日に引き続いて無線LANがらみのセキュリティ話。またぞろ間違いがあるかもしれな...

高木浩光@自宅の日記 - ユビキタス社会の歩き方(5) [重要] 自宅を特定されないようノートPCの無線LAN設定を変更する無線LANを利用している人は、この記事と、記事末尾にリンクがある関連記事すべてに目を通しておくべきだ。無線LANの現在の利用形態にはセキュリティの問..

少なくとも暗号化を行っている無線LANについては「特定の相手方に対して行われる無線通信」であることは明らかなので、これについてその存在を漏らし窃用することは、法律の趣旨からしても電波法59条に違反していると言えるのではないだろうか?

高木浩光さんの日記をたまに拝見しています。 なんでも、MACアドレスがわかればそのNICなりAPの物理的な所在・場所がわかってしまうんだそうです。 http://takagi-hiromitsu.jp/diary/20071105.html 「ううそれはいやだなぁ」って思ってしまいましたが、そういえば私はFON_..

検索

<前の日記(2007年11月04日) 次の日記(2007年11月06日)> 最新 編集

最近のタイトル

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
<前の日記(2007年11月04日) 次の日記(2007年11月06日)> 最新 編集