![]() ![]() ![]() ![]() 新手の SQL インジェクションで攻撃するボットが出現、ラックが緊急警告この記事のURLhttp://japan.internet.com/webtech/20081003/9.html
著者:japan.internet.com 編集部
国内internet.com発の記事
ラックは2008年10月2日、SQL インジェクション攻撃をかける新種のボットを観測したとして、緊急注意喚起レポートを公開した。発見された攻撃手法はこれまでにない種類のもので、従来の防御システムをすり抜ける可能性がある、として警戒を呼びかけている。
同社の発表によると、発見した攻撃手法は、マイクロソフト製の Web サーバー IIS/ASP/ASP.NET 上で開発された Web サイトを狙ってデータベースの改ざんを狙う。 同攻撃手法は、IDS(Intrusion Detection System)や IPS(Intrusion Prevention System)、WAF(Web Application Firewall)などの防御システムをすり抜け、サイトの管理者に気かれにくくする工夫が施されているという。発見された攻撃は Cookie を使用した SQL インジェクションで、これまでほとんど観測されていないそうだ。 同レポートは「IIS の初期設定では Cookie の内容はアクセスログに記録されない。初期設定状態で運用しているサイトでは攻撃が来ていることすら認識することが出来ない」としている。 攻撃が成功した場合、Web アプリケーション経由でデータベースの内容が書き換えられ、不正なスクリプトが埋め込まれる。内容を表示した Web サイトに不正なスクリプトが含まれることで、サイトを訪れたユーザーは気づかないうちに不正 Web サイトに誘導されてしまう。 また、同社は「不正 Web サイトにはクライアントアプリケーションの脆弱性を狙った攻撃コードが複数設置されているため、クライアントアプリケーションに脆弱性が残っている場合、マルウェアをダウンロードさせられてしまう危険性が高いと考えられる」としている。 これまでの SQL インジェクションでは、HTTP の GET または POST リクエストの変数として、攻撃の実行文字列を Web アプリケーションに送り込んでいた。 今回、確認した Cookie を使用する SQL インジェクション攻撃では、IIS/ASP/ASP.NET で「%(半角)」に続く文字が16進数表記できない文字列が続いた場合、「%」を除去して、Web アプリケーションに SQL 文を送り込む仕組みを利用して防御システムをすり抜けようとしているそうだ。 これにより、「DEC%LARE 」や「e%xec」はそれぞれ「DECLARE 」や「exec」として Web アプリケーションに渡される。そのため構文エラーなどにならず、Web アプリケーションに脆弱性が存在した場合、攻撃 SQL 文が実行されてしまうという。 多くの IDS/IPS では、リクエストに含まれる特定のキーワードとのパターンマッチにより、SQL インジェクションの試みを検知する。このため、検知するキーワードの中に無効な「%」が含まれると、検出が非常に困難になる。WAF においても「%」の取扱において、この IIS/ASP/ASP.NET の仕様を理解していないと、IDS/IPS と同様に検出できない可能性があるそうだ。 同社の Web サイトに掲載されている緊急注意喚起レポートで、より詳細な情報が公開されている。
japan.internet.comのウエブサイトの内容は全て、国際法、日本国内法の定める著作権法並びに商標法の規定によって保護されており、その知的財産権、著作権、商標の所有者はインターネットコム株式会社、インターネットコム株式会社の関連会社または第三者にあたる権利者となっています。
本サイトの全てのコンテンツ、テキスト、グラフィック、写真、表、グラフ、音声、動画などに関して、その一部または全部を、japan.internet.comの許諾なしに、変更、複製、再出版、アップロード、掲示、転送、配布、さらには、社内LAN、メーリングリストなどにおいて共有することはできません。 ただし、コンテンツの著作権又は所有権情報を変更あるいは削除せず、利用者自身の個人的かつ非商業的な利用目的に限ってのみ、本サイトのコンテンツをプリント、ダウンロードすることは認められています。 |