止まらないSQLインジェクション事件
最新セキュリティーインシデント
Webサーバーの脆弱(ぜいじゃく)性により、個人情報の漏えい、Webサイトの改ざん、ウイルス感染サイトへの誘導などの危険性が広く認知されるようになって久しい。しかしいまだにSQLインジェクションをはじめとする危険性の高い脆弱性が元となる事件が多発している。
本連載では、数多くあるWebサイトの脆弱性の中からSQLインジェクションに焦点を絞り、これまでに発生した事件や弊社で診断業務を実施した結果や報道内容などからSQLインジェクションについて多角的に分析を行い、その対策までまとめて紹介していく。第1回の今回は「最新の攻撃傾向」や「最近発生している事件事例」について解説する。
2009年1月8日に株式会社ラックから「SQLインジェクション攻撃検知数(2008年12月まで)」が発表された。その中で公表されたSQLインジェクションの攻撃検知数を表すグラフが図1だ。
2007年は最大4万アクセス/月であったSQLインジェクションによる攻撃数は、2008年5月には4倍となる16万アクセスを記録し、攻撃が激化したことがわかる。さらに、2008年12月には1,500万アクセスの攻撃を記録し、それまでの攻撃件数の動きが誤差の範囲に見えるほど大きな動きを見せている。
5月に大量のSQLインジェクションが発生した原因については、「SQLインジェクションツールの普及」「SQLインジェクション攻撃を行うマルウエアの大量発生」などが考えられる。なお、マルウエアとは「ウイルス」「スパイウェア」「ワーム」などの悪意を持ったソフトウェアの総称である。
全世界的に、SQLインジェクションの脆弱性を攻撃するツールなどを販売する違法なサイトが存在するだけでなく、攻撃可能なサイトや攻撃手順をレクチャーするなど、一般人が容易に攻撃者になりえる環境が整っている。
12月の大量のSQLインジェクションが発生した原因については、はっきりと原因は解明できていないが、これまでの経緯から考えて、5月の攻撃が増えた原因に加え、攻撃者数の増加や新たな攻撃の中継個所が増えたものと考えられる。
同社の「緊急注意喚起」の2008年12月24日の追加情報では、この攻撃は12月24日からは韓国の攻撃がほとんどで、12月19日ごろから日本国内からの攻撃も増加したようである。
しかし、韓国や国内から直接攻撃があったとは限らない。先のSQLインジェクション攻撃を行うマルウエアからWebサイトが攻撃された場合、攻撃者の国はわからず、マルウエアに感染した端末の所在国しか分からない。また、攻撃を中継するマルウエアもあり、韓国/日本以外の国から感染した端末を経由して日本国内のWebサイトを攻撃しているとも考えられる。つまり、以前にマルウエアに感染し、放置されていた端末を経由して、12月になって一斉に攻撃が開始されたものと思われる。
また2008年後半からの不況により、世界規模でリストラされた人たちが増えている。その中から生活に困ってSQLインジェクションなどの攻撃行為を始めた人もいるだろう。
マルウエアによる攻撃とは
以前は、攻撃者自らが直接もしくはツールなどを使用して、SQLインジェクションの脆弱性を持ったWebサイトを攻撃していた。
しかし、2008年春ごろから、SQLインジェクション攻撃を行うマルウエアが大量発生している。これらのマルウエアに感染した端末は、攻撃者の指示を受けて、SQLインジェクション攻撃をしたり、攻撃を中継したりする。
これらのマルウエアにより、先に述べた攻撃者の増加やツールの普及といった要因による増加数をはるかに上回る攻撃数が記録されているものと考えられる。
しかも攻撃した結果、正規の企業サイトを改ざんし、マルウエアを強制的にダウンロードするサイトに誘導することで、ますます攻撃数が増えていく。
Webサイトからウイルスがダウンロードされる事例では、信用できないサイトにアクセスしない、信用できないデータをダウンロードしないといった対策が有効であった。しかし、今回のマルウエアは信用できるはずの正規の企業サイトを改ざんして攻撃しているので、利用者が見極めるのは難しい。したがって、Webサイトを運営している側がWebサイトの脆弱性対策を積極的に考える必要がある。
続いて、現在のSQLインジェクションの攻撃手法を具体的にみていこう。