東京理科大学の無線LANセキュリティ 傾向と対策
これは 東京理科大学 Advent Calendar 2016 の8日目の記事であり, 煽り記事である.
東京理科大学 Advent Calendar 2016 - Qiita
なお, 私は東京理科大学の学生 ではない のだが, 縁があって『神楽坂一丁目通信局』というサークルに邪魔している. 『神楽坂一丁目通信局』には, ここで紹介するような技術を取り扱っている人間がいる (はずだ) .
tl; dr
- 東京理科大学の無線LANはIEEE 802.1XとMS-CHAPv2により保護されている.
- MS-CHAPv2は脆弱であることが知られている.
- 最低でも十分にランダムな英字小文字で14文字以上のパスワードを用いるべきである.
- 本気になればどんな場合でも突破できる.
- MS-CHAPv2は悪い文明. 東京理科大学は現在のシステムを粉砕すべし.
東京理科大学の無線LANセキュリティ
東京理科大学の無線LANにはIEEE 802.1Xが用いられている.
IEEE 802.1Xとは、LAN接続時に使用する認証規格(認証VLAN)である。
IEEE 802.1Xを使った認証動作は以下の3段階からなる。
- 接続
- EAP(Extended authentication protocol)(EAP)による認証
- 認証完了
EAPには MS-CHAPv2 (Microsoft CHAP version 2) が用いられている.
MS-CHAPv2の脆弱性
MS-CHAPv2は脆弱であることが知られている. Moxie Marlinspike氏のブログでその詳細が示されている.
Divide and Conquer: Cracking MS-CHAPv2 with a 100% success rate
これによると, 通信を傍受することによりチャレンジレスポンスとチャレンジハッシュが得られるという. チャレンジレスポンスは次のように説明される.
ここで, は次のように説明される.
はDES暗号で暗号鍵でを暗号化することを意味する. DESの暗号鍵は56ビットだが, 3つのブロックのうち最後のものは16ビットしかない. 残りは0でパディングされている.
敢えて言おう. カスであると!
攻撃方法
現代の十分に高速なコンピュータであれば, DESやMD4の突破は容易であることが知られている. しかし, それでも, そのようなコンピュータを入手するのは個人には難しい. 今回は, より現実的なシナリオとして個人 (例えば留年してむしゃくしゃしている学部生) が攻撃する場合を想定する.
さて, まず最初に突破すべきなのは3つのDES暗号ブロックのうちの最後のものである. これはたった回の試行で確実に突破できる.
次に, それぞれのパスワードに対して総当りを仕掛ける. まず, パスワードのを導出する. 次に, 最後の16ビットが一致するか調べる. 一致したら, 最初の56ビットをDES暗号にかけ, それをチャレンジレスポンスの最初の56ビットと一致するか調べる. ここでも一致したら次の56ビットをDES暗号にかけ, チャレンジレスポンスの次の56ビットと一致するか調べる. ここで一致したら攻撃が成立したことになる.
Moxie氏はチャレンジレスポンスとチャレンジハッシュを抽出するプログラムを公開している.
https://github.com/moxie0/chapcrack
DES暗号とMD4暗号を高速に計算するプログラムは多数公開されている. hashcatは最も知られている例である.
攻撃に要する時間の推定
ここで, DES暗号, MD4暗号を攻撃する速さをそれぞれ, とおく.
さて, まずは3つのDES暗号ブロックのうち最後のものを突破する時間を推定する.
次に, パスワードをそれぞれ総当りする場合を考える. を導出するのにかかる時間は,
のうち, 最後の16ビットが有効である確率はである. その場合, 2回のDES暗号化を行う必要がある. 1回目のDES暗号化で一致する確率はである.
以上のことを踏まえると, 導出にかかる時間は次のようになる.
ここで, はパスワードにおける文字の種類の数, はパスワードの長さである.
さて, あとは現代のコンピュータでどれだけの速さでDES暗号とMD4暗号を攻撃できるかだが, ざっとググってみると以下のものが引っかかった.
8x Nvidia GTX 1080 Hashcat Benchmarks
ここで示されている情報をもとに, 次のように定義する.
単位は毎秒.
さて, ここで英字小文字のみを用いる場合を考える. 英字小文字は26通りである. 計算すると, 11文字の場合1日, 12文字の場合27日, 13文字の場合718日, 14文字の場合18678日となった. なお, 文字の種類を増やしても, わずか数文字程度のアドバンテージしか得られず, 気休めにしかならない.
対策
ユーザーはパスワードは14文字以上とすべきである. またシステム管理者は早急にMS-CHAPv2を廃止すべきである.