令和7年度春期 情報処理安全確保支援士(午後試験 問2)解説
テーマ: SQLインジェクション・ブラインドSQLインジェクション・脆弱性診断・CVSS v3・EPSS・OpenSSH・クライアント認証・アクセス制御・最小権限・脆弱性対応優先度
この問題の全体像
本問は、M社が保有する公開Webサイトの脆弱性診断と、検出した脆弱性の対応優先度を決定する方法を題材にしています。前半ではブラインドSQLインジェクション、OpenSSH、Webアプリケーションのアクセス制御を扱います。後半ではCVSS基本値・現状値・環境値とEPSS値を組み合わせ、脆弱性をS~Cの優先度へ分類します。
表記について
「問題文からの引用」は、問題冊子の本文、表又は図から、解答根拠となる箇所を引用形式で示しています。引用後の「着眼点・注目ポイント」で判断方法を整理し、その後に正解と解説を示します。
関連記事(ほかの過去問解説を探す)
-
情報処理安全確保支援士 午後試験・過去問解説リンク集
年度・大問ごとの解説記事を一覧から選べます。別年度や別問題を続けて学習する場合に利用してください。
目次・設問ジャンプ
- 設問1(ブラインドSQLインジェクション)
- 設問2(診断結果が変化した要因)
- 設問3(PF診断で検出された脆弱性)
- 設問4(Webアプリ診断で検出された脆弱性)
- 設問5(脆弱性評価方法)
- 設問6(対応優先度の算出)
- 学習上の重要ポイント
設問1 〔ブラインドSQLインジェクション〕について
1. 表1の空欄a~eについて
問題文からの引用
「コンテンツ番号がDBサーバ上に存在しない場合、又はSQLが構文エラーになる場合は、“コンテンツがありません”というメッセージを返す。」
「Webアプリケーションプログラムにおいて、クエリパラメータarticleの値はSQLでの検索では数値型として扱われる。」
着眼点・注目ポイント
末尾のシングルクォートによる構文エラー、文字列条件、数値条件を区別します。問題文では、SQLが構文エラーになった場合と、検索対象が存在しない場合のどちらにも、同じメッセージが返ります。
- 正解: a:ア、b:ア、c:ア、d:ア、e:イ
| 空欄 | クエリパラメータの要点 | 判定 | 応答 |
|---|---|---|---|
| a | 数値の後ろに ' を付加 |
SQL構文エラー | ア |
| b | シングルクォートを含む文字列条件を付加 | 数値型として扱うSQLでは構文エラー | ア |
| c | シングルクォートを含む偽の文字列条件を付加 | 数値型として扱うSQLでは構文エラー | ア |
| d |
and 1=0 を付加 |
条件が偽となり該当データなし | ア |
| e |
and 1=1 を付加 |
条件が真となり元の検索結果を返す | イ |
選択肢の解説
- ア(“コンテンツがありません”というメッセージ): a~dの正解です。構文エラー又は検索結果なしの場合に返されます。
-
イ(2025年4月1日のキャンペーンのコンテンツ): eの正解です。
1=1は常に真なので、元のコンテンツが返されます。 - ウ(サーバから応答が返されない): 不適切です。問題文には、該当条件で無応答になる仕様は示されていません。
- エ(内部サーバエラー): 不適切です。SQL構文エラー時には、内部サーバエラーではなく指定のメッセージを返す仕様です。
ブラインドSQLインジェクションのポイント: エラー内容やDBの値が直接表示されなくても、条件を真・偽に変えたときの応答差を繰り返し観測することで、DB内の情報を少しずつ推測できます。本問では「コンテンツが返るか、メッセージになるか」が差分です。
設問2 〔診断結果が変化した要因〕について
1. 空欄f・gについて
問題文からの引用
「初回リリース時の両診断以降にアップデートや設定変更をしていないにもかかわらず、初回リリース時の両診断結果と今回の一斉診断結果が異なっている場合もあった。」
「診断結果が異なっていた要因は、[ f ] や [ g ] だった。」
着眼点・注目ポイント
対象サイトを変更していなくても、時間の経過によって新しい脆弱性が公表されたり、脆弱性のリスク評価が変化したりします。解答はそれぞれ20字以内、順不同です。
-
正解:
- f:新たな脆弱性が発見されたこと
- g:リスクが変わったと評価し値を変えたこと
- 解説: 初回診断時には知られていなかった脆弱性が、後から発見・公表されることがあります。また、既知の脆弱性でも、攻撃手法の公開や悪用状況の変化などによってリスク評価が変わり、値が見直される場合があります。このため、サイトに変更がなくても診断結果は変わり得ます。
結論: 「一度診断して問題がなかった」ことは、将来も安全であることを保証しません。公開サイトには、初回リリース後も定期的な診断が必要です。
設問3 〔PF診断で検出された脆弱性〕について
1. (1) 表4の空欄h~kについて
問題文からの引用
「“TLS暗号設定ガイドライン Ver.3.1.0”の“4. 推奨セキュリティ型の要求設定”には、表4に示す鍵交換におけるビットセキュリティの基準を満たすよう記載されていた。」
着眼点・注目ポイント
ECDHEでは楕円曲線、DHEでは鍵長を基準として、要求されるビットセキュリティを満たします。選択肢の組合せを確認します。
- 正解: ウ(h:128、i:曲線、j:112、k:鍵長)
選択肢の解説
- ア: 不適切です。ECDHEとDHEに対応するビットセキュリティの値が逆です。
- イ: 不適切です。ECDHEに「直線」、DHEに「署名」を当てており、基準項目として成立しません。
- ウ: 正解です。 ECDHEは128ビットセキュリティ以上を満たす曲線、DHEは112ビットセキュリティ以上を満たす鍵長を用います。
- エ: 不適切です。「直線」「署名」は、表4の鍵交換パラメータの説明に合いません。
2. (2) 下線①の攻撃を早期検知する方法について
問題文からの引用
「認証試行の接続時間(LoginGraceTime)の設定が120秒の場合、その間に100件試行されると、OpenSSHのログに“Timeout before authentication”という認証タイムアウトのメッセージが多数出力され、3~4時間で悪用に成功する可能性がある。」
着眼点・注目ポイント
攻撃の前兆としてログへ多数出力される具体的なメッセージを監視し、担当者へ通知します。
- 正解: OpenSSHのログに認証タイムアウトのメッセージの出力が多数あったらサイト担当者に電子メールでアラートを送る。
- 解説: 攻撃時には、認証試行のタイムアウト処理が同時に多数発生し、ログへ同種のメッセージが繰り返し出力されます。そこで、OpenSSHログを監視し、一定数以上の認証タイムアウトを検知した場合に担当者へ通知することで、悪用成功前の対応につなげます。
3. (3) 下線②で採用した対策について
問題文からの引用
「脆弱性PB-2は、送信元IPアドレス制限が対策の一つだが現実的な運用が難しい。」
「サイトBでは、②アクセス元のPCを認証する対策を採用した。」
着眼点・注目ポイント
送信元IPアドレスではなく、アクセス元のPC自体を認証する方式を20字以内で答えます。
- 正解: クライアント認証を行う。
- 解説: クライアント証明書などを用いて接続端末を認証すれば、正規の証明書を持つPCだけに管理者用ログイン画面へのアクセスを許可できます。送信元IPアドレスが変動する自宅や外出先からでも、端末を基準にアクセスを制限できます。
設問4 〔Webアプリ診断で検出された脆弱性〕について
1. (1) WA-1とWB-1のAttack Complexityについて
問題文からの引用
WA-1:「パラメータitemの5桁の数字を変更することによって一般会員が本来閲覧できない商品の説明画面を閲覧できた。」
WB-1:「管理者用アカウントでログインし、発注確認機能のURLを確認後、一般利用者アカウントでログインし直し、当該URLを入力することによって管理者用の画面を閲覧できた。」
着眼点・注目ポイント
ACは、攻撃者の制御できない条件や、攻撃成功までに必要となる準備の複雑さを評価します。影響の大きさではなく、攻撃条件に着目します。
-
正解:
- WA-1: パラメータitemの値が容易に推測できること
- WB-1: 発注確認機能のURLが推測困難であり、そのURLを入手する必要があること
- 解説: WA-1は5桁の値を変更して試行でき、その値も容易に推測できるため、攻撃条件は単純でACはLです。WB-1は、推測しにくい管理者用URLを事前に入手しなければならず、攻撃成功に追加条件があるためACはHです。
重要: WB-1の機密性への影響は大きい一方、ACはHです。CVSSでは、攻撃の難しさと被害の大きさを別々に評価します。
2. (2) 下線④に該当するサイトCの仕様について
問題文からの引用
「管理者権限が必要な操作ができなかったのは、サイトCの仕様どおりであった。」
図2の項番3:「Webアプリケーションプログラムは、一般利用者権限の専用アカウントでプロセスを実行している。」
着眼点・注目ポイント
OSコマンドインジェクションで実行されるコマンドの権限は、Webアプリケーションプロセスの実行アカウントに依存します。
- 正解: 3
- 解説: Webアプリケーションが一般利用者権限の専用アカウントで動作しているため、注入したOSコマンドもその権限範囲で実行されます。したがって、管理者権限が必要な操作は実行できません。これは最小権限によって被害範囲が限定された例です。
設問5 〔脆弱性評価方法の検討〕について
1. (1) 現状値とEPSS値の手間の違いについて
問題文からの引用
「現状値とEPSS値を比べると、現状値は手間が掛かり、EPSS値は手間が掛からないとされている。」
着眼点・注目ポイント
現状値は攻撃コードの成熟度などを組織側で調査・判断します。EPSS値はFIRSTが公開する値を参照できます。それぞれ40字以内です。
-
正解:
- 現状値: 攻撃コードなどの情報を多くの公開サイトにある情報から判断する必要があるから
- EPSS値: FIRSTのサイトで公開されている値をそのまま使えばよいから
- 解説: CVSS現状値は、攻撃コードの利用可能性や対策状況など、時間とともに変化する情報を収集して評価する必要があります。一方、EPSS値はFIRSTが公開する予測値を参照するため、組織が同じ評価を一から算出する必要がありません。
2. (2) 空欄lについて
問題文からの引用
「EPSS値を用いた脆弱性評価について、しきい値の見直し以外にも、[ l ] を継続的に行うことで被害を防ぐ助けになるだろう。」
着眼点・注目ポイント
EPSS値は時間とともに変化し得ます。初回評価だけで終わらせず、値の変化を追う運用を答えます。15字以内です。
- 正解: EPSS値の監視
- 解説: 公開当初は低かったEPSS値が、攻撃コードの公開や悪用状況の変化によって上昇することがあります。継続監視によって、しきい値を超えた脆弱性を再評価し、対応漏れを防ぎます。
3. (3) 下線⑥でEPSS値を高いとみなす理由について
問題文からの引用
「P社のWebアプリ診断は、脆弱性が実際に悪用できることを確認した上で報告してくれる。」
「P社のWebアプリ診断であれば、見つかった脆弱性のEPSS値は、しきい値Bよりも高いとみなすのが妥当である。」
着眼点・注目ポイント
P社は、机上の可能性ではなく、診断時に実際に悪用可能であることを確認しています。30字以内です。
- 正解: 診断時に実際に悪用できることを確認しているから
- 解説: EPSSは、脆弱性が一定期間内に悪用される可能性を予測する指標です。本問ではP社が悪用可能性を実証済みなので、EPSS値が報告されない場合でも、しきい値Bより高いものとみなし、安全側に評価します。
設問6 〔対応優先度の算出〕について
1. 表7・表8の空欄m~tについて
問題文からの引用
「しきい値Aは7.0に、しきい値Bは1%に設定する。領域IVは対応不要とし、領域I~IIIを2次評価の対象にする。」
表6の対応優先度表では、領域I・IIIと領域IIについて、CVSSv3環境値に応じてS~Cを決定する。
着眼点・注目ポイント
まずPF診断で検出された脆弱性は基本値とEPSS値で領域を決め、次に領域と環境値を表6へ当てはめます。Webアプリ診断の脆弱性は、下線⑥の方針に沿って領域I又はIIIとして扱います。
- 正解: m:A、n:A、o:C、p:A、q:B、r:B、s:A、t:S
1次評価の領域判定
| 基本値 | EPSS値 | 領域 |
|---|---|---|
| しきい値A以上 | しきい値B以上 | I |
| しきい値A以上 | しきい値B未満 | II |
| しきい値A未満 | しきい値B以上 | III |
| しきい値A未満 | しきい値B未満 | IV |
本問では、しきい値Aは7.0、しきい値Bは1%です。P社のWebアプリ診断で検出された脆弱性は、実際に悪用可能であることを確認済みなので、EPSS値をしきい値B以上とみなします。
各脆弱性の対応優先度
| 空欄 | 脆弱性 | 1次評価の領域 | CVSS環境値 | 対応優先度 |
|---|---|---|---|---|
| m | PB-1 | I | 8.1 | A |
| n | PC-1 | III | 7.7 | A |
| o | PD-1 | II | 5.7 | C |
| p | PD-2 | I | 8.0 | A |
| q | PE-1 | III | 6.5 | B |
| r | WA-1 | III | 5.0 | B |
| s | WB-1 | III | 7.1 | A |
| t | WC-1 | I | 9.8 | S |
各判定の解説
- PB-1: 基本値8.1、EPSS値39%なので領域Iです。環境値8.1を表6へ当てはめてAです。
- PC-1: 基本値5.9はしきい値A未満、EPSS値96.54%はしきい値B以上なので領域IIIです。表6の領域I・IIIの行と環境値7.7を組み合わせてAです。
- PD-1: 基本値7.2はしきい値A以上、EPSS値0.0%はしきい値B未満なので領域IIです。表6の領域IIの行と環境値5.7を組み合わせてCです。
- PD-2: 基本値9.8、EPSS値2.6%なので領域Iです。環境値8.0からAです。
- PE-1: 基本値6.5、EPSS値8.7%なので領域IIIです。環境値6.5からBです。
- WA-1: P社が悪用可能性を確認したWebアプリ脆弱性なので領域I又はIIIとして扱います。基本値4.3はしきい値A未満なので領域III、環境値5.0からBです。
- WB-1: P社が悪用可能性を確認しているためEPSS値をしきい値B以上とみなし、基本値5.3はしきい値A未満なので領域IIIです。表6の領域I・IIIの行と環境値7.1を組み合わせてAです。
- WC-1: 基本値9.8かつEPSSは高いとみなすため領域Iです。環境値9.8からSです。
補足: 表6では領域IとIIIが同じ優先度行にまとめられているため、両者の違いが最終優先度へ直接影響しない場合があります。また、領域IIも2次評価の対象なので、PD-1は環境値5.7との組合せでCになります。領域IVだけが対応不要です。
学習上の重要ポイント
1. 応答の差から情報を推測する攻撃を理解する
ブラインドSQLインジェクションでは、DBの値が直接表示されなくても、真偽条件による応答差を繰り返し観測して情報を推測します。
2. 深刻度と対応優先度を区別する
CVSS基本値は脆弱性そのものの技術的特性を表します。実際の対応優先度は、悪用される可能性や自組織の環境を考慮して決めます。
3. 定期診断と継続監視を組み合わせる
新しい脆弱性の発見、評価値の変化、EPSS値の上昇に対応するため、定期的な診断と継続的な情報監視が必要です。
4. ACは被害の大きさではなく攻撃条件を評価する
WB-1は漏えいする情報量が多くても、推測困難なURLの事前入手が必要なのでACはHです。影響度と攻撃難易度を混同しないようにします。
5. 最小権限は侵害後の影響を限定する
サイトCにはOSコマンドインジェクションがありますが、Webアプリケーションを一般利用者権限で動かしていたため、管理者権限が必要な操作はできませんでした。
記述式設問の解答作成ポイント
- 設問2: サイト側の変更ではなく、「新しい脆弱性の発見」と「リスク評価値の変更」という時間経過による要因を書きます。
- 設問3 (2): 監視対象のログ、検知条件、通知先、通知方法を具体的に含めます。
- 設問4 (1): ACの評価なので、漏えい情報の重要度ではなく、攻撃成立に必要な条件の複雑さを述べます。
- 設問5 (1): 現状値は自組織で情報を収集・判断する必要がある一方、EPSS値は公開値を利用できるという対比を示します。
解答一覧
- 設問1: a ア、b ア、c ア、d ア、e イ
- 設問2: f 新たな脆弱性が発見されたこと、g リスクが変わったと評価し値を変えたこと(順不同)
- 設問3 (1): ウ
- 設問3 (2): OpenSSHのログに認証タイムアウトのメッセージの出力が多数あったらサイト担当者に電子メールでアラートを送る。
- 設問3 (3): クライアント認証を行う。
- 設問4 (1): WA-1はパラメータitemの値が容易に推測できる。WB-1は発注確認機能のURLが推測困難で、URLを入手する必要がある。
- 設問4 (2): 3
- 設問5 (1): 現状値は公開情報から判断する必要がある。EPSS値はFIRSTの公開値をそのまま使える。
- 設問5 (2): l EPSS値の監視
- 設問5 (3): 診断時に実際に悪用できることを確認しているから
- 設問6: m A、n A、o C、p A、q B、r B、s A、t S
参照資料
- IPA「令和7年度春期 情報処理安全確保支援士試験 午後試験 問2」(問題文)
- IPA「令和7年度春期 情報処理安全確保支援士試験 解答例」(問2の解答例・出題趣旨)