SaaS

Microsoft 365 コミュニケーションコンプライアンスを使って、コミュニケーション違反(ハラスメント等)検知スキーム構築を試みる

こんにちは!セキュリティチームの ぐっちー です。本日は Enterprise Mobility + Security(EMS) Advent Calendar 2021 の17日目としてブログを書かせていただきます。テーマに選んだのは「コミュニケーションコンプライアンス」という機能です。

昨今、パワハラ・セクハラなどをはじめとするハラスメント対策や、内部不正対策に関心が高まっておりますが、「コミュニケーションコンプライアンス」はそのような問題を早期に検出して対処するための一助となるような製品となります。今回は製品の基本的な機能を紹介し、実際に利用するならこういう使い方になりそうだなというスキームをご紹介します。

利用する製品の概要

コミュニケーションコンプライアンス

コミュニケーションコンプライアンスは、組織内の不適切なメッセージを検出、キャプチャ、処理を行うことができる製品です。Exchange Online、Teams、Yammerが主な対象となりますが、その中で「不適切なコミュニケーション」を検出し、アラートを検知することができます。

個人的には「不適切なコミュニケーション」は、パワハラやセクハラを代表される「ハラスメント系」と、社内規則やレギュレーションに反した情報伝達である「内部不正・結託系」の2系統に分かれると解釈しています。

Advanced eDiscovery

組織の内部および外部の調査と関連性のあるコンテンツを保管、収集、確認、分析、エクスポートするためのサービスです。詳しくはマイクロソフト公式のドキュメントをご確認ください。

前提条件

  • 「コミュニケーションコンプライアンス」を利用するために必要なライセンスはこちらのページをご確認ください。
  • 利用するロールについては、こちらをご覧ください。尚、Azure ADの「コンプライアンス管理者」の権限を持っていたとしても十分ではなく、Microsoft 365 コンプライアンスの管理画面で追加の権限(例えば「コミュニケーションコンプライアンス管理者」や「コミュニケーションコンプライアンスアナリスト」)を付与する必要があります。

検証①(基本機能編)

検証①のゴール

検証1では基本的な機能について触ってみたいと思います。下記の図のように、ポリシーに違反したコミュニケーションを検出し、調査することを目指します。また検証1の主な対象は「ハラスメント系」とします。

ポリシー(検出ロジック)の設定

まずは、コミュニケーションコンプライアンスにおいて一番の肝となる「ポリシー(検出ロジック)」を設定します。検出したいことを定義して、ポリシーを設定することから、コミュニケーションコンプライアンスの道のりが始まります。初めに実施しなけければならないのは、コミュニケーションコンプライアンスの設定を行うユーザーに「コミュニケーションコンプライアンス管理者」のロールを割り当てます。割り当ては https://compliance.microsoft.com/permissions から実施することができます。

次に、下記画像のように、[Microsoft 365 コンプライアンス] > [ポリシー] > [ポリシーの作成]を押下し、ポリシー(検出ロジック)を作っていきます。検証1では「不適切なコンテンツの通信を監視する」を選択しました。

ポリシー(検出ロジック)に関しては、以下のような切り口・手法で設定が可能です。

切り口内容
不適切なコンテンツを監視するマイクロソフト社が不適切、不適切、または不快とみなすコンテンツを検出します。他の切り口とは違い、ほとんど設定する項目がないので、素早く利用できるメリットはあります。
(検証①ではこちらを利用しました。)
機密情報を関するクレジット カード番号やパスポート番号などの特定の機密情報を検知します。
規制コンプライアンスを監視する金融や医療などの各種業界等の規制(レギュレーション)に準拠しているかどうかをチェックします。今回の検証ではあまりこの設定は利用しませんでした。
米国等のレギュレーションを想定されているケースが多いなという印象ですが、利用したいケースが対応されているかは個別にご確認いただけたらと思います。
利益相反を監視する特定の部署と部署間のコミュニケーションを監視します。特に証券会社などでは、この手の情報規制は厳しく取り締まっているのではないかと思います。
カスタムポリシーユーザー独自に定義するキーワードなどの情報を使って独自のポリシーを設定します。使い方としては、オリジナルの不適切なワードを集めた辞書を作成し、それにマッチしたら検出する流れにするなどの手法が考えられます。

ポリシー違反のメッセージ投下&検出

早速、ポリシーに違反しそうなメッセージを投下したいと思います。(注:言うまでもありませんが、検証用に送付しており、本気で送っているわけではないです。)

すると、24時間程度経過した後で、コミュニケーションコンプライアンスの管理画面に検出結果が表示されました。しかしながら、相当パワハラ発言をしたにもかかわらず、「不適切なコンテンツの通信を監視する」だけでは検出したのはごくわずかという結果となりました。

