SaaS

BoxファイルにMIP機密度ラベルを自動付与し、Netskopeで持ち出し検出する

セキュリティチームのぐっちーです。本日は、ファイル暗号化に関する落とし穴を解説した後に、BoxファイルにMPIP機密度ラベル(非暗号化)を自動付与しNetskopeで持ち出し検出する方法について紹介します。情報漏洩に関する様々な施策の中で、ハマりそうだったら活用いただけたら嬉しいです。

前提:IRMで暗号化しても万事解決にはならない訳

情報漏洩対策の案件をやっていると「全てのファイルをIRMソリューションを使って暗号化することで、情報の持ち出しを防ぎたい」という相談をいただくことがあります。確かに、IRMソリューションを使うと、ファイルを外部に送付した後でもファイルを暗号化消去したり、スクショやコピペ等の制限が可能となる場合があります。

IRMソリューションとは

IRM(Information Rights Management)は業務で使用する文書ファイルなどを暗号化し、閲覧や編集などを管理・制限したり、操作履歴を記録したりすることで、機密情報ファイル保護・管理するソリューションです。本ブログではマイクロソフト社製のIRMソリューションである「Microsoft Purview Information Protection(旧MIP、現MPIP)」を主に取り扱っています。

そのような対策が有効に作用するかはユースケース次第ではありますが、以下のような課題があり、すべての企業にお勧めできるものではないと考えています。

課題1: 対象ファイルや対応プラットフォームが限られる

IRMソリューションの種類にもよりますが、IRMソリューションを使って特定の人にファイルを閲覧させない・スクショをさせないなどの制限は、対象ファイルやプラットフォームが限られる場合があります。なぜならスクショ等の制限はOSの機能を制限する等の強い権限が必要な場合があり、OSの仕様に深く依存するからです。

特に、macOSではOSの機能に関する制御をサードパーティソリューションに許可しておらず、結果としてWindowsでは編集できるけど、macOSでは編集不可なファイル等が生まれる懸念があります。また、デザイナーチームが使う特殊なファイルには対応していないなどの制約が生まれる場合もあります。

課題2: ユーザー利便性が著しく低下する可能性がある

僕は前職で全てのファイルを暗号化している会社に常駐したことがあります。業務を行っていると「権限がなくて開けないファイル」に数多く遭遇していました。その場合、ファイルの所有者に連絡をして、ファイルにアクセス権を付与してもらう必要があり、業務が円滑に進まないことが日常茶飯事です。

定型化された業務だったらそのような問題は起きにくいのかもしれません。ただ、プロジェクトワークや監査のような非定型業務を行う場合、利便性を大きく損なう懸念があります。

課題3: 関係者全員退職した際など、誰もアクセスできないデータが発生してしまう懸念がある

関係者が全員退職した際など、誰もアクセスできないデータが発生してしまう懸念がつきまといます。これはIRMソリューションの仕様にも関わる部分なのでひとえには言えませんが、注意が必要なポイントです。IRMで暗号化して保護するほど大事だったデータが、アクセスすることもできないゴミ同然と化してしまうのは悲しいものですね。

課題4: DLPなどが作用しない可能性がある

例えば、クラウドへのファイルアップロード時に、SSLを複合して中身をチェックし、特定のキーワードが含まれていたらアップロードをブロックするする仕組み(DLP)を構築していたとします。もしIRMソリューションでファイル自体を暗号化していると、SSLを複合したとしても中身を検疫することができず、キーワードによるDLPなどが作用しない可能性があります。

注意

IRM製品の課題についてまとめましたが、ユースケースによっては導入することが適しているケースも存在すると思います。最終的には取り扱う情報の性質やユースケースを勘案しながらご検討ください。例えば、軍事秘密を取り扱う場合などは上記のデメリットを無視して導入することが考えられます。また、全ファイル暗号化以外にも、ごく限られたファイルに対して、都度機密度ラベルを貼り暗号化する運用等も考えられます。

情報漏洩対策は泥臭い

このように、全ファイルを一律暗号化することは、魔法の杖のように全ての問題を解決してくれるものではありません。情報漏洩対策に近道はなく、ISO27001や米国連邦政府ゼロトラスト移行戦略等の権威的なドキュメントを見ても、資産の洗い出し・格付け、アクセスコントロールの実装等々、、、泥臭い作業を積み重ねて行くことがベストプラクティスとされています。実際、当社で情報漏洩対策のプロジェクトをやる場合も、様々な流通経路に対して地道に穴を塞いでいくという作業を行なっていくことが多いです。

MPIPを暗号化せずに利用するデザインパターン

前振りが壮大となりましたが、ここで本題に入ります。ここまでいうとIRMソリューションは使い所が難しい印象を受けるかもしれませんが、IRMソリューションであるMPIPを暗号化しないで利用し、ユーザー影響は少なく情報漏洩対策を実施するユースケースについて取り上げたいと思います。

処理の流れとしては、以下の通りです。

  1. Box上の特定のフォルダに格納されたファイルに対して、Microsoft Defender for Cloud AppsでMPIPの非暗号化ラベル(Internal Only[社外秘])を自動で付与する。
  2. ユーザーがMPIPの非暗号化ラベルのついた文章をダウンロードする。
  3. ユーザーがMPIPの非暗号化ラベルのついた文書をクラウドストレージ等にアップロードしようとする。
  4. Netskope(DLP)がMPIPの非暗号化ラベルを検知し、アップロードをブロックする。

