メインコンテンツへスキップ
情報処理安全確保支援士令和1年度 秋期午前II17

令和1年度 秋期 情報処理安全確保支援士 午前II17

難度標準

SQL インジェクション対策について, Web アプリケーションプログラムの実装に おける対策と, Web アプリケーションプログラムの実装以外の対策として、ともに 適切なものはどれか。

選択肢

Web アプリケーションプログラム中 でシェルを起動しない。 chroot 環境で Web サーバを稼働させ る。
セッションIDを乱数で生成する。 TLS によって通信内容を秘匿する。
パス名やファイル名をパラメタとして 受け取らないようにする。 重要なファイルを公開領域に置かな い。
プレースホルダを利用する。 Web アプリケーションプログラムが 利用するデータベースのアカウントが もつデータベースアクセス権限を必要 最小限にする。

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

エが正解である理由は、SQLインジェクション対策として、Webアプリケーションプログラムの実装における対策と、それ以外の対策の両方を適切に含んでいるためです。

詳細Layer 2

まず、Webアプリケーションプログラムの実装における対策として「プレースホルダを利用する」が挙げられます。プレースホルダとは、SQL文中の値が挿入されるべき箇所をあらかじめ指定しておき、後から安全な方法で値を埋め込む仕組みです。これにより、ユーザーからの入力値がSQL文の一部として解釈されることを防ぎ、SQLインジェクション攻撃を防ぐことができます。

補足Layer 3

次に、Webアプリケーションプログラムの実装以外の対策として「Webアプリケーションプログラムが利用するデータベースのアカウントがもつデータベースアクセス権限を必要最小限にする」が挙げられます。これは、万が一SQLインジェクションが発生した場合でも、攻撃者が実行できる操作を制限することで、被害を最小限に抑えるための対策です。最小権限の原則とも呼ばれます。

アは、Webアプリケーションプログラム中でのシェル起動をしないことはWebアプリケーションの実装における対策として有効ですが、chroot環境でのWebサーバ稼働はOSレベルのセキュリティ設定であり、SQLインジェクション対策に直接寄与するものではありません。

イは、セッションIDの乱数生成はセッションハイジャック対策であり、TLSによる通信秘匿は通信内容の盗聴・改ざん防止策であり、これらはSQLインジェクションとは直接関連が薄いです。

ウは、パス名やファイル名をパラメータとして受け取らないようにすることは、パス・トラバーサル攻撃対策であり、重要なファイルを公開領域に置かないことはWebサーバの一般的なセキュリティ対策ですが、SQLインジェクション対策としては限定的です。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「情報セキュリティ」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

情報セキュリティ の他の問題