SaaS

Netskope API Introspection で Gmail 経由の情報持ち出し検出を試みる

セキュリティチームの ぐっちー です。本日はGmail を経由した内部不正(情報の不正な持ち出し)を検出する方法をご紹介したいと思います。このリスクに対しては様々な製品でアプローチが可能ではありますが、今回はNetskopeのAPI Introspectionという機能を利用します。

想定シナリオ

Gmailの自社テナントを利用して、外部宛にメールを送信することで情報の持ち出しを図るシナリオを想定しています。これは、2021年初頭に世間を騒がせたソフトバンク社元社員による情報の持ち出し事件の経路と、「自社テナントのメール経由」という観点で同様の経路になります。(*1)

Netskope API Introspectionとは?

NetskopeクラウドからAPIでクラウドサービスに接続し、ポリシーの適用やコンテンツの検査を行う機能です。Netskope Clientを用いた通信のスキャン (*2) とはカバーしているログの範囲が異なることから、並行して利用することでより厳密なリスクへの対策が可能になります。

Netskope API IntrospectionはGoogle Drive、Microsoft Office 365 OneDrive、Box、Slackなどのサービスに対応しており、現在対応しているクラウドサービスについてはヘルプページをご確認ください。また、この機能は対象のクラウドサービスごとに検知できる内容などが異なりますので、そちらも詳細を確認したい方はヘルプページをご確認ください。

※ Netskope全体の機能概要は当社HPの特設ページで紹介しておりますので、そちらも是非ご覧ください。

前提条件

  • 本機能を利用するには、通常のライセンスに加えてオプションのライセンスである「Netskope API Introspection(Gmail)」のライセンスが必要となります。
  • 本機能(Netskope API Introspection)は「事前に管理者が定義した検出ロジック」を元に情報の持ち出しを検出するものとなっています。そのため導入するだけでは情報の持ち出しを検出することができず、導入後の設定(チューニング)が必要となります。
  • 本機能(Netskope API Introspection)としては私用Gmailにファイルをアップロードする形で情報を漏洩するというシナリオに対応していません。しかしながら、Netskope全体としてはNetskope Clientを用いた通信のスキャンを活用することで、検出を試みることが可能です。(「Netskope API Introspectionとは?」にも記載した通り、両者はカバー範囲が異なることから、併用することでより高い効果が見込めます。)
  • 本記事で紹介しているのは設定の参考例です。「この設定をすれば必ずGmail経由の持ち出しを検出できる」という類のものではありません。実際に利用する際には自社ルール(例えばラベル付ルールなど)や業務などに照らして設定していただきますようよろしくお願いします。

Netskope API Introspection(Gmail)でできること紹介

1. メール本文・添付ファイルを検査

Netskope API Introspection(Gmail)では、自社テナントから送付されたメールの本文と添付ファイルに対して、事前に定義した検出ロジックに該当しているかを確認し、アラートを上げることができます。アラートを上げる条件(検出ロジック)はNetskopeのDLPを利用して設定しますが、本記事では「個別設定」で解説しています。また詳細はNetskopeのヘルプページをご確認ください。

アラートには、送信先メールアドレスや添付ファイルの名前(メール本文や添付ファイルが事前に定義した検出ロジックに該当している場合のみ)などの情報を含むため、情報の持ち出しが疑われるメールを検出することができます。

2. 違反メールの本文と添付ファイルをダウンロードして調査

上記で検出したメールに対して、本文と添付ファイルをダウンロードして調査することができます。送信先のアドレスや添付ファイル名ですと、高度に偽装されたメールなどの判別が難しいですが、本文と添付ファイルをダウンロードしてチェックすることで業務で必要な情報の送付なのか、持ち出しなのかを判定する手助けとなります。

下記の図のように[API-enabled Protection ダッシュボード] > [Gmail] > [Email wth Violations] のトップ画面から個別のアラートを選択すると、メール本文と添付ファイルがダウンロード可能となります。

しかし、この機能は従業員のプライバシーであったり、管理権限を持つユーザーが必要以上の情報に触れてしまう問題を引き起こす可能性がある点で注意が必要です。そのため、この機能を利用する際には、職務分掌の定義や、事前の運用設計をしてから導入することをお勧めます。その際には、Netskopeの機能として管理ユーザーの閲覧範囲をカスタマイズすることができるので、それを利用して制限することがいいと思います。(詳細はヘルプページをご覧ください)

基本設定

基本設定概要

Netskope API IntrospectionでDLPを設定するには、「DLP Ruleの作成」「DLP Profileの作成」「API Introspection Policyの作成」という3つの手順を踏むことが必要です。(*3) これだけ聞くと、面倒に感じますが、作成したDLP RuleやDLP Profileを他の設定項目で再利用したりできるので、使い込んでいくには便利な仕様であると考えています。

1. DLP Ruleの作成

[Policies] > [DLP] > [Edit Rule] > [Data Loss Prevention Rules] > [NEW RULE]から、DLP Ruleを作成します。

作成後は、[APPLY CHANGES]を利用してポリシーを有効化します。

2. DLP Profileの作成