上記画像の通り、「やってらんねー」という発言のみが検出されています。(2021年10月21日時点の検証)検出部分はまだ発展途上なんだなということを感じました。

ちなみに、コンプライアンスマネージャーはアラートが上がりすぎて運用しきれなくなることを抑えるために、[レビューの割合]というものが設定でき、検知したもののうち実際にアラートをあげる割合をパーセントで指定できるのですが、100%(全てアラートをあげる)で設定しての結果となっています。

基本的な調査

検出した事象に関しては、前後数件の会話の流れを確認することができます。ハラスメントは一発アウトなワードもある一方で、際どいラインの場合は前後の文脈を見て判断しなければいけないケースもあると思うので、総合的に見て判断するために利用することができます。

検証①のまとめ

検証①ではコミュニケーションコンプライアンスの超基本的な機能について触ってみました。基本的な機能を触ってみての感想は以下の通りです。

Positive:
  • 組み込みポリシーを利用する場合は設定は難しくない:上記の設定を見れば分かる通り、「初期設定」の手数は多くないです。(しかし、実際に運用して高い効果を得るにはチューニングが必須でその設定は難しいと思います。)
  • 管理機能:検出した内容に対して、チケット管理と簡単な分析を行うことが可能
Negative:
  • 従業員のプライバシーを侵害する恐れがある:実際にパワハラを発見した際には、パワハラを行った人物を特定しての調査・対処が必要ですが、誤検知だった場合はDMで話した内容が筒抜けになるというリスクを孕んでいます。
  • 詳細な調査が難しい:前後のメッセージ数件では、判断がつかないケースもあると思います。
  • 検知のロジックは今後に期待:ありったけの力を込めて、パワハラメッセージを送ってみましたが、実際に検知したのはごくわずかでした。今後の進化に期待します。

検証②(実運用をちょっとイメージ編)

検証②のゴール

検証2では、「内部不正・結託系」を攻めていきたいと思います。証券会社などでは特定の部署間での情報伝達が法律上禁止されていたり、知財や個人情報を扱う会社では厳密な情報管理を実施しなければならない業態の会社がありますので、そのような部門間のコミュニケーションを監視するスキームを構築したいと思います。

また、検証1でネガティブポイントとして上がった「従業員のプライバシー」と「詳細な調査が難しい」という点には配慮して以下のような形にしました。

シナリオとしては「A社」という顧客の情報を特定のグループに伝達してはならない状況を想定し、「A社」のことを補完部署に漏らしてしまった場合を検出します。

ポリシー(検出ロジック)設定

この検証では、2つのロールを利用します。まずは「コンプライアンスアナリスト」ですが、検知されたアラートの1次対応を行う役割となっています。Security Operation Center(SOC)でいうL1アナリストを想像していただけるとわかりやすいと思います。

次に「電子情報開示マネジャー(eDiscovery Manager)」ですが、Advanced eDiscovery という別の機能を使って、Microsoft 365全体の情報を対象とした高度な調査を行うことができます。

割り当てはいずれも、 https://compliance.microsoft.com/permissions から実施することができますので、必要な人物を割り当てます。今回の検証ではあまり深くは踏み込みませんでしたが、実際にコミュニケーションコンプライアンスを導入する際には、事前に職務分掌などを定義して、誰がどの権限で、どの情報について処理をするというということを明確に定義することが望まれると思います。

次に、ポリシーの設定ですが、今回は「利益相反に関する監視」を利用します。下記の図の[監督対象グループ]には、今回チェックの対象のユーザーを追加します。

そして[ポリシーをカスタマイズ]をクリックして、「A社」というキーワードを登録します。これで「A社」のことを話してはならない部署に漏らしてしまった社員を検出できます。

匿名化して情報を保護

次に、従業員のプライバシーを守る設定を施します。[コミュニケーション] > [設定] > [プライバシー] から匿名化されたユーザー名を表示するを選択します。

この設定により、ユーザー名をマスキングすることができるので、ある程度の匿名性を保つことができます。ただ、会話を分析していく中で、ユーザーが特定できるケースもあるので、完全な対策ではないことをご留意ください。

エスカレーション

コミュニケーションコンプライアンスのアラートの画面で[調査のためにエスカレーションする]を選択すると、Advanced eDiscoveryのケースを作成することができます。

エスカレーションの種類は2種類あり、[エスカレーションする]と[調査のためにエスカレーションする]がありますが、[エスカレーションする]はコミュニケーションコンプライアンスの中で、別の管理者にエスカレーションをする設定です。一方[調査のためにエスカレーションする]はコミュニケーションコンプライアンスの枠を出て、Advanced eDiscoveryの方で調査を実施する設定となっております。

Advanced eDiscoveryで調査

