Endpoint Protection

 View Only

クッキースタッフィングと W32.Pilleuz 

Nov 26, 2010 07:34 AM

1 年ほど前から、シマンテックは Mariposa ボットネットの流行と沈静化について当ブログで報告してきました(この脅威の識別名は W32.Pilleuz)。今回は、この脅威の注目すべき特徴である「クッキースタッフィング(cookie stuffing)」について説明しようと思います。

そのおいしそうな名前のとおり、クッキースタッフィングは、マルウェア作者たちが利用する「おいしい」金儲けの巧妙な手段のひとつです。この手法を説明するために、まず W32.Pilleuz が利用しているマーケティングモデルであるアフィリエイトマーケティングを見てみましょう。

たとえば、私はトライアスロンが趣味で、symtriclub.com という Web サイトを持つシマンテックトライアスロンクラブに所属していると仮定しましょう。シマンテックトライアスロンクラブのスポンサーは架空の自転車店で、examplebikestore.com というサイトを運営しています。私が symtriclub.com を閲覧中に examplebikestore.com へのリンクをクリックして買い物をすると、このトライアスロンクラブは少額ながら報酬を受け取ります。クラブの Web サイトに自転車店の広告が掲載され、その広告が成果をあげたことになるからです。

上に示した例では、トライアスロンクラブが自転車店のアフィリエイトであり、ここでの買い物が「有効取引」ということになります。有効取引は買い物とは限らず、ニュースレターやアカウントの登録だけでいい場合もあります。Web サイトにはいくつアフィリエイトを設置してもよく、アフィリエイトによって報酬の発生方法もさまざまです。「あと X 日」というのもよくある手法で、Web サイトで紹介されている「X 日」の期限内に有効取引が成立すると、報酬が支払われます。

では、さまざまな場所からたくさんのユーザーが examplebikestore.com にアクセスした場合に、そのサイトでは報酬が発生するアフィリエイトをどのように識別しているのでしょうか。アフィリエイトを識別および管理する方法のひとつが、cookie です。ブラウザ上でユーザーが symtriclub.com から acmecycles.com に移動すると、symtriclub.com のアフィリエイト ID を含んだ cookie が投下され、移動先の Web サイトがそのアフィリエイトに報酬を支払います。

W32.Pilleuz は、「クッキースタッフィング」と呼ばれる方法を使って、ボット所有者の利益となるようにこのアフィリエイトマーケティングモデルを利用します。ボットネット運用者は、無数の合法企業に対する新しいアフィリエイトの cookie を利用して、感染したコンピュータのネットワークを更新することができます。感染したコンピュータのいずれかで有効取引が成立すると、ボットネット運用者は報酬を手に入れます。 

このように、正規のアフィリエイトが報酬を横取りされるだけでなく、オンラインショップの経営者もアフィリエイト契約に基づかない取引に報酬を支払うという二重の詐取になるのです。

ボットネットがクッキースタッフィングを利用するということは、好ましくない Web サイトにアクセスしていないユーザーでもアフィリエイトの cookie を受け取ってしまうことを意味します。ボットは感染したコンピュータ上に存在するため、cookie を定期的に更新することも、新しい cookie を追加することも可能です。

では、一般のユーザーがクッキースタッフィングに注意しなければならないのは、なぜでしょうか。それは、オンラインショップが損をするだけとは限らないからです。クッキースタッフィングによってオンラインショップで不正な報酬が発生すれば、その分はコスト増につながり、ショップはその増加コスト分を消費者に転嫁するかもしれません。あるいは、副収入のほとんどをアフィリエイトに頼っている正規のアフィリエイトに、本来の報酬が支払われないことになります。

その仕組みは次のとおりです。cookie の管理方法はブラウザによって異なりますが、W32.Pilleuz には Internet Explorer と Mozilla Firefox のどちらにも cookie を提供するコードがあります。Firefox の場合、cookie の情報はすべて次の場所にある SQLite データベースに格納されます。

%AppData%\Mozilla\Firefox\Profiles\[ランダムな文字列].default\cookies.sqilte

このデータベースには「moz_cookies」という名前の大きなテーブルがあり、そこにすべての cookie が格納されています。W32.Pilleuz が moz_cookies テーブルに新しい cookie を挿入するときに文字列を構築する動作を、以下のコード例に示します。新しく挿入される cookie には、ボットネット運用者の affiliate_reference_id が含まれています。

Internet Explorer を対象にする場合には、InternetSetCookieA API が利用されます。
この API は、3 つのパラメータを使用します。

  • lpszUrl[in](URL 文字列へのポインタ)
  • lpszCookieName[in](name 文字列へのポインタ)
  • lpszCookieData [in](URL に関連付けられるデータへのポインタ)

次のコード例は、URL 文字列とデータ文字列の構築、InternetSetCookieA に対する呼び出しの動作を示したものです。データ文字列には、詐取した報酬を受け取れるように、最新の最終アクセス時間、有効期限、ボットネット運用者の affiliate_reference_id が含まれています。

以上の点をふまえ、忘れずに定義ファイルを更新するようにしてください。自分自身の安全のためだけではありません。クリスマスシーズンを迎えて奮闘しているかもしれない、世界中のオンラインアフィリエイトの安全のためでもあるのです。

Stephen Doherty 氏、Yousef Hazimee 氏、および Sean Kiernan 氏のご協力に感謝します。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。

Statistics
0 Favorited
0 Views
0 Files
0 Shares
0 Downloads

Tags and Keywords

Related Entries and Links

No Related Resource entered.