新着記事

2005年12月07日

MuzzyによるソニーXCP DRMシステムのまとめ(随時更新版:12/07更新)

Muzzy's summary of Sony's XCP DRM systemより。

MuzzyによるソニーXCP DRMシステムのまとめ

ソニーBMGが使っているコピープロテクトシステム「XCP」にまつわる問題を、 簡潔にまとめようと思い立った。 僕の検証ページにもいくつかの検証結果は載せてある。 だけどそれは詳細のみだから、全体像を把握するのには不適切だと考えたんだ。 このページでは詳細にはあえて踏み込まず、何が起こっているのかについてだけ述べようと思う。 もしこれら全ての問題についての僕の意見を知りたければ、 僕のページRant and Whineを読むといい。

MediaMaxに関する情報のまとめを読みたいなら、jiriの比較対照表を見るといい。 肥大化した僕のページよりよっぽど読みやすいよ。

JavaScriptをONにしておくと、ハイライトボタン機能が使える。(訳注:和訳では未実装)

主な機能

XCPはカジュアルコピー防止のために比較的高水準のプロテクトを提供しつつ、  正規ユーザにはお好きなプラットフォームで高音質のデジタル音楽を体験させるものです。
−www.xcp-aurora.com より
  • プロテクトCDはマルチセッションCDで、プロテクトされていない音楽トラックと、 コンピュータの音楽CD(プロテクトのない普通のCDを含む)読み込み能力を改ざんするための「悪意のあるソフトウェア」から成る。
  • コンピュータの支配権を奪取し、実行中のOSカーネルを一部改窮し、システムのリソース監視方法を改ざんする。
  • CDリッピングソフトの正常動作を妨害し、その行為は多分既知のリッピングソフトを載せたブラックリストに基づいている。
  • アプリケーションの実行を常に監視し、DRMシステムが興味を持つソフトの実行を見届けるために覗き窓を開いておく。 その動作は、プロテクトのない普通の音楽CDをドライブに入れているときでも変わることがない。
  • プロテクトCDを再生すると、ただちに本拠地に通報する。 その際、どのプロテクトCDがいつどこで再生されたのかについての情報をソニーに提供する。
  • $sys$で始まるファイルや実行中のプログラムをシステムから見えなくし、自身の存在をも隠蔽する。
  • プレイヤーアプリを提供するが、CD再生機能のほかに、もれなく個人的なコピーを3回に制限する機能を搭載。 もちろん、お気に入りの音楽再生ソフトウェアを使うことなど許されない。
  • DRMシステムが駄目と判断した場合、音楽CDをリッピングする際に問答無用でノイズを付加する。

問題

「ほとんどの人はrootkitとは何かを知らないのだから、気に掛けたりしないのではないか」
−ソニーBMGグローバルデジタルビジネス担当社長トーマス・ヘス [ソース]
  • 何が起こっているのかわからなければ、コンピュータの支配権を奪取されたとしてもユーザは気にしない、とソニーBMGが公言していること。 なお、ソニーは謝罪するつもりがないらしいばかりか、新たな試みをしようとしているようだ。
  • 問題CDのEULAが、 ソフトが本当のところ何をするのか説明していないばかりか、 そういった情報が購入に先立って消費者に一切公表されていないこと。
  • 問題ソフト自身にアンインストール機構がないこと。
  • ソフトが隠れているため、アップデートが必要かどうかの判断が難しいどころか、 インストールしてしまったユーザがその事実を知ることすらまずないだろうということ。
  • ファイルやプロセスの隠蔽がセキュリティホールを作り出し、 それがすでに複数のコンピュータウィルスによって利用されていること。
  • XCPのプログラムが不出来で、たまに誰かのシステムをクラッシュさせること。
  • システムによっては、プレイヤーソフトが正しく動作しない場合があること。
  • 古いバージョンのアンインストーラがActiveXバックドアをインストールし、 悪意のある人々がコンピュータを制圧するために使える脆弱性を作り出してしまっていたこと。
  • 問題DRMシステムに含まれるコンポーネントの数々について、 XCP DRMシステムではなく、さもシステムにとって重要な機能であるかのようにユーザを欺くため、 故意に間違った命名がなされていること。
  • ほとんどの見え透いた素直な方法でXCPを除去しようと試みると、 次回起動時にすべてのCDドライブが無効になってしまい、以後コンピュータが障害を抱えたままになること。
  • 多くのDRMコンポーネントがオープンソースコードの著作権を侵害していること。 (GPLおよびLGPLソフトのライセンスを遵守していないこと)
  • DRMシステムがApple社のDRMシステムFair Playを回避する機構を含んでおり、DMCA違反が疑われること。
  • 提供されるアンインストーラがWebベースのみであるため、インターネット接続不能のシステムでは実行できないこと。
  • 複数の異なるコンピュータからアンインストールする場合、 1回アンインストールするごとにソニーBMGの許可を求めなければならないこと。
  • 十中八九、DMCAに基づく告発をおそれてDRMシステムをリバースエンジニアリングできないため、 ほとんどのセキュリティ企業が問題のDRMシステムを回避させることで顧客の安全確保をするより、 自らの安全確保を優先するであろうということ。
  • 問題のDRMが、ライセンスを承諾しないかぎり音楽を聴く権利がないかのような印象を与えるものであること。 (テクニカルな記述としては正しいのかもしれないが、たとえまったくプロテクトシステムの働かない環境でさえも、 音楽CDを携帯音楽プレイヤーにコピーすることさえも違法よばわりしているかのようだ。 また、そんな主張に耳を傾ける道理などないことを念頭に置いておこう。 そもそも「right to readも何もあったものではないのだから。)
  • 完全なCDリッピングを阻止すべくノイズ付加システムが実装されているものの、 プロテクトされていないCDに対して見事に働くわりには、 たまにプロテクトCDをノイズなしでリッピングできてしまうこと。
  • 実行中プロセスの監視および覗き窓を開くために、常にシステムリソースを消費し続けること。 それにより少なくとも1〜2%はシステムの演算能力を落とすこと。
  • 回収、交換プログラムを実施しているにもかかわらず、 ソニーBMGがそれを大々的に公表しようとする姿勢すら見せないこと。 その上、感染CDは未だに流通しており、今後数年にわたって幾百幾千のシステムに影響を与え続けるであろうということ。
  • ソニーBMGは全ての感染した顧客に対してXCP自身の本拠地通報機構を利用して通知することが技術的に可能、 つまり交換プログラムについてのバナーを表示して顧客に知らせることができるのに、そうしようとしないこと。
  • どうやらソニーBMGが、引き起こした被害についての補償や問題CDの返金に応じそうにないこと。

その他の情報

  • ついにソニーBMGはまともに動くらしいスタンドアロンのアンインストーラを公開した。
  • CDを入れるときにShiftキーを押したままにするか、あらかじめオートランを切っておくことで、 システムにXCPがインストールされることを阻止できる。 これで、問題のDRMシステムをも回避することが可能。 ここで注意せねばならないのは、Windows2000以降では実質的にメディア交換通知がオフになっていて、 いくつかのアプリケーションがこの特性につけ込んでいることだ。 (そのようなシステムではオートランを切っておくのが望ましいのだろうけど、今のところOS単体でそれをする方法がわからない)
  • ソニーBMGは影響を受けるCDとしてWebサイトに52タイトルをリストしているが、 以前は影響を受けるのは20タイトル足らずだと主張していた。
  • XCPに感染したCDを持っているなら、 ソニーBMGの回収、交換プログラムを利用することで、 XCP FAQの言うところのXCPに感染していないCDへと交換してもらえる。 これはきっと、別のコピープロテクトが施されたCDをこっそりばらまくようなことはしないことを意味するに違いない。
  • ソニーBMGの立場に立って、XCP FAQを読んでみよう。 しかし、ほとんどただの宣伝ではないか、と悟ることになるはずだ。
  • 実のところ、こんな正規盤CDを買って使うくらいなら、インターネットから違法ダウンロードしたほうが安全だ。 ユーザが販売業者にきっぱりと「プロテクトのない違法コピー品はないか?」とたずねる新時代の到来なのかもしれない。 それでも販売業者が「本物」を売りつけようとやっきになる悪徳商法の時代のね。
  • CDをリッピングする人間が一人でもいれば(要はShiftキーを押して回避するだけだが)、 問題のDRMシステムはインターネット上の違法流通を阻止はおろか鈍化させることさえできない。
  • ソニーBMGは同時にSunnComm MediaMaxのコピープロテクトシステムも利用しているが、 これはある意味でXCPよりたちが悪い。EULAに同意しなくてもインストールされ、 アンインストーラはなく、本拠地への通報など色々なことをする。

何か間違っているだろうか?追加や訂正があれば、メールして欲しい。(訳注:くれぐれも英語で)

2005/12/06更新 Matti Nikki

posted by 7mm MG at 08:03| Comment(0) | TrackBack(5) | 和訳 | このブログの読者になる | 更新情報をチェックする

MuzzyによるソニーXCP DRMシステム調査報告(随時更新版:12/07更新)

Muzzy's research about Sony's XCP DRM systemより。

MuzzyによるソニーXCP DRMシステム調査報告

ソニーのXCP DRM rootkitについて独自に調査した結果をいくらか集めてみた。 どうぞごゆっくり。 新情報を発見するたびにページを書き換えているから、後日また確認するといい。

簡潔なXCP DRMシステムのまとめと、 切り離してある意見のページもある。 このページは事実にこだわろうとするものなので、何かバイアスがかった表記や間違いがあると思ったら、 メールで知らせてくれると嬉しい。

最近の更新

かつてのアンインストーラ

問題のアンインストーラは、ちょうどユーザがアンインストーラのURLをリクエストできるようになる直前、 あるActiveXコントロールをシステムにインストールすることを命じる。 アンインストーラのActiveXは自身の安全を確保すべく注意を払って書かれているのだけれど、結局、 盛りだくさんの興味深いメソッドを、誰もが利用できるようにしてしまう性質を持ってしまっている。 これらについてはそれほど深く検証していないのだけど、とりあえずひとつだけ試してみたら、 そうなるだろうと思った通りに動いた。これはいわゆる「RebootMachine」というやつだ。 もしソニーのActiveXコントロールをインストールしたことがあるなら、 invoke the RebootMachine methodのリンクを踏んでみなよ。(訳注:危ないから踏むなよ) ともかく、ExecuteMethodメソッドのなんたるかは十分わかってもらえたと思う。

