JPCERTコーディネーションセンター(JPCERT/CC)は3月16日、国内外から複数の報告が寄せられたとして、国内のWebサイトにSQLインジェクションの脆弱性が存在するとして注意喚起を行った。

JPCERT/CCによると、オープンソースのSQLインジェクション脆弱性診断ツール「sqlmap」を利用し、国内のWebサイトで動作するWebアプリケーションを対象としたSQLインジェクションの脆弱性を検出しようとするアクセスが海外から行われているという。このアクセスは、組織規模の大小を問わず、中小企業や個人のWebサイトでも行われているため、注意が必要としている。

SQLインジェクションの脆弱性は、開発者が意図しない形にSQL文が改変されるもので、認証回避や任意のプログラム実行、情報漏えい、Webサイトの改ざんなど、さまざまな影響を受ける可能性がある。ツールのsqlmapは主に、以下のような5つのSQLインジェクションの手法を用いる。

  • Boolean-based blind WHERE 句、HAVING句の真偽値を利用する手法

  • Time-based blind データベース側の応答時間差により情報を取得する手法

  • Error-based データベース側からのエラー応答から情報を取得する手法

  • UNION query-based 別々のテーブルの検索結果を結合するクエリを使用する手法

  • Stacked queries 1回のトランザクションで複数のクエリを実行させる手法

JPCERT/CCでは、Webアプリケーション開発者、管理者に対し、SQLインジェクションに関する対策を打つよう呼びかけている。

開発者向けの対策

  • Webアプリケーション開発にバインド機構を使う
  • 最小限の権限に設定
  • SQLインジェクションのテストを実施

管理者向けの対策

  • 最小限の権限に設定
  • サイトにSQLインジェクション脆弱性がないかを調査
  • Webアプリケーションをアップデート