狙われるphpMyAdmin、攻撃のきっかけは?川口洋のセキュリティ・プライベート・アイズ(19)

» 2009年09月15日 10時00分 公開
[川口洋@IT]

川口、全国を飛び回ってます。

 皆さんこんにちは、川口です。先日、私は島根に出張をしていました。せっかく島根という地に行くのですから各地の方と交流したいと思い、山陰ITPro勉強会(通称 SITW:しちゅー)での勉強会に参加してきました。

 実は8月27日の夕方に、“勉強会エバンジェリスト”のまっちゃさんと話をしていてSITWの担当者の方に連絡を取ってもらえることになりました。そして28日に勉強会内容の調整、告知を一気に行い、週明けの9月2日に無事開催することができました。急な開催告知にもかかわらず、13人も参加してくれました。

【参考】

山陰ITPro勉強会(しちゅー)
http://sitw.techtalk.jp/

山陰ITPro勉強会 番外編#01
http://sitw.techtalk.jp/sitwinfo/opt01


 勉強会の内容は参加した人だけのお楽しみということで割愛しますが、楽しんでいただけたのではないかと思っています。意外だったのは島根でIPS製品を開発している企業の方が参加されていたことです。セキュリティ製品は外国製のものが中心であるなかで、国産企業が頑張ってくれるのはとてもうれしいです。

 当然ですが、勉強会のあとには懇親会が開催されました。懇親会は勉強会以上に盛り上がり、午後9時に始まり、解散するころには午前1時半を過ぎていました。やはり島根も懇親会が熱く、楽しい夜を過ごすことができました。

 これまで、まっちゃ139、まっちゃ445、せきゅりてぃもみじ、せきゅそば、せきゅぽろ、SITWとたくさんの勉強会に参加してきました。まだ参加したことのない勉強会が各地にあります。いつかチャンスがあれば参加したいものです。

増加するphpMyAdminへの攻撃

 私が中国地方へ出張している間に、phpMyAdminに対する攻撃が発生しています。正確には攻撃の兆候は以前からあったのですが、実被害に遭う事例が増えているようですので、今回はそのphpMyAdminへの攻撃を取り上げたいと思います。

 phpMyAdminはMySQLを管理するためのWebアプリケーションで、その名の通りPHPで実装されています。2009年3月にphpMyAdminの脆弱性が発見されており、この脆弱性を狙った攻撃が行われています。

【参考】

phpMyAdmin
http://www.phpmyadmin.net/

phpMyAdminのsetup.phpにおける任意のPHPコードを挿入される脆弱性
(JVNDB-2009-001443)

http://jvndb.jvn.jp/ja/contents/2009/JVNDB-2009-001443.html


 この攻撃では、phpMyAdminのsetup.phpスクリプトに特殊なHTTPリクエストを送ることで、任意のPHPコードを作成します。JSOCで検知している事例では、リモートからコマンド実行が可能となるPHPコードが作成されていました。

 攻撃者は一度作成したコマンド実行用のPHPコードを経由し、システムの操作を行っていました。その際、以下の攻撃リクエスト(1)と(2)がまとめて送信されてきます。

  • 攻撃リクエスト(1)
    /phpmyadmin/scripts/setup.phpに対する特殊なPOSTリクエストを送る。
     (例)POST /phpmyadmin/scripts/setup.php HTTP/1.0

  • 攻撃リクエスト(2)
    作成されたバックドアでコマンドの実行を確認する。
     (例)GET /phpmyadmin/config/config.inc.php?c=uname%20-a%20$PATH HTTP/1.1
    • unameコマンドを実行している
    • 攻撃が成功していればunameコマンドの結果が返される

 この脆弱性を狙った攻撃によって、主に学術機関で被害が発生しています。大学生や外部の研究生が構築したphpMyAdminがセキュリティを考慮しておらず、そのために被害にあっているようです。また学術機関のみならず、一般企業でも攻撃による被害は発生しておりますので、意図せずphpMyAdminをインターネットに公開していないか確認が必要です。

攻撃コードの公開が件数上昇のフラグ

 2009年8月の攻撃件数の推移をグラフにしました。