このInstallUpdateメソッドは、実はもっと大きなセキュリティホールを持ってるんだけど、それはfreedom-to-tinker.com's post about the uninstaller hole.を参照のこと。 彼らは、脆弱性があるかどうかを試すのに僕のリブート・デモが使われることで、事態が悪化するかもしれないと懸念している。 なぜならこれは、F4Iのサイトからhtmlをコピー&ペーストしたもので、 元々はActiveXコントロールのインストールを催促するのに使われていたからだ。 F4Iだっていつでもどんな方法でもインターフェイスを変更することはできたはずなのだけど。 僕のは変更しといたから、デモにインストール能力を持たせるような用途には役に立たないはずだよ。

アンインストーラが置き去りにしていくスクリプト・メソッドの数々

問題のアンインストーラは数々のメソッドを置き去りにしていく。これはそのリストだ。

  • GenerateRequestPacket
  • ExecuteCode (ブラクラに悪用できる。どうも最新のocxでは除去されているようだ。)
  • Uninstall
  • RebootMachine (デモを見ればわかるとおり、悪用される。)
  • GetProgress
  • OnLoaded
  • InitializeDiscScan
  • GetNumberOfDiscs
  • IsDRMServerValid
  • GetAlbumArtist
  • GetAlbumName
  • GetMaxBurnCount
  • GetCurrentBurnCount
  • GenerateIncrementPacket
  • IsContentOwnerValid
  • DoIncrement
  • GetInstalledSoftwareVersion
  • IsXCPDiscPresent
  • InstallUpdate (exploitable)
  • GetInstallProgress
  • GetCompletionStatus
  • IsXCPDiscPresentAsLong
  • IsAdministrator

これらを使えば誰でもコンピュータを再起動させられることを考えると、 これを開発している間、1秒たりともセキュリティについて考えたことがないのではとさえ思える。 ウィルス作者やその手の世界はこうしたメソッドを解析することにとても興味を持つことだろう。 これらのうちのいくつかは間接的に利用できるだろうから・・・意図的に。

マジックリスト

問題のインストーラとプレイヤーは両方とも、ある興味深いリストを含んでいる。 実行ファイル名、ウィンドウ名、などなどが載っているものだ。 現段階ではこれらが何に使われる物なのかはわからないが、およそブラックリストシステムであろうと推測できる。 あなたも同じような推測をすることだろうけど、だがしかし実は問題のDRMシステムは2秒毎にリストを読み取っているのだ。

これらのリストに載っているプロセスのAPIをフックして、DRMシステムがノイズ付加を行うと伝えてきたけど、 今のところまだ確証は得られていない。

LAMEとの関係は?

問題のCDにあるファイル「Contents\GO.EXE」が、とある文字列を含んでいるのだ。


00056c18  68 74 74 70 3a 2f 2f 77-77 77 2e 6d 70 33 64 65  http://www.mp3de
00056c28  76 2e 6f 72 67 2f 00 00-30 2e 39 30 00 00 00 00  v.org/..0.90....
00056c38  4c 41 4d 45 33 2e 39 35-20 00 00 00 33 2e 39 35  LAME3.95 ...3.95
00056c48  00 00 00 00 33 2e 39 35-20 00 00 00 00 00 00 00  ....3.95 .......

GO.EXEにLAMEがリンクされているのはうっかりミスのように見えるが、 少なくともECDPlayerControl.ocxにおいては完全に利用されており、どう見てもうっかりリンクされたものではない。 LAMEを検知するのに使ったのではないかと推測する人もいるかもしれないが、それは事実と異なる。 GO.EXEはこのデータとはどう見ても無関係、つまりそこでは全く使われていないということだ。 つまり、彼らは混乱してついうっかりインストーラに対してLAMEをリンクしてしまったのである。 本来LAMEが使われ必要とされるはずの、DRMシステムの別のコンポーネントにだけリンクされるべきところを。

問題のCDには、LAMEの文字列を含むファイルが全部で4つもあり(うち3つはXCP.DATに圧縮格納されている)、 その上少なくとも1つは、LAMEのコードをも含んでいるように見える。これは確実に著作権侵害である。 なお、Sebastian Porstのblog記事にもLAMEが問題のDRMとともに出荷されている旨の記載がある。

多くの人々が気づいていることだろうが、ソニーBMGもF4Iも MP3特許のライセンス供与を受けているようには見えない。LAMEのコードを盗用したことは特許権侵害をも引き起こすのである。 しかし昨今、まったくもってとんでもない量の特許があり、表に出ているソフトウェアのほとんどは何らかの意味でそれに囲まれていると考えられることには留意すべきである。 この件に限って言えば事の起こりからしてあまりに露骨すぎる。なにしろ既知の特許範囲にある既知のソフトウェアを含んでいるのだから。 また、ソニーBMGが少しでもリストアップの手を休めたなら、ソニーにも、そして少なくとも僕にも、 特許ライセンス供与というものが実際のところどう働き、誰がそれを求めるのかということの糸口すら見出すことはできやしないのだ。 特許事情に関わらないで何かを公表しようと企図するなら、己の中に真実を問うしかないと考えておいたほうがいい。

XCP.DATにある謎の物体

CDからXCP.DATを取り出して展開してみたところ、あまりに驚くべき代物が中に入っていることを発見してしまった。 その物体達を一見したところ、どうもmpglib.dll、とあるバージョンのbladeenc.dll、などなどのようだ。 両方ともLGPLで、僕の理解が及ぶところでは、これらについては付属文書にて言及しない限り利用してはならない。 (頒布も駄目なんだったかな?)

問題のCDにはAdaptecのASPIなブツも含まれているが、頒布の許可を取ってあるようには見えない。 まああれだ。この上何を調査したものかと途方に暮れてしまったよ。 とはいえこれらのファイルは最終的にシステムにインストールされ、とても目立つ場所(windows\system32\TMPX)に置かれるわけだから、 もしかすると、いくらF4Iでもそこまで露骨な侵害行為を行うほど馬鹿じゃないかもしれん。

この上Id3Libまである。それも極めて目立つ形式でだ。問題のCDに記載はないが、 ソニーは一方でOpenMG関連物と一緒に自社サイトでId3Libのソースを配布しているわけで、 問題のDRMがLGPL版を使っているのか、古いパブリックドメイン版を使っているのかは不明だ。

ECDPlayerControl.OCXファイルはこれらのLGPLライブラリを実際に使っていると考えられ、 付属文書にはライセンスも言及もないのだから、それはおそらくLGPLに従っていないことを意味し、 また、それ故に複数のオープンソースプロジェクトの著作権をも侵害していることになる。 これらのファイルを誰もが等しく確認できるように共有できたらいいなあと思うけれど、 それをやったらそれこそ著作権侵害になってしまうね。

ECDPlayerControl.ocx

LGPLおよびGPLコードの著作権を侵害し、DMCAおよび EUCDにおいて非合法となるもの。

まさに祭り進行中という感じだ。上で述べたLAMEのコード発見に加えて、 GPLなコードまでもが同じように出現してくる。僕は法律家ではないけれど、これはDMCAおよび EUCD違反でもあるんじゃないのか? 問題となっているコードはVLCのdemux/mp4/drms.c−ほかでもないApple社のDRMを回避するための対DRMSコードである。 制御フローは同一で定数はすべて等しく(どうやらひとつだけ例外があるらしいが)、2つのマジックナンバーで構成された配列も同様に一致。 p_secret2という文字列配列も含まれていて、それはrot13暗号化されたAppleの著作権表示文字列だったという(特定のアルゴリズムでデータとして使われているらしい)。

もしXCPをシステムで飼っているなら、system32ディレクトリにECDPlayerControl.ocxを見に行ける。 こいつの中身に"Nccyr"で検索をかけてみるといい。もし逆アセンブラを持っているなら、仮想アドレス0x10089E00にある関数を見て、 drms.cのDoShuffle()関数と比べてみよう。類似点に気づくはずだ。

この件について読んでおくべき記事を挙げるなら、Sebastian Porstのmpglib code found in ECDPlayerControl.ocxと、 それがVLCにおける彼自身の書いたコードに起源を持つものであることを確認した、Sam Hocevar's confirmationがおすすめかな。

First4Internetのocxファイルをダンプしたもの


00108018  aa aa aa aa 00 77 75 01-80 45 55 00 00 45 72 01  .....wu..EU..Er.
00108028  80 45 42 00 00 77 42 01-80 00 00 00 01 9d d5 c1  .EB..wB.........
00108038  81 49 14 80 01 89 5c 81-81 49 54 80 01 5d d4 81  .I....\..IT..]..
00108048  80 00 00 00 03 bb a3 81-82 aa a2 00 03 bb a3 01  ................
00108058  82 a2 22 00 02 a2 3b 81-80 00 00 00 37 57 57 6d  .."...;.....7WWm
00108068  a5 75 52 4a 25 57 52 6d-a5 54 52 4a 37 54 72 6b  .uRJ%WRm.TRJ7Trk
00108078  80 00 00 00 38 b9 dd d5-92 a0 55 54 13 a0 95 5d  ....8.....UT...]
00108088  92 a1 15 44 3a 39 dd c5-80 00 00 00 55 55 55 55  ...D:9......UUUU
00108098  70 62 63 6c 65 76 74 75-67 20 28 70 29 20 4e 63  pbclevtug (p) Nc
001080a8  63 79 72 20 50 62 7a 63-68 67 72 65 2c 20 56 61  cyr Pbzchgre, Va
001080b8  70 2e 20 20 4e 79 79 20-45 76 74 75 67 66 20 45  p.  Nyy Evtugf E
001080c8  72 66 72 65 69 72 71 2e-00 00 00 00 d4 ee 0a 10  rfreirq.........

