修了試験 2016-01-24実施分 基本情報技術者試験 問39
Webアプリケーションにおけるセキュリティ上の脅威と対策の適切な組合せはどれか。
正答2
解説
正解は2です。 この問題は、Webアプリケーションに対する代表的な攻撃と、その対策の組合せを問うています。 SQLインジェクションは、入力値に不正なSQLの断片を埋め込み、データベースを不正に操作する攻撃です。 バインド機構(プレースホルダ)を使うと、入力値は常にデータとして扱われ、SQL文の構造を変えられなくなります。 【選択肢別解説】 1:× セッションIDを推測困難なものにするのは、セッションハイジャックへの対策です。 OSコマンドインジェクションには、シェルを起動しない実装にするなどの対策をとります。 2:○ データベースへの問合せを組み立てるときにバインド機構を使うのは、SQLインジェクションの根本的な対策です。 脅威と対策が正しく対応しているので正しいです。 3:× 外部からの入力をファイル名として直接指定しないのは、ディレクトリトラバーサルへの対策です。 クロスサイトスクリプティングには、出力時のエスケープ処理などで対策します。 4:× Webアプリケーションからシェルを起動できないようにするのは、OSコマンドインジェクションへの対策です。 セッションハイジャックには、推測困難なセッションIDの使用などで対策します。 【ポイント】 誤りの選択肢は、対策を別の脅威のものと入れ替えたものです。 「SQLインジェクション=バインド機構」「XSS=エスケープ処理」「セッションハイジャック=推測困難なID」と組で覚えましょう。まとめて解く
修了試験 2016-01-24実施分を通しで解く(80問)→