41
プライベートI:自動Wi-Fi接続とセキュリティ上の欠陥の衝突

火曜日、Skycureの研究者らはRSAカンファレンスで、自動Wi-Fiネットワーク接続に関する既知のiOSの欠陥と新たに発見されたSSL証明書処理エラーにより、iPhoneやiPadがネットワークの範囲内にいる限りクラッシュし、再起動を繰り返す可能性があることを明らかにした。(Skycureは監視・緩和システムを販売している。)

デバイスが Wi-Fi ネットワークに自動的に接続するという問題は長年の懸案事項であり、研究者らは 2013 年に初めて発見し、WiFiGate と名付けた特定の側面を強調しました。つまり、一部の市場では、モバイル キャリアが iPhone を特定の Wi-Fi ネットワーク名に自動的に接続するように事前設定しているのです。

これらのネットワーク名は簡単に偽装できるため、iPhone(またはMac、あるいはWi-Fi対応デバイス)は、いわゆる「悪魔の双子」ネットワークに接続してしまう可能性があります。このネットワークは、マルウェアを配信したり、類似ページへのリダイレクトなど、様々なアクティビティを仕掛ける可能性があります。

しかし、現状のようにパッチが適用されていないアクティブな問題がない限り、iOSを悪用することは難しい場合が多い。研究者たちはこの件をAppleに報告したが、検証クラッシュの正確な詳細は公表しなかった。iOS 8.3では、悪用される可能性のある問題の一部は修正されているようだが、全てではないようだ。

乱雑なWi-Fi接続

Wi-Fi は開発が非常に古いため、多くの問題や困難を抱えています。業界団体として Wi-Fi として認定された最初の規格は、1999年に標準化された 802.11b と 802.11a でした。1999 年の技術の一部は今も残っています。

携帯電話やノートパソコンなどのWi-Fiベースステーションとネットワークアダプタには、イーサネットアダプタと同様に、工場出荷時に固有のアドレスが割り当てられています。(一部のデバイスでは、ソフトウェアまたはファームウェアによってこの番号を変更できます。)ベースステーションのアドレスはBSSID(基本サービスセット識別子)であり、2.4GHzと5GHzの両方のネットワークを同時にサポートしている場合、または起動時にオプションとして選択している場合は、それぞれ固有のBSSIDが割り当てられます。これらのIDは、00:19:E3:32:D3:6Fのように、コロンで区切られた6つの16進数(基数16)の数字で表されます。

iStumblerユーティリティは、周辺のすべてのWi-Fiネットワークに関する詳細な情報を表示します。

25ドルのiStumblerユーティリティは、Macの周辺にあるすべてのWi-Fiネットワークに関する詳細な情報(各ベースステーションのBSSIDを含む)を表示します。(クリックして拡大)

もちろん、ベースステーションへの接続は番号で行われるわけではありません。代わりに、サービスセット識別子(SSID)と呼ばれる名前を使用します。複数のベースステーションが接続されたネットワークでは、これは拡張SSID(ESSID)と呼ばれ、各ベースステーションは独自の数値アドレスを持ちますが、ネットワーク名は共有されます。

ネットワーク名を選択すると、パソコンまたはモバイル端末は、その名前に関連付けられたすべてのベースステーションを調べ、通常は信号品質、信号強度、スループットの組み合わせに基づいて1つを選択します。ほぼすべてのデバイスは自由にローミングし、同じ名前のベースステーション間を移動すると、接続が切断され、再接続されます。Macでは、Optionキーを押しながらWi-Fiメニューをクリックすると、現在接続しているベースステーションのBSSIDとその他の接続パラメータが表示されます。

Optionキーを押したOS XのWi-Fiメニュー

Option キーを押しながら Wi-Fi メニューをクリックすると、Mac が接続されているネットワークに関するさまざまなパラメータ (BSSID など) が表示されます。

この方程式の1999番目の部分です。暗号化されたネットワークの場合、デバイスはパスワードが保存されているネットワークにのみ接続します。同じ名前で異なるパスワード(またはログイン方法)を持つネットワーク、あるいはパスワードが全く設定されていないネットワークが表示された場合、デバイスは接続できません。

しかし、カフェ、会議場、空港、ホテルなどの公共スペースWi-Fiに使用されているパスワードフリーのネットワークには、認証などは一切ありません。これは、ログイン情報、利用コード、支払い情報を入力するためのポータルにリダイレクトされる場合でも同じです。ネットワークは依然としてオープンです。

これは明らかな問題であり、以前から存在していました。オープンネットワークへのネットワーク接続が保存されているデバイスが、どのベースステーションが接続されているかに関係なく、同じ名前のネットワークに接続するのを防ぐ方法はありません。

モバイル通信事業者は、携帯電話ネットワークからデータ(場合によっては音声)トラフィックをオフロードするために独自の大規模な Wi-Fi ネットワークを構築し、他のネットワークと提携しているため、悪意のある者は多数のネットワーク名の中から選択できると同時に、都市の密集地域であればどこでも、毎日数千人から数万人が利用する大規模な攻撃対象領域を確保できます。

問題となっている特定の攻撃

Skycureが詳述した攻撃は、不正なSSL証明書を送信するルーターを接続するだけで発生したという点で興味深いものです。これは不思議なことではありません。多くのネットワーク機器は安価で急いで製造されており、汎用的で時代遅れのファームウェアが使用されており、場合によっては軽く改変されたり、そのままのオープンソースソフトウェアが使用されていることもあります。

研究者たちは、iOSデバイスが接続時にクラッシュすることを発見し、この脆弱性を修正しました。攻撃者は、複数の主要キャリア関連ネットワークのいずれかの名前を共有する「悪魔の双子」アクセスで、同様に不正な証明書を使用することで、接続したiOSデバイスをクラッシュさせ、再起動させることが可能です。

しかし、この攻撃が興味深い理由は2つあります。まず、通信事業者がプロファイルに組み込んでいるWi-Fiネットワークの場合、以前にそのネットワーク名に接続したことがないという点です。次に、クラッシュは最初の接続時に発生するため、再起動後(企業サイトの動画で示されているように)、Wi-Fiネットワークの再接続が行われ、スマートフォンでWi-Fiを無効にできる前にクラッシュが発生します。

唯一の解決策は、おそらく携帯電話をアルミホイルでしっかりと包むか、攻撃ネットワークの近くから離れることでしょう。一般ユーザーにとっては、携帯電話が単に壊れて何度も再起動を繰り返しているように見えるでしょう。携帯電話を近くで復元しても効果はありません。なぜなら、一度キャリアネットワークでアクティベートされると、接続設定プロファイルをインストールまたは取得してしまうからです。

そして、この攻撃はアクティブではありません。偽のベースステーションを設置すれば、インターネット接続は不要で、仮想ネットワークを使って複数の名前を偽装できます。仮想ネットワークとは、1つのハードウェアベースステーションに複数の名前を付与できるWi-Fi機能です。(Appleの機器におけるゲストネットワークの仕組みはこれです。)

SSL証明書の解析に関する欠陥は、Appleが修正してくれるのは確実です。しかし、業界に残る大きな問題は、解決に時間が必要です。ユーザーが意図したネットワークにのみ接続できるように、より効果的に機能させる方法が必要ですが、まだそのような方法は存在しません。