KNOWLEDGE - COLUMN ナレッジ - コラム

【エバンジェリスト・ボイス】Wi-Fi可視化ツール

サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト フェロー 関原 弘樹     顔写真2_1187x1313

出勤途中にオフィス裏手の小道を歩いていると土手沿いの公園の方からミンミンゼミを中心とした蝉時雨に遭遇しました。夏の終わりを惜しむような精いっぱいのセミのコーラスを聞くと季節の移り変わりを感じます。セミの鳴き声といってもミンミンゼミ、アブラゼミ、ヒグラシ、ツクツクボウシ等、様々なのは皆さまもご存じのとおり。その鳴き声は様々な周波数(音の高さ)・強度(音の強さ)・波形(音色)の空気の振動として辺り一面に広がり、音として聞こえています。

ちなみに音の高低でいうと人間が聞くことができるのは成人だとおよそ 20Hz 20,000Hz (ヘルツ)の間といわれており、ものの本によるとセミの鳴き声は 4,000Hz 以上の高音域が主であるとのことです。

ここで出てくる Hz は周波数の単位で 1 秒間あたりの振動回数を表す周波数の単位で、ドイツの物理学者であるハインリヒ・ヘルツにちなんでいます。ヘルツは電磁気の存在を予言したイギリスの物理学者であるマクスウェルの理論に興味を持ち、その理論から電磁波の存在を実証するなど、電磁気学の分野で重要な貢献をしました。


--
さてここで電磁波というキーワードが出てきました。電磁波といえば光と電波と放射線です。

電磁波は周波数により大きく 3 つに分類ができ、目に見えるものが光(可視光)、見えないもので光より周波数が低いものが無線通信で利用される電波、高いものが医療でも活用される放射線(エックス線、ガンマ線等)とよばれます。

今回は蝉の声と同じように辺り一面の空間に広がる様々な種類の電波がどのように見える(?)聞こえる(?)のかについて書いていきます。


■電波の特性と国家主権
電波が持つもっとも基本的な特性として「周波数」と「強度」があります。

「周波数」についてはどの周波数をどの用途で利用するか・できるかは原則、各国の主権の範疇となりますが、電波伝播に国境はないので国際協調が必要です。ということで各国は国をまたいでグローバルに利用できる周波数帯と、各国個別に定義される周波数帯をそれぞれ各国で法として定義し利用していくことが一般的となっています。

日本でもラジオ・ TV ・携帯・スマホ等の事業者サービスを含め、利用する「周波数」「強度」などにより様々な免許が必要となるものや利用場所に制限がつくものを電波法等で定義しています。

ちなみに国内の周波数帯の割り当ては下の図のようになっています。放送と携帯電話、レーダ等のなじみ深いもの、はたまた電波天文や船舶・航空機用ビーコン等あまりなじみのないものといろいろあると思います。図上部に記載の文言を簡単に言い換えると周波数が高ければ 高いほど通信速度が速くできる (広帯域でデータを送信できる)が、まっすぐにしか飛ばないので 障害物があると簡単に圏外になる よということです。

画像① _550x375

出典: 総務省 電波利用ホームページ


ここからは免許不要で利用できる所謂Wi-Fi(IEEE802.11シリーズ2.4GHz、5GHz帯)の上にTCP/IPを利用する環境に限定した内容となります。環境はすべて2.4GH帯を利用しました。


Wi-Fi 可視化 レイヤ
OSIの 7 階層ではないですが Wi-Fi の可視化では以下のようなレイヤ構造で考えるとわかりやすいかもしれません。

画像②_850x550

下から見ると

レイヤ1 ⇒周波数は何Mhz? 変調形式(上位レイヤに渡すデータの表現方法、例えばOFDM ※1 等)は? 強さは何dbmW ※2 ? といった物理層の情報

1 OFDM/Orthogonal Frequency Division Multiplexing  直交周波数分割多重と訳されるデジタル信号の変調方式の一種

誤解を恐れずに言えばラジオや昔のTV等アナログ音声を無線で送信するときに利用されるアナログ変調の方式にAM・FMがあるのと同様、デジタル信号/ビット列(つまりPCで使えるデータ)送信時に利用するデジタル変調の一種としてOFDMというものがある。

2 dbmはディービーエム/デシベルミリで信号の強さの単位

レイヤ2 ⇒アクセスポイント(AP)の識別子(ESSID,BSSID/つまり接続先を選択するときに利用する情報)は何? 認証方法(WPA2等)は?というWi-Fi固有の接続に関する情報

