2026年版・4-5

Webサイト・アプリケーションのセキュリティ対策の一問一答

情報セキュリティマネジメント試験「情報セキュリティ対策・セキュリティ実装技術」から、Webサイト・アプリケーションのセキュリティ対策に関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説つき・基本無料

アプリ形式で解く(全480問) 情報セキュリティ対策・セキュリティ実装技術の要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。

問14-5

SQLインジェクション対策として、IPAが推奨する根本的解決策の説明として、最も適切なものはどれか。

  • ①SQL文の組み立てにプレースホルダを用い、後から値を機械的に割り当てるバインド機構を使う
  • ②データベースへのアクセスを一切禁止し、Webアプリケーションでデータを扱わないようにする
  • ③入力された文字列を、そのまま連結してSQL文を組み立てることを標準の実装方法とする
  • ④エラーメッセージにデータベースの詳細な内部情報を表示し、利用者へ丁寧に案内する
答えと解説を見る
正解 ①SQL文の組み立てにプレースホルダを用い、後から値を機械的に割り当てるバインド機構を使う
解説
SQLインジェクション対策の根本的解決策は、SQL文の雛形にプレースホルダ(変数の場所を示す記号)を置き、後から実際の値を機械的な処理で割り当てるバインド機構(プレースホルダ)を用いることである。これにより、入力された文字列がSQL文の構造そのものを変化させる余地がなくなり、脆弱性の原因を根本的になくすことができる。

他の選択肢が不適切な理由
データベースへのアクセス自体を禁止することは現実的な対策ではなく、多くのWebアプリケーションはデータベースの利用を前提とする。入力文字列をそのまま連結してSQL文を組み立てる実装こそがSQLインジェクションを引き起こす典型的な原因であり、対策とは正反対である。詳細なエラーメッセージの表示は、攻撃者に内部情報を与えてしまう情報漏えいのリスクとなる。
問24-5

クロスサイトスクリプティング(XSS)対策の基本として、最も適切なものはどれか。

  • ①入力値を検証せず、常にそのままHTMLとして出力することを標準実装とする
  • ②入力値をHTMLとして出力する際に、特殊文字を適切にエスケープ処理する
  • ③Webサイトへのアクセスをすべて禁止し、サービスの提供自体を停止する
  • ④通信経路のみを暗号化し、出力処理の内容は一切見直さないままにする
答えと解説を見る
正解 ②入力値をHTMLとして出力する際に、特殊文字を適切にエスケープ処理する
解説
クロスサイトスクリプティング(XSS)は、利用者からの入力値がそのままHTMLとして解釈されることで、悪意あるスクリプトがページに埋め込まれ実行されてしまう脆弱性である。対策の基本は、入力値をHTML等として画面に出力する際に「<」「>」「&」などの特殊文字を実体参照へ変換する出力時エスケープ処理を徹底することである。

他の選択肢が不適切な理由
入力値を検証せずそのまま出力することは、XSSを引き起こす典型的な原因であり対策とは正反対である。サービス提供自体の停止は事業継続を放棄することであり現実的な対策ではない。通信経路の暗号化(HTTPS化)は盗聴・改ざん対策として重要だが、出力時のエスケープ処理を行わなければXSS自体は防げない。
問34-5

利用者が意図しないリクエストを、ログイン中のセッションを利用して別サイト経由で送信させられる「CSRF(クロスサイトリクエストフォージェリ)」への対策として、最も適切なものはどれか。

  • ①ログインセッションの有効期限を無期限に設定し、常にログイン状態を維持させる
  • ②利用者のパスワードを平文のままデータベースへ保存し、照合を簡略化する
  • ③フォームごとに推測困難なトークンを埋め込み、受付時に値が一致するか検証する
  • ④すべてのリクエストを検証せずに受け付け、処理速度を優先すること
答えと解説を見る
正解 ③フォームごとに推測困難なトークンを埋め込み、受付時に値が一致するか検証する
解説
CSRF対策の代表的な方法は、フォームの送信時に推測が困難なトークン(ワンタイムのランダムな値)を埋め込み、サーバー側でリクエストを受け付ける際にそのトークンがセッションと一致するかを検証する方式である。第三者のサイトから送信された不正なリクエストにはこの正しいトークンが含まれないため、処理を拒否できる。

他の選択肢が不適切な理由
ログインセッションを無期限にすることは、むしろCSRFやセッションハイジャックの被害が及ぶ時間を長引かせ、対策として逆効果である。パスワードを平文で保存することは別の重大な脆弱性であり、CSRF対策とは無関係である。リクエストを検証せず受け付けることは、CSRFを含むあらゆる不正なリクエストを許してしまう対策の放棄である。
問44-5

Webアプリケーションが発行するセッションIDを格納するCookieに、セキュリティ強化のため設定すべき属性として、最も適切なものはどれか。

  • ①セッションIDを推測しやすい単純な連番(1、2、3…など)で発行し、管理を容易にすること
  • ②セッションIDの有効期限を全く設定せず、ログアウト操作それ自体を一切できないようにする
  • ③Cookieの内容を常にURLのクエリパラメータとして画面へそのまま毎回必ず表示し続けるようにする
  • ④Secure属性やHttpOnly属性を設定し、HTTPS限定送信とスクリプトアクセス禁止を行う
