The Monday After The SQL Storm」より
August 30,2010 Posted by John Kuhn

 これまでの脅威レポート「X-Force Trend and Risk Report」を読み返し、以下のSQLインジェクションに関するグラフを眺めると、興味深いことに気付くだろう。米IBMのSOC(Security Operations Center)では、3年前から毎年1回、全世界規模のSQLインジェクション攻撃について取り上げてきた。

 どの攻撃も手口は基本的に同じで、SQLインジェクション攻撃が可能なASP(Active Server Pages)Webページを狙っている。

 2008年の攻撃は、以下のようにSQLのcastステートメントと16進データを用いてインジェクション用文字列を難読化していた。この攻撃はボット機能を持つ「Asprox」ワームによるもので、数千ものWebサイトを改ざんするという大成功を収めた(関連記事:フィッシング詐欺が半減、原因は犯罪組織「Rock Phish」のインフラ整備)。

 2009年に入ってからも、同種の攻撃が観測された。2008年の手口と違うのは、最終的に生成されるペイロードだけだった。このときの攻撃もAsproxが実行したものだが、Webサイトに導入された対策の効果で攻撃の成功率は下がった(関連記事:SQLインジェクション攻撃を仕掛けるウイルス再び、Webサイトを改ざん)。

 2010年の現在も同じ攻撃手法は使われているが、多少の変化が見られる。大文字と小文字を交互に使用してSQL文を作るなどし、あまり出来のよくない正規表現フィルタリングをすり抜けようとしている。以下に示したこの攻撃のステートメントを解読すると、別のcastステートメントが現れる。つまり、2重に難読化されたのだ。攻撃そのものはAsproxとよく似ているが、手口は少し異なる。こうした相違から、こちらの攻撃はエンコード済み文字列内のURLにちなんで「dnf666」と呼ばれることが多い(関連記事:ボットネット「ASProx」、再び活発化する)。

 最終的にdnf666の攻撃は抑え込まれたため、我々が観測した事例は非常に少なかった。以下のグラフから、攻撃は2010年7月14日に活発になり始め、8月17日に収まったことが分かる。最も激しかったのは8月9日で、当社の顧客全体で7000回以上の攻撃が行われた。

 X-Forceの開発者David Meansは、ここで紹介したような特定のSQLステートメントを検出するシグネチャー「SQL_Injection_Declare_Exec 」を作った。また、我々は複数のインジェクション手法に対応している「SQL_Injection」シグネチャーを併用することで、他のSQLインジェクションにも幅広く対応している。

 Webアプリケーションの設計時には、SQLインジェクションを考慮しておく必要がある。Webアプリケーションを公開する前には、必ずコード検査と侵入テストを実施すべきだ。SQLインジェクションは、簡単に実行できるうえに、インターネットに接続されている大量のWebサーバーへの感染が可能なので、現時点でよく使われる攻撃の一つである。


Copyrights (C) 2010 IBM, Corp. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,日本IBMの許可を得て,米国のIBM Managed Security Service X-Forceの研究員が執筆するブログIBM Internet Security Systems Frequency-X Blogの記事を抜粋して日本語化したものです。
オリジナルの記事は,The Monday After The SQL Stormでお読みいただけます。