レイヤ3 ⇒通常のTCP/IPの情報。IPヘッダより内側のデータ

と、このようになります。このうちレイヤ 1 とレイヤ 2 の情報は Wi-Fi 接続(アソシエーションとも言います)をするために必須かつ、無線通信では有線通信と異なり空間にブロードキャストされますので可視化というか「傍受」は有線通信より簡単です。

当然一般的にはこのレイヤに重要な情報が”直接“含まれることはありません。
そしてレイヤ 3 です。レイヤ2から見るとそのペイロードとなります。この部分は TCP/IP スタックのレイヤ 3 以上に相当するので無線環境でここのデータを見ることができれば ( 別途 HTTPS 等で暗号化がされていない場合には)重要なデータをゲットすることも可能です。

しかし、この部分は当然暗号化されており(というか現在、無線でのデータ通信が成立するのはこの部分の暗号化がされていることが前提でしょう)設定ミスや脆弱性を突いて暗号化を解除しない限り可視化は不可能ということになります。

ということで結論はレイヤ 1 とレイヤ 2 の可視化は簡単。レイヤ 3 の可視化は原則不可能ということが Wi-Fi 可視化のセオリーとなります。

Wi-Fiのセキュリティに関しては以前もコラムでふれていますのでよろしければご覧ください。

【エバンジェリスト・ボイス】 WPA3 の登場(前編)

【エバンジェリスト・ボイス】 WPA3 の登場(後編)


Wi-Fi – Windows 環境 レイヤ 1  レイヤ 2
Wi-Fiの可視化は企業向けですと無線 LAN コントローラに強力な機能が搭載されていますが、今回はクライアントサイドのお話をします。各デバイス・ OS Wi-Fi に関する情報がどのように見えるかについて確認してみましょう。

まずは Windows です。 

画像③_646x476

皆さまもご存知のように標準機能でレイヤ 1 の一部である信号強度やレイヤ 2 情報の ESSID (すべて黒塗り)、セキュリティ情報( WPA2-PSK )、変調方式等を規定する IEEE802.11n 等の情報が見えます。

Windowsでは他にも特殊なツールを使うともう少し情報が見えてきます。

昔はフリーツールとしてリリースされ今は有償版のみが提供されている Windows で動作する inSSIDer というツールの画面を例に挙げますと…

画像④_1322x760

Windows上で見える ESSID SSID の欄)のほかに数値化された信号強度、 2.4GHz 帯で使用されるチャネル番号、 BSSID MACADRESS )等がヒストリーと共にグラフィカルに表示されています。

外部サイト: metageek - inSSIDer


Wi-Fi – Windows 環境 レイヤ 3
前項のように Windows 上でレイヤ 1 とレイヤ 2 の情報は見ることはできました。ではレイヤ 3 以上の情報はどうでしょうか?

困ったときの Wireshark 頼みということでどのようにキャプチャされるか確認してみましょう。

まずは PC 上で特定の AP とアソシエーションが無い場合です。

画像⑤_1185x673

キャプチャを開始しますがフレームを拾いません…


画像⑥_1183x672


今度はインターフェイスを AP へ接続した後にキャプチャをします。

画像⑦_1183x674

フレームは拾いますが対象は一部に限られ、接続した ESSID に関連するフレームのみとなります。


Wi-Fi – Linux 環境( Kali Linux ) レイヤ 1  レイヤ 2
今度は Linux 環境での可視化を試します。 Linux 環境では Windows 環境ではできないインターフェイスの設定が可能なのでより多くの情報が収集できます。

今回使うのは Kali Linux 3 です。

3 Kali Linux とは

Kali Linuxは、ペネトレーションテストをはじめとするセキュリティの検証を主な目的とした Debian ベースの Linux ディストリビューション。現在は Offensive Security という団体が開発している。

外部サイト:https://www.kali.org/


デバイスの都合上、仮想環境の VM Kali Linux をインストールして動作させており、さらに Wi-Fi インターフェイスがないので、ジャンク Box から拾ってきた USB Wi-Fi 子機を物理 PC に接続し VM にパススルーします。


画像⑧_821x526

 
画像⑨_1191x794

より多くの情報を収集するための設定としてインターフェイスのモード設定があります。Linuxにおいてもこのような通信インターフェイスはデバイスドライバによって制御されていますが、今回の検証では「 iwconfig 」というコマンドにより通常の AP 接続に使用する「 Managed 」から「 Monitor 」にモードを変更する必要があります。

これは言ってみれば有線のインターフェイスにおけるプロミスキャスモードのようなもので AP とのアソシエーションがなくても Wi-Fi フレームレベルですべての無線通信をキャプチャするモードです。