VLC、drms.c、DoShuffle()関数より抜粋した変数宣言部

p_secret2文字列はAppleの著作権表示文字列をrot13アルゴリズムで暗号化したもので、 DRM処理の過程でデータとして使われている。 僕はこれを、Appleが法廷闘争を想定して埋め込んでおいたものではないかと想像している。 彼らがこのDRMシステムを作った明瞭な印だし、 これでプロテクトされた著作物をデコードしようとする人は誰でもその文字列を使わなければならないのだ。 そしてJonはrot13をプレーンテキスト形式にしてみせることなく処理していた。 もっとも、この文字列がたとえAppleによって作られたものであろうと、 これが存在することだけではAppleの著作権が侵害されているということの印にはなるまい。


    static uint32_t p_secret1[] =
    {
        0xAAAAAAAA, 0x01757700, 0x00554580, 0x01724500, 0x00424580,
        0x01427700, 0x00000080, 0xC1D59D01, 0x80144981, 0x815C8901,
        0x80544981, 0x81D45D01, 0x00000080, 0x81A3BB03, 0x00A2AA82,
        0x01A3BB03, 0x0022A282, 0x813BA202, 0x00000080, 0x6D575737,
        0x4A5275A5, 0x6D525725, 0x4A5254A5, 0x6B725437, 0x00000080,
        0xD5DDB938, 0x5455A092, 0x5D95A013, 0x4415A192, 0xC5DD393A,
        0x00000080, 0x55555555
    };

    static char p_secret2[] =
        "pbclevtug (p) Nccyr Pbzchgre, Vap.  Nyy Evtugf Erfreirq.";

ECDPlayerControl.ocxを逆アセンブルしたもの

最初の3つのswitch・case文は逆アセンブルしたものの外側にあるのに、ジャンプがあることに注目して欲しい。 defaultの場合も明白にコードが一致することを見て取れるだろう。


.text:10089E90  mov     eax, [edx]               ; p_commands[i]
.text:10089E92  test    eax, eax                 ; if zero,
.text:10089E94  jz      loc_10089F21             ;   continue loop
.text:10089E9A  mov     cl, al                   ; i_index
.text:10089E9C  shr     eax, 8                   ; source code ands first
.text:10089E9F  and     eax, 3                   ; same as (&0x300)>>8
.text:10089EA2  dec     eax
.text:10089EA3  jz      short loc_10089F03       ; case 1
.text:10089EA5  dec     eax
.text:10089EA6  jz      short loc_10089EE5       ; case 2
.text:10089EA8  dec     eax
.text:10089EA9  movzx   eax, cl
.text:10089EAC  jz      short loc_10089EC9       ; case 3
.text:10089EAE  mov     ecx, eax
.text:10089EB0  add     eax, eax
.text:10089EB2  mov     ebx, offset unk_100C5D46
.text:10089EB7  sub     ebx, eax
.text:10089EB9  movsx   eax, word ptr [ebx]
.text:10089EBC  shr     ecx, 4                   ; i_index>>4
.text:10089EBF  mov     ebx, [esi+ecx*4]
.text:10089EC2  lea     ecx, [esi+ecx*4]
.text:10089EC5  add     ebx, eax

drms.cから抜粋したコード


        if( !p_shuffle->p_commands[ i ] )
        {
            continue;
        }

        i_command = (p_shuffle->p_commands[ i ] & 0x300) >> 8;
        i_index = p_shuffle->p_commands[ i ] & 0xff;

        switch( i_command )
        {
        case 0x3:
            p_bordel[ i_index & 0xf ] = p_bordel[ i_index >> 4 ]
                                      + p_bordel[ ((i_index + 0x10) >> 4) & 0xf ];
            break;
        case 0x2:
            p_bordel[ i_index >> 4 ] ^= p_shuffle_xor[ 0xff - i_index ];
            break;
        case 0x1:
            p_bordel[ i_index >> 4 ] -= p_shuffle_sub[ 0xff - i_index ];
            break;
        default:
            p_bordel[ i_index >> 4 ] += p_shuffle_add[ 0xff - i_index ];
            break;
        }

DeDRMSがこんなところで何をしているのか?

Alex Haldermanがこの問題の答えを導き出した。 結局、これは例のDRMを付加する(除去ではなくて)ために使われていたものだ。 こうすれば、問題のCDはiTunesとの互換性を持つことができただろう。しかしながら、問題のコードは活動していない。 使用でき、機能するにもかかわらずだ。おそらく、この機能を含める意志があったのだろう。 だがF4IおよびソニーBMGは土壇場になってその考えを変え、これを完全に除去する代わりに無効化だけした。 彼らがGPLなコードを使った理由は、開発をスピードアップさせるためである可能性が高い。 ゼロからこいつをリバースエンジニアリングするとなると、だいぶ高くつくだろうから。 著作権侵害については、より揺るぎない物となった。解析されたVLCとXCPの間にはわずかな差しかなく、 十中八九、これが特注品で故意に含まれたものであることをも示唆している。 Sebastian Porstによる注釈付き逆アセンブルは、問題のソースとdrms.cとの同一性を如実に表している。 ただひとつの例外を除いてではあるが。

責任は誰にある?

これについて僕は度が過ぎるほどに激しい意見を持っているのだが、それを知りたいと思うなら隔離してあるページ、Rant and Whineを読んでくれるといい。

ソニーの主張するところでは、開発はF4Iによってなされ、 ただ単にソフトウェアのライセンスを受けただけだから自らは潔白だという。 けれどもECDPlayerControl.ocxが、デバッグにでも使われていたであろう興味深い文字列を含んでいる。 開発者のファイルシステム情報を浮き彫りにする文字列だ。 問題となっているプロジェクトの開発に使われたディレクトリ名は「XCP Player Code\Sony ActiveX Player\XCPPlayerControl\」。 これはソニーがF4Iに製品をあつらえるよう依頼したことを示唆している。 ことによると、完全な特注品ということすらあり得るだろう。 問題のDRMシステムがはらむ専門的性質につき、ソニーBMGにどれだけの理解があったかは不明だが、 明らかに知っていたであろうある主要な特性がある−消費者のシステム支配権を奪取する特性だ。 彼らはこれに関していくつもの訴訟に直面している。 もはや彼らが法を破ったのか否か、司法の判断を待つのみということだ。

2005/12/06更新 Matti Nikki

posted by 7mm MG at 07:50| Comment(0) | TrackBack(0) | 和訳 | このブログの読者になる | 更新情報をチェックする

2005年12月06日

ソニーrootkit問題を一掃するために

Cleaning Up Sony's Rootkit Messより。

ソニーrootkit問題を一掃するために

2005/11/21

先月末、Windowsの専門家Mark Russinovichは、ソニーが自らのXCPDRM(デジタル権利管理)を隠蔽すべく、 ユーザーのPCにrootkitをインストールすることを暴いた。 問題のDRMソフトウェアはユーザーが求めるようなものでは到底なく、それの管理する権利とはまさにソニーの権利を意味していた。 例えば、ユーザーがソニーの音楽をコピーすることを阻止すべく働くソニーのために施されたプロテクトの処理負荷はCPU時間の1〜2%にも達する。 (ユーザーがソニーの音楽CDを再生していようといまいと関係ない) 特筆すべきは、このような手法についてソニーが、インストーラはおろか使用許諾契約においてすら一切開示していないということだ。 さらに悪いことに、ソニーは当初問題のrootkitについて一切のアンインストール手段を提供しておらず、 ソニーがアンインストーラ提供に至ってもなお、その手順は必要以上に込み入っており、 システムをクラッシュさせがちで、セキュリティリスクまで抱えていた。 事の顛末は時系列および索引として、その1その2に分けてまとめてある。

この失態をかんがみ、ソニーは感染CDのリコールとともに、顧客の感染CDをXCPのないCDに取り替える交換プログラムの実施を宣言した。 一連のニュースを追ってきた知識のある顧客にとって、この交換は正攻法であるように見える。 だが、ごく普通のユーザーにとってはどうなのか? テクノロジー関連報道でも見ていなければ、自身の権利を知る機会すらないのではあるまいか?

結論から言うと、単純明快な解決法の存在することが発覚した。 ソニーXCPプレイヤーにあらかじめ組み込まれた自己更新メッセージングシステム機構を利用するのだ。 あるユーザーがXCP感染CDを再生すると、問題のXCPプレイヤーはソニーのサーバに連絡する。 Russinovichが説明したとおり、 大抵の場合、ソニーのサーバは空白応答を返してくる。 しかし、ソニー側がほんの小さな修正―ソニーのWebサーバにあるたった1つのスクリプトの出力の変更―をするだけで、 XCPプレイヤーは、ユーザーのハードディスクに不適切にインストールされたソフトウェアの存在を自動的に通知することができるようになり、 結果としてユーザーに選択権をもたらすのだ。

ソニーのメッセージングシステムに関する、いわゆるひとつの実演広告

問題となるソニーのメッセージングシステムは以下のように機能する。ユーザーがXCP感染CDを再生するとすぐ、 また、ユーザーが問題のプレイヤーの特定部分を閲覧するとすぐ、問題のプレイヤーはソニーのconnected.sonymusic.comサーバにメッセージを送信する。 送出される代表的なメッセージを以下に示す。uldパラメータが、再生されたCDおよびプレイヤーの特定部分を使用した印となっている。

