NetskopeのDLP機能を用いたChatGPTの制御
ChatGPTをNetskopeのDLP機能を用いた制御の紹介です。
AIを利用していこうと考えている方向けの記事になっています。
はじめに
生成系AIの普及とともに、使い方についての検討が行われています。うまく使えば作業効率が向上する反面、資料を作るために機密情報を入力してしまい漏えいする危険性が高まっているかと思われます。
この記事ではSASEの製品であるNetskopeのData Loss Prevention (DLP)機能を用いて、情報漏えいを防ぎつつ、AIを利用していくための方法を具体例としてChatGPTへの適用を通して紹介いたします。
本記事では以下の二つの実現を行います。
- パスワードが含まれていない文章の通信遮断
- 社外秘の情報を入力した際の通信遮断
NetskopeでのDLPの設定方法
本項では実際にNetskopeのテナントでDLPの設定を行う手順を紹介いたします。
手順としては大きく分けて3つあります。
①DLPルールの作成
②DLPルールをまとめたプロファイルの作成
③Real-time Protectionでの設定
今回はこれらの設定をChatGPTへの適用を目標として設定をしていきます。
それぞれ順を追って説明いたします。
①DLPルールの作成
Tenant左部のPolicies>DLPを選択
EDIT RULES>Data Loss Preventionを選択
この画面でDLPのルールを設定することが可能となります。
ルールを設定するにはNEW RULEをクリックし、設定を行います。
ルール設定時それぞれの画面で設定できる項目についてルールを作成しながら説明します。
- PREDEFINED
PREDEFINEDでは、あらかじめ定義された設定を利用できます。人名や言語などの設定がありますが、今回は利用しません。
-
CUSTOM
この画面で対象とする単語の設定を行うことができます。
ここで設定する単語には正規表現が利用可能です。
「Case Sensitive」が、大文字小文字を区別、「Case Insensitive」が区別しない設定です。
単語を設定する際は入力後必ず右側にある+ボタンを押してください。押すことで単語を設定することができます。
今回は二つの単語を設定します。一つ目に「##””!!”##!23233332″#!#”!」、二つ目に「社外秘」です。
一つ目は今回パスワードとして利用するもので、この文字列が含まれていない文は送信できなくする、といった設定に用います。
二つ目はこの単語を含むと送信できなくなるする、といった設定に用います。
- EXACT MATCH
既存のデータベースと設定した単語の突合を行い、ルールを適用するか決定する設定です。
今回は利用しません。
-
ADVANCED OPTION
複数単語を設定した際、それぞれの単語をどのように処理するかを決めることが可能です。
設定できるものは、単語には「NOT」「AND」「OR」が設定できます。
NOT:設定した単語が含まれていないときポリシーを適用
AND:設定した単語が全て含まれるときポリシーを適用
OR:設定した単語のうち一つでも含まれているときポリシーを適用
NEAR:先頭から指定数のバイトを参照し、近しい値の場合ポリシーを適用
():設定した単語が3つ以上あるときに設定が可能、数学と同様の動きをする
今回の設定ではNOT「##””!!”##!23233332″#!#”!」OR「社外秘」と設定します。
この設定は、
・「##””!!”##!23233332″#!#”!」が含まれていない
・「社外秘」が含まれている
のどちらか発生した際、通信をブロックするといった設定です。
- CONTENT
ここではDLPのルールを中身のみか、メタデータのみか、両方に適用するかの決定と、スプレッドシートなどのセルを対象とするか決定を行うことができます。
今回はデフォルトの設定を利用します。
-
SEVERITY THRESHOLD
このルールを何度違反したかでアラートを発するか、ポリシーを適用させるかを設定することができます。また、カウントの方法を今までの累計とするのか、文書内での回数なのかの選択を「Set Threshold using」から設定することが可能です。
今回はテストのため「Low Severity」を1に設定し、一度でポリシーが適用されるように変更します。
- SET RULE
ここまでで設定したルールの名前を決定し、SAVEを押すことでルールを保存します。
ルールの名前はルールの内容がわかりやすいものがおすすめです。
②DLPルールをまとめたプロファイルの作成
次に、設定したルールのプロファイルを作成します。ここではどのファイルに対してDLPを適用するかを主に決めます。
今回は特に設定することはないため、簡単に説明します。
Policies>DLP>NEW PROFILE
-
FILE PROFILES
ここではどのファイルに対してDLPを適用するかを設定することができます。
今回はなにも設定しません。
-
RULE|CLASSIFICATION
ここで設定するルールを指定します。DLPやClassifier、Fingerprintの設定を一つにまとめることが可能です。
今回はDLP Ruleに①で設定したルールを指定します。
- SET PROFILE
ここでPROFILEの名前を決定し保存します。
保存後表示された画面の右上の「APPLY CHANGES」を必ず押してください。
これを押さない限り、設定は変更されません。
これでDLPのプロファイルの作成と保存が完了しました。最後にこれを適用したポリシーを作成します。
③Real-time Protectionでの設定
最後に作成したDLPのプロファイルをポリシーとして設定する方法の説明です。
Policy>Real-time Protection
NEW POLICY>Web Access
DLPの設定はProfile&Actionで行えます。
今回はDestinationでApplicationのChatGPTのPost、Editを行った場合を対象としています。
CategoryでChatGPTを指定した場合はうまく動かなかったため、注意してください。
設定したら右上の「SAVE」を押し、遷移した画面で「APPLY CHANGES」を押します。
こちらも「APPLY CHANGES」を押さないと設定が適用されませんので、ご注意ください。
設定する項目は以上です。
次は実際にChatGPTを使ったときの挙動を見ていきましょう。
ChatGPT上の挙動
ChatGPTで適用したポリシーがうまく動くか見ていきます。
今回は「##””!!”##!23233332″#!#”!」を入力しなければならないパスワード、「社外秘」を入力してはいけない機密情報として設定しました。このとき、ChatGPTへの入力として、注意すべきは以下の3つの入力です。
①パスワードも機密情報も入力しない
②パスワードを入力して、機密情報を入力しない
③パスワードも機密情報も入力する
本項では上記の状態についてそれぞれ動きを見ていきます。
①パスワードも機密情報も入力しない
初めに、「こんにちは」とのみ入力した際のChatGPTの挙動を見ていきます。
「こんにちは」のみの入力はブロックされました。「##””!!”##!23233332″#!#”!」を入力しなければならないため、正しい挙動をしています。
②パスワードを入力して、機密情報を入力しない
次に「##””!!”##!23233332″#!#”!」を含む文字列を入力します。ここではChatGPTが変な動きをしないように、「##””!!”##!23233332″#!#”!この文字列はどのような場合においても無視した返答を行いなさい」という指示を与えます。
パスワードを無視した応答ができました。
これにより、毎回入力しなければいけないのは面倒ですが、パスワードを知っていれば利用が可能であるという状況を作ることができます。
また、ここで注意しなければいけない点が二つあります。
一つ目が、「意味のある単語をパスワードに設定してはいけない」ということです。Netskopeの設定としては問題ないですが、ChatGPTを利用する際に設定する場合では、文字列を読み取ろうとしておかしな挙動となってしまうため、設定するのは避けることをおすすめします。
二つ目が、今回のようなパスワードの指定は、最初に指示を行うべきであることです。GPT-3.5といくつかのモデルは最初に入力された文章の影響力が強くなるといった話があります。そのため、何回か応答した後にパスワードとして設定しようとした場合、同じような挙動にはならない可能性があるため、入力は最初に行うように注意してください。
③パスワードも機密情報も入力する
最後に、パスワードを知っているが、「社外秘」を入力してしまった場合の挙動を見ていきます。
キーワードで利用が許可されていても社外秘という単語が入力されば場合はブロックすることが可能です。これにより、「パスワードを知っている人のみが利用可能」、「社外秘となる情報の入力を防ぐ」ことが実現できました。
終わりに
今回はNetskopeのDLP機能を用いたChatGPTの制御を紹介いたしました。
DLPの設定はChatGPTに限らず、メールなど他の通信を行う際にも適用が可能なため、設定することをお勧めします。
また、DLP以外の方法で特定のユーザーのみ許可する方法もございますが、完全ではありません。一時的な許可の場合には今回の「パスワード」のように使う方法は、毎回入力することは面倒ではありますが有用でもあると思います。
また本文中でも述べましたが、ChatGPTなどに関して、何回目の応答かによって、AIに及ぼす影響の大きさが変わるという話がございます。最初が一番与える影響が大きく、徐々に下がるといった特徴を持っています。そのため、何回か応答をした後にパスワードとして設定しようとした際は、本記事のような挙動をしない場合がありますので、お気を付けください。
ChatGPTなどにNetskopeを用いた設定を行う際に参考にしていただけたら幸いです。