#すべてのWi-Fiアダプタが「Monitor」モードに変更できるものではありません。


画像⑩_1193x796

モードが変更されたのを確認できたらツールの出番です。今回ここで使うのは「 Aircrack-ng 」というソフトウェアファミリーの「 Airodump-ng 」です。

プロンプトから ”airodump-NG wlan0” というコマンドを入力してしばらく待つと下のように Windows で確認した時と同様のレイヤ 1 とレイヤ 2 レベルの情報が表示されます。


画像⑪_936x584


Wi-Fi – Linux 環境( Kali Linux ) レイヤ 2  レイヤ 3
ここで終わってしまうとわざわざ Kali Linux を用意した意味がありません。

先ほどの Airodump-ng でもファイルへのキャプチャはできますが結局見るには Wireshark を使いますので今回は Wireshark を使用してグラフィカルに Wi-Fi フレームをキャプチャしてみましょう。

画像⑫_1186x717

モニタモードにチェックが入っているのを確認します。

モニタモードで Wi-Fi インターフェイスを動作させているため AP へのアソシエーションと関わらず他の AP のビーコンや Wi-Fi レイヤの暗号化をしていないクライアントの通信までとれています。


画像⑬_1098x651

なお一つのインターフェイスで同時にキャプチャできるのは Wi-Fi の多くのチャンネルのうち 1 チャンネルのみです。チャンネルの切り替えはコマンドラインでやる方法もありますが Wireshark GUI からだと「表示」から無線ツールバーを表示させて行うと便利です。

画像⑭_1280x268

ここまでで実施したキャプチャ自体は合法ですが、暗号化されたデータの復号やWi-Fi接続の切断等これ以上解析や検証を進めていくとだんだんとグレーゾーンに近づいていくことになります。また、傍受した内容を第三者に漏えいする、または傍受した内容を基に第三者に影響を与える行為をした場合には違法となる可能性があります。  

■おまけのデモムービー

Wi-Fiルータによるインターネット接続でライブストリーミングを受信中の PC が「 Aircrack-ng 」というソフトウェアファミリーの「 Aireplay-ng 」による「 Deauthentication Attack 」により Wi-Fi 接続を切断され、ライブストリーミングが受信できなくなるデモムービーをご覧ください。

これは前の項のレイヤで いうとレイヤ 2 の攻撃となります。

今回は自身が持つ環境に対して実施していますが、他者のデバイスに向けて本行為を実施すると違法行為となる可能性がありますのでご注意願います。

Wi-Fi ルータに 2 台のクライアントが接続中

②Wi-Fiルータ経由でインターネット接続をしているPCではライブストリーミングを受信中

③別 PC で稼働中の Kali Linux より「 Deauthentication Attack 」開始

30 秒ほど経過したのち PC で視聴中のライブストリーミングが切断される

⑤Wi-Fiルータを確認したところ1台のクライアント(ライブストリーミング視聴中のPC)が切断され接続中は1台のみとなる


--Deauthentication Attack
APと接続されているクライアントに対し第三者が送信元を AP と偽った Wi-Fi の認証解除フレーム( Deauthentication )を連続して送信し続け、 AP とクライアントの Wi-Fi 接続を切断する攻撃手法。

比較的最近の Wi-Fi 規格( 802.11w や最新の WPA3 )では認証解除フレーム等の Wi-Fi の接続管理に利用するマネジメントフレームを暗号化で保護する PMF(Protected Management Frame) が導入されますので本攻撃は成立しません。

今回は紙面と時間の都合でここまでです。


■おわりに
ここ 10 年以上速度向上以外の進歩が止まっていたように見える無線 LAN 関連のテクノロジーですが近年モバイルデバイス、 IoT デバイスの普及によりセキュリティを中心にその重要性が再認識されています。

次回以降チャンスがあれば関連する内容のコラムをお届けしたいと思います。


ではまた、次回のエントリーでお会いしましょう。

Hiroki Sekihara, CRISC, CISSP, CCSP, CEH, PMP, CCIE #14607 Emeritus,
AWS Certified Solutions Architect – Professional,



当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。

メルマガ登録ボタン

関原 弘樹

株式会社インフォメーション・ディベロプメント フェロー / CISSP

この執筆者の記事一覧

関連するナレッジ・コラム

地味に見えて優秀!マネージドプレフィックスリストでアドレス管理を効率化

DockerでJupyterLabの環境を作ろう

残された攻撃の痕跡を追え! ~Post-Exploitationで起きていること~