平成26年度 春期 応用情報技術者試験 午前 問40
安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
| 攻撃 | 対策 | |
|---|---|---|
| ア | SQLインジェクション | SQL文の組立てに静的プレースホルダを使用する。 |
| イ | クロスサイトスクリプティング | 任意の外部サイトのスタイルシートを取り込めるようにする。 |
| ウ | クロスサイトリクエストフォージェリ | リクエストにGETメソッドを使用する。 |
| エ | セッションハイジャック | 利用者ごとに固定のセッションIDを使用する。 |
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
-
ア: SQLインジェクション:静的プレースホルダを使用する
正しい。静的プレースホルダは,SQL文の構造をあらかじめ確定させてから値をバインドする仕組みで,入力値がSQL文の一部として解釈されることがないため,SQLインジェクションの根本的な対策になります。 -
イ: クロスサイトスクリプティング:任意の外部サイトのスタイルシートを取り込めるようにする
誤り。任意の外部サイトのスタイルシートを取り込めるようにすると,悪意のあるスタイルシートを読み込まれる危険があり,クロスサイトスクリプティングの対策にはなりません。 -
ウ: クロスサイトリクエストフォージェリ:GETメソッドを使用する
誤り。GETメソッドはURLにパラメタが含まれ,かえって偽のリクエストを送らせやすくなります。CSRFの対策は,秘密のトークンの埋込みや再認証などです。 -
エ: セッションハイジャック:利用者ごとに固定のセッションIDを使用する
誤り。固定のセッションIDを使うと,IDが一度知られると何度でも乗っ取られてしまいます。推測困難なセッションIDを用い,ログイン時に再発行するのが対策です。
答え
ア: SQLインジェクション:静的プレースホルダを使用する
出典:平成26年度 春期 応用情報技術者試験 午前 問40