Advanced eDiscoveryは、コミュニケーションコンプライアンスとは独立したサービスです。裁判となった際の証跡を保管、収集、確認、分析、エクスポートする機能を兼ね備えているサービスとなります。内部不正・結託を発見した場合は、懲戒処分や裁判などになるケースが多いと思いますが、その証跡を集めるのに有効な手段です。

コミュニケーションコンプライアンスでは、検出したアラートの前後数件しか確認することができませんでしたが、今回のケースにおいては、Microsoft 365 で実施したコミュニケーション全体を対象とした調査ができます。また、今回はやってませんが、外部サービスのデータを収集しての調査などもできるようです。

ただ、当社はTeamsや Outlookを本番業務として使っていないため、今回の検証においては有効なデータを取得することはできませんでした。

検証②まとめ

検証②では検証①で出た課題を潰しながら、少しだけ実運用に近い検出のスキームを構築しました。もちろん、検証①で出た課題を完全に潰し切ったわけではありませんが、実際に使うためには最低限の対策を提示できたかなと思います。

検証②のまとめは全体のまとめと一部重複するので、以下で一緒にご紹介したいと思います。

全体のまとめ

最後に、検証①②の結果を元に、全体とまとめとして使ってみた感想を、個人的な見解として記載したいと思います。

Positive:
  • 網掛けとしてやってみるのは良さそう:大企業であれば、どこでハラスメントが発生しているか見えにくい側面があるため、検出するために網掛けとして設定しておくのも良い気がします。
  • 内部不正・結託を防ぐために使える:内部不正・結託という観点では、やはり証券会社などでは使えるものになる可能性があると考えています。M&Aの情報などが漏れてしまったら関係者には非常に大きな影響があると思いますので、そう言う事象への事前の対策としても利用するのがいいと思います。また、知財や希少コンテンツを多く取り扱っている会社も同様で、それらの情報が専門部署の外に出ないようにすることにも使えそうです。
Negative:
  • 検出ロジックは発展途上:マイクロソフト組み込みの検出ロジックだけでは、なかなかパワハラセクハラ等の早期検出は難しいのかなと思いました。とはいえ、発展途上のサービスだと思うので、今後の発展に期待しています。
  • 実運用に向けてはチューニングが大変:これは入れただけでは意義のある使い方は難しい製品だと感じました。そのため、「実現したいこと」を具体的に定義して、それに基づいた検出シナリオの整理と検出ロジックの設定を繰り返してチューニングしていく必要があると思います。また、それを実施できるリソース・体力のある会社しか導入できないと思うので、必然と大企業向けのソリューションになるのかなと思います。
  • 力量を持った調査員の育成必須:これを運用していくには、法的知識を含むコンプライアンス領域に明るい、力量を持ったオペレーターを育成してく必要があります。Security Operation Center(SOC)では、オペレーションを外注するなどの手段がありますが、コミュニケーションコンプライアンスの運用の外注できる先はなかなか少ないのではないでしょうか。

まだ検証できていないこと(今後の課題)

今回は基本的な機能を中心に触って紹介しましたが、まだ僕ができていないことで、気になっているテーマとしてはがあります。そちらについては、また別の機会に実施してアウトプットしたいと思います。

  • 明確なシナリオを設定しての検証:今回はシナリオ的に緩い設定で実施しました。具体的なシナリオをもとにした検出実験は今後の課題です。
  • Advanced eDiscoveryを使った大規模かつ詳細な調査:今回はMicrosoft 365にたくさんのデータがなかったため、Advanced eDiscoveryをフル活用した調査ができませんでした。いろんなサービスを連携した上で、再度検証します。
  • Slackのチャットを対象とした検証:当社はSlackを利用しており、Teamsをあまり利用していないので、Slackのデータを食わせて検証すると違った見え方ができるのではと思います。
  • 音声(Zoom等)を対象とした検証:コミュニケーション違反はチャットだけで発生するものではなく、会議などの場でも発生します。そのため、Zoom等の音声データをチェックする検証も今後の課題となっています。

終わりに

本日はMicrosoft 365 Complianceのコミュニケーションコンプライアンスについて、ご紹介させていただきました。とはいえ、まだまだ僕もコミュニケーションコンプライアンスの全ての要素を触り切ったわけではないので今後も引き続き検証とアウトプットを続けていきます。また、 Enterprise Mobility + Security(EMS) Advent Calendar 2021 では、僕の他にも GonowayKakeru も記事を出す予定なので、そちらも是非ご覧ください。

ぐっち

コンサル会社にてISO27017やISMAP等のセキュリティ規格案件を経験した後、クラティブに入社。セキュリティチーム所属ですが、最近は生成AI等を使ったシステムの開発や導入をやっています。趣味はダンス。Microsoft MVP for AI Platform & M365(Copilot)