***SonyのXCP DRMシステムについてのMuzzyの調査 [#q0f41e26]
 - [[飜訳元サイト:http://hack.fi/~muzzy/sony-drm/]]
 - 飜訳者:ニュー速スレの708
 - 飜訳者:[[ニュー速スレ:http://news19.2ch.net/test/read.cgi/news/1131873913/-100]]の708
 
 SonyのXCP DRM rootkitについて発見した事を集めました。お楽しみ下さい!
 SonyのXCP DRM rootkitについて私が発見した事をまとめました。お楽しみ下さい!
 
 **アンインストーラ [#pee87e4a]
 
 アンインストーラは、あながアンインストールURLを要求する前にさえ、システムにActiveXコントロールをインストールする事を要求します。そのActiveXは、スクリプティングに対して安全であるとのマークを付けていますが、誰でも使える面白いメソッドをたくさん持ってる事が判明しました。私はあまり深く調べたわけではありませんが、そのうちの一つが、まさに考えた通りの事をするかどうかを確かめる為のテストをしました。"RebootMachine"(マシンを再起動)と呼ばれているものをです。あなたがSonyのActiveXコントロールをインストールしたなら、[[RebootMachineメソッドを呼び出す:http://hack.fi/~muzzy/sony-drm/reboot.html]]このリンクを辿ってみて下さい。私はExecuteCode(コードを実行)メソッドが何をするのかさえ知りたくありません…
 アンインストーラは、あなたがアンインストールURLを要求する前にさえ、システムにActiveXコントロールをインストールする事を要求します。そのActiveXは、スクリプティングに対して安全であるとのマークを付けていますが、誰でも使える面白いメソッドをたくさん持ってる事が判明しました。私はあまり深く調べたわけではありませんが、そのうちの一つが、まさに考えた通りの事をするかどうかを、確かめる為のテストをしました。"RebootMachine"(マシンを再起動)と呼ばれているものをです。あなたがSonyのActiveXコントロールをインストールしたなら、[[RebootMachineメソッドを呼び出す:http://hack.fi/~muzzy/sony-drm/reboot.html]]このリンクを辿ってみて下さい。私はExecuteCode(コードを実行)メソッドが何をするのか、知りたくもありません…
 
 (本文はまだ続きます。バックアップの為に保存)
 InstallUpdateメソッドは、XCP.DATのフォーマットでファイルをダウンロードするようで、その中からdllを取り出して実行する模様です。これまでに、そのコードを使った攻撃が可能なのかどうかを充分に調べたわけではありませんが、私はそのコードが、意味のある検証を何もしていないものと推測しています。つまりこのActiveXコントロールは、外部から来た攻撃用のコードを実行できるように設計されている、と云う意味です。''緊急の調査が必要です!''誰か、動作するアンインストールURLを持っているなら、全段階におけるページのソースを見て、そこで使われているjavascriptを確認して下さい。私はこれらのメソッドがどのように使われる事を想定されているのかを知りたいです。
 
 * 置かれている、スクリプト可能なメソッド群 [#fb8da919]
 
 アンインストーラは、数々のメソッドを置き去りにしています。これらがその名前です。
 
 - GenerateRequestPacket (リクエストパケットを生成)
 - ExecuteCode (コードを実行。ブラウザをクラッシュさせる事が可能)
 - Uninstall (アンインストール)
 - RebootMachine (攻撃可能。デモを見て下さい)
 - GetProgress (進捗を得る)
 - OnLoaded (ロードされた)
 - InitializeDiscScan (ディスクのスキャン動作を初期化)
 - GetNumberOfDiscs (ディスクの枚数を得る)
 - IsDRMServerValid (DRMサーバーは有効か?)
 - GetAlbumArtist (アルバムのアーティストを得る)
 - GetAlbumName (アルバムの名前を得る)
 - GetMaxBurnCount (最大の焼き込み回数を得る)
 - GetCurrentBurnCount (現在の焼き込み回数を得る)
 - GenerateIncrementPacket (増加パケットを生成)
 - IsContentOwnerValid (コンテンツ所有者は有効か?)
 - DoIncrement (増加を行う)
 - GetInstalledSoftwareVersion (インストールされているソフトウェアのバージョンを得る)
 - IsXCPDiscPresent (XCPディスクは存在するか?)
 - InstallUpdate (攻撃可能性がある。与えられたURLをダウンロードする)
 - GetInstallProgress (インストール状況を得る)
 - GetCompletionStatus (完了状態を得る)
 - IsXCPDiscPresentAsLong (意味不明。AsLongって何だ?)
 - IsAdministrator (Administratorか?)
 
 これらを使って誰でもコンピュータを再起動させる事が可能であることを考えると、開発者はこれを開発している時に、セキュリティについて考えた事は、1秒たりとも無いのではないかと、私は疑っています。ウイルス作者やそのような者達は、これらのメソッドが何をするのかを調べる事について、大変興味を持っていることでしょう。幾つかのメソッドは外部からの攻撃が可能なのですから…。最初からそのように設計されている可能性さえあります。
 
 ***魔法のリスト [#y9f3cd41]
 
 インストーラとプレイヤーは両方とも、幾つかのexeの名前やウインドウの名前等を含む、面白いリストを持っています。今の時点で私はこれらのリストが何に使われているのかは知りませんが、多分ブラックリストなのでしょう。あなたの推測の通り、DRMシステムはこれらを2秒毎にスキャンしています。
 
 - [[インストーラの魔法のリスト:http://hack.fi/~muzzy/sony-drm/sony-drm-magic-list.txt]]
 - [[プレイヤーの魔法のリスト:http://hack.fi/~muzzy/sony-drm/sony-drm-magic-list-2.txt]]
 
 ***LAMEを参照してる? [#na6a37d9]
 
 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 .......
 
 大きな疑問は、これらが何をしているのか?と云う事です。exeファイルがLAMEのライブラリと静的リンクされている事を示すのでしょうが、LAMEはLGPLですよ。私にはこの事についての証拠はありませんが、libmp3lame由来のたくさんのデータが含まれていて、それらを容易に見付ける事が出来ます。DRMシステムかそのインストーラがLAMEで何をしたいのか、私には全然分かりません。
 
 もしかしたら誤ってリンクされたのかも知れないし、誰か他の人が確認したところ、[[LAMEと一致するコードそのものは見付けられませんでした:http://www.the-interweb.com/serendipity/index.php?/archives/51-Is-Sony-in-violation-of-the-LGPL.html]]。
 
 CD内の他の三つのファイル(XCP.DAT内に圧縮されている)もまた、LAMEの文字列を含んでいますが、そちらはまだ解析されていません。そのままでお待ち下さい…。私の最初の解析では、たくさんのLAMEのデータを参照しているコードが、存在する事が分かりました!これは違反の証拠かも知れません!BinDiffを持ってる誰かが確認してくれるのを待っています…。
 
 ***XCP.DATに入っている変なもの [#n3643a46]
 
 CDの中に入ってるXCP.DATを、たった今、展開しました。その中で、私は驚くべきものを見付けました。皆の間で既出かどうかは分かりませんが、mpglib.dllや、或るバージョンのbladeenc dllのようなものが入っているようなのです。これらは両方ともLGPLであって、私の知っている限りでは、ドキュメントの中で言及しない限り、これらを使う事はできないはずです。もしかするとこれが、F4lがLPGL問題に返答しない理由なのかも知れません。その通り、XCPにはLGPLが含まれているのです。LAMEの存在が手違いによるものだとしても!
 
 中にはAdaptecのASPIさえ入っていますが、どうやらそれは再配布が許されているようです。私は何も知らないので、これについてもっと調べる必要があります。インストールされたシステム上では、最終的には非常に人目に触れるものとなりますから(windows\system32内のTMPXディレクトリ)、F4lでさえもこれらのファイルを侵害する程には馬鹿ではないかも分かりません。
 
 おや、おまけにどうやらId3Libまで入ってるようですよ。少なくとも文字列がたくさん一致します。あまり詳しく調べている時間はありません。ECDPlayerControl.OCXは、実際にこれらのLGPLライブラリを使っているようで、これはLGPL違反を意味します。何処にも言及が無いのですから。これらの事実を確認する為に、このDRMを他の人達と共有できれば良いのですが、それは著作権違反になります ヽ(`Д´)ノ
 
 それから、更に三つのファイルがLAMEを参照しているのですが、それは確認待ちです。
 
 2005-11-13 Matti Nikki <muzzy@iki.fi>