答えと解説を見る
正解 ④Secure属性やHttpOnly属性を設定し、HTTPS限定送信とスクリプトアクセス禁止を行う
解説
セッションIDを格納するCookieには、HTTPS通信でのみ送信されるようにするSecure属性や、JavaScriptなどのスクリプトからのアクセスを禁止しXSS経由でのセッションID窃取を防ぐHttpOnly属性を設定することが推奨される。あわせて、セッションIDは推測困難な十分に長いランダム値とし、適切なタイミングで再発行・失効させることも重要である。

他の選択肢が不適切な理由
連番でのセッションID発行は、第三者が容易に他人のセッションIDを推測できてしまうため危険である。有効期限を設定せずログアウトもできない設計は、セッションの乗っ取り被害を長引かせるリスクがある。セッションIDをURLパラメータとして画面に表示することは、リファラ経由の漏えいや盗み見のリスクを高め不適切である。
問54-5

WebサイトをHTTPS化し、TLSサーバー証明書を導入することで得られる効果の説明として、最も適切なものはどれか。

  • ①通信の暗号化に加え、証明書によりアクセス先が正当なサーバーか確認できる
  • ②サーバーの処理能力を強化し、アクセス集中時のダウンを完全に防止できること
  • ③検索エンジンでの掲載順位を、内容にかかわらず常に最上位に固定できる
  • ④サーバー内のデータベースの内容を自動的にバックアップできるようになる
答えと解説を見る
正解 ①通信の暗号化に加え、証明書によりアクセス先が正当なサーバーか確認できる
解説
HTTPS化によって、クライアントとサーバー間の通信内容がTLSにより暗号化され、経路上での盗聴・改ざんを防止できる。あわせて、TLSサーバー証明書は認証局によってドメインの実在性等が検証されて発行されるため、利用者はブラウザの表示等を通じて、アクセス先が正当な運営者のサーバーであることを一定程度確認できる。

他の選択肢が不適切な理由
HTTPS化自体はサーバーの処理能力やアクセス集中時の可用性を保証する技術ではない。検索順位はコンテンツの質や多様な評価基準で決まるものであり、HTTPS化だけで常に最上位が保証されるわけではない。TLSサーバー証明書の導入とデータベースの自動バックアップは無関係である。
問64-5

利用者が指定したファイル名をもとにサーバー上のファイルを読み込む機能において、「../」等を含む入力によって意図しないファイルへアクセスされる「ディレクトリトラバーサル」への対策として、最も適切なものはどれか。

  • ①入力されたファイル名を一切検証せず、指定された通りのパスをそのまま常に開くこと
  • ②上位ディレクトリへの移動を示す文字列を検証・排除し、アクセス許可範囲を限定する
  • ③サーバー上の全てのファイルに実行権限と読み取り権限を常に無条件に付与する
  • ④応答速度を最優先し、パスの妥当性チェックを一切省略することを基本方針とする
答えと解説を見る
正解 ②上位ディレクトリへの移動を示す文字列を検証・排除し、アクセス許可範囲を限定する
解説
ディレクトリトラバーサル対策としては、利用者からの入力に含まれる「../」等の上位ディレクトリへの移動を示す文字列を検証・除去し、アクセスを許可する範囲(公開ディレクトリ等)の外部へパスが到達しないよう制限することが基本となる。あわせて、ファイルへのアクセスを固定のIDに置き換えて処理するなど、入力値を直接パスとして使わない設計も有効である。

他の選択肢が不適切な理由
入力値を検証せずそのままパスとして開く実装は、ディレクトリトラバーサルを許してしまう典型的な原因である。全ファイルへ無条件に実行・読み取り権限を付与することは、被害範囲をむしろ拡大させる。パスの妥当性チェックの省略は対策の放棄であり、応答速度を理由に許容されるものではない。
問74-5

Webアプリケーションのセキュリティ対策における「入力値検証」と「出力時エスケープ処理」の関係の説明として、最も適切なものはどれか。

  • ①入力値検証を行えば、出力時のエスケープ処理は理論上完全に不要になる
  • ②出力時エスケープ処理さえ行えば、入力値検証は一切行う必要が全くなくなるとされる
  • ③目的が異なる対策であり、入力値検証だけでは出力時対策として不十分な場合がある
  • ④両者はまったく同じ処理であり、片方の実装で自動的に両方が実装される
答えと解説を見る
正解 ③目的が異なる対策であり、入力値検証だけでは出力時対策として不十分な場合がある
解説
入力値検証は、想定外の形式や不正な文字列をアプリケーションが受け付けないようにするための対策であり、出力時エスケープ処理は、受け付けた値を画面等へ出力する際にHTMLやスクリプトとして解釈されないようにする対策である。両者は目的も適用箇所も異なるため、入力値検証だけを行っても、正規の文字として許可した記号がそのまま出力されXSS等につながる場合があり、双方を組み合わせることが望ましい。

