セキュリティ用語集一覧に戻る
ホーム > 情報処理安全確保支援士 > 用語集 > SQLインジェクション と プレースホルダ (プリペアドステートメント)
サイバー攻撃手法・脆弱性分析 重要度:★★★出題: AM2・PM1

SQLインジェクション と プレースホルダ (プリペアドステートメント)

えすきゅーえるいんじぇくしょん / ぷれーすほるだ / SQL Injection & Parameterized Queries / Prepared Statements
利用者からの入力値を文字列連結してSQL文を組み立てる不備を突き、意図しないSQLコマンドを実行させてDBの不正閲覧・改ざんを行う攻撃と、その根本対策。

3行速習ポイント

  • 根本対策は「プレースホルダ(パラメータ化クエリ / プリペアドステートメント)」の採用であり、SQL文の構文構造とデータ値を分離してバインドする
  • 静的プレースホルダでは、先にSQL文の構文解析(コンパイル)が完了してからパラメータ値を代入するため、入力値によってSQLの論理構造が絶対に変化しない
  • エラーメッセージを表示しない環境でも、応答の真偽差やSLEEP関数による応答遅延を利用した「ブラインドSQLインジェクション」が成立する

図解

図SQLインジェクションの根本対策と多層防御設計
1. 根本対策(必須)
根本対策:プレースホルダ(プリペアドステートメント)
SQL構文のコンパイル後にパラメータ値をバインド
SQL文の構造と入力データを完全に分離するため、シングルクォートや OR 1=1 等の文字列が入力されても単なるリテラル値として扱われSQL構造が変化しない
↕
2. 実装補完対策
動的識別子の保護:ホワイトリスト検証・型チェック
カラム名・ソート順などバインド不可箇所の許可リスト照合
プレースホルダが適用できない箇所では、入力値を直接連結せず、許可された固定文字列リストとの一致判定で置換する
↕
3. 被害局限化
影響緩和策:DB接続アカウントの最小権限化・エラー隠蔽
必要最小限のSELECT/UPDATE権限のみ付与し詳細エラーを非表示化
万一脆弱性が存在してもOSコマンド実行や別テーブル破壊、エラーメッセージからのDB構造推測(Error-based SQLi)を防止
💡 ORDER BY句のカラム名やテーブル名などプレースホルダが使えない動的識別子には、サーバ側での「ホワイトリスト完全一致検証」を適用する

概要と本質

Webアプリの最も代表的かつ致命的な脆弱性です。シングルクォートのエスケープ処理だけに頼ると、文字コードの解釈差や数値型パラメータ(クォートで囲まない箇所)で突破されることがあります。バインド機構(プレースホルダ)を用いることが絶対原則です。

重要ポイント・コア概念

  • 識別子(テーブル名やカラム名、ORDER BY句のソート順)の動的指定:プレースホルダが使えない箇所では、入力値をそのまま埋め込まずサーバ側のホワイトリスト(許可リスト)と完全一致検証して置換する
  • 最小権限の原則(影響緩和策):WebアプリがDBへ接続するアカウントには、DROP TABLEやシステムカタログ閲覧、OSファイル読書き権限を与えず、必要なテーブルへのSELECT/INSERT/UPDATEのみを許可
  • セカンドオーダーSQLインジェクション:一度DBに正常保存された値が、別の管理画面等で取り出されて文字列連結SQLに使われた際に発火する攻撃

午後記述・情報セキュリティ対策での攻略ポイント

午後試験のソースコード診断問題で最頻出。「何行目にSQLi脆弱性があるか」「プレースホルダを使ってどのように修正するか」「プレースホルダが使えないORDER BY句のカラム名指定をどう安全に実装するか(ホワイトリスト判定)」が問われます。

午後記述で使える加点キーワード(クリックでコピー)

関連する重要用語

この用語が出題された過去問を解く(1分演習)

即時アウトプットで定着
情報処理安全確保支援士 過去問演習で実践力を鍛える

理解を深める推薦副読本

この用語の背景理論・実務動向を深く理解し、午後II小論文の説得力を劇的に高める必読書

PR
図解即戦力 ゼロトラストのしくみと導入がこれ1冊でしっかりわかる教科書
戦略・名著セレクション図解即戦力 ゼロトラストのしくみと導入がこれ1冊でしっかりわかる教科書長谷川 丈一 著 / 技術評論社
ISBN: 429715840X
🛡️ 最新セキュリティアーキテクチャ必携書

図解即戦力 ゼロトラストのしくみと導入がこれ1冊でしっかりわかる教科書

長谷川 丈一 著 / 技術評論社

「境界防御モデル」の限界とゼロトラスト原則(Never Trust, Always Verify)ID管理(IdP)、端末管理(EDR/MDM)、SASE/CASBの全体構造クラウドシフトとテレワーク環境におけるセキュリティ導入手順
なぜこの用語の理解に役立つのか

『SQLインジェクション と プレースホルダ (プリペアドステートメント)』の背景にある理論と業界動向を体系的に理解し、実務や小論文に直結する戦略的視点を深掘りできます。

午後II小論文(ST論文)への応用・加点ポイント

午前IIのゼロトラスト・クラウドセキュリティ設問で満点を狙えるだけでなく、午後I・午後IIで「安全な外部クラウド連携と認証基盤統一」を論述する際の技術的裏付けになります。

※価格・在庫状況は各ECモールの最新情報をご確認ください(もしもアフィリエイト経由)