セキュリティ脆弱性:一般公開情報 - 2017 年 1 月 30 日 (CVE-2017-4895、CVE-2017-4896)

経緯

2016 年、VMware は、あるセキュリティ調査機関から、弊社製品に対する侵入テスト実施中に見つかったセキュリティ脆弱性を開示する用意がある、との連絡を受け取りました。この侵入テストでは、Android Inbox が使用する暗号はデバイスから入手できる情報に完全に依存しており、アプリのリバース エンジニアリングによってその詳細を取得できることが判明しました。この調査機関では、取得した情報を使用して Inbox の保護データを復号することにも成功していました。テストの対象となった製品は Android Inbox だけでしたが、2016 年 3 月の時点で利用可能だった他の Android 向け AirWatch アプリの暗号スキームにおいても同様の問題があることが確認されました。注:その時点ではまだ製品化されていなかった VMware Boxer には、この脆弱性はありません。

この脆弱性の発見後、VMware はこのセキュリティ調査機関から、その問題の報告と一般公開の打診を受け取りました。「責任ある開示」(Responsible Disclosure) のポリシーに則り、VMware AirWatch は、該当する全 AirWatch 製品での脆弱性対応が完了した後、このセキュリティ調査機関と共同で情報を公開することに合意しました。

そして、VMware AirWatch とこのセキュリティ調査機関は、2017 年 1 月 30 日付で同時に、この脆弱性の詳細を公表しました。VMware では、この問題を VMware Security Advisory (セキュリティに関する注意): VMSA-2017-0001 で公開しています。このセキュリティ調査機関も、調査結果を自身の Web サイトで公開するとともに、NVD (National Vulnerability Database、米国脆弱性情報データベース) に脆弱性として登録する予定です。

また、これとは別に、VMware AirWatch はセッション暗号鍵に関する iOS SDK の暗号保護スキームの脆弱性を発見しました。この脆弱性を利用して攻撃者は暗号鍵の値を推測することができるため、結果的にアプリ データへのアクセスを許してしまう可能性があります。この脆弱性は一般には公開されていませんでしたが、VMware AirWatch は、この問題も同時に解決することで、Android と iOS の両プラットフォームにまたがり保護スキームを改善する決断を下しました。

これらの脆弱性に対応した結果、アプリの動作に若干の変更が生じましたが、全体として暗号保護スキームの安全性は向上しました。

お客様へのお願い

PIN ベース暗号化 (PBE) は、ユーザー シークレット (PIN/パスコード) を暗号保護スキームに含めることで、AirWatch アプリによって保護された情報が不正に復号されるのを防ぎます。この PBE のオプションは、すでにパブリック アプリ ストアに公開済みの、以下のバージョンの Android アプリで利用可能です。 

*Android 向け AirWatch Agent では、既定で PBE が有効になっていません。お客様側で AirWatch コンソール 9.0.1 以降を使用して PBE を有効にしていただく必要があります。Android 向け生産性向上アプリについては、既定で PBE が有効になっているので、個別に有効にする必要はありません。

また、暗号保護スキーム改善のために、以下の iOS アプリも更新されています。

Android を使用する環境で PBE を有効にした場合、デバイスを再起動してすぐにはプロファイルの設定が反映されないという制限があります。PBE を有効にする前に、ナレッジ ベース記事「iOS/Android 向け AirWatch アプリでの SSO および認証の動作の変更」をご覧いただき、関連する動作変更について確認してください。

以下の AirWatch アプリは、この脆弱性に該当する手法で暗号化を使用していないため、今回の修正の対象にはなっていません。

  • iOS Boxer
  • Android Boxer
  • iOS Workspace ONE

アプリや AirWatch コンソールをすぐに適切なバージョンにアップグレードできない場合は、デバイス レベルのパスコードを有効にしてデバイス全体を暗号化することで、この問題を回避することができます。詳細については、「CVE-2017-4896 に対処するためにデバイス パスコード ポリシーを有効化する方法」を参照してください。

よくあるご質問