GET /toc/Connect?type=redirect&uId=1171 HTTP/1.1
Accept: application/*, audio/*, image/*, message/*, model/*, multipart/*, text/*, video/*
User Agent: SecureNet Xtra
Host: connected.sonymusic.com
Connection: Keep Alive
Cache Control: no cache

ソニーのWebサーバは通常、nobanner.xmlへの参照を返す。

HTTP/1.1 302 Moved Temporarily
Set Cookie: ARPT=JKXVXZS64.14.39.161CKMJU; path=/
Date: Sat, 12 Nov 2005 18:36:49 GMT
Server: Apache/1.3.27 (Unix) mod_ssl/2.8.14 OpenSSL/0.9.7d
Location: http://www.sonymusic.com/access/banners/nobanner.xml
Keep Alive: timeout=10
Connection: Keep Alive
Transfer Encoding: chunked
Content Type: text/plain

<html><head><title>302 Moved Temporarily</title></head>
<body bgcolor="#FFFFFF">
<p>This document you requested has moved temporarily.</p>
<p>It's now at <a href="http://www.sonymusic.com/access/banners/nobanner.xml">http://www.sonymusic.com/access/banners/nobanner.xml</a>.</p>
</body></html>

このnobannerを返す代わりに、ソニーのサーバがタイムリーな情報開示に関するXMLファイルへの参照を返したとしたらどうか? 実験用PCでHOSTS fileを使い、そのPCが私の管理するIPアドレスをconnected.sonymusic.comサーバだと思い込むよう仕組んだ。 (あたかも本物のソニーサーバであるかのよう扱われるわけだ) それから「/toc/Connect?...」で始まるスクリプトを書き換え、通常ならソニーのnobanner.xmlを返すところ、 私の書いたXMLファイルを返すようにしてみた。 最終的には、以下のXMLバナー設定ファイルを掲載した。バナー画像とハイパーリンクを含んでいることに注目してほしい。

<?xml version="1.0" encoding="UTF-8" ?>
<rotatingbanner>
<banner src="http://www.benedelman.org/sony/image1.jpg" href="http://cp.sonybmg.com/xcp/" time="4000" />
</rotatingbanner>

私の実験環境においては、ソニーXCPプレイヤーは自動的に私のXMLファイルを読み出し、バナーを読み出してプレイヤーの底部にある大きなバナーボックスに表示した。 バナーをクリックすると、HREFパラメータで指定されたURLがブラウザウィンドウで開かれた。

実験結果を示したXCPプレイヤーの画像

ごく少数のアーティストについて、ソニーはすでにこの通知システムを使っている。 XCPプレイヤーの情報画面を、プレイヤー本体のアップデートを提供するために利用しているのだ。 幸いにも、このバナーシステムは複数の情報をきちんとひとつのバナースペースに処理する機構を備えている。 上のほうにあるXMLファイルのrotatingbannerおよびtime構造に注目してほしい。 もし<banner>タグがくり返されたとしても、XCPプレイヤーは自動的に指定された画像の間を循環してくれるのだ。

意味合いおよび論考

ソニーによる感染CDのリコールは賢明にも、XCPがもたらして行くであろう被害や災難を取り消すべく始められた。 しかしそのリコールは大きな格差を生み出すことになった。 ソニーお決まりの宣伝広告だけのためではなく、実際に助けを求めているありふれたユーザーのために、 ソニーはその発言を広める必要があるだろう。

Amazon(感染CD購入者に対してすでにメールを送付した)とは異なり、 ソニーは感染した顧客の名前も住所も知らない。だがソニーは既存のバナーメッセージングシステムを容易にソニーへ供することができ、費用効率が高い方法で顧客に連絡できるのである。 ソニーは上記のようなメソッドを実装すべきである。それらのバナーを通じて、多くの感染した顧客をすぐにでもできるかぎり安心させることができるはずなのだ。 信頼できる情報を顧客のコンピュータに届けることができるし、ソニーが顧客全員にリコールを提示する手段となる。

私の提案したものはいわゆるオートアップデータではない。 「本物の」オートアップデータというのは実行プログラムをダウンロードしてコンピュータにインストールするものだ。 一方、私のデモはたかだかデータをダウンロードするに過ぎない。 ただひとつの単なるXML設定ファイルと、ただひとつの単なる画像データだけだ。 この違いは、コンピュータセキュリティとユーザー制御の観点から極めて重要である。 コードをダウンロードし実行することは、ユーザーのPCに実質的な侵入リスクを抱えさせることになる。 オートアップデータが少しでも技術的に強制された制限能力を欠いていればそうなってしまうのだ。 対照的に、単に画像をアップデートするだけならば、コンピュータのセキュリティや信頼性に害を与えることはまずない。

ソニーの自己アップデートメッセージ画面は、当初明白なプライバシー侵害を引き起こすものでしかなかった。 ソニーのサーバにユーザーのIPアドレス、再生する音楽の傾向、どんなCDを持っているかなどを送るものなのだから。 しかし、ソニーが無意味なnobannerで答えようと、ユーザーが至急必要としている情報を載せたバナーを返そうと、 そのような送信は等しく行われてしまうものなのである。 この状況下において、ソニーは通知システムをそういった用途に使ってくれてもいいのではあるまいか。

posted by 7mm MG at 19:53| Comment(2) | TrackBack(7) | 和訳 | このブログの読者になる | 更新情報をチェックする

ソニーDRMの隠し機能は、オープンソースコードを使いApple社のDRMを付加するものであると発覚した

Hidden Feature in Sony DRM Uses Open Source Code to Add Apple DRMより。

ソニーDRMの隠し機能は、オープンソースコードを使いApple社のDRMを付加するものであると発覚した

2005/12/05 J. Alex Halderman

何週間にもわたり、blogコミュニティはソニーのXCPコピープロテクトシステムにまつわる悪巧みの話題で騒然としてきた。 その中で最も奇妙なものといえば、XCPそれ自体がいくつものオープンソースソフトウェアプロジェクトの著作権を侵害しているという新事実である。 具体的な事例をひとつ挙げるなら、Sam Hocevarが決定的な証拠をつかんだ、 XCPのコードの一部がDRMSと呼ばれるプログラムからコピーされたものであるということだ。 問題のコードは彼が共同開発者としてDVD JonとともにGPLオープンソースライセンスのもと公開したものである。 この発見を殊更物見高いものにしているのは、DRMSの目的がApple社のiTunes Music Storeから購入した楽曲のコピープロテクトを破ることである事実だ。 他者のDRMを無効化する目的のコードを、XCPは何故盗用する必要があったというのだろう?

答えはこうだ。XCPはDRMSコードを、Apple社のDRMを除去するためではなく、付加するために活用している。 私は、XCPがDRMS由来のコードをiTunesおよびiPodとの互換性を提供する隠し機能のため使っているという事実を発見した。 この機能は出荷されたほぼ全てのXCP採用CDが有するが、決して有効になることはなく、また同様に、 XCPユーザーインターフェイスに姿を現すことも決してない。 活動こそしないけれども、問題のコードは完全に機能し、最初のXCP採用CD群がリリースされた時点での最新版iTunesに対応しているように見える。 これは、DRMSコードの著作権侵害がXCP開発者、First4Internetによって故意に行われたことを強く示唆する事実である。 コピープロテクトシステムの他機能で使われるようなより汎用的なメディアライブラリをうっかり組み込んでしまったのとは、話が違うのだ。

他社がApple社のDRMとの互換性を持とうとしたのは、これが初めてのことではない。 Apple社のDRM、FairPlayと呼ばれるシステムは、iTunes Music Storeを通して購入された楽曲に制約を与えるべく利用される。 FairPlayというDRMと互換性を持つのは、あまりに有名なiPodだけであり、 これはApple社がライバル音楽販売業者にライセンス供与するのを拒み続けてきたゆえ、 ライバル企業が事実上iPodプラットフォームから閉め出された結果とも言える。 (ともかく、ライバル企業はずっとDRMを使いたいと強く求めてきたのだ) 2004年、RealNetworksはApple社に対処すべく、FairPlayをリバースエンジニアリングし、 Real PlayerによってiPodで使えるFairPlayファイルを作成できるようにしようと試みた。 Apple社は漠然とした法的驚異をちらつかせつつ、iTunesをアップデートすることでその互換性を廃した。 どうやらFirst4Internetの人々も自身でiPod互換システムを作りたかったらしいが、 あいにくFairPlayをリバースエンジニアリングするだけの時間がなく、 DRMSから重大なコードをコピーしてしまったようだ。GPL違反をも顧みず。

不思議なことに、XCPのFairPlay互換コードはXCP採用CDからのファイル変換に制限を設けていない。 さらにこのコードは、ファイルをFairPlay形式へその他広く様々な入力フォーマットから変換する機能さえサポートしているように見える。 XCPプロテクトCDに加えて、MP3ファイル、WAVファイル、RAW音楽ファイル、そして一般的なプロテクトなしの音楽CDである。 同じく奇妙なのは、FairPlay互換コードが出荷されているにもかかわらず、アプリケーションで使われるよう有効にはならないことだ。 XCPプレイヤーソフトウェア自身でさえ不可能なのである。 (技術的な話をすれば、コードが納められている共有ライブラリから、件のコードがエクスポートされていないということ) もしかすると、First4InternetはXCP採用CDが今まさに出荷されようとしているその土壇場でこの機能を削除することを決断したのかもしれない。

いずれにせよ、問題のコードは存在し、未だ以て機能する。 いくらかの基本的な設定を行った上で適切なメモリ位置にジャンプすることで、こいつを実行することが可能だ。 問題のソフトウェアを多角的に検証すべく、その方法を使ってみた。 以下は、XCPの隠し機能を使って普通のMP3ファイルから作ったファイルをiTunesで再生した様子を映したスクリーンショットである。

スクリーンショット

これらの発見は答えよりむしろ新たな疑問を提示するものであるとさえ思える。 果たして問題のコードはどこに由来するものだろう? XCP採用CD以外の音楽ソースをサポートするのに、First4Internetは他社からライセンス供与を受けたのか? ソニーはコードを無効化しておきながら、なぜ問題のコードを出荷し続けたのだ? iTunesとの互換性がソニーの総体的なコピープロテクト戦略にいかに適合するというのか? DRMプラットフォームの非互換性とGPL違反はどちらがより邪悪なのか? 将来Edがこれらの謎を解明すべく参戦するであろうその日にも、また注意を払っておこう。

この記事の残りの部分は、XCPがいかにDRMSのコードを利用しているかについての技術情報である。 そういった詳細に興味がなければ、ここで読むのをやめてもらっても差し支えない。

XCPがいかにDRMSからのコードを利用しているのかを理解するには、FairPlayに関するいくつかの基礎知識が必要だ。 iTunes Music Storeから楽曲を購入すると、FairPlayで暗号化された音楽ファイルを受信することになり、 それはApple社によって割り当てられた秘密のキーを知っている者のみが再生できるものとなる。 iTunesはこのキーをApple社のサーバから取ってきて、Apple社へのログインIDとパスワード入力を促すわけだ。 ユーザーキーはハードディスクドライブに暗号化されたキーデータベースとして格納されている。 (このファイルはSC Info.sidbというやつである) 再び楽曲を再生するか、iPodにコピーしようとすると、iTunesはサーバに再接続する代わりにこのデータベースからキー情報を読み出す。

FairPlayの安全性は、Apple社以外のあらゆる者が解読困難なこの暗号化キーデータベースを前提とするものなのである。 ゆえにそれは独自仕様の暗号化手法およびシステム依存の秘密のキーによって保護されている。 (セキュリティ専門家の予見によれば、このプロテクトは速やかに破られるであろうとのことだった。 今日、DRMSはFairPlayを破ることができる。DVD Jonが苦心してiTunesのデータベース暗号化コードをリバースエンジニアリングしたからだ。) iTunesはキーデータベースを2つの段階的なプロセスで暗号化する。 まず、プレーンテキストのデータベースと、システム依存の種を利用した疑似乱数生成機構(PRNG)の出力の排他的論理和をとる。 次にシステム依存のキーを用いてAES暗号化処理を施すのだ。 こういった設計ゆえに、ファイルの暗号化も復号化もまったく同一のPRNGコードを使うことになる。 復号化の際、iTunesはAES暗号を復号し、それから同一のPRNG出力との排他的論理和をとるわけだ。 これは、問題のDRMSコードの一部―とりわけDoShuffleと呼ばれるPRNG出力を計算する関数―がいかに有用であるかをも示す物だ。 本来の目的である暗号化はもちろん、復号化についてもである。

この複雑な独自仕様のPRNGをリバースエンジニアリングするのは非常に難しいことである。 どうやらXCPの開発者は、自身で努力することより、DoShuffleのコードをDRMSから文字通り盗むことを選んだと見える。 XCPはこのコードをiTunesのFairPlayプロテクトの施されたキーデータベースを処理するために使っている。 暗号化されていない音楽ファイル、例えばプロテクトCDの1トラックから始まって、XCPは音楽をメモリ上に圧縮する。 そしてそれをFairPlayと同一のアルゴリズムを用いて暗号化するのだ。 Apple社の割り当てるユーザーキーの代わりに、XCPは新たなユーザーキーをランダムに生成し、 DRMSコードの力を借りて、それをiTunesのキーデータベースに追加する。 こうすればその音楽ファイルが作られたコンピュータ上では少なくとも確実に使えるようになるわけだ。

XCPのFairPlay互換コードはECDPlayerControl.ocxと命名されたファイルに含まれており、 このファイルはXCP採用CDを最初に再生した際にインストールされる。 ここで述べるのは、問題のDRMSコードが残りのライブラリ群とどのように結びついているかということである。 (他の調査者の一助となればと、各関数のデバッガオフセットを供することにした。) DRMSのDoShuffleサブルーチン(0x10089E00)はたかだか2つの場所から呼ばれている。 ひとつはiTunesのキーデータベースを暗号化する関数(0x1008A0C0)、もうひとつは復号化する関数(0x1008A300)だ。 両方の関数はたったひとつの他のルーチンから呼ばれているのみである。 そのルーチンは、キーデータベースを読み取り、復号化し、必要とあらばXCPユーザーキーをデータベースに加え、 再び暗号化された形式で書き出すというものだ。(0x1008A470) このルーチンは、音楽ファイルをFairPlayでプロテクトされたAACファイルに変換するより高レベルな関数(0x10027D20)から呼ばれている。 これらの関数は、比較的最初のほうにあるルーチンにジャンプすることで実験できる。 (見たところ、0x10010380が音楽をiTunesに転送する筋道の開始点のようだ。) あらかじめ多少の単純な初期化は必要ではあるが。本格的な調査者にとり、この粗雑なサンプルコードと注意書きが役に立ったとすれば、幸いである。

私の実験において、XCPのFairPlay互換コードはiTunesバージョン4.8に至るまで正常動作した。 2005/06/28にリリースされたiTunes 4.9にて、FairPlayとは関係のない変更があり、それによりXCPのコードは機能しなくなったようだ。 なお、この日時以降にリリースされたXCP採用CDにおいても、問題のコードの更新版は含まれていないようである。

posted by 7mm MG at 12:51| Comment(1) | TrackBack(10) | 和訳 | このブログの読者になる | 更新情報をチェックする

2005年12月05日

Mythbustersにて

On Mythbustersより。

Mythbustersにて

Mythbustersというテレビ番組をご存じだろうか? 公式Webサイトの文言を借りれば、「現代科学を用いて、古くからの伝説と現代の伝説が真実なのか作り話なのかを検証し、伝説の真実とは何かを探る。」番組だ。 (訳注:怪しい伝説として日本のディスカバリーチャンネルを通しCSやCATVで放映されている)

何が悲惨かって、誰一人として「現代科学の」能力を持っているように見えないってことだ。

彼らは、何が重要で何がそうではないか、さっぱり分かっていない。 番組で正しい統計データが導き出されることには期待できないが、 ことによるとオフレコで「こいつは二つ星に値する」と言ったとか言わないとか。

例えば絶対圧力や相対圧力のような基本概念さえ取り違えていることがある。 あるエピソードで、酸素ガスを約20重量ポンド毎平方インチ絶対圧(約5重量ポンド毎平方インチ相対圧)として扱っていたが、 これは取り違えである。 (思えば惨めな火だった。20重量ポンド毎平方インチの酸素と整髪用ジェルでは、遙かに見栄えのする炎を見逃してしまうことになるのだ。) 追伸:実際問題正しい圧力ってのが何かって? 物騒にも5重量ポンド毎平方インチ絶対圧と思われる。彼らはあらかじめガス抜きをしておくべきだったね。

自分達を専門家だと吹聴してまわるのはさすがにひどいんじゃないかな。 手法からして科学的と言うにはほど遠いし。 「それっぽいことはそうであることよりも大切だ」というモットーは特殊効果の世界では良いけど、 それに頼り切るのはあまりにお粗末だ。 (訳注:主役のジェイミーとアダムはともに特殊効果専門家として30年以上の経験を持つ) この番組はある意味で教育的である。 都市伝説は真実より、虚構は事実より広く流布されるということだ。

もちろん例によって爆発の類は最高だけどな!

posted by 7mm MG at 13:01| Comment(0) | TrackBack(0) | 和訳 | このブログの読者になる | 更新情報をチェックする

2005年12月04日

ソニーDRM rootkit英雄伝説

Sony DRM rootkit sagaより。

ソニーDRM rootkit英雄伝説

ソニーDRM rootkit英雄伝説はまさに衰えることを知らないかのようだ。 ソニーはいくつものオープンソースプロジェクトの著作権を侵害している。 この件の調査に没頭してきたMatti Nikkiから、私にメールが届いた。

それは、ソニーが略奪したコードの一部が、 私が以前に書いたVLC用の FairPlayに関するコードであるという報せであったのだ。

この記事に寄せられた温かいコメントの数々を抜粋

Pete Stevens:

The Registerは、 例のプロテクトが施されたCDの生産数が約400万枚にのぼることを示唆している。

法令により、合衆国内で著作権侵害を故意に行った場合、 1回の侵害行為につき750ドルから150,000ドルまでの罰金が科される。

3,000億ドルから6,000億ドルの報酬が得られる可能性があるから、 法務官([英]事務弁護士)に相談するだけの価値はあるんじゃないか?

ソニーはおよそ200億ドルの資産を持ってるみたいだから、襲いかかって無一文にしちゃえ! 多分、見栄えの良い事務所と、ありったけのPSPを手に入れられるよ。

Pete Stevens:

§ 504. Remedies for infringement: Damages and profits

さらに朗報だよ。もしこれが故意の侵害行為で、 かつ1,000ドル以上の営利を得るために行われたとしたら、 裁判所は「全ての違法コピーおよび、その製造に用いられた 装置、機器、機材すべての廃棄を命じなければならない」。

どうかソニーのCD工場関係者に裁きの鉄槌を食らわせてはいただけないでしょうか? やったらきっとクールだぜ。

Fred:

訴えちゃえよJon。

odin:

訴えて、みんながCD買うために使った貴重なお金をいやというほどに取り戻しちゃえ。

Zandr:

・・・ちょっと待てよ、なんでFairPlayのコードを? 連中は一体全体FairPlayの何が必要だったんだ? 衰えることを知らないねえ。

NiceGuyUK:

連中がなんのためにFairPlayに関するコード「そのもの」すべてをインクルードする必要があったのか、 どうしてもさっぱりわからん。関連性があるようには思えん。 これが存在することを唯一もっともらしく説明できる仮定としては、 「自分のコンテンツの著作権を侵害し得るツールをチェックする」、 ある種の署名アルゴリズムの一部として使われているのであろうということだ。

bryan:

ところで、もしソニーを訴えるのに寄付ページを立ち上げるんだったら、 弁護士費用を補ってあまりある金額が集まることうけあいだぜ。

Bruce:

F4Iはどのみちお終いだね。どう割り引いて見積もっても、 そんな連中からソフトを買うやつなんて想像できるか? いたとしたらソニー以下の馬鹿だけだ!

ほら、新しい流行の慣用句ができたぜ。 「ソニー以下の馬鹿が・・・」ってな。

Bruce、またの名をMidnightcoder

posted by 7mm MG at 17:30| Comment(0) | TrackBack(2) | 和訳 | このブログの読者になる | 更新情報をチェックする

F4Iによるライセンス侵害を新たに2つ発見

Two new F4I license infringements foundより。

F4Iによるライセンス侵害を新たに2つ発見

2005/11/17(木)

今日だけで3回目の更新だ!
誓って言うがでっち上げなどではないぞ。
さらなる潜在的なライセンス侵害を2つ発見したのだ。

Sabre SecurityのRolfが親切にも、どでかい著作権表示文字列を見逃していると指摘してくれた。


000C48C0 4641 4143 202D 2046 7265 6577 6172 6520 FAAC - Freeware 
000C48D0 4164 7661 6E63 6564 2041 7564 696F 2043 Advanced Audio C
000C48E0 6F64 6572 2028 6874 7470 3A2F 2F77 7777 oder (http://www
000C48F0 2E61 7564 696F 636F 6469 6E67 2E63 6F6D .audiocoding.com
000C4900 2F29 0A20 436F 7079 7269 6768 7420 2843 /). Copyright (C
000C4910 2920 3139 3939 2C32 3030 302C 3230 3031 ) 1999,2000,2001
000C4920 2020 4D65 6E6E 6F20 4261 6B6B 6572 0A20   Menno Bakker. 
000C4930 436F 7079 7269 6768 7420 2843 2920 3230 Copyright (C) 20
000C4940 3032 2C32 3030 3320 204B 727A 7973 7A74 02,2003  Krzyszt
000C4950 6F66 204E 696B 6965 6C0A 5468 6973 2073 of Nikiel.This s
000C4960 6F66 7477 6172 6520 6973 2062 6173 6564 oftware is based
000C4970 206F 6E20 7468 6520 4953 4F20 4D50 4547  on the ISO MPEG
000C4980 2D34 2072 6566 6572 656E 6365 2073 6F75 -4 reference sou
000C4990 7263 6520 636F 6465 2E0A 0000 312E 3234 rce code....1.24

うん。まあなんだ、あからさまにFAACのコードまでが使われているわけだ。 私自ら、いくつもの関数についてはっきりと確認してみた。手始めに、WriteFAACStrとして知られるバーチャルオフセット0x1007BA80にある関数について調べた。 この関数は、FAACプロジェクトのbitstream.cに含まれているものだ。 付近からは、FAACのその他関数をもあらかた見つけることができる。 それがGPLなのかそれともLGPLなのか、確かなことは言えないが、LGPLなのではないかと思う。

さらに、我々がせっせと解析していたわずかな暇に、 Mattiがmpg123との関連性を発見した。 Mattiの見解によれば、これはmpglibのコードをOCXに仕立て上げたものらしい。 問題のOCX中にmpglibにとどまらぬさらなるmpg123のコードが存在するかどうかについては、今後割り出していかねばなるまい。 ともかくこれが事実なら、GPL侵害がまた一つリストに加えられることになる。

sp Miscカテゴリ 20:23

posted by 7mm MG at 17:26| Comment(0) | TrackBack(0) | 和訳 | このブログの読者になる | 更新情報をチェックする

F4IはLGPLを侵害しているか?その3

Is F4I in violation of the LGPL? - Part IIIより。

F4IはLGPLを侵害しているか?その3

先日の記事に、Frankから以下のコメントが寄せられた。

このコード断片は一体何をしているのか? ある公開資料で明確に定義されたデータを利用している。 ソフトウェア開発者には、これをほんの少しだけ変更する自由裁量権がある。 今までのところ、これは偶然の一致か、開発者が他人のソースコードを見てインスパイヤしたケースとも考えられる。 かの有名なLinuxの「盗まれた」Unixコード断片のように。 これはさらなる調査への招待である。つまり、私はとてもまだ動かぬ証拠を見たとは考えていないわけだ。

これは根拠のある不安であり、なんとしても本気で取り組もうと考えたので、 ここで調査を確実なものにしたいと思う。Frankへそのまま返信することにかえて、 新記事を書くだけの価値があるものと判断した。

問題の関数を完全に注釈付き逆アセンブルしたところ、LAMEのコードと99%一致した。 なぜ99%と言わねばならないかというと、両者にはわずかな相違があるからだ。 もっとも、一般的なコンパイラの最適化技術の差から論理的に説明のつくものではあるが。 これら注釈付き逆アセンブルの技術についてはこれまで必要に応じて記載してきた。

もし仮にC言語の関数が90行にわたって99%、100%まったくの偶然で一致するものだとしたら、 私のツールを使った検知能力ではとても手に負えない代物だということだ。

更新:LAMEの問題となっている関数に詳しい人々に、重大な問いかけをせねばなるまい。 LAMEのソースコードから抜粋した以下の4行を見てほしい。


if( buf[0] != VBRTag[0] && buf[0] != VBRTag2[0] ) return 0;    / fail /
if( buf[1] != VBRTag[1] && buf[1] != VBRTag2[1]) return 0;    /* header not found*/
if( buf[2] != VBRTag[2] && buf[2] != VBRTag2[2]) return 0;
if( buf[3] != VBRTag[3] && buf[3] != VBRTag2[3]) return 0;

