Copilotの利用による情報漏洩リスクへの対策
Microsoftは2023年12月1日より、Copilot(旧称 Bing Chat/Bing Chat Enterprise)の一般向け提供を開始しました。
このCopilotでは、サインインしているアカウントによって『組織の商用データ保護』(情報漏洩の防止を目的として、ユーザが入力したデータをAIの学習に利用できないようにする機能)が利用できるかどうかが自動的に切り替わります。
個人用のアカウント(Microsoft アカウント)やオンプレミスのADアカウントでサインインしている場合は、旧Bing Chat と同様にデータ保護はありませんが、適切なラインセンスを持つ組織アカウント(Entra ID)の場合は、旧Bing Chat Enterprise と同様にデータ保護が有効になります。
しかし、組織内にこれらのアカウントが混在しており、データ保護が無効の状態でCopilotを使用することによる情報漏洩のリスクが有る場合、Copilotを使用させたくないということもあるでしょう。
CopilotはBingに含まれる機能であるため、Webプロキシやファイアウォールで『www.bing.com』への通信を遮断すれば利用を制限できますが、通常のWeb検索などの機能も利用できなくなってしまいます。
そこで、Copilotのみを無効にしたいというユーザのための方法をMicrosoftが用意してくれています。
※現時点(2024年1月8日)では、データ保護が有効にならないアカウントを利用している端末のみCopilotを無効(使用禁止)にする機能はMicrosoft側では用意していないようです。
具体的な方法は
こちらの記事などが参考になりますが、簡単に言うと
クライアントが『www.bing.com』にアクセスする際に『nochat.bing.com』のIPアドレスにアクセスさせるようにする
ことにより、Copilotが無効になった状態でBingを使用させることができます。
前述のITメディアの記事でも解説されているように、Hostsファイルに記述する方法では『nochat.bing.com』のIPアドレスが変更された場合などを考えると、別の解決策がほしいところです。
そこで本記事では、キャッシュDNSサーバ(BIND9)のRPZ(Response Policy Zone)を使用して、Copilotのみを無効にする方法を紹介します。
RPZ (Response Policy Zones)とは、フィッシングサイトやマルウェア配布サイトといった、 特定のノードへの接続防止などを目的とした、DNSによるフィルタリング機能の一つです。
https://www.nic.ad.jp/ja/basics/terms/rpz.html
制限実施による変化
まず、制限されていない状態のBingです。
上部に『チャット』のリンクがあり、サイドバー(Edgeを使用している場合)のCopilotアイコンも利用できます。
次に制限を実施した場合のBingです。
サイドバーを含めて、Copilotは使用できなくなっています。
BINDのRPZを設定する
今回はCopilotの制限方法としてRPZを使用する方法を紹介することが目的ですので、BINDの詳細な説明は割愛します。
RPZの有効化
BINDのoptions設定でRPZを有効化します。
options {
...
response-policy {
zone "rpz.local";
};
...
}
RPZ用ゾーンファイルの設定
zone "rpz.local" {
type master;
file "rpz.local";
};
※allow-query や allow-transfer も環境に応じて設定してください。
$TTL 3600
@ IN SOA ns01.example.com. hostmaster.example.com. (
2024010801 ; serial number
3600 ; refresh period
60 ; retry period
604800 ; expire time
60 ) ; minimum TTL
IN NS ns01.example.com.
www.bing.com IN CNAME nochat.bing.com.
strict.bing.com IN CNAME nochat.bing.com.
edgeservices.bing.com IN CNAME nochat.bing.com.
『www.bing.com』と『strict.bing.com』(セーフサーチを有効化している場合のBing)および『edgeservices.bing.com』(Edgeサイドバー)を、それぞれ『nochat.bing.com』のCNAMEとして登録しています。
以上の設定ができたら、namedをリロードして設定を反映します。
$ sudo named-checkconf
$ sudo named-checkzone rpz.local ./rpz.local
zone rpz.local/IN: loaded serial 2024010801
OK
$ sudo systemctl reload named
動作確認
DNSサーバ上での確認
$ dig @localhost www.bing.com +nostat
; <<>> DiG 9.18.18-0ubuntu0.22.04.1-Ubuntu <<>> @localhost www.bing.com +nostat
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2648
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 30581f6277ae961101000000659bb0546621c95b78db0247 (good)
;; QUESTION SECTION:
;www.bing.com. IN A
;; ANSWER SECTION:
www.bing.com. 5 IN CNAME nochat.bing.com.
nochat.bing.com. 3498 IN CNAME nochat-bing-com.dual-a-0038.a-msedge.net.
nochat-bing-com.dual-a-0038.a-msedge.net. 60 IN CNAME dual-a-0038.a-msedge.net.
dual-a-0038.a-msedge.net. 60 IN A 204.79.197.240
dual-a-0038.a-msedge.net. 60 IN A 13.107.21.240
;; ADDITIONAL SECTION:
rpz.local. 1 IN SOA ns01.example.com. hostmaster.example.com. 2024010801 3600 60 604800 60
クライアント(Windows)での確認
C:Usershoge> nslookup
既定のサーバー: UnKnown
Address: 192.168.0.1
> www.bing.com
サーバー: UnKnown
Address: 192.168.0.1
権限のない回答:
名前: dual-a-0038.a-msedge.net
Addresses: 2620:1ec:c11::240
2620:1ec:12::240
204.79.197.240
13.107.21.240
Aliases: www.bing.com
nochat.bing.com
nochat-bing-com.dual-a-0038.a-msedge.net
以上で設定は完了です。
Bing(www.bing.com)にアクセスしてCopilotが無効になっていることを確認してみましょう。