質問:エンドユーザーが PIN (パスコード) を忘れてしまった場合はどうなりますか。暗号化されたデータは元に戻せないのでしょうか。

回答:Android/iOS のどちらでも、ユーザーは「お忘れですか」の機能を使って新しい PIN (パスコード) を設定できます。すべてのデータは、その新しい PIN で暗号化し直されます。PIN をリセットするには、ユーザーが自身のユーザー名とパスワードを入力します。これが可能なのは、ローカル デバイスに保存された文字列と並んで、暗号鍵のコピーがサーバにも保管されているためです。サーバに保管された暗号鍵は、AirWatch 管理者でも復号することはできません。

 

質問:PBE を有効にすることによって、動作やワークフローは変わりますか。

回答:PBE を有効にすると、ユーザーの PIN (パスコード) を使用してすべてのアプリ データが暗号化されます。AirWatch によって保護されたデータにアクセスしたり保存したりする際には、ユーザーは PIN を入力する必要があります。ただし、ファイル/メールの同期や AirWatch DS エンドポイントへのサンプル データの送信など、バックグラウンドで実行される AirWatch 製品機能の一部については、ユーザーが PIN を入力する必要はありません。このとき、暗号鍵は一時的にメモリに保存されており、それがバックグラウンド セッションで使用されます。しかし、アプリが強制終了された場合や、デバイスが再起動された場合は、データのロックを解除し、新しいセッションを開始するために、再度 PIN の入力が必要になります。

  • Android:Android アプリを新たにインストールした場合、そのアプリの最初の起動時に PIN (パスコード) を入力する必要があります。さらに、PIN が入力されるまで MDM プロファイルなどの機密情報も保存できません。AirWatch MDM によってデバイスの通信手段を制限している場合は、証明書の配布の前に必ずユーザーが PIN を設定するように、適切なライフサイクル管理を実施してください。
  • iOS:iOS アプリを新たにインストールした場合、そのアプリの最初の起動時に PIN (パスコード) を入力する必要があります。しかし、デバイスを再起動したり、ユーザーがアプリを強制終了したり、アプリがクラッシュしたり、OS のメモリ管理によりアプリが終了したりするまでは、再度 PIN を入力する必要はありません。ただし、アプリのセッションが「タイムアウト」して、ユーザーによる PIN の再入力が必要になる場合もあります。このタイムアウトまでの時間は、実行中のアプリやバックグラウンド プロセスの数に依存するため、デバイスによって異なります。

 

質問:PBE を有効にすると SSO に影響がありますか。

回答:新しい暗号スキームを導入した結果、SSO ワークフローに若干の変更が生じました。アプリの使い方にもよりますが、結果として、ユーザーによるアプリケーション レベルでの PIN (パスコード) の入力が以前よりも頻繁に発生することもあります。たとえば、デバイスを起動した際、AirWatch アプリ データを「ロック解除」するために、ユーザーによる最初の PIN 入力が必要になります。この最初の PIN 入力の後は、ユーザーの認証セッションの有効期限が過ぎた場合や、アプリが強制終了された場合などに、定期的に PIN の入力が必要になります。

 

 

質問:「責任ある開示」(Responsible Disclosure) とは何ですか。

回答:「責任ある開示」とは、広く知られ実践されているセキュリティ ポリシーで、VMware もこのポリシーに従っています。このポリシーの下、独立したセキュリティ調査機関などの第三者機関と協調し、VMware 製品に含まれる脆弱性の情報を責任を持って開示します。これにより、利用可能な対処策やバグ修正がないまま「ゼロデイ」攻撃のリスクにさらされることがないよう、お客様を保護しています。VMware は「責任ある開示」のポリシーに準じることで、お客様の安全を確保しつつ、同時にセキュリティ コミュニティと連携して VMware 製品の品質向上に努めています。

免責事項:これは英文の記事「Security Vulnerability: Public Disclosure - January 30 2017 (CVE-2017-4895, CVE-2017-4896)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Have more questions? Submit a request

0 Comments

Article is closed for comments.