このコード断片はbufが'Xing'と'Info'のうちどちらを含んでいるのかチェックを試みている。 基礎データ構造については知らないけれども、このチェック方法は間違っているように思える。 このコード断片は、bufが'Xing'と'Info'を連結したもの、例えば'Iing'や'Xnfo'でも通してしまうが、 それは多分動作上望ましくないだろう。これがバグであるか否か、誰が確かめられようか? これがバグとして、F4Iのコード断片にもまた同じものが存在するのだから。 問題のコードがLAMEからの盗用であるという仮説をより一層強固にするものだと言えるだろう。

更新:よし。現時刻を以て勝利を宣言させていただこう。
この一致が偶然の一致ではないことを示す議論の余地のない証拠を発見した。 LAMEのコードからGetVbrTag関数とExtractI4関数だけを抜き出し、 無料配布されているVisual C++ 2003コマンドラインツールでコンパイルしてみた。 唯一使ったコンパイラのパラメータは、最適化を最大にすべく設定した/Oxだけである。 出来上がったコードはF4IのOCXから取り出したものとバイト単位で完全に一致した。 コンパイラによる最適化由来だとする私の予測も肯定されたわけだ。 (関数のインライン展開、条件節マージ、並べ替え作業、等々)

これは以前に掲載した逆アセンブルコードと完全に一致する。 なお、私はわざわざ変数を改名したり、コメントを挿入したりはしていない。