前提条件

  • MPIPによるラベル付は対応していないファイル型式も存在する点についてご留意ください。
  • Microsoft Defender for Cloud Appsによる自動ラベル付はタイムラグや実行数の制限があるため、それらに配慮しながらご利用ください。
  • 今回の手順を試すには以下の権限が必要です。
    • Box管理者権限
    • MPIPを管理できる権限(コンプライアンス管理者など)
    • Microsoft Defender for Cloud Appsを管理できる権限
    • Netskopeの管理者権限
  • 今回の手順が有効に作用するには以下の状態が必要かと考えています。
    • Netskope ClientがPCに展開されていること。
ご注意

本ブログの内容は、2023年7月7日時点までの情報を元に作成しておりますが、クラウドサービスの仕様変更等に伴い、将来的に状況が変化することがございます。仕様変更が確認できた場合は可能な限り修正をしますが、最新の情報を常に維持することは難しい点についてはご了承ください。

Boxの設定

まず、Boxでは今回検出対象のファイルを格納するフォルダを定義します。ここでは「社外秘フォルダ」というフォルダを作成しました。尚、当たり前の話ですが、このフォルダが意図しないメンバーに閲覧されないように十分に注意してください。

MPIPの設定

続いて、MPIPの機密度ラベルの設定を行います。[Microsoft Purview管理センター] > [情報保護] > [ラベル]でラベルを作成します。今回は「Public」「Confidential」「Internal Only」という3つのラベルを作成し、そのうち「Internal Only」を後々検知対象にします。

そして、上で作成した3つのラベルを利用してラベルポリシーを作成します。[Microsoft Purview管理センター] > [情報保護] > [ラベルポリシー]でラベルポリシーを作成することで、ユーザーはファイル等に対してラベル付を行うことができるようになります。

Microsoft Defender for Cloud Appsの設定

Microsoft Defender for Cloud Appsでは、Boxの特定フォルダに格納されたファイルの自動ラベル付設定を行います。まずは、BoxとMicrosoft Defender for Cloud Appsの接続です。[Microsoft Defender for Cloud Apps管理センター] > [調査] > [接続アプリ] > [+アプリを接続]でBoxと接続設定を行います。

注意

Box側の権限としては「Box管理者」の権限を必要とします。(私の検証では「Box共同管理者」でも動作しましたが、動作しているにも関わらず接続失敗のエラーも出ていたので、ドキュメントを無視しないで「Box管理者」の権限をつかうのがお勧めです。)[1]

続いて、[Microsoft Defender for Cloud Apps管理センター] > [ポリシー] > [Information Protection] > [+ポリシーの作成]でファイルポリシーを作成します。

その際、Boxの特定のフォルダを指定し、ガバナンスアクションでは「Internal Only」のラベルを付与します。保存するとMPIPに対応しているファイル型式のファイルに対して自動ラベル付が開始されます。

Netskopeの設定

最後にNetskopeのDLPの設定を入れます。まず、[Policies] > [DLP] > [Edit Rule] > [Data Loss Prevention Rules] > [NEW RULE]から、DLP Ruleを作成します。[CUSTOM]の部分に検出したい文字列を入力します。作成後は、[APPLY CHANGES]を利用してルールを有効化します。

次に、[Policies] > [DLP] > [NEW PROFILE]からDLP Profileを作成します。ここでは手順1で作成した、DLP Ruleをアタッチします。作成後は、[APPLY CHANGES]を利用してプロファイルを有効化します。

最後に、[Policies] > [Real-time Protection] > [NEW POPOLICY]からReal-time Protectionポリシーを作成します。DLP Profileでは先ほど作ったプロファイルをアタッチします。作成後は、[APPLY CHANGES]を利用してポリシーを有効化します。

動作確認

今回はラベルのついたファイルをOneDriveにアップロードしてみましたが、ファイルアップロードがブロックされ、Netskopeでアラートが上がったことを確認できました。

おまけ

ラベルの変更ログを閲覧する

今回の構成では、特定のMPIPの機密度ラベルをキーに検出しますが、ラベルの変更などが行われると抜け道となってしまいます。その対策として、ラベルの変更ログを閲覧するなどして監査を行うなどの手法が考えられます。その場合は、Microsoft Purview コンプライアンス ポータルの [データ分類] > [アクティビティエクスプローラー] からラベルの変更ログを確認することができますのでここから確認してください。

Druvaでローカルデータをバックアップとして保持し調査に活用

Netskopeで検知(ブロック)してアラートが上がった際、ファイル名やファイルハッシュ、どのポリシーに引っかかったか、どこにアップロードしようとしたかなどの情報はわかります。しかし、Netskopeだけではファイルの中身まではわかりません。そんな時に、Druvaでローカルデータを保持しておくと、より詳細な調査を行う際に非常に便利です。Druva の Federated Search [2] という機能を利用すると、バックアップしているファイルをファイル名などをキーに管理者が横断検索し、ヒットしたファイルを取得することなどが可能です。情報の持ち出しが疑われるケースを発見した場合、ユーザーに対してヒアリングをする前に、ファイルの中を見て確認するとより調査が円滑に進むかと思います。

おわりに

Netskopeを使うとテナント識別などを利用して、シャドーITなどを制御することができるので、それらの施策と合わせて使うとより有効な制御ができるかと思います。是非ご活用いただけたら幸いです。

参考文献

注釈

  1. Connect Box to Microsoft Defender for Cloud Apps https://learn.microsoft.com/en-us/defender-cloud-apps/connect-box
  2. Federated Search https://docs.druva.com/Data_Governance/Federated_Search_for_backed_up_data/Federated_Search

関連ブログ・関連サイト

ぐっちー

コンサル会社にてISO27017やISMAP等のセキュリティ規格案件を経験した後、クラティブに転職。趣味はダンス(Soul, Lock, Waack)です。