図1 2009年8月における、phpMyAdminへの攻撃件数推移 図1 2009年8月における、phpMyAdminへの攻撃件数推移(LAC調べ)

 脆弱性発見から数カ月が経過しているにもかかわらず、いまなお攻撃が増加している原因として、攻撃コードを掲載しているメジャーなサイトに、この脆弱性を悪用する攻撃コードが掲載されたことがあると推測します。

 以前より、アプリケーションの脆弱性が発見された直後は、攻撃が行われることはほとんどありませんでした。しかし、その脆弱性を悪用する攻撃コードが公開された時点で、攻撃件数は増加する傾向にあります。大変極端な話ですが、攻撃コードが公開されない限りは攻撃される可能性はほとんどないということです。

 もちろん、ひそかに攻撃手法を研究、開発している攻撃者から攻撃される可能性はありますので、脆弱性に対応しなければならないことはいうまでもありません。それでも、脆弱性に対応できない状況になることもあります。

 そのため、まず攻撃コードが世の中に公開されていないかという情報を収集し、攻撃コードが公開されている場合には、脆弱性への対応を急いだ方がよいでしょう。

対策は?

 この攻撃への対策として、以下の方法をお勧めします。

  • phpMyAdminを最新版にバージョンアップする
  • インストール時に作成したコンフィグファイルを削除する
  • phpMyAdminに接続できるIPアドレスを制限する
  • IPSやWebアプリケーションファイアウォール(WAF)で防御する
  • 上記のいずれの対策も採用できない場合、phpMyAdminの停止を検討する

 またphpMyAdminをインターネットを経由して利用する場合には、以下の点も注意しましょう。

  • 認証に利用するパスワードは強固なものを設定する
  • 新たな脆弱性が発見されていないか情報を収集する
  • そのほか、一般的なセキュリティ対策を行う

 特に管理画面へのアクセス制御が弱く、攻撃者にパスワードを推測されてしまうと、バックドアを送り込まれる被害も発生していますので注意してください。

【関連記事】

川口洋のセキュリティ・プライベート・アイズ(15)
狙われる甘〜いTomcat

http://www.atmarkit.co.jp/fsecurity/column/kawaguchi/015.html


 今回のphpMyAdminに対する攻撃はこれを検知するシグネチャを提供していないベンダが多くあり、攻撃の存在に気付いていない組織も多いと推測しています。JSOCではオリジナルシグネチャ(JSIG)を作成して対応しました。まずはインターネットの不特定多数のホストからphpMyAdminに接続できる環境になっていないか、確認することをお勧めします。

島根といえばRuby、そのインシデントの状況は……

 今回はphpMyAdminへの攻撃をテーマとしました。せっかく島根に行ったのですから、PHPではなくRubyに関する話ができればよかったのですが、JSOCのお客様でRubyをお使いの環境で危険なインシデントはほとんど発生しておらず、取り上げるテーマがありませんでした。これはJSOCのお客様でRubyを使っている環境が少ないからなのか、Rubyを使っている環境が攻撃を受けにくいからなのか、それともRuby自体が安全な実装になっているからなのかは分かりません。

 あくまでRubyは道具ですから、使う人によって安全なものを作ることもできますし、脆弱なものを作ることもできます。しかし、個人的にはセキュリティの面でも、Rubyのような国産のソフトウェアが活躍してくれることを期待して、今日も飲みに行くのでした。

Profile

川口 洋(かわぐち ひろし)
株式会社ラック
JSOCチーフエバンジェリスト兼セキュリティアナリスト
CISSP

ラック入社後、IDSやファイアウォールなどの運用・管理業務をへて、セキュリティアナリストとして、JSOC監視サービスに従事し、日々セキュリティインシデントに対応。

アナリストリーダとして、セキュリティイベントの分析とともに、IDS/IPSに適用するJSOCオリジナルシグネチャ(JSIG)の作成、チューニングを実施し、監視サービスの技術面のコントロールを行う。

現在、JSOCチーフエバンジェリスト兼セキュリティアナリストとして、JSOC全体の技術面をコントロールし、監視報告会、セミナー講師など対外的な活動も行う。


「川口洋のセキュリティ・プライベート・アイズ」バックナンバー

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。