修了試験 2018-01-28実施分 基本情報技術者試験 問42
安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。 〔表〕攻撃/対策
正答1
解説
正解は1です。 Webアプリケーションに対する攻撃と、その対策の組合せとして適切なものを選ぶ問題です。 【選択肢別解説】 1:○ SQLインジェクションは、入力値にSQL文の一部を混ぜて不正なデータベース操作を行わせる攻撃です。 静的プレースホルダを使うと、SQL文の構造を先に確定させてから値を埋め込むので、入力値がSQL文として解釈されなくなります。 2:× クロスサイトスクリプティングの対策は、出力時のエスケープ処理などです。 任意の外部サイトのスタイルシートを取り込めるようにすると、悪意のある内容を取り込む危険が増え、対策とは逆になります。 3:× クロスサイトリクエストフォージェリは、利用者に意図しないリクエストを送らせる攻撃です。 対策は、秘密の値(トークン)をフォームに埋め込んで照合することなどです。 GETメソッドを使うとリンクを踏ませるだけでリクエストを送らせやすくなり、対策になりません。 4:× セッションハイジャックの対策は、推測されにくいセッションIDを使い、ログイン後に新しいIDを発行し直すことです。 利用者ごとに固定のIDを使うと、IDを盗まれたり推測されたりしたときに乗っ取られやすくなります。 【ポイント】 SQLインジェクションには静的プレースホルダ、クロスサイトスクリプティングにはエスケープ処理を対応させます。 クロスサイトリクエストフォージェリにはトークンの照合、セッションハイジャックには推測困難なIDとその再発行を対応させて覚えます。まとめて解く
修了試験 2018-01-28実施分を通しで解く(80問)→