セキュリティ
中級

SQLインジェクション(エスキューエルインジェクション)

SQL文注入攻撃。Union-based/Boolean-based/Time-based Blind・PostgreSQL 16 PREPARE・MySQL prepared statement・ORM(Prisma・Drizzle・SQLAlchemy・Diesel)パラメータ化+query builderで対策、sqlmap・Acunetix検出ツール、OWASP Top 10 A03、2026年No-SQL/NoSQLi派生も脅威。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
Union-based
sqlmap
prepared statement
A03

概要

SQLインジェクション(エスキューエルインジェクション)は、Webアプリケーションに対して悪意あるSQL文を注入し、データベースを不正に操作する攻撃手法です。攻撃者は入力欄に特殊文字列を挿入し、認証回避、データ漏洩、データ破壊などを実行します。2025年に公開された最新の脆弱性診断ツールは、従来の検知手法に加えて、NoSQL/NoSQLi派生攻撃も検出対象に含めています。

主な特徴・仕組み

  • Union‑based:SELECT文にUNION句を挿入し、別テーブルのデータを取得。
  • Boolean‑based:条件式を真偽で判定し、ページ表示の差異から情報を抽出。
  • Time‑based Blind:遅延応答を利用し、データの存在を推測。
  • PostgreSQL 16 PREPARE:PREPARE文でパラメータ化されていない場合に発生。
  • MySQL prepared statement:バインド変数を正しく使用しないと脆弱。
  • ORM(Prisma・Drizzle・SQLAlchemy・Diesel):パラメータ化+クエリビルダーで自動対策。
  • 検出ツール:sqlmap、Acunetix、Burp Suiteなどが代表的。
  • OWASP Top 10 A03:2026年版ではNoSQLi派生もA03に追加。

スペック/製品比較表

製品対応DB防御機能主要特徴
FortiWeb 2000MySQL, PostgreSQLWAF + SQLi検知1,000リクエスト/秒
Imperva SecureSphereOracle, SQL Serverルールベース + AI99.9%検知率
AWS WAFRDS, Auroraルール作成 + Lambda100%クラウド統合
Cloudflare WAFCloudflare Workersグローバル分散0.5ms応答

具体例・対応製品

  • RTX 5090:24GB GDDR7、5.7GHzクロック、PCIe 5.0 x16、1TB NVMe SSD、600W電源。
  • Ryzen 9 9950X3D:16コア、3.5GHzベース、3.8GHzブースト、DDR5-6000、1.5GHzキャッシュ。
  • Core Ultra 9 285K:12コア、3.0GHzベース、3.6GHzブースト、DDR5-4800、32GB DDR5。
  • DDR5-6000:6000MHz、16GB×4、1.2GHzメモリクロック、8MB L3キャッシュ。
  • PCIe 5.0 x16:最大32GB/s、1.2GHzレート、8レーン構成。

これらのハードウェアは、データベースサーバーを構築する際に選択されることが多く、SQLi対策を施したアプリケーションと組み合わせることで、攻撃リスクを低減できます。

自作PCでの選び方・注意点

  • CPU:高クロックと多コアを備えたRyzen 9 9950X3DやCore Ultra 9 285Kは、同時接続数が多いWebサーバーに有利。
  • メモリ:DDR5-6000はデータベース処理の高速化に寄与。
  • ストレージ:NVMe SSD(1TB)でI/O待ち時間を削減。
  • 電源:600W以上の80+ Platinum認証が推奨。
  • GPU:RTX 5090はGPUアクセラレーションを利用したAIベースのSQLi検知ツールに適応。
  • ネットワーク:PCIe 5.0 x16は高速通信を確保。
  • OS:Linuxベースのディストリビューション(Ubuntu 24.04 LTS)でセキュリティパッチを定期的に適用。
  • WAF:FortiWeb 2000やImperva SecureSphereを導入し、アプリケーション層での防御を強化。
  • 監査ログ:syslogやELKスタックでSQLクエリログを収集。
  • パラメータ化:ORMを利用し、プリペアドステートメントを徹底。

関連用語との違い

  • XSS(クロスサイトスクリプティング):クライアント側で実行されるJavaScript。
  • CSRF(クロスサイトリクエストフォージェリ):ユーザー認証情報を盗む。
  • RCE(リモートコード実行):サーバー側で任意コードを実行。
  • NoSQLi:NoSQLデータベースに対するインジェクション。2026年版OWASPではNoSQLi派生もA03に含まれる。

よくある質問

Q1. SQLi対策はコードレベルで十分ですか?
A1. コードレベルのパラメータ化は基本だが、WAFや監査ログも併用すべきです。

Q2. sqlmapは必須ツールですか?
A2. sqlmapは自動化された検査に便利だが、手動テストや静的解析も併用が望ましい。

Q3. 2026年の最新脆弱性は何ですか?
A3. PostgreSQL 16のPREPARE文に関するバッファオーバーフローが報告されており、パッチ適用が急務です。

まとめ

SQLインジェクションは、入力検証の甘さを突く代表的な攻撃であり、2025年以降の脆弱性診断ツールはNoSQLi派生も検出対象に拡張しています。Union‑based、Boolean‑based、Time‑based Blindといった手法を理解し、ORMのパラメータ化やWAFの導入で防御を固めることが重要です。自作PCを構築する際は、Ryzen 9 9950X3DやRTX 5090などの高性能ハードウェアを選び、FortiWeb 2000やImperva SecureSphereといった専用製品と組み合わせることで、SQLiリスクを最小化できます。最新の脆弱性情報を追い、定期的にパッチを適用し、監査ログを活用することで、堅牢なセキュリティ体制を維持できます。

この記事について
カテゴリーセキュリティ
難易度中級
作成日2026/4/20