TOUCH THE SECURITY Powered by Security Service G
明けましておめでとうございます。パーソルクロステクノロジーの「Zライダー」です。
昨年、IoTの界隈においては、各社より発売となったAIスピーカーが大きな注目を集める一方、BlueBorneやKRACKsといった脆弱性が明らかとなるなど、良くも悪くも無線通信に関連する話題の多い一年であったと思います。さて、いよいよオリンピック・パラリンピックまで残り2年となる2018年を迎えましたが、今年も引き続き動向をウォッチの上、気づきなどを書いてみようと思います。
前回は無線通信にまつわるセキュリティの前提知識として、様々な通信の規格についておさらいしました。中でも、Wi-Fi は今最も多く利用されて、身の回りにありふれた無線通信だと言えるでしょう。スマートフォンを利用される方であれば、外出先で公衆無線LANサービスを利用することもあるかもしれません。受信可能なSSIDを確認すると、実に多くのアクセスポイントの存在を確認できます。
「無線通信とセキュリティ」の第二回目となる今回は、アクセスポイントと端末が接続する過程を振り返りつつ、実験の時間です。テーマはこちら。「偽(罠)のWi-Fiアクセスポイントって有りえるもの?」です。
目次
1.外出先のアクセスポイントは安全?
世の中には無数のアクセスポイントが存在していますが、1つ1つのアクセスポイントが安全であるかを判断できるでしょうか?スマートフォンやタブレットの自動接続といった機能は何を根拠に前回の接続と同じだと判断しているのでしょうか?自動接続されるアクセスポイントに危険性はないのでしょうか?
2.アクセスポイントと端末が接続するまでのプロセス
ここで、アクセスポイントと端末が接続するまでのプロセスを確認します。
プロセス1
アクセスポイントは周囲の端末に自身の存在を知らせるために、ビーコン(Beacon)と呼ばれるブロードキャストを送信します。ビーコンには、SSIDの他にチャンネル周波数、サポート伝送速度、セキュリティ方式など、多くの情報が含まれます。
プロセス2
端末でユーザーが接続したいSSIDを選択すると、プローブ要求、プローブ応答を行います。プローブ要求/応答では、アクセスポイントと端末が互いに存在し、通信が行えるかを確認しています。
セキュリティ方式がWEPの場合は、この後、認証に関するデータのやり取りをしますが、現在ではWEPの脆弱性が多数報告されており、使用するべきではありません。
プロセス3
プローブ要求/応答が完了すると、アソシエーション要求/応答を行い、インターネット通信などで利用する実際のデータ通信を行える状態にします。
プロセス4
セキュリティ方式がWPA、WPA2の場合は、アソシエーション要求/応答の後に4ウェイ・ハンドシェイク、グループ鍵ハンドシェイクと呼ばれる手順で、共有鍵の認証や一時鍵と呼ばれる暗号鍵を生成します。
尚、冒頭にも触れた通り、昨年2017年10月、WiFiのハンドシェイク手順でセッション鍵が再利用される問題を突いた攻撃に対する脆弱性「KRACKs」(Key Reinstallation AttaCK:鍵再インストール攻撃)が発表されました。本来WPA/WPA2において一時鍵はセッション毎に生成されますが、ACKを確認できず鍵がロストした場合「リプレイ攻撃」が成立してしまい、通信を盗聴される可能性があります。(但し、多くのデバイスにおいては対策用のパッチが既に提供されています。)
参考: WPA2 における複数の脆弱性について:IPA 独立行政法人 情報処理推進機構
https://www.ipa.go.jp/security/ciadr/vul/20171017_WPA2.html
3.偽アクセスポイントは簡単に作れるのか
大雑把な方法ですが、Windows10とiPhoneを使用して偽アクセスポイントを作れるか、いよいよ実験の時間です。
3-1.検証の大まかな手順
- あるアクセスポイントに対して自動接続するiPhoneを用意。
- Windows10の「モバイル ホットスポット」機能(※)を利用して、iPhoneの自動接続先と同じSSIDのアクセスポイントを作成。
- iPhoneが手順(2)で作成したアクセスポイントに自動接続されるか確認します。
これらを繰り返し、「モバイル ホットスポット」との自動接続が成立するかを検証です。
(※)Windows10「モバイル ホットスポット」の設定方法
[スタート]→[ネットワークとインターネット]→[モバイル ホットスポット] の順に選びます。そして[編集]を選び、SSID(ネットワーク名)とパスワードを入力して、[保存] を押下後、[モバイルホットスポット]のオンオフのつまみを[オン]に設定します。
3-2.検証結果と考察
ご覧のとおり、SSID、暗号化パスワード、セキュリティ方式が全て一致した場合、自動接続が実行されてしまいます。
以下、アクセスポイントと一致しない場合の挙動について、項目別にまとめてみました。
SSID | 自動接続設定は反応しない。(これは当然ですね) |
---|---|
セキュリティ方式 | パスワードの入力を求められる。 |
パスワード | パスワードの入力を求められる。 空文字や辞書に載っている単語、人名の場合は推測可能。 |
チャンネル | 一致しなくても自動接続される。 端末は1〜14全てのチャンネル受信可能。 ※5GHz帯は実験未実施 |
MACアドレス | 一致しなくても自動接続される。 アクセスポイント側の個体識別は不問。 |
セキュリティ方式はWEP、WPA-PSK、WPA2-PSKなど選択肢が限られていている上に、特定のスキャンツールなどによる閲覧が可能であり、偽装は容易だと思われます。パスワードに関しても、未設定、辞書に載っている単語の使用、桁数が短すぎる、強度が弱いWEPのセキュリティ方式が使用されているといった場合は容易に破られる可能性を考慮すると、セキュリティ強度が低いアクセスポイントへの"乗っ取り"や"成りすまし"には注意が必要です。
4.次回掲載など
今回はセキュリティの甘いアクセスポイントに対して、偽アクセスポイントが如何に容易に作成できてしまうことを確認できました。次回は「もし誤って偽アクセスポイントと接続されてしまった場合」に、どのような危険性があるのか?どのぐらい危険なのかを考察してみたいと思います。