止まらないSQLインジェクション事件

2009年2月6日(金)
近藤 伸明

防御システムをすり抜ける攻撃とは

 新たなSQLインジェクション攻撃の中に、「防御システムをすり抜ける攻撃」がある。

 大規模Webサイト管理者の多くが、ネットワーク内にIDS(Intrusion Detection System;侵入検知システム)、IPS(Intrusion Preventio System;侵入防止システム)、WAF(Web Application Firewall;Webアプリケーションファイアーウォール)などの防御システム(以下、IDS/IPS/WAFなどの防御システムを総称して、防御システムとする)を導入して、Webサイトの攻撃を回避している。

 防御システムをすり抜ける攻撃は、こうしたサイトをターゲットにして、防御システムの無効化を狙った攻撃である。

 この攻撃には、「CookieによるSQLインジェクションの攻撃」「攻撃文字にWebサーバーで無効化される文字列を含める攻撃」などがある。攻撃方法はこの2つだけではないが、今回はこの2点について解説する。

CookieによるSQLインジェクションの攻撃とは

 CookieによるSQLインジェクションの攻撃とは、Cookieから取得したデータを元にしてSQL文を組み立てる際に、Cookieの中にSQLインジェクションの攻撃文字列を含めるものだ。

 こうした攻撃手法による事件が発生してから、製品によっては、Cookieを監視対象とするようになったものもあるが、対応していないものも多いので注意が必要だ。導入の際には、対応の有無をメーカーに確認したい。また既に導入している場合、対応しているかどうか、バージョンアップで対応可能か、確認することをお勧めする。

 対策としては、こうした攻撃を検知できる防御システムの導入のほかに、「アプリケーションレベルの対策」が考えられる。防御システムの導入の方は、あくまでも暫定的対策もしくは補助的対策となるので、根本的な対策としては、アプリケーションレベルの対策をお勧めしたい。この内容については、Cookieを利用するか否かにかかわらないので、ほかの対策とまとめて、次週以降に説明する。

 Webサーバーの標準の設定でも、Cookieの情報はログなどに記録が残らないので、攻撃に気づきにくい。しかも、攻撃の事実が明らかになっても、攻撃方法や侵入手段、漏えいの範囲などを特定する手段がないため、効果的な対策が打てなかったり、対策に時間がかかったりする。よって、Cookie情報をログに保存することも重要だ。

 Cookie情報をログに保存するには、Apacheの場合、設定ファイル(httpd.conf)を変更すればよい。「Cookie ログ」などのキーワードですれば多数の記事が見つかるので、ここでは割愛する。

 また、Cookieを使用した攻撃と同様に、POSTによるフォームに入力した値もデフォルトのWebサーバーではログに保存されない。

 POSTによるフォームに入力した値をログに保存するには、「Webアプリケーションで入力した値をログに残す方法」「Webサーバーの機能でログを残す方法」「WAFなどのネットワーク機器の機能でログを残す方法」の3通りが考えられる。

 1つ目のWebアプリケーションで入力した値をログに残す方法は、POSTにより送られてきた内容を内部の処理に使用する前に、そのままの形でログに保存する方法だ。

 2つ目のすべてのデータをWebサーバーの機能でログに残す方法は、Apacheの場合、WAFの1種ではあるmod_securityを使用する。これでPOSTによるフォームに入力した値をログに保存できる。

 3つ目のWAFなどのネットワーク機器の機能でログを残す方法は、対応する機器を導入すればよい。

 いずれにしても、ログを新たに収集する場合、ハードディスクの空き容量に注意し、改ざん防止の手段やバックアップについて事前に検討しておこう。

 続いて、もう1つの攻撃手法の手順と対策について説明する。

株式会社神戸デジタル・ラボ

2003年神戸デジタル・ラボに入社。
2007年からWebセキュリティ診断業務を事業化し、現在に至る。
2008年4月に経済産業省から発表された「モデル取引・契約書(追補版)」のセキュリティガイドライン ワーキング・グループ委員として「Web アプリケーションセキュリティ」を担当。
2010年10月、CSS2010にてセキュリティ関連論文を発表するなど、診断業務のかたわらセキュリティ基盤研究開発業務に活躍中。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています