PR

止まらない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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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