セキュリティチームのぐっちーです。今回のブログでは新しく提供が開始されたNetskope ChatGPT App Connectorなどを使ってChatGPTにおけるDLP等の安全に利用するためにとりえる手段について検証してみました。
前提条件
- Netskope ClientがPCに展開済みである必要がございます。
- 本書で紹介するNetskopeのChatGPTに関する機能についてはプレビュー中の機能が含まれます。本書執筆時点ではR106でリリース予定です。
本ブログの内容は、2023年6月7日時点までの情報を元に作成しておりますが、クラウドサービスの仕様変更等に伴い、将来的に状況が変化することがございます。当社側で仕様変更が確認できた場合は可能な限り修正をしますが、最新の情報を常に維持することは難しい点についてはご了承ください。
ChatGPT 利用に伴うデータ漏洩の懸念
ChatGPT(https://chat.openai.com/)が世の中の注目が集まる一方で、それに伴って情報漏洩等のセキュリティリスクが存在するも無視することはできません。ユーザーがChatGPTに重要情報(個人情報や公開前の製品情報 等)を入力し、そのデータがAIモデルの学習などに利用される場合などは、セキュリティポリシーやプライバシーポリシー、他社に対して秘密保持義務(開示禁止規定・目的外利用の禁止規定)等の違反に該当してしまったり、情報漏洩に該当する可能性があります。
上記のようなリスクを軽減するための機能が2023年5-6月のアップデートにより提供が開始されたので、今回は4つご紹介します。
手法①:カテゴリフィルタを活用して生成AI系のサービスをマルっとブロック
最初に紹介するのは、「Generative AI domains」という新しいWebカテゴリの追加です。Webカテゴリを使うと、個別のWebサイトのURLを登録しなくても、おおまかにWebフィルタリング等を行うことができます。私はお客様に「ギャンブル」や「アダルト」といったカテゴリをブロックすることなどをよくご案内しますが、「Generative AI domains」を使うと生成AI系のサービスに関して個別の設定をすることなくリスク対応ができます。
Webカテゴリを使ったブロックのユースケースとしては、Azure OpenAI Serviceなどで会社専用の生成AIサービスを構築している場合や、自社のSlack等からChatGPTを呼び出しできるようにしている場合です。企業専用の生成AIサービスを使わせて、それ以外はマルっとブロックして使わせないようにしたい場合に有効です。
設定自体はとても簡単で、[Netskope管理コンソール] > [Policies] > [Real-time Rotection]において、「Generative AI domains」というカテゴリを指定してブロックを設定するだけです。
本機能の正式リリースはR106を予定しています。
手法②:カテゴリフィルタを活用して生成AI系のサービス利用時の注意喚起(コーチング)を行う
次に紹介するのは、手法①に少し似ていますが、生成AI系のサービス利用次にユーザーにポップアップで注意喚起を行い、機密データをアップロードしないように教育するという手法です。Netskopeではこの手法を「コーチング」と呼んでいます。
設定方法
まず注意喚起の文章を作成します。[Netskope管理コンソール] > [Policies] > [User Notification]において、このユースケースに沿ったユーザー通知のテンプレートを作成します。
次に[Netskope管理コンソール] > [Policies] > [Real-time Rotection]において、User Alertのポリシーを作成します。Categoryは[Generative AI]を指定し、Actionでは[User Alert]を、Templateでは先ほど作ったテンプレートを指定します。
動作確認
下記の様に、ChatGPTやBardにアクセスしようとした際に、ポップアップで注意喚起(コーチング)が表示されるようになりました。これによって、ユーザーに社内規定に準じた利用を促すことができます。
本機能の正式リリースはR106を予定しています。
手法③:特定のキーワードでDLPをかける
続いて、特定のキーワードでDLP(Data Loss Prevention)をかける手法をご紹介します。ChatGPTのDLPではユーザーが禁止されている文言をChatGPTに投下した際に、「ユーザーにアラートをあげる」「管理者にアラートをあげる」「そもそも投稿をさせない」などのアクションを行うことができます。ここでは、事前に定義した特定のキーワードに合致した場合にそもそも投稿をさせない(ブロック)の設定例を紹介します。
設定方法
DLP Ruleの作成
まず、[Policies] > [DLP] > [Edit Rule] > [Data Loss Prevention Rules] > [NEW RULE]から、DLP Ruleを作成します。[CUSTOM]の部分に検出したい文字列を入力します。作成後は、[APPLY CHANGES]を利用してルールを有効化します。
DLP Profileの作成
次に、[Policies] > [DLP] > [NEW PROFILE]からDLP Profileを作成します。ここでは手順1で作成した、DLP Ruleをアタッチします。作成後は、[APPLY CHANGES]を利用してプロファイルを有効化します。
Real-time Protectionポリシーの作成
最後に、[Policies] > [Real-time Protection] > [NEW POPOLICY]からReal-time Protectionポリシーを作成します。DLP Profileでは先ほど作ったプロファイルをアタッチします。作成後は、[APPLY CHANGES]を利用してポリシーを有効化します。
動作確認
実際の動作としては以下のような形です。「こんにちは」という投稿はできましたが、その後の禁止の文言が含まれた投稿をすることはできませんでした。下記の例では「クラウドネイティブ」という文字列をキーにDLPのブロックを適用しています。
実際の運用では、まず「ChatGPTに掲載してはならない情報」を定義し、それをDLPの設定に落とし込むことができるかを検証する必要はあります。
手法④:ログインユーザー名(From User)の取得
最後に紹介するのはログインユーザー名(From User)の取得です。Netskopeには「誰が」「どのサービスに」アクセスしたかはもちろんですが、加えて「どのアカウントを使って(ログインユーザー)」識別する機能があります。(全てのクラウドサービスに対応しているわけではありません)
今回、Netskope Version 105では、「ChatGPT App Connector」という新しい機能がデフォルトで追加され、ユーザーは特に設定せずとも、その機能を使ってログインユーザー名(From User)の取得ができるようになりました。実際のログは以下のような形です。
ChatGPTには「自社テナント」という概念がないので、この機能だけではキッチリした制御は難しいという側面はありますが、以下のように運用例が考えられます。
運用例1
以下の様に運用すると、私用PCからの「会社のメールアドレスのGoogle認証ログインしたChatGPT」へのログインや、退職後のログイン等のリスクを低減することができると考えています。
- 会社のメールアドレスのGoogle認証でChatGPTにログインしてもらう(ユーザー教育や運用でカバー)
- 条件付きアクセス等を使って、会社PCからしかGoogleにアクセスさせないように設定する(IdP等で設定)
- 「会社のメールアドレスのGoogle認証ログインしたChatGPT」以外は使わせないようにする(Netskopeでチェック)
- 退職時にはちゃんとGoogleのアカウントを消す(管理者の運用等でカバー)
ChatGPTは現時点では、最初にアカウントを作る際にGoogle認証やマイクロソフト認証を使った場合、パスワードでのログインはできない仕様のようです。ただし、ChatGPTの仕様変更は早いので、今後の仕様変更に注意してください。
運用例2
また、以下のように運用すると入力データがAIモデルの学習に利用されるリスクを軽減することができます。
- ChatGPT Organizationを作り、入力データがAIモデルの学習に利用されないようにオプトアウト申請をする。
- オプトアウト申請をした以外はChatGPT Organizationのアカウント以外は使わないようにチェックする。(Netskopeでチェック)
おわりに
今回紹介した手法を利用するには、まず組織としてどのような情報をChatGPTに共有してはならないのかというポリシーを最初に決める必要があるかとは思いますが、そこを定義した上で、それがNetskopeのDLPのルール等に落とし込めそうな場合は、是非利用していただけたら嬉しいです。
参考文献
- ChatGPT App Connector https://docs.netskope.com/en/new-features-and-enhancements-in-release-105-0-0.html#UUID-de2ad2ee-c368-ade7-34dd-990bb8faf7f3_section-idm4606130392777633694504293544
- New Web Category For Generative AI domains https://docs.netskope.com/en/new-features-and-enhancements-in-release-105-0-0.html#UUID-de2ad2ee-c368-ade7-34dd-990bb8faf7f3_section-idm45185264410032336866294382
- 生成AIの利用ガイドライン作成のための手引き https://storialaw.jp/blog/9414
- 生成AIの利用ガイドライン https://www.jdla.org/document/#ai-guideline