Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-セキュリティ- CISSP練習問題を量産する

今年もこのブログをよろしくお願いします。

昨年の12月に最初は数日おきに、途中から毎日CISSPの練習問題を作成して投稿する、という企画を実行してみました。

 

CISSP資格試験の問題は巨大なテスト問題のバンクからほぼランダムに選んで各受験者に対して出題されるため、「2023年の試験問題のコピー」というようなものは概念的にも実際にも存在しません。受験希望者は有料や無料の練習問題を入手して頑張って解く練習をします。私も独学で勉強する中で練習問題を購入して解きました。

 

この企画の動機としては2つあります。公式な動機は、CISSPの練習問題づくりが自分の復習や能力の維持に役立ちそうだし、他の人の参考になるかもしれない、ということでした。非公式な動機は、、、実は半年くらい前にchatGPTを使ってCISSPの練習問題を作れることに気がつき、大量生産してみたらどうなるか試してみたいと思ったことです。

 

お気づきの方がいたかどうかはわかりませんが、昨年12月に出題したほとんど全ての問題はchatGPT無料版と私の合作でした。この記事では「こんなふうにするとchatGPTでCISSP練習問題が作れる」というのを示してみたいと思います。

 

chatGPTに単純に「CISSPの練習問題を作成して下さい」と入力してみると意外とそれっぽい問題が出力されます。これをベースのプロンプトとして、4択であること、正当が必要なこと、正当や間違った選択肢の理由が必要なことをプロンプトに含めます。また最近よく言われている役割設定(セキュリティの専門家など)を入れます。

 

より問題の精度を上げるために入力としてセンキュリティの分野、単語、簡単な説明文などを与えると良いです。

 

出来上がったプロンプトの例を示しましょう。

あなたは、CISSP資格を保持する優秀な情報セキュリティ専門家です。CISSP資格試験の練習問題を作成して下さい。下記の制約条件を満たすようにお願いします。

#制約条件: {
・日本語で作成して下さい。
・4択形式で正答は1つだけです。
・入力文の内容に沿った問題を作成して下さい。
・出題する問題数は3です。
・正答とその理由を示して下さい。
・間違った選択肢の理由を示して下さい。
}

#入力文: {
VPNは、インターネットや多人数が利用する閉域網を介して、暗号化やトラフィック制御技術により、プライベートネットワーク間が、あたかも専用線接続されているかのような状況を実現するものである。
VPNは必ずしも暗号化を目的としていない。VPNで利用されるプロトコルには、SSH/TLSSSL)/IPsec/PPTP/L2TP/L2F/MPLSなどの種類があり、利用するプロトコルやオプションによって提供される機能は異なる。
}

入力文はVirtual private network - Wikipediaの概要から引用しました。このプロンプトを実行させて作られた3つの問題の1つが以下のものです。

質問3:
VPNで利用されるプロトコルにはどれが含まれますか?

1. HTTP/SMTP/FTP
2. SSH/TLSSSL)/IPsec/PPTP
3. TCP/UDP/IP
4. DNS/DHCP/ICMP


正答:
SSH/TLSSSL)/IPsec/PPTP
理由:
VPNで利用されるプロトコルには、SSHTLSSSL)、IPsecPPTPなどが含まれます。これらのプロトコルVPN接続においてセキュリティや通信の安全性を確保するために利用されます。

一応問題としての体裁は整っています。ただ間違った選択肢の理由の指示は無視されていますね。ちなみに他の2つの問題は回答が間違っていました。この問題も回答が易し過ぎる気はします。VPNではTCP/UDP/IPも利用される場合がありますがこれを選ぶ人はいないでしょう。

 

そこでこの問題をベースにして追加の問題を作成してもらいました。数問作成させたところ以下の問題が得られました。

質問:
VPN接続において、Split Tunnelingの利点として正しいものはどれですか?

1. トラフィックがすべてVPN経由で送信され、セキュリティが向上する。
2. ローカルネットワークへの直接アクセスが可能で、インターネットへの接続が高速になる。
3. すべての通信が暗号化され、外部からの盗聴を防ぐ。
4. VPNサーバーとの接続が途切れた場合でも通信が自動的に中断される。
正答:
ローカルネットワークへの直接アクセスが可能で、インターネットへの接続が高速になる。
理由:
Split Tunnelingは、VPN接続時に一部のトラフィックVPN経由で送信し、一部はローカルネットワークに直接送信する機能です。この機能により、ローカルネットワークへのアクセスが可能で、同時にインターネットへの接続も高速になります。他の選択肢はSplit Tunnelingの特徴とは関係がありません。

Split Tunnelingというちょっとマニアックな機能についての問題が出題されました。この機能をGoogle検索で確認すると一応正しそうです。さらにここでは他の選択肢が間違っている理由に軽く触れてくれています。いい感じの問題ができました。

 

ちょっと怖いのはネット上のどこかの問題をそのままパクってくることです。念の為質問文をGoogle検索してみて同じような問題がないか確認すると良いです。上記の問題は検索してみてもSplit Tunnelingの説明のサイトばかりだったので大丈夫そうです。

 

問題の内容や正答/誤答を確認し体裁を整えたりHTMLに変換したりしてブログに投稿するのにかかる時間は大体30分くらいでした。1日1問作って投稿するのはそれなりに楽しかったです。皆さんも試してみて下さい。