修了試験 2023-06-11実施分 基本情報技術者試験 問33
安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
正答1
解説
正解は1です。 Webアプリケーションへの代表的な攻撃と、その適切な対策の組合せを問う問題です。 対策が攻撃の仕組みを断つものになっているかどうかで判断します。 【選択肢別解説】 1:○ SQLインジェクションは、入力値に不正なSQL文の断片を混ぜてデータベースを操作する攻撃です。 静的プレースホルダを使うと、SQL文の構造を先に確定し、入力値を単なる値として扱えます。 そのため入力値がSQL文として解釈されず、攻撃を根本的に防げます。 2:× 任意の外部サイトのスタイルシートを取り込めるようにすると、攻撃者が用意した内容を埋め込まれる危険が増えます。 クロスサイトスクリプティングの対策は、出力時のエスケープ処理などです。 3:× GETメソッドを使っても、クロスサイトリクエストフォージェリは防げません。 正しくは、推測困難なトークンをPOSTリクエストに含めて正規の画面からの要求かを確認します。 4:× 利用者ごとに固定のセッションIDを使うと、IDを盗まれたときになりすましを防げません。 正しくは、推測困難なセッションIDをログイン時に新しく発行し直します。 【ポイント】 SQLインジェクションにはプレースホルダを使い、クロスサイトスクリプティング(XSS)には出力時のエスケープ処理で対策します。 クロスサイトリクエストフォージェリ(CSRF)にはトークン、セッションハイジャックにはログイン後のセッションID再発行と、対で覚えます。 IPAの「安全なウェブサイトの作り方」がこの種の問題の出典です。まとめて解く
修了試験 2023-06-11実施分を通しで解く(60問)→