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