sp Miscカテゴリ 16:43

posted by 7mm MG at 17:25| Comment(0) | TrackBack(0) | 和訳 | このブログの読者になる | 更新情報をチェックする

ソニーとF4Iはrootkitの問題を事前に分かっていた

Sony, First4 Knew About Rootkit Issue in Advanceより。

ソニーとF4Iはrootkitの問題を事前に分かっていた

2005/11/30(水)

2005/10/04、セキュリティベンダのF-SeucreはソニーBMGおよびFirst 4 Internetに対し、 当該企業のrootkitソフトウェアについて連絡を行った。 問題が公になるおよそ4週間も以前のことである。 これは、Steve Hamm氏によるBusiness Weekの記事からの情報だ。

以下は、要点となる記事の年表を抜粋したものである。

ともかく、ソニーBMGはFirst 4 Internetに調査を依頼した。 ソニーBMGおよびF-Secure両社は、F-Secureが問題の全貌をソニーにはっきりと指摘した期日を2005/10/17だと語っている。 当該セキュリティ企業による問題についての報告は、その日にFirst 4 InternetとソニーBMGに送られ、 その時点でXCPにrootkitが含まれていることが確認されたのだ。 同時に、ハッカー達がウィルスを隠蔽し、アンチウィルスソフトウェアから保護する手段として悪用される可能性があることも指摘されていた。 F-SecureはXCPを「重大なセキュリティリスク」であると言っている。 これは、F-SecureからBusinessWeek Onlineにeメールによって提供された情報だ。

ソニーBMGは、問題解決手法に関して2つのソフトウェア企業に調査を依頼したと言っている。 「仮にわが社の社員がF-Secureの発見した潜在的問題を知ろうものなら、 その瞬間にベンダへ連絡を取り、ためらう間もなく、F-Secureから得られるべき情報を伝え、 問題解決のためなされるべきことを看破することだろう」 とはソニーBMG相談役、Daniel Mandil氏の弁である。

事態は泥沼に落ち込んだ。次に起こった出来事については議論の余地がある。 2005/10/20、F-SecureはFirst 4 Internetの重役を招いて協議を行った。 その席でFirst 4 Internetにより現実的な問題はないとの主張がなされる。 その根拠は、XCPによって作り出される脆弱性がごくわずかな人間にのみ知られるものであるからということであった。 さらに、来年の早い時期に出荷予定の新型XCPソフトウェアによって、それ以降のCDはすべて問題が修正されたものになるだろうとも述べたのである。

一瞥しただけでは、あたかもセキュリティ脆弱性の発覚にまつわるありふれた話であるかのように見える。 ベンダが信頼できない製品を出荷し、研究者が個人的に欠陥を報告、ベンダが重い腰を上げ、 研究者が公的に欠陥を公表し、問題がただちに修正されるというお決まりの話だ。 この話では顧客の安全問題よりむしろ、 公共関係問題についての危うさをベンダが典型的に見誤った事実こそが目立つ。 「ごくわずかの人々しか脆弱性に気づかないのだから、実際のところ問題はない」と。

しかし、この記事をありきたりな脆弱性発覚問題として読んでしまうと、 この話の重要な部分を見落とすことになる。 通常、セキュリティ脆弱性は手違いから発生するものだ。 ベンダは、誰かが指摘してくれるまで脆弱性の存在に気づかないものである。 その点、この問題におけるrootkit的機能は手違いではなく、ベンダにより故意に設計採択されたものなのだ。

このことは、F-SecureがソニーおよびFirst 4 Internetにきっちり情報公開を行ったのか、 より正確に言えば、F-Secureはその時点で彼らが知らなかった情報を公開したのだろうかという疑問を投げかける。 彼らは例のrootkitについてすでに知っていたに違いあるまい。彼らが設計採択したものなのだから。 そして、いかなるきっかけがあろうとも、ユーザが自らのマシンにrootkitを組み込まれることをひどく嫌うであろうことくらい、 想像できたはずだろう。ましてや、他のマルウェアに露骨な隠れ家を与えてしまうような代物では。 思うに、F-Secureが公表した唯一の新情報は、そのプログラムをマルウェアとして取り扱う予定だということだったのではなかろうか。

