平成26年度 秋期 応用情報技術者試験 午前 問40
テクノロジ/セキュリティWeb アプリケーションにおけるセキュリティ上の脅威と対策の適切な組合せはどれか。
出典:平成26年度 秋期 応用情報技術者試験 午前 問40
- アOS コマンドインジェクションを防ぐために,Web アプリケーションが発行するセッション ID を推測困難なものにする。
- イSQL インジェクションを防ぐために,Web アプリケーション内でデータベースへの問合せを作成する際にバインド機構を使用する。
- ウクロスサイトスクリプティングを防ぐために,外部から渡す入力データを Web サーバ内のファイル名として直接指定しない。
- エセッションハイジャックを防ぐために,Web アプリケーションからシェルを起動できないようにする。
正解:イ
解説
SQLインジェクションを防ぐ有効な対策は,データベースへの問合せをバインド機構(プレースホルダ)を用いて作成し,入力データをSQL文の一部として直接組み込まないようにすることです。
選択肢ごとの解説
- ア誤り。セッションIDを推測困難にするのはセッションハイジャック対策であり,OSコマンドインジェクション対策ではありません。
- イ正しい。バインド機構を使うことでSQLインジェクションを防ぐことができます。
- ウ誤り。入力データをファイル名として直接指定しないようにするのはディレクトリトラバーサル対策であり,クロスサイトスクリプティング対策ではありません。
- エ誤り。Webアプリケーションからシェルを起動できないようにするのはOSコマンドインジェクション対策であり,セッションハイジャック対策ではありません。