他の選択肢が不適切な理由
入力値検証だけでは全ての出力箇所での安全性を保証できず、出力時エスケープ処理が不要になるわけではない。逆に出力時エスケープ処理だけでは、不正な形式のデータそのものを受け付けてしまう問題は解決しない。両者は処理の目的も実装箇所も異なり、同一の処理ではない。
問84-5

WAF(Web Application Firewall)を導入した場合であっても、アプリケーション側でのセキュアコーディングによる対策が引き続き必要とされる理由として、最も適切なものはどれか。

  • ①WAFを導入すると、アプリケーション自体の脆弱性が常に自動的にすべて修正されるとされる
  • ②WAFはネットワーク機器の一種であり、アプリケーションの通信は一切検査できないため
  • ③WAFは通信量が一定の閾値を超えた場合にのみ通信を遮断する、帯域制御専用の仕組みであるため
  • ④WAFは検知ルールに基づく防御であり、未知の攻撃やロジック不備を防ぎきれない場合があるため
答えと解説を見る
正解 ④WAFは検知ルールに基づく防御であり、未知の攻撃やロジック不備を防ぎきれない場合があるため
解説
WAFは既知の攻撃パターンやルールに基づいて不正なリクエストを検知・遮断する仕組みであるが、アプリケーション固有のビジネスロジックの不備や、ルールをすり抜ける巧妙な攻撃、未知の攻撃手法までを完全に防ぎきれるとは限らない。そのため、WAFはあくまで多層防御の一要素と位置づけ、根本的な対策としてアプリケーション側でのセキュアコーディング(入力値検証、出力時エスケープ、プレースホルダの利用等)を並行して行うことが重要である。

他の選択肢が不適切な理由
WAFの導入によってアプリケーション自体の脆弱性が自動的に修正されるわけではない。WAFはHTTP/HTTPS通信のアプリケーション層の内容を検査する製品であり、通信を検査できないという記述は誤りである。WAFは主に通信内容のパターンに基づいて不正なリクエストを検知・遮断する仕組みであり、通信量の閾値のみで動作する帯域制御専用の仕組みではない。
問94-5

ブラウザに実装されている「同一オリジンポリシー」の目的の説明として、最も適切なものはどれか。

  • ①異なるオリジン間でのスクリプトによる不正なデータの読み取りやアクセスを制限する
  • ②通信速度を優先するため、あらゆるオリジン間のスクリプト連携を無制限に許可すること
  • ③サーバー側のデータベースの保存容量を自動的に拡張してくれる仕組みのこと
  • ④Webページのデザイン(CSS)を統一テンプレートへ自動変換する仕組みのこと
答えと解説を見る
正解 ①異なるオリジン間でのスクリプトによる不正なデータの読み取りやアクセスを制限する
解説
同一オリジンポリシーは、あるWebページ上で読み込まれたスクリプトが、生成元(スキーム・ホスト・ポートの組み合わせであるオリジン)が異なる他のサイトのリソースへ自由にアクセスすることを、ブラウザ側で制限する仕組みである。これにより、悪意あるサイトが利用者の別サイトでのログイン情報等を不正に読み取ることを防ぐ。正当な理由でオリジンをまたぐ通信を許可したい場合は、CORS(Cross-Origin Resource Sharing)によりサーバー側が明示的に許可を与える。

他の選択肢が不適切な理由
同一オリジンポリシーはむしろオリジン間のアクセスを制限する仕組みであり、無制限に許可するものではない。データベースの容量拡張やCSSの自動変換とは無関係な、ブラウザのセキュリティ機構である。
問104-5

Webアプリケーションで利用者からのファイルアップロード機能を実装する際のセキュリティ対策として、最も適切なものはどれか。

  • ①どのような拡張子のファイルであっても、確認なく無制限にアップロードを受け付ける
  • ②許可する拡張子・形式を限定し、実行可能なファイルとして解釈されない場所に保存する
  • ③アップロードされたファイルを、実行権限が付与された公開ディレクトリへそのまま保存する
  • ④アップロードされたファイルの内容は一切検査せず、ファイル名の表示のみ行う
答えと解説を見る
正解 ②許可する拡張子・形式を限定し、実行可能なファイルとして解釈されない場所に保存する
解説
ファイルアップロード機能では、想定外の実行可能なスクリプトファイル等がアップロードされ、サーバー上で実行されてしまう危険がある。対策としては、許可する拡張子やファイル形式(MIMEタイプ等)を限定して検証すること、アップロードされたファイルをスクリプトとして実行されない場所や設定で保存すること、ファイル名を推測困難な値に変換して保存することなどが有効である。

他の選択肢が不適切な理由
拡張子やファイル形式を確認せず無制限に受け付けることは、悪意あるスクリプトファイルのアップロードを許してしまう。実行権限が付与された公開ディレクトリへそのまま保存すると、アップロードされたファイルが不正に実行される深刻な脆弱性となる。ファイル内容を一切検査しないことは、マルウェアを含むファイルの拡散にもつながりうる。

情報セキュリティマネジメント試験の対策問題(全480問)に戻る

※本ページはアクセス解析のためCookieを利用し、その情報を外部(Google)へ送信しています。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。