国内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アプリケーションをアップデート