LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

注意喚起 | 

MS-CHAPv2プロトコルの破綻

2012年8月31日 改訂

本件につきましては、7月29日ごろに問題が公表されてから8月20日前後まで、メーカーや公的機関等からの詳細な情報提供がありませんでした。弊社としては、早期の告知を優先し、まずは明らかになっている情報を報告させていただいたため、初版のリリース時には脆弱性の影響範囲について過大な評価となる記述となっておりました。
一部のお客様、および関係者の方々よりご指摘をいただき、ご迷惑をおかけしたことをお詫び申し上げます。メーカーからのアドバイザリや追加情報をもとに記載内容を見直しましたため、以下の通り改訂させていただきます。

暗号化通信(VPN)や無線LAN(WPA2)の認証として、一般企業で広く使われているMS-CHAPv2(Microsoft CHAP version 2)というプロトコルに、パスワードが完全に解読されてしまうという脆弱性が発見され、公表されました。

その結果、通信内容が読み取られ、ネットワークに侵入できてしまうリスクがあることが判明しております。

特に暗号化通信(VPN)の一部については、パスワード解読のツールや操作方法が公開されているため、早急な対策が必要です。
認証を行っているシステムすべてについてMS-CHAPv2という認証プロトコルを使っているか調査を行い、もしMS-CHAPv2を拡張プロトコルと併用せずに単体で使用している場合には代替手段への切り替えを推奨いたします。

経緯

本年7月に米国ラスベガスで開催されたセキュリティ会議「Defcon 20」 (2012/Jul/26-29)において、Moxie Marlinspike 氏 (@moxie) と David Hulton (@0x31337) 氏による「100% 成功する MS-CHAPv2 破り」のプレゼンテーションが発表されました。具体的な解読方法がMoxie Marlinspike 氏のブログに記載されており、ある程度の知識があれば、本手法を再現することが可能です。

想定される影響範囲

(ア)Windows等に標準で搭載されているVPN通信
MS-CHAPv2という認証プロトコルは、Microsoft社製OSのWindowsで採用されている認証プロトコルで、WindowsでVPN通信を行う場合のプロトコルPPTP(Point to Point Tunneling Protocol)において、認証の機能として使用されています。

  • サーバ系を含むほぼすべてのWindows OS
    Windows 7
    Windows Vista
    Windows Server 2008
    Windows XP
    Windows Server 2003
    Windows 2000、Windows Server 2000
    Windows 98
    Windows Millennium Edition
    Windows NT 4.0、Windows Server NT 4.0
  • その他OS
    Mac OS X 10.2以降
    Linux
  • WindowsをクライアントとしてVPNアクセスさせる機器
    Cisco 1812など
    http://shain.blog.conextivo.com/2010/04/cisco1812pptp.html
  • スマートフォン、タブレット
    iOS(iPhone、iPad)
    Android

これらの環境において、VPN接続に標準のPPTPを使った場合には、通信内容を読み取られてしまう可能性があります。

(イ) 無線LAN (WPA2 Enterprise)
家庭用の無線LANではなく、企業で利用されているタイプの無線LANで使用されるセキュリティプロトコルを、WPA2 Enterprise(Wi-Fi Protected Access Enterprise)と呼んでおります。
このWPA2 Enterpriseにおいて、利用されているセキュリティプロトコルには、以下の5種類があります。

  1. EAP-TLS
  2. EAP-TTLS/MSCHAPv2
  3. PEAPv0/EAP-MSCHAPv2
  4. PEAPv1/EAP-GTC
  5. EAP-SIM

これらのうち、2と3については、今回問題となっているMS-CHAPv2を使用しています。VPN通信においてはMS-CHAPv2を認証プロトコルとして、そのまま使用しているのに比べ、WPA2 Enterpriseでは、暗号化通信(TLS)の内側でトンネル認証として使用されているため、直ちに問題となるものではありません。
Windows標準の無線クライアント環境においては、MS-CHAPv2はPEAPと共に使用するオプションのみが提供されておりますが、その他のシステムやアプリケーションにおいては、MS-CHAPv2を認証プロトコルとして単体で使用していないかどうかを確認する必要があります。

(ウ) その他
上記以外の機器においても、ISPへの接続や、SMTP認証などあらゆる認証機能においてMS-CHAPv2を使用している場合には対応が必要となります。

推奨する対策

(ア)VPN通信
VPN通信のプロトコルとしてPPTPを使用しており、認証プロトコルにMS-CHAPv2を使用している場合、VPN通信のプロトコルを変更するか、PEAPなどの拡張プロトコル使用したより強固な認証プロトコルへの切り替えを検討してください。
代替手段としてVPN通信のプロトコルをL2TP やIKEv2に変更する場合は、IPSECを併用してください。また、OpenVPNなどのVPNソフトウェアを使用する場合、サーバとクライアントの両方に SSL 証明書を入れることを推奨いたします。

(イ) 無線LAN
WPA2 Enterprise の1世代前のWPA Enterprise を使っている場合は、他の問題もありますため、すぐに使用を取りやめることを推奨します。
WPA2 Enterpriseで使用するセキュリティプロトコルについて、MS-CHAPv2は潜在的な脆弱性を含むことから、以下の3種類を推奨いたします。

  1. EAP-TLS
  2. PEAPv1/EAP-GTC
  3. EAP-SIM

現実的には EAP-TLS を使い、サーバとクライアントの両方に SSL 証明書を入れる運用を推奨いたします。

(ウ)その他の注意事項
本件と関連して、VPN通信および無線LANの認証方式の中の1手法であり、最も利用されている事前共有鍵方式 (PSK:Pre Shared Key)は、事前共有鍵を解読する様々な手法が公開されているため、利用の際には注意が必要です。
可能であれば、サーバとクライアントの両方に SSL 証明書を入れる運用を推奨いたします。

また、MS-CHAPv2を用いた認証に限らず、認証が必要なすべてのシステムにおいては定期的に認証ログを確認し、不審なログイン記録がないかどうか確認することを推奨いたします。

リスクの緩和要素

現状において、暗号を解読するには、以下の手順を踏む必要があり、誰でも簡単に実施できるというわけではありません。

パスワード解読の手順

  1. githubで公開したツールを使い、MS-CHAPv2 のハンドシェイクを抽出する。
  2. 抽出したハンドシェイクから暗号解読を行うため、有料の専用サイトにアクセスする。 (https://www.cloudcracker.com/
  3. ここで解読されたパスワードを元に、対象の通信を傍受したり、ネットワークに侵入したりする。

パスワード解読に必要な制約事項

  • 現時点では、暗号解読には専用のハードウエアが必要であるが、簡単に作成できるものではない。
  • この暗号解読が可能なサイトは上記ひとつだけである。
  • 暗号解読には、最長23時間程度の時間がかかる。
  • 暗号解読は有料であることから、解読を依頼した者の身元がサイト上に残る可能性がある。

これらのことから、あらゆる環境においてMS-CHAPv2を用いた暗号化通信が危機に直面しているというわけではありませんが、すでに解読手法が明らかになっていることから、このリスクを軽視することはできません。今後、このリスクが一般的になる前に、対象の洗い出しと代替策への切り替えについて検討しておくことを推奨いたします。

参考情報

以上

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • 遠隔操作ウイルスの制御にDNSプロトコルを使用する事案への注意喚起

  • 組織を悩ますパスワード運用対策、その代替策とは~今後のパスワード管理の方向性を予測~(執筆:須田芳功)

  • あなたの組織はDNSのクエリログを記録していますか?