修了試験 2015-06-28実施分 基本情報技術者試験 問39
安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。 (各選択肢は「攻撃/対策」の組)
正答1
解説
正解は1です。 Webアプリケーションへの攻撃と、その正しい対策の組合せを選ぶ問題です。 【選択肢別解説】 1:○ SQLインジェクションは、入力値に不正なSQL文の断片を混ぜてデータベースを不正に操作する攻撃です。 静的プレースホルダを使うと、SQL文の構造が先に確定し、入力値は単なる値として扱われるので、有効な対策になります。 2:× クロスサイトスクリプティングは、Webページに悪意のあるスクリプトを埋め込む攻撃です。 任意の外部サイトのスタイルシートを取り込めるようにすると、攻撃に悪用される余地が広がります。 正しくは、出力時のエスケープ処理などを行います。 3:× クロスサイトリクエストフォージェリは、利用者に意図しないリクエストを送らせる攻撃です。 GETメソッドはURLだけでリクエストを送れるので、むしろ攻撃しやすくなります。 正しくは、POSTメソッドと推測困難なトークンを組み合わせて正規の画面からの送信かを確認します。 4:× セッションハイジャックは、他人のセッションIDを盗んでなりすます攻撃です。 固定のセッションIDを使うと、一度知られれば使い回されてしまいます。 正しくは、推測困難なセッションIDを使い、ログイン後に新しいIDを発行し直します。 【ポイント】 SQLインジェクションにはプレースホルダ、クロスサイトスクリプティングにはエスケープ処理が基本の対策です。 攻撃と対策の組合せは頻出なので、セットで覚えましょう。まとめて解く
修了試験 2015-06-28実施分を通しで解く(80問)→