WASCのWeb Security MLの少し前の投稿より。
Tactical Web Application Security: Mass SQL Injection Attacks Now Targeting PHP Sites
自動化されたSQL Injection攻撃が、現在はPHPサイトをターゲットにしているとの内容の記事です。
確かに、SQL Injectionによって埋め込まれるJSファイルのURLをキーワードにしてGoogle検索すると、拡張子がphpのページもヒットします。
"1000mg.cn/csrss/w.js" - Google Search
個人的に一番気がかりなのは、これまで狙われていたSQL Server以外のデータベースが新たに攻撃対象になっているのか(あるいはそうではないのか)ということです。
そこにも関わりそうな話なので、可能な範囲で調べてみました。
まず、検索結果の上位100位程度を抽出して、SQL Injection攻撃について書かれたBlogなどを除去した上で、集計したものが以下のグラフです。
拡張子
OS/Webサーバ*1
拡張子がphpのもの(全体の11%)だけを対象にOSを調べると、WindowsとUnix/Linuxが半々という結果になりました。
この情報だけから何かを断定的にいうのは難しいですが、以下のようなことは見て取れます。
Google検索+αの範囲では、残念ながらこれくらいの情報しか得られていません。
自動化されたSQL Injectionの攻撃では、複文が利用できるデータベースの調査: SQL Serverが狙われるには理由がある - 徳丸浩の日記(2008-05-02)に書かれているように、SQLの複文(stacked query、multiple query)の利用が(恐らくは)必須で、複文はMS SQL Server以外にもpostgresでサポートされています。
複文以外にもうひとつ現在の攻撃に利用されているのは、動的SQLのテクニックです。デフォルトインストール状態のpostgresでは動的SQLは利用できないようなのですが、動的SQLは攻撃に絶対必要という訳ではありません(動的SQLが使えないと、攻撃の効率が大きく下がりますが)。
という訳で、理屈の上ではpostgresを利用したアプリケーションも自動化された攻撃の対象になりうると考えています。
このあたりのことが以前からうっすらと気になっていたところに、WASC MLの記事を発見したので、今回少し調べてみたというわけです。
しかし、得られる情報が少ないこともあり、案の定というか明確な結論は得られませんでした。今のところ言えるのは、SQL Server以外のデータベースが攻撃対象になっていることを示す、明確な兆候なり証拠は見つけられていない(少なくとも私は)ということです。
*1:OS/WebサーバはレスポンスのServerヘッダを集計しています。