[Policies] > [DLP] > [NEW PROFILE]からDLP Profileを作成します。ここでは手順1で作成した、DLP Ruleをアタッチします。※ただし、下記のパターン②(メール添付ファイルの容量での検知)やパターン③(添付ファイルにパスワードがかかっていたら検知)などだけで検知したい場合は必須ではありません。

作成後は、[APPLY CHANGES]を利用してポリシーを有効化します。

3. API Introspection Policyを設定

[Policies] > [API Data Protection] > [NEW POLICY] からAPI Introspection Policyを作成します。ここでは、手順2で作成した、DLP Profileをアタッチします。

作成後は、[APPLY CHANGES]を利用してポリシーを有効化します。

個別設定

個別設定概要

「基本設定」では細かな設定項目については触れませんでしたが、これから具体的な検出の切り口(検出ロジック)の話をしたいと思います。上記で紹介した「基本設定」を実施している途中で、以下で紹介する設定を実施することで、検出の切り口を定義することができます。

これを1つ、若しくは複数組み合わせることで、違反しているメールを検出することを目指します。

パターン①:特定の文字列を含んでいたら検知

「社外秘」や「厳秘」などの特定の文字列を含んでいたら、DLPで検出するようにします。ISMSなどでよくある「情報のラベル付」というものがありますが、そのルールなどに合わせて登録をすると有効だと考えています。また、単純文字列以外にも、正規表現やユーザーが登録する辞書による設定も可能です。

  1. [Policies] > [DLP] > [Edit Rule] > [Data Loss Prevention Rules] > [NEW RULE]を選択します。(基本設定の「DLP Ruleの作成」です。)
  2. [CUSTOM]の部分に検出したい文字列を入力します。
今回の検証においては、「機密性1」に合致する場合にアラートをあげるように設定しています。

パターン②:メール添付ファイルの容量での検知

添付ファイルが一定の容量以上だった場合に、DLPで検出するようにします。

1. DLP Profileを作成する際に、[FILE PROFILES] > [NEW FILE PROFILE]を選択する。 (基本設定の「DLP Profileの作成」です。)

2. [File Size]を選択し、任意の数字を入力します。

今回の設定では1メガバイト以上の添付ファイルの場合にアラートをあげるように設定しています。

パターン③:添付ファイルにパスワードがかかっていたら検知

添付ファイルがパスワードがかかっていた場合(例えばzipパスワードやOfiiceのパスワード機能など)で、DLPで検出するようにします。パターン①で特定の文字列による検知を紹介しましたが、パスワードがかかっているとこれが機能しなくなるので、パターン①と並行で設定すると有効です。

1. DLP Profileを作成する際に、[FILE PROFILES] > [NEW FILE PROFILE]を選択します。(基本設定の「DLP Profileの作成」です。)

2. [Protected/Encrypted]を選択し、[File is password-protected]にチェックボックスを入れます。

パターン④:特定の拡張子だった場合に検知する

添付ファイルが特定のファイル拡張子だった場合に、DLPで検出するようにします。

1. [API Data Protection Policy]の[New API Data Protection Policy]に遷移します。(基本設定の「API Introspection Policyの作成」です。)

2. [EMAIL OPTIONS]の項目の、[SCAN EMAIL CONTENT] > [View All]を選択します。

3. DLPポリシーで検出したいファイルタイプを選択し、[SAVE]を押下します。設定可能なファイル形式は2021年9月29日時点で25形式ありました。

4. 他の設定項目も設定の上、右上の[SAVE]を選択します。

パターン⑤:メール添付ファイルの送信先ドメインでの検知

添付ファイルの送信先が特定のドメインだった場合に、DLPで検出するようにします。

1. [API Data Protection Policy]の[New API Data Protection Policy]に遷移します。(基本設定の「API Introspection Policyの作成」です。)

2. [EMAIL OPTIONS]の項目の、[SCAN EMAIL SENT TO] > [Domain Profile] > [Create New]を選択します。

3. DLPポリシーで検出したいドメインを入力し、新しい「Domain Profile」を作成します。

個人Gmailにメールを送るケースで検出するように設定しています。

4. 再び[EMAIL OPTIONS]の項目の、[SCAN EMAIL SENT TO] > [Domain Profile] から、先ほど作った「Domain Profile」を選択します。

5. 他の設定項目も設定の上、右上の[SAVE]を選択します。

終わりに

メールを利用した情報の持ち出しはどの組織でも発生する可能性があるリスクだと思いますので、是非参考にしていただけたらと思います。また、今回紹介した検出の切り口は数ある設定の抜粋ですので、他に良さそうな切り口があれば随時アップデートしたいと思います。

*1 参考:ソフトバンク元社員の営業秘密持ち出しは他人事ではない、IT9社の対策は?

*2 「Netskope Clientを用いた通信のスキャン」とは、Netskope Clientをインストールしたエンドユーザーの端末からNetskopeクラウドにトラフィックを転送し、Netskopeクラウドにてトラフィックを検査する機能です。この機能の仕組みについては、ヘルプページをご確認ください。

*3 基本設定の公式の手順は以下の通りです。

ぐっち

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