同様に興味深いのは、他のマルウェア駆除ツールメーカーが、Mark Russinovichの一般公表に至るまで 問題に気づかなかったように見えるということだ。9月中旬から何ヶ月もこのマルウェアは市場に流通していて、 おそらくは幾百幾千のコンピュータにインストールされたであろう。 にもかかわらず、どのマルウェア駆除ベンダもそれを発見することができないでいたのだ。 (Business Weekの記事によれば、F-Secureはマルウェアそのものを発見したのではなく、 2005/09/30にニューヨークのコンピュータ技術者John Guarinoから、いくつもの顧客のコンピュータから発見されたとの報告を受け知ったとのことだが) 大手マルウェア駆除ベンダが長きにわたって見過ごしてきたとは、幸先の悪いことだ。

最後に、ソニーおよびFirst 4 Internetがrootkitの重大さを理解していたにも関わらず、 コピープロテクトはとにかくユーザのセキュリティに勝るものであるという信念のもと、 行為を行った可能性について考慮せねばなるまい。 おそらくFirst 4 Internetは次のような見解を持っていたのだろう。 rootkit機能を配備する設計採択でもなければ説明するのが困難で、 ソニーも多分それをわかってくれるだろうと。 エンターテインメント企業がコピーを阻止すべく、できることなら我々のコンピュータを再設計したがっていることはすでに分かっているが、 (実に無益なことだけれども) よもやコピープロテクトと引き替えにあっさりとユーザのセキュリティを犠牲にしようという大英断に踏み切るとは。

ソニーBMGは何を知っていて、それをいつ知ったのか? それはきっと訴訟手続きの中で明らかになって行くのだろう。

posted by 7mm MG at 16:20| Comment(0) | TrackBack(0) | 和訳 | このブログの読者になる | 更新情報をチェックする

zapkitty氏によるSunnComm MediaMax DRM採用CDリスト

Researchers See Risk From Another Sony DRMに寄せられたzapkitty氏のコメントより抜粋。

zapkitty氏によるSunnComm MediaMax DRM採用CDリスト

このリストはSunnComm Technologies, Inc.のSupport_Ask_The_Tech_Teamにある「The CD in Question」プルダウンメニューを根拠に作成されたものである。

  • 20137-(HED) PE-4 Song Sampler
  • 439-40 Below Summer-The Mourning After
  • 456-ADEMA-Unstable
  • 20077-Afterdark-San Francisco
  • 20149-Afterdark-New York City
  • 323-ALEJANDRA GUZMAN-LIPSTICK
  • 324-ALEJANDRA GUZMAN-LIPSTICK (VERSION INTERNACIONAL)
  • 20237-Alicia Keys-Unplugged - Premium
  • 20238-Alicia Keys-Unplugged - Standard
  • 20247-Alicia Keys-Unplugged - Premium Canadian Release
  • 20248-Alicia Keys-Unplugged - Standard Canadian Release
  • 20162-Amici forever-Defined
  • 20195-Amici forever-Defined - Canadian Release
  • 326-Ana Victoria-Love Is All
  • 202-Ana Victoria-3 Song Sampler
  • 208-Ana Victoria-5 Song Sampler
  • 10083-Angie Stone-Stone Love
  • 268-Anthony Hamilton-Comin' From Where I'm From
  • 20268-Anthony Hamilton-Ain't Nobody Worryin'
  • 418-Aretha Franklin-So Damn Happy
  • 248-Automatic Black-Automatic Black - Album Sampler
  • 203-Automatic Black-3 Song Sampler
  • 819-Avril Lavigne-Under My Skin
  • 20117-Babyface-A Love Story
  • 249-Babyface-Babyface 5 Song Sampler
  • 20181-Babyface-Grown & Sexy
  • 20186-Babyface-4 Song Sampler
  • 20204-Babyface-Grown & Sexy - Canadian Release
  • 20189-Backstreet Boys-Never Gone - Canadian Release
  • 20183-Backstreet Boys-Never Gone
  • 20055-Bargrooves-Terrazza
  • 250-Bebel Gilberto-Bebel Gilberto
  • 360-Ben Kweller-On My Way
  • 20208-Black Rebel Motorcycle Club-Howl
  • 20171-Blitzkrieg Pop-T. Raumschmiere
  • 251-Blu Cantrell-Bittersweet
  • 255-Boyd Tinsley-Boyd Tinsley
  • 20082-Boyz II Men-Throwback
  • 275-Brand New-Deja Entendu
  • 20244-Brian Wilson-What I Really Want For Christmas
  • 20258-Britney Spears-Remixed">Britney Spears - Remixed
  • 20262-Britney Spears-Remixed - Canadian Release
  • 309-Britney Spears-In The Zone
  • 20057-CARTEL DE SANTA-VOL. II
  • 420-Cassidy-Split Personality (explicit)
  • 20205-Cassidy-I'm A Hustla (Explicit) - Canadian Release
  • 20191-Cassidy-I'm a Hustla (explicit)
  • 20192-Cassidy-I'm a Hustla (edited)
  • 261-Cee Lo Green-Cee Lo Green...Is The Soul Machine
  • 20196-Charlie Wilson-5 Song Sampler
  • 20223-Charlie Wilson-Charlie Last Name Wilson
  • 20029-Charlotte Martin-On Your Shore
  • 20264-Chris Brown-Chris Brown
  • 10071-Christopher Lawrence-All Or Nothing
  • 735-Citizen Cope-Under The Sun
  • 20135-Clay Aiken-Merry Christmas With Love
  • 20190-Cook Dixon Young-Volume One
  • 20210-Cuban Link-Chain Reaction (Explicit)
  • 20144-Cuban Link-Chain Reaction - Demo
  • 321-da Brat-Limelite Luv & Niteclubz (Edited)
  • 322-da Brat-Limelite Luv n Niteclubz (Explicit)
  • 20172-Dave Matthews Band-Stand Up - Canadian Release
  • 20161-Dave Matthews Band-Stand Up
  • 20211-David Gray-Life In Slow Motion
  • 20232-David Gray-Life In Slow Motion - Canadian Release
  • 357-Death Threat-Now Here Fast!
  • 320-Dido-Life For Rent
  • 474-Dido-White Flag
  • 20180-Dido-Dido Live
  • 20273-Donell Jones-Journey Of A Gemini Sampler
  • 237-Donell Jones-Album Sampler
  • 20241-Donovan Banzana-Life's Code Of Ethics
  • 267-Elvis Presley-Close Up Sampler
  • 325-Elvis Presley-Live In Texas 1972
  • 454-Elvis Presley-Unreleased Movie Gems
  • 455-Elvis Presley-Unreleased Stereo Masters From The `50s
  • 437-Elvis Presley-The Magic Of Nashville
  • 286-ERIK RUBIN-ERIK RUBIN
  • 311-Eve6-It's All In Your Head
  • 20206-Faithless-Forever Faithless
  • 20222-FlamBey-The Flamerous Life
  • 20187-Foo Fighters-7 Song Sampler
  • 20178-Foo Fighters-In Your Honor (Electric)
  • 20179-Foo Fighters-In Your Honor (Acoustic)"
  • 20127-Frequent Flyer-Bombay
  • 20044-Frequent Flyer-Rio De Janeiro
  • 353-From Zero-My So-called Life
  • 262-Gavin DeGraw-Chariot Album Sampler
  • 299-GOB-Foot In Mouth Disease
  • 20254-Goldfrapp-Supernature
  • 20092-Hadley-Hadley
  • 443-Heather Headley-this is who I am
  • 20018-Hot Import Nights-Driving Beats
  • 435-Ike and Tina Turner-The Early Sessions
  • 20239-Imogen Heap-Speak for Yourself
  • 438-In Essence-The Master Plan
  • 305-J-Kwon-Hood Hop (Edited)
  • 306-J-Kwon-Hood Hop (Explicit)
  • 20074-J-Zone-A Job Aint Nuthin but Work
  • 372-Jacksoul-PROMO - HMV value add
  • 403-jacksoul-Resurrected
  • 307-James Taylor-Hourglass
  • 20260-Jamie Foxx-Unpredictable - THE SAMPLER
  • 20240-Jeff Bates-Good People
  • 20166-Jim Brickman-Grace - Canadian Release
  • 20156-Jim Brickman-Grace
  • 20158-Jody Sticker-5 Minutes
  • 20182-Judd And Maggie-Subjects
  • 20132-Kalan Porter-219 Days
  • 20141-Kasabian-Kasabian
  • 20167-Kasabian-Kasabian - Canadian Release
  • 20157-Keith Anderson-Three Chord Country And American Rock & Roll
  • 20151-Kelis-Tasty (Edited)"
  • 427-Kelis-Tasty (Explicit)
  • 20145-Ken Oak-Half Step Down
  • 20113-Kenny G-4 Song Sampler
  • 809-Keshia Chante-Sampler
  • 476-Kings Of Leon-Youth And Young Manhood
  • 20134-Kings Of Leon-Aha Shake Heartbreak
  • 20169-Kings Of Leon-Aha Shake Heartbreak - Canadian Release
  • 292-LA 5a. ESTACION-FLORES DE ALQUILER
  • 20272-Leilani Jaster-Leilani Jaster
  • 362-Len Doolin-Once In A Lifetime
  • 20198-Leo Kottke/Mike Gordon-Sixty Six Steps
  • 20217-Living Things-Ahead Of The Lions
  • 20152-Longwave-There's A Fire
  • 20126-Los Razos-La Raza Anda Acelrada (Explicit)
  • 354-Manmohan Waris-Nachiye Majajne
  • 20106-Mario-Here I Go Again
  • 20229-Maroon 5-Maroon 5 Live - Friday The 13th - Canadian Release
  • 20225-Maroon 5-Live: Friday the 13th
  • 285-MARTIN RICCA-ENAMORADO
  • 20215-Mashonda-January Joy
  • 20263-Melissa O'Neil-Melissa O'Neil - Canadian Release
  • 260-MIJARES-CAPPUCCINO
  • 20128-Moderato-Detector De Metales
  • 20129-Moenia-Stereo Hits
  • 310-My Morning Jacket-it still moves
  • 20216-My Morning Jacket-Z
  • 20174-Nathaniel Kimble-Better Get Ready
  • 20219-Nikka Costa-Can'tneverdidnothin' - Australian Release
  • 298-Nodesha-Get It While It`s Hot
  • 368-North Star-Pollyanna
  • 20125-Other-Please Detail in Question
  • 20214-Our Lady Peace-Healthy In Paranoid Times - Candadian Release
  • 278-Out Of Your Mouth-Draghdad
  • 419-Outkast-Speakerboxxx
  • 424-Ozomatli-Street Signs
  • 816-PANTEON ROCOCO-TRES VECES TRES
  • 20220-Paul van Dyk-Politics of Dancing 2
  • 366-Pedro Vargas-Pedro Vargas Canta a Jose Alfredo Jimenez
  • 20024-Peggy Scott-Adams-God Can And He Will
  • 308-PERSEGUIDOS-III
  • 20136-Peter Cetera-You Just Gotta Love Christmas
  • 20261-Philosopher Kings-Castles
  • 448-Pink-Try This
  • 20147-Play-N-Skillz-The Album Before The Album
  • 20025-Projet Orange-4-Track Sampler
  • 20097-Projet Orange-Megaphobe
  • 20227-Quenga-Quenga - U.S. and New Zealand Release
  • 808-Rachael Yamagata-Happenstance
  • 20194-Raheem DeVaughn-The Love Experience
  • 20014-Ray Charles-Genius Loves Company
  • 20038-Ray LaMontagne-Trouble
  • 20193-Richard Hawley-Cole's Corner
  • 20197-Royksopp-The Understanding - Australian & New Zealand Release
  • 20030-Sak Pase Presents Wyclef Jean-Welcome To Haiti Creole 101
  • 20199-SalonMusique-Uptown Conditioner
  • 20200-SalonMusique-Ultimate Relaxer
  • 20245-Santana-All That I Am
  • 20256-Santana-All That I Am - Canadian Release
  • 20207-Sarah McLachlan-Bloom (Album Remix)
  • 20138-Sarah McLachlan-Afterglow Live
  • 235-Sarah McLachlan-Afterglow
  • 289-Sarah Mclachlan-Fallen
  • 20249-Say Anything-Say Anything...is a Real Boy
  • 20250-Say Anything-Say Anything...was a Real Boy
  • 20251-Say Anything-Say Anything...is a Real Boy - Canadian Release
  • 20252-Say Anything-Say Anything...was a Real Boy - Canadian Release
  • 817-SHAILA-SHAILA
  • 20257-Shane Capone-Heated Speech
  • 20148-Shawn Desman-Sampler - Canadian Release
  • 20163-Shawn Desman-Back For More - Canadian Release
  • 20120-Shawn Kane-Full Version Sampler
  • 20188-Shawnie-The Return
  • 20094-Silvertide-Show And Tell (Explicit)
  • 20095-Silvertide-Show And Tell (Edited)
  • 457-Skrape-Up The Dose
  • 213-Sloan-Action Pact
  • 20173-Sloan-A Sides Win: Singles 1992 - 2005 - Canadian Release
  • 20259-Smitty-Life Of A Troubled Child (Album Advance)
  • 373-Soil-Redefine
  • 20221-Soundtrack-Masters of Horror Soundtrack Sampler
  • 20170-Soundtrack-The Cave
  • 20159-Soundtrack-XXX: State of the Union (explicit)
  • 20160-Soundtrack-XXX: State of the Union (edited)
  • 20165-Sountrack-XXX: State Of The Union (Explicit) - Canadian Release
  • 475-South-With The Tides
  • 415-Spymob-Sitting Around Keeping Score
  • 20201-StellaStarr*-4 Song Sampler
  • 20203-StellaStarr*-Album Advance
  • 20231-Stellastarr*-Harmonies For The Haunted - Canadian Release
  • 20235-Stellastarr*-Harmonies For The Haunted
  • 356-Steve Myland-Not Every Rhyme Has A Reason
  • 371-Strawberry Shortcake-Premium Giveaway
  • 20255-Suburban Tragedy-Tonight We'll Watch The Sun Come Up
  • 20224-Syleena Johnson-Chapter 3: The Flesh
  • 20228-Syleena Johnson-Chapter 3: The Flesh - Canadian Release
  • 20266-T-Pain-Rappa Ternt Sanga - Explicit
  • 20267-T-Pain-Rappa Ternt Sanga - Edited
  • 20176-T. Raumschmiere-Blitzkrieg Pop
  • 20177-Tazz Calhoun-It's All Good
  • 204-Tears For Fears-3-Song Sampler
  • 288-Tears For Fears-Everybody Loves A Happy Ending
  • 276-Tha Rayne-Didn`t You Know
  • 20202-The Appearance-Are We Not Entertained?
  • 10073-The Calling-Two Copy
  • 20168-The Chieftains-Live From Dublin; A Tribute To Derek Bell - Canadian Release
  • 20143-The Chietains-Live From Dublin; A Tribute To Derek Bell
  • 318-The Crystal Method-Legion of Boom
  • 440-The Neptunes-The Neptunes Present...Clones
  • 20142-The Residents-Animal Lover
  • 432-The Sound Of Urchin-The Diamond
  • 406-The Strokes-Album Advance
  • 20269-The Strokes-First Impressions Of Earth
  • 20213-The Trews-Den of Thieves - Canadian Release
  • 20175-The Warlocks-Surgery
  • 263-Theo-Chemistry...You And Me
  • 365-Tita & Saozinha-Papa
  • 802-TONITA-LAS CUENTAS CLARAS
  • 20133-UGK-Jive Records Presents: UGK - Chopped & Screwed
  • 271-Usher-Confessions
  • 20080-VARIOS-MISION S.O.S.(AVENTURA Y AMOR)
  • 20041-Various-Relaxation: A Windham Hill Colletion
  • 20079-Various-Reflections
  • 20027-Various-Urban International Sampler
  • 245-Various-Arista Fall 2003 Sampler Promo CD
  • 20146-Various-Down South Party Mix!
  • 20212-Various-Elizabethtown - Songs From the Brown Hotel
  • 20218-Various-Canadian Idols: High Notes - Canadian Release
  • 20209-Various-2005 NARM Sampler
  • 20226-Various-So Amazing An All Star Tribute To Luther Vandross
  • 20230-Various-So Amazing An All-Star Tribute To Luther Vandross - Canadian Release
  • 20242-Various-Masters Of Horror
  • 20234-Various-Masters of Horror Radio Sampler
  • 343-Various Artists-Music Snapshot of LG Action Sports Championship
  • 824-Various Artists-Majestic II
  • 828-Velvet Revolver-Contraband (Explicit)
  • 822-Velvet Revolver-Contraband (Edited)
  • 20130-Velvet Revolver-Bonus Material
  • 300-Vertical Horizon-Go
  • 277-Vue-Down For Whatever
  • 241-Wakefield-American Made
  • 20184-Wakefield-What Side Are You On? (explicit)
  • 20185-Wakefield-Which Side Are You On? (edited)
  • 363-Whitney Houston-One Wish
  • 447-Whitney Houston-Try It On My Own
  • 441-Wyclef Jean-The Preacher`s Son
  • 20089-Yaga Y Makie-Clase Aparte
  • 10077-Yogacharya Swami Kripalvanandji-Premdhara 3 & 4 - U.S. & India Release
  • 20154-Yogacharya Swami Kripalvanandji-Premdhara 5 & 6 - U.S. & India Release
  • 20253-Yogacharya Swami Kripalvanandji-Premdhara 7 & 8 - U.S. & India Release
  • 20270-YoungBloodZ-Ev'rybody Know Me (Explicit)
  • 20271-YoungBloodZ-Ev'rybody Know Me (Edited)
  • 279-YoungBloodZ-Drankin` Patnaz
  • 20086-Yung Wun-The Dirtiest Thirstiest (Explicit)
  • 20087-Yung Wun-The Dirtiest Thirstiest (Edited)
  • 20242-Various-Masters Of Horror
  • 20234-Various-Masters of Horror Radio Sampler
  • 343-Various Artists-Music Snapshot of LG Action Sports Championship
  • 824-Various Artists-Majestic II
  • 828-Velvet Revolver-Contraband (Explicit)
  • 822-Velvet Revolver-Contraband (Edited)
  • 20130-Velvet Revolver-Bonus Material
  • 300-Vertical Horizon-Go
  • 277-Vue-Down For Whatever
  • 241-Wakefield-American Made
  • 20184-Wakefield-What Side Are You On? (explicit)
  • 20185-Wakefield-Which Side Are You On? (edited)
  • 363-Whitney Houston-One Wish
  • 447-Whitney Houston-Try It On My Own
  • 441-Wyclef Jean-The Preacher`s Son
  • 20089-Yaga Y Makie-Clase Aparte
  • 10077-Yogacharya Swami Kripalvanandji-Premdhara 3 & 4 - U.S. & India Release
  • 20154-Yogacharya Swami Kripalvanandji-Premdhara 5 & 6 - U.S. & India Release
  • 20253-Yogacharya Swami Kripalvanandji-Premdhara 7 & 8 - U.S. & India Release
  • 20270-YoungBloodZ-Ev'rybody Know Me (Explicit)
  • 20271-YoungBloodZ-Ev'rybody Know Me (Edited)
  • 279-YoungBloodZ-Drankin` Patnaz
  • 20086-Yung Wun-The Dirtiest Thirstiest (Explicit)
  • 20087-Yung Wun-The Dirtiest Thirstiest (Edited)

zapkitty、2005/11/18 1:07:01 AM

posted by 7mm MG at 16:13| Comment(0) | TrackBack(8) | 和訳 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。