基本情報技術者試験 - 令和5年6月修了 - 問33

安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。

攻撃対策
アSQLインジェクションSQL文の組立てに静的プレースホルダを使用する。
イクロスサイトスクリプティング任意の外部サイトのスタイルシートを取り込めるようにする。
ウクロスサイトリクエストフォージェリリクエストにGETメソッドを使用する。
エセッションハイジャック利用者ごとに固定のセッションIDを使用する。
答え : ア
分野 : テクノロジ系 › 技術要素 › セキュリティ › セキュリティ実装技術
同一問題 : 〔令2修1問43〕〔平30修1問42〕〔平27修6問39〕
解説 :
「SQLインジェクション」は,悪意のある入力によってSQL文が不正に組み立てられ,想定外のデータベース操作が行われてしまう攻撃です。この対策としては,SQL文の組み立てにあらかじめ構文を固定した静的プレースホルダを使用し,入力値をパラメータとして安全に扱う方法が有効です。

「イ」はクロスサイトスクリプティングへの対策として,外部サイトのスタイルシートを自由に取り込めるようにするとしていますが,これは逆にセキュリティを弱める行為であり誤りです。

「ウ」はクロスサイトリクエストフォージェリへの対策としてGETメソッドの使用を挙げていますが,実際には推測されやすいGETメソッドの使用はむしろリスクを高めるため,トークンの利用など別の対策が必要です。

「エ」はセッションハイジャック対策として固定のセッションIDを使うとしていますが,固定IDはむしろ攻撃者に悪用されやすいため,セッションIDは適切なタイミングで更新すべきです。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる