カテゴリ

インターネット セキュリティ News

2013/08/31 01:36 初版
2013/08/31 10:00 参考リンク追加
2013/08/31 18:45 体裁変更と「周辺情報とこれらからの推測」へ追記 注意喚起追記
2013/09/02 11:55 徳丸さんの解説記事へのリンクを追加
2013/09/03 12:30 さとうふみやすさんの解説記事へのリンクを追加 注意喚起追記 お願い追記
2013/09/09 22:15 公式リリース[2013/09/09 20:42 追記]について 追記
2013/09/09 22:30 某グループ代表の投稿について参考リンクに追記

http://lolipop.jp/info/news/4151/
http://lolipop.jp/info/news/4149/ [追記 2013.09.09. 22:15]← こちらに[2013/09/09 20:42 追記]として事象説明が出ました。[/追記]
これらのリリースと、関係情報を前提に、起こっていたであろうことの推測をまとめてみます。
推測ですので間違いがある可能性もあることをご了承ください。

目次

公式リリースの要点

(※2013.08.31. 18:30 体裁変更)
重要なことは、

  • 当初はWordPressのせいのようにされていましたが、結果としてWordPressは直接的には無関係であった(ここは今一つ明記されていません)
  • サーバのパーミッションに問題があった

ということです。
その結果、当該サービスでWordPressを利用しているユーザーだけでなく、当該サービスを利用しているユーザー全体が同一のリスクを抱えていたことになります。

リリース http://lolipop.jp/info/news/4149/ [2013/08/30 19:13 追記]部

改ざん手法を「WordPressのプラグインやテーマの脆弱性を利用」として説明を行っておりましたが、その脆弱性を侵入経路として、「当社のパーミッションの設定不備を利用」されたことが原因であることを確認しております。

リリース http://lolipop.jp/info/news/4151/ [2013/08/30 19:55 掲載]部

【実施日時】
2013年8月30日(金)19時40分より随時

【実施内容】
.htaccessでご利用いただけるオプションに対して以下の変更を行います。
 ・FollowSymLinksのご利用ができなくなります。
 ・SymLinksIfOwnerMatchをご利用いただけるようになります。

つまり

apache httpd の FollowSymLinks に問題があった

ということでしょう。

周辺情報とこれらからの推測

これに

これを合わせて考えると、

  • (おそらく)各ユーザーの領域はVirtualHostとして設定されている
  • それぞれのユーザーのドキュメントルートとなっているディレクトリのownerはユーザーごとに存在する(はず)だが、パーミッションは755(drwxr-xr-x)
    → そのユーザーでなくとも読み取れる。
    SymLinksIfOwnerMatchが代替で使える、と言っているのでユーザーは存在するはず。
  • あるユーザーのディレクトリ内に他のユーザーのディレクトリへのシンボリックリンクを作成することができ、その中身を読み取れることにつながる
  • FollowSymLinks が有効であることによって、あるユーザーのディレクトリにあるシンボリックリンクの中身をhttpd経由で表示可能になる

ということになり、WordPressの設定ファイル(wp-config.php)はシンボリックリンクを通じて読み出せることになります。
wp-config.php内にはmysqlへの接続情報が含まれているので、各DBへのアクセスがこの時点で可能になります。
接続先のDBに対して実行すべきSQLはほぼ一定のもので同様の改ざんが可能なはずなので、その先はおそらくWeb経由での何らかの設定など不要でDBを更新することでサイトの改ざんは完了できたはずです。
攻撃者としては、容易に推測ができ影響範囲も大きいWordPressをターゲットとするのは充分に妥当性があると思います。

「WordPressの脆弱性が・・・」という話が何の根拠もなく出てくるとは思えない(思いたくない)ので、このシンボリックリンクを張るようなスクリプトをどこかのアカウントのWordPress経由で書き込んだのでしょうか。
※が、実際のところ、正規にユーザーアカウントを取得してその作業をしたとしても高々数百円のコストで済むことなので、なんらかの脆弱性を利用してどうにかする必然性は特にないと思います。

[追記 2013.08.31. 18:30]
FollowSymLinks はおそらくサーバ全体で有効だったわけではなく、AllowOverride によって .htaccess で有効化できる状態だったのでしょう。
そのため、 .htaccess を改ざんすることによって httpd 経由での表示が可能になった、ということなんじゃないかと想像しています。
おそらくこの改ざんが WP の脆弱性を利用したものに見えたんじゃないかなと。

が、そもそもシンボリックリンクを貼れている時点で wp-config.php の内容を把握することは容易なので、本質的な問題ではないことには変わりません。
[/追記]

これは某サービスに限ったことではなく。。

今回はたまたま某サービスですが、この事象の本質は

[warning]
共有サーバには、ユーザーサイドで直接はどうにもできない脆弱性がある可能性がある。
同様の脆弱性は他の共有サーバにもある可能性がある。
※近々大規模メンテナンスが行われるようなサービスは慌てて対処を始めたものな可能性があり、リリース内に明確な説明がない場合、「そういうベンダーなんだ」と認識できる。
[/warning]

といったことではないかと思います。

名の通った(大きな)サービスだから、技術力は高いはず、というのは間違いな場合も多いので、自分がやりたいことに対して充分な学習をし、その知識を元にサービスのレベルを計るようにする必要があります。
自分のサイトについて、そのサイトのユーザーに対しては自分に責任があるはずですよね。

一般的に外注(誰かに頼む)のは、自分でやるよりもよほどしっかりした知識が必要になるんですよ。

とりあえずラフなまとめでした

取り急ぎなので、間違いなどある可能性もあります。
今後修正・追加する可能性もあります。

あくまで現時点での個人的な理解のまとめですので、鵜呑みにしないでいただけますようお願いします。

[追記 2013.08.31. 10:00]

参考リンク

[/追記]

[追記 2013.08.31. 18:45]

注意喚起

WordPress等のアプリケーションへの攻撃があった場合管理ユーザーの「乗っ取り」ではなく「追加」が行われている場合もあります。
改ざんを復旧したとしても、改めて全体の設定チェックをするべきかと思います。

また、SSH公開鍵への鍵の追加なども考えられるので、サーバサイドでも細かにチェックが必要かと。
その手の追加はアンチウィルスのスキャンでは見つからないものなので要注意です。
[/追記]

[追記 2013.09.03. 12:30]
[warning]
シンボリックリンク自体は、リンク先のファイル・ディレクトリに対しての権限がなくてもパスがわかれば作成可能なようです。
作成できてしまえば、httpdの実行ユーザー(apacheユーザーとか)にリンク先に対してのアクセス権があればhttpd経由でアクセス可能になります。
[/warning]
[/追記]

[追記 2013.09.03. 12:30]

お願い

間違いや追加情報等、ご指摘がありましたらぜひ、コメントにでも残していただければ幸いです。
[/追記]

コメント

いただいたコメント
  1. kaz. Suenaga より:

    (毒)これは公式サポートとしては「クラック」と認めるのかなあ。「クラック等の事実はない」と言い切ってたけど。グループ代表はまた別件として。