【問191】個人情報保護士 練習問題|不正アクセス・サイバー攻撃の種類と対策
情報セキュリティ 問11/120難易度A(易しい)
問題文
SQLインジェクション攻撃に関する次の記述のうち、最も適切なものはどれか。
- 1.SQLインジェクションはWebサーバのOSの脆弱性を直接攻撃する手法である
- 2.SQLインジェクションはWebアプリケーションの入力値の検証不備を悪用し、不正なSQL文を実行させる攻撃である
- 3.SQLインジェクションはファイアウォールを設置すれば完全に防止できる
- 4.SQLインジェクションによる被害はWebページの改ざんのみに限られる
解説
正解
正解は選択肢2です。
各選択肢の解説
選択肢1 → ❌誤り
SQLインジェクションはOSの脆弱性ではなく、Webアプリケーションのデータベース連携部分の脆弱性を攻撃する手法です。
選択肢2 → ✅正解
SQLインジェクションは、Webアプリケーションの入力フォーム等に不正なSQL文を挿入し、データベースを不正に操作する攻撃です。入力値の適切なバリデーションやプリペアドステートメントの使用で防御できます。
選択肢3 → ❌誤り
通常のファイアウォールではHTTP通信の内容まで検査しないため、SQLインジェクションは防止できません。WAF(Web Application Firewall)やアプリケーション側の対策が必要です。
選択肢4 → ❌誤り
SQLインジェクションによる被害は、データベースからの個人情報漏えい、データの改ざん・削除、認証回避による不正ログインなど多岐にわたります。
背景知識
SQLインジェクションは最も古典的なWebアプリケーション攻撃の一つですが、依然として多くの被害が報告されています。攻撃者は入力フォームやURLパラメータに不正なSQL文を挿入し、データベースの内容を窃取・改ざんします。対策としてはプリペアドステートメント(パラメータ化クエリ)の使用が最も効果的であり、WAFの導入やエスケープ処理の実施も有効です。個人情報を扱うWebサイトでは特に注意が必要な攻撃手法です。
学習アドバイス
SQLインジェクションは「入力値の検証不備」がキーワードです。対策としてプリペアドステートメント、WAF、エスケープ処理の3つを覚えておきましょう。
まとめ
- SQLインジェクションは入力値の検証不備を悪用する攻撃
- データベースからの情報漏えいが主な被害
- プリペアドステートメントとWAFが有効な対策