質問者
モバイル ワークのセキュリティ

全般的な情報交換
-
関連記事: モバイルアプリを活用しよう!
会社や社員から「モバイル ワーク出来るようにしてほしい」というリクエストがあり実現方法に苦慮している IT 管理者は多いと思います。なぜ皆さんの会社ではモバイル ワークを許可していないのでしょうか?また、どのようなセキュリティ対策が出来ればモバイル ワークを実現できるのでしょうか?このブログでは、クラウドをモバイル デバイスから安全に利用するための「シンプルなセキュリティ」を実現するヒントをお伝えしたいと思います。
なお、このブログでは「モバイル デバイス」をインターネット越しに直接クラウド アプリに接続する iOS/Android/Mac/Windows 10 のデバイスとし、「スマート デバイス」を同じ条件の iOS/Android デバイスとして区別して記載しています。
モバイル ワークのセキュリティは難しい?
まず、クラウドが登場してから現在に至るまでのセキュリティの考え方の変遷を少し振り返ってみましょう。
クラウドが登場する前は、ユーザー、デバイス、アプリ、データはすべて社内にあったため、ネットワーク レイヤのセキュリティを実装することで安全を確保していました。「中は安全、外は危険」という考え方ですね。
クラウド黎明期に多くの企業がとった戦略はこの考え方の応用でした。つまり、クラウドも社内ネットワークの一部とみなしてセキュリティが設計されたのです。クラウドは「サーバー保守運用コストを削減する手段」として導入されましたが、ユーザーは以前と変わらず社内からアクセスしていたため、システム設計の変更が少ないこの戦略は有効でした。
しかし、モバイル デバイスの登場によって次第に綻びが出始めます。これまでクラウド利用は IP アドレス ベースでアクセス制御していたため、持ち出したモバイル デバイスからアクセスするには VPN でいったん社内につなぐ必要がありました。しかしパフォーマンスや接続のトラブル、ユーザビリティの問題から、モバイル デバイスからクラウドに直接つなぎたいというニーズが出てきます。
そこで、モバイル デバイスにデジタル証明書を配布し、証明書をもっているデバイスからのみアクセスを許可する方法が登場しました。ところが、この方法では証明書の安全な配布や更新などの管理が難しいばかりでなく、会社が管理している一部のデバイスからしかアクセスが許可されなかったり、利用できるアプリが制限されてしまったりと課題も多いのです。
モバイル ワークの生産性とセキュリティを両立することは難しいのでしょうか?
Zero Trust がカギ
これまで見てきたセキュリティの考え方は、クラウド登場前の古い考え方をベースにしながら、ユーザーからのニーズを満たすためにパッチワーク的に講じてきた苦肉の策でした。そのため、構成が複雑になったり、利用シナリオが固定されていたり、制御に抜け漏れがあったりといった限界が露呈し始めたのです。
例えば、従来の考え方では下記のような課題に対応できません。
・内部に侵入済みの脅威による社内ネットワークからの攻撃
・不正プログラム (マルウェア、エクスプロイト) による証明書やトークンの搾取
・BYOD を含む柔軟なデバイスの利用
近年の攻撃はますます洗練されてきており「社内だから安全」「会社デバイスだから安全」というわけにはいきません。社内だから、会社デバイスだから無条件で信頼するのではなく、アクセスがあるたびに信頼性を検証する方法が求められています。これを Zero Trust と呼びます。
「内部に侵入済みの脅威」についてはネットワークやエンドポイント セキュリティとの組み合わせで対応できる、と思われるかもしれません。それは全く正しいですし、ネットワークやエンドポイント (デバイス) のセキュリティが引き続き重要であることは間違いありません。しかし、ネットワーク内に保護されていない脆弱なデバイスが存在する場合や、持ち出しなどでインターネットに直接通信する経路が存在するのであれば (ほぼ全ての企業で存在すると思います)、それらについても制御できるアーキテクチャである必要があるということです。
言い換えると、ネットワーク、デバイス、認証などの各セキュリティが断絶していれば、必ず抜け漏れが発生するし、そのため利用シナリオを限定せざるを得ないということです。(※ここで SIEM などのログ相関分析による脅威検知の話になったりしますが、何かが起きた結果であるログを分析するアプローチと、リアルタイムにリスクを評価する Zero Trust アプローチは根本的に異なります。脱線するので割愛して話を進めます。) 「社内にいる」や「証明書がある」などの何らかの固定条件を満たせば信頼する “ことにする“ のではなく、「Never trust, always verify」という言葉で表現されるように、常に健全性を検証し続けることができるアーキテクチャであることが望まれます。
そもそも、本当は何を実現したかったのでしょうか? 「社内からのみアクセスさせる」や「会社デバイスに制限する」というのは手段であり本来の目的ではなかったはずです。何かもっと良い方法はないのでしょうか?
条件付きアクセスで “ホンモノ” をつなぐ
Zero Trust を実現するには、そのアクセスが信頼できるものかどうかを都度検証し、信頼できないものはブロックするための評価・制御のエンジンが必要です。全てのアクセスは漏れなくこの仕組みによって評価されなければなりませんが、何を利用すべきでしょうか。リソースにアクセスするときに必ず通過しなければならないものといえば・・・そう、認証です!
Office 365 は認証サービスとして Azure AD を利用していますが、実はこの Azure AD はサインインにリスクがあるかどうかを評価することができ、不正アクセスをブロックする制御機能をもっています。この機能を “条件付きアクセス” と呼びます。いつもの場所・デバイスから要求される認証要求と、いつもと違う場所・デバイスからの要求では、後者の方が怪しいですよね。機械学習のデータを使いながら認証要求のリスク スコアを毎回計算し、その認証要求がホンモノであるかどうかを見極めるのです。
さらに、条件付きアクセスはアクセスを要求しているモバイル デバイスが信頼できるものかどうかをチェックすることもできます。例えば、iOS や Android などのスマート デバイスが Root 化 (脱獄) していたり、OS のバージョンが古かったりすると、そのデバイスは信頼できないものとしてアクセスをブロックできます。モバイル デバイスが信頼できるかどうかを判定するのは Intune というサービスが担当し、Azure AD は Intune の MDM (Mobile Device Management) がホンモノであるとお墨付きを与えたデバイスのみアクセスを許可することができます。
デジタル証明書を利用して認証する方法と何が異なるでしょうか?証明書が証明するのは「このデバイスに証明書がある」という一点であり、そのデバイスがちゃんと暗号化されているとか、マルウェアに感染していないとか、OS のバージョンが最新であるといったことを証明してくれるわけではありません。攻撃者がデバイスから証明書をエクスポートし、攻撃者のマシンにインポートすればアクセスは許可されます。
Azure AD は「信頼できるデバイス」からの「信頼できるサインイン」だけを許可することができる Zero Trust エンジンなのです。一つ誤解がないように補足すると、先に Office 365 は認証サービスとして Azure AD を利用していると書きましたが、Azure AD は Office 365 専用ではありません。2019 年 1 月時点で延べ 80 万以上のサードパーティ アプリ (ServiceNow、Google Apps、Workday など) に対して、月間で 2,000 万以上のアクティブ ユーザーを認証している世界最大のオープンな IDaaS (ID as a Service) が Azure AD なのです。当然、サードパーティのクラウド アプリに対しても SSO と条件付きアクセスなどのセキュリティ機能を提供できます。
アプリケーション保護
これで安心してクラウドをモバイルから利用できるようになりましたでしょうか?多くのお客様からは少し違う観点として、「個人のアプリやストレージに会社のデータをコピーさせたくない」などのご要望を伺うこともあります。
iOS や Android などのスマート デバイスは、Twitter や Facebook などの個人で使うアプリと、Outlook や Teams などの会社で使うアプリの両方が混在した状態になるので、会社メールなどの企業データを個人利用アプリにコピーしたり、会社のドキュメントを個人利用のクラウド ストレージにアップロード出来たりすることを心配されることが多いようです。このような心配に対してはどのように対応できるでしょうか?
先ほどデバイスの信頼性を評価する MDM サービスとして名前があがった Intune がここでも登場します。Intune は下記のようなアプリ保護ポリシーを直接モバイル アプリに対して適用し、会社データを扱う領域をカプセル化して保護することができます。
アプリ保護ポリシーの例:
・会社データを受け渡せるアプリを保護ポリシーが適用されたアプリに限定する
・会社データをコピペできるアプリを保護ポリシーが適用されたアプリに限定する
・会社データの保存先クラウド ストレージを OneDrive や SharePoint に限定する
・会社データを扱うアプリを開く際 PIN を要求する
・会社データを扱うアプリを開けるデバイスの信頼性 (OS バージョン等) を定義する
・会社データをオンデマンドで削除する (オンライン ワイプ)
・一定期間オフラインの場合に会社データを削除する (オフライン ワイプ)
上記のようなポリシーをモバイル アプリ (Outlook や Teams など) に適用することで、会社アプリと個人アプリが混在することで懸念されるスマート デバイス特有の情報漏えいリスクにも対応できるようになります。この機能を Intune のアプリ保護ポリシー、または MAM (Mobile Application Management) と呼びます。
しかも、上記のポリシーは “直接” モバイル アプリに対して適用できるのです。この意味を理解するために、次のようなシナリオを考えてみましょう。
あなたは個人的に以前からほしかったスマート デバイス (iOS や Android デバイス) をネット通販で買い、SIM を差し込んだ後 Outlook アプリをストアからインストールしました。Outlook アプリに Hotmail や Gmail のメール アカウントをセットアップしました。ここまでは普通の個人利用であり、会社のデータは端末上にはありませんね。次に、Outlook に Office 365 (Exchange Online) のアカウントを追加しました。この時、あなたのスマート デバイスには Office 365 の管理者が定めたアプリケーション保護ポリシーが適用され、ポリシーに従い会社のメールを他の個人アプリ (メモ帳や Twitter アプリなど) にコピペできなくなりました。
これで BYOD でも Office 365 を安全に利用できる気がしてきましたね!でもちょっと待ってください。Intune のアプリ保護ポリシーが適用されていないアプリから Office 365 にアクセスされる心配はないでしょうか?ご安心ください。条件付きアクセスでアプリ保護ポリシーが適用されたアプリのみにアクセスを制限することができます。このシナリオでは Intune MDM でデバイスが管理されている必要すらありません。アクセスできるアプリには Intuneのアプリ保護ポリシーが必ず適用されていることを保証できるのです。
シンプルに考える
ここまで見てきたようなセキュリティの考え方は、近年のセキュリティの脅威に対応するために登場した Zero Trust という新しいセキュリティ モデルを取り入れながら、クラウドをモバイル デバイスから安全に使う目的で登場した比較的新しい考え方です。これまでセキュリティの前提として常に存在していたネットワークはもはやセキュリティの境界ではなくなり、サインインが信頼できるものであるかを評価するための一つの指標になりました。(エンドポイント セキュリティも一つの指標です。)「認証するたびにリスクを検証する」というシンプルな考え方に変わったのです。
今まで積み上げたセキュリティ設計を離れることは容易ではないように思えますが、既に多くのお客様でこのようなセキュリティ設計が実装され、もしくは実装に向けて設計が進んでいます。もちろん企業ごとに様々な課題があるとは思いますが、もしかすると一番の問題はシステム設計上の問題ではなく、旧来の経験則や過去にならう企業文化のような、人間の頭の中にあることを疑うべきかもしれません。そもそも Azure AD も Intune もクラウド サービスであるため、導入自体はとても簡単なのです。
社員の生産性を向上させるためにモバイル ワークが必須になることは疑いの余地はありません。本ブログが皆さんの企業でモバイル ワークを実現するための一助となれば幸いです。
少し注意
Intune のアプリ保護ポリシー (またの名を MAM: Mobile Application Management) を利用する場合は、アプリに対して直接ポリシーを適用するという仕組み上、対応しているアプリが限定されています。(サードパーティのモバイル アプリのコードは Microsoft では変更できないので・・)MAM 対応アプリは Office 365 のモバイル アプリ (Outlook、Teams、OneDrive、Power BI、Excel、Word、PowerPoint、PowerApps、Yammer など) と、Adobe Acrobat Reader for Intune や Box for EMM などの一部の Intune SDK に対応したサードパーティ アプリに限定されます。Office 365 のモバイル アプリをフル活用してモバイル ワークを成功させましょう!
なお、Intune MDM は iOS、Android、Mac、Windows 10 などの MDM 規格に対応したデバイスをフル サポートします。Azure AD は OAuth 2.0、OpenID Connect、WS-Federation、SAML 2.0 などの業界標準プロトコルに対応したクラウド アプリをフル サポートします。
参考資料
Azure Active Directory 条件付きアクセスによるアクセス制御の概要
https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/controls
Intune Microsoft Intune デバイスの管理とは
https://docs.microsoft.com/ja-jp/intune/device-management
Intune アプリ保護ポリシーとは
https://docs.microsoft.com/ja-jp/intune/app-protection-policy
Microsoft 365 を用いたゼロ トラスト ネットワークの実現
注:本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。
- 編集済み Office 365 Technical Sales Team JapanMicrosoft employee, Owner 2019年7月28日 22:28
2019年7月28日 22:06所有者