このニュースは、最初に Neowin.net が伝えた。 以下が Neowin の第一報だ。日本時間2004年2月13日 5時22分。 現在、リンク先の記事は 13 Feb 2004 - 00:22 [UTC] つまり日本時間2004年2月14日9時22分付けになっているが、 おそらくこれは最終更新などの時間だろう。第一報は日本時間5時22分で間違いないと思われる。 このサイト(妖精現実)では9時02分が第一報で、以下の訳文も当時のものだ。
Exclusive: Windows 2000 & Windows NT 4 Source Code Leaks
Posted by creamhackered on 12 Feb 2004 - 21:22 CET (neowin.net)
Neowin has learned of shocking and potentially devastating news. It would appear that two packages are circulating on the internet, one being the source code to Windows 2000, and the other being the source code to Windows NT. At this time, it is hard to establish whether or not full code has leaked, and this will undoubtedly remain the situation until an attempt is made to compile them. Microsoft are currently unavailable for comment surrounding this leak so we have no official response from them at the time of writing.
Neowinがつかんだのはショッキングで、ことによると破滅的なニュースだ。 ネット上にWin2000とWinNTのコードが流通しているというのだ。 現時点ではコード全体がリークしたのかどうか不明だが、 コンパイルしてみれば分かるというものだ。 Microsoft からのコメントはまだない。 公式には未確認である。
This leak is a shock not only to Neowin, but to the wider IT industry. The ramifications of this leak are far reaching and devastating. This reporter does not wish to be sensationalist, but the number of industries and critical systems that are based around these technologies that could be damaged by new exploits found in this source code is something that doesn't bare thinking about.
寝耳に水なのは、Neowinだけでなく全IT産業が同じだろう。このリークの影響は広範に及び、破滅的だろう。 不安を煽ろうというわけではないが、ソースが流れたらどれだけセキュリティホールが見つかるか分からない。 考えるのも恐ろしいほどだ。
We ask that for the wider benefit of the IT community that members and readers support Microsoft by forwarding anything they know about the leak to the Microsoft's Anti-Piracy department. Please do not post any links/screenshots/hints or anything to do with the source code outbreak. Discussion is allowed but we will not condone people spreading this source code.
したがって、この件について情報をお持ちのかたは Microsoft の Anti-Piracy 部門に連絡してほしい。 ソースコードへのリンク、スクリーンショット、場所のヒント等々を投稿しないでください。 この件についての議論はOKですが、ソースコードを流通させることは禁じます。
Slashdot でも大きな話題になっていた。 CNETも「P2PやIRCで流通して、誰もがファイルを持っている」と伝えていた。
"It was on the peer-to-peer networks and IRC (Internet relay chat) today," Ruiu said. "Everybody has got it--it's widespread now."
「今日、P2PやIRCにありました」Ruiuは言った。「誰もが手に入れましたよ。今は広範囲に広がっています」
実際、書庫は、そこらじゅうにあった。 最初の24時間だけで数万~数十万はコピーされたと推測できる。 後からP2Pで流れていた torrent ファイルの量からみて数百は torrent があったことは明らかで、 各 torrent から平均数百人がダウンロードしただろう。 ごく短時間、例えば1時間くらいで無効になった torrent でさえ、 シードが多ければ、100人単位のユーザが容易にダウンロード完了できる(各自帯域はあるとして)。 つまり BT だけで数万コピーがばらまかれ、 P2Pを合わせると数万~数十万だったであろう。 なお、IRC の fserve や xdcc はBTほどの拡散力がないが、 一般的な開発者などはIRCでやりとりしたかもしれない。
このサイトでは、2004年2月13日 (日本時間) 9時02分に「Windowsはこれからはオープンソースだ! ソースリーク?」 という疑問符つきの小見出しで、次のようにメモした。
Neowin.Net が伝えた。そのページは今はサーバアクセス集中でみれないが、iexbeta が引用している。 IRC上には既にブツが。拡張子がcとcxx/cppなのでWinのコードはcとcプラプラらしい。
ちなみに、その時点でのこのサイトのトップニュースは 「VLC media player が DTS サポート! 号外! 号外! 大ニュース! dtsdec 0.0.1 - フリーのDTSデコーダ登場! しかも DTStoFloat32 だよ!!」。 このサイト的には、VLCのDTSサポートはただちに検証記事を書くほどの号外級の大ニュースだったが、 Windows のコードは雑談的な余白のメモにすぎなかった。 このサイトではマルチメディア関連の最新情報をしばしば世界最速で伝えていて、 「日本で一番に」伝えるというだけならほとんど毎日なので、その点での気負いはなかったが、 このサイトの本来の読者だけでなく多くの人が興味を持つ一般的な重要度のある事件だという自覚はあった。 どのみちすぐ知れ渡り、ほしい人は簡単にコードを入手するということも分かり切っていた。 自分自身も Windows ユーザなのでそれなりの関心があったが、 このサイトの本来のテーマとは関係ないので、このサイト的には、 このことでサーバリソースや記事を書く時間をとられるのは迷惑とも思った。 この点については、その日の夜くらいから繰り返しぼやいている。
記事の遅れについてのおわび ほか
2004年 2月13日 22時38分 +09:00
きのうはDTSのフリーのエンコーダという大ニュースがあったのに、 Microsoft の迷惑な管理ミス・コード流出ねたのせいで一日無駄にしてしまいました。残念ですが、これはこれで勉強になったかな・・・・
もともと「一般の人」がこのサイトにどやどやと来ること自体を好まなかったからでもある。
以下で触れる隠しコマンドも、見つけようと思って見つけたわけではなく、 どんなソースか見てやれと思っていい加減にたまたま開いた1つめのファイルにそれがあっただけだ。
コードを見た第一印象は次のとおりだったが、この時点では、まだこれが本物なのかどうかは判然としていなかった。
日本時間9:10 見ると(MFCのような)クラスライブラリなどを使わない生のWinAPI32で、コメントとかもきちんとして、すごく整然としたコードです。 命名規則は一部MFC風。 ソースは200MB少々のアーカイブで解凍したら600MBくらい。 全体がリークしたのではない可能性が高い。日本時間9:14 (ソース全体は約40GBだろうとCNET。つまり本当だとしても、ごく断片がリークしただけらしい。) (ただし1GBの書庫も出回っており、本当にどのくらいリークしたのかは未詳。)
Windowsがオープンになったとしたら。「やった、ただで使わせてもらおう」より「もう完全にLinuxに乗り換えるしかないな」
本物のようだ。タスクマネージャのコードが含まれている。リソースファイルのビットマップは実際のタスクマネージャと同じだ。 断片が流れただけでヘッダファイルがないので、コンパイルできない。 日本時間 10:08
2004年2月13日 (日本時間) 10時50分に、次のように報告した。 この時点では、まだコードが本物かどうかはっきりしていなかったが、 未知の隠しコマンドが含まれていることから、本物だろうと思った。 上の引用では「本物のようだ」と書いているが、下記ではさらに「本物としか思えない」と書いている。
このコードは本物としか思えない。 タスクマネージャのソースを見ると、タスクマネージャを起動するときに、Shift Alt Ctrl の3つ(Ctrl-Alt-Delではない)を押すと、 前回起動時のウィンドウの位置などを使わず「初期化される」という内容が書かれている( スタートボタン→R で taskmgr を指定、Shift Alt Ctrl を押したまま Enter を叩いてみてください)。 こんな隠しコマンドがあるとは知らなかった。手元で確かめたら、実際、 タスクマネージャは、そのようになっていた。
上の引用部分の「~という内容が書かれている」というところには、実際にその内容を示す7行のコードが引用してあった。 Microsoft もコードの漏洩を認めた。
追記 13:25: APによると、Microsoft はコードの漏洩を認めた。 Microsoft Confirms Source Code Leaked Over Internet 「Microsoft spokesman Tom Pilla said in an interview with The Associated Press that some incomplete portions of its Windows 2000 and Windows NT4 source code had been "illegally made available on the Internet."」Microsoft の報道官トム・ピラは、 APの取材に対し、 Windows 2000 と NT4 の一部のソースコードが『ネット上で、違法に、入手可能状態になっている』と答えた
当初出回っていたものは200MB台で解凍すると1CDサイズだったが、 現在、もっと大きい書庫も出回っている。Microsoft が当初「リークはない」と嘘をついたことを考慮すると、 「漏れたのはごく一部にすぎない」としているのも事実でない可能性がある。 どうやってなぜ漏れたのかといった具体的なことはまだ不明のはずだから、 現時点ではリーク量も未詳と考えるべきだ。1GB程度の書庫もある。 ねつ造ファイルの可能性が極めて高いが、 40GBのソースのほとんどすべてが圧縮されているという可能性も完全には否定できない。
KAZAAにあった1GBのファイルは実際には調べていないが、 頭だけダウンロードしてバイナリエディタで見たらWAVファイルのようなヘッダがあったので、 偽造ファイルだろうと思われた。しかし、ごくわずかにすぎないというのは、思ったとおり、 問題を小さく見せるための情報操作で、実質的には約47%、しかも最重要部分が流出した、という報告も、 後に出されている。
「Mainsoft社 Eyal Alaluf 氏のPCから流出?」として、 日本時間 15時25分に次のようにもメモした。
流出したソースコードは、もともと カリフォルニア州サンノゼ(San Jose)に本社のある Mainsoft Corporation に対して提供されたものだったらしい。 Slashdotの投稿によると、 Windows 2000 のソースの書庫には、それを示すコアダンプファイルが含まれているという。 手元にあるソースでも、 /bsc/.glimpse_index のなかに、mainsoft という文字列が1つあるのが確認できた(もちろん、これが Mainsoft Corporation を指しているとは限らず、 たまたま同名の識別子である可能性もある。Glimpse を持ってないので、それ以上分からない)。
Mainsoft社の2000年3月の発表によると、 同社は確かに Microsoft から Windows NT と 2000 のソースの提供を受けている。 Microsoft の Mainsoft executive profiles のなかにも、 Mainsoft 社が Eyal Alaluf 副社長の名とともに紹介されている。
Mainsoft 社に供与されたソースコードが、内部の者または第三者によって流出した可能性が出てきたが、 ソースの出所を分かりにくくするためなどの何らかの偽装工作である可能性も否定できない。
ソースが同社に渡ったのは4年前の2000年。 「流出したなかに Windows XP のコードはなかった」という事実とも符合する。
BetaNews も、独自の情報として、 この件を詳しく伝えている。 それによると、このソースコードは、もともと Mainsoft 社が Windows ソフトを移植して Unix 版を開発する目的で Microsoft から提供を受けたもので、 開発は Unix 系マシンで行われたらしく、 コアダンプに Mainsoft の Eyal Alaluf 氏の名前が含まれていることも確認。 同氏のマシンから盗まれるなどした可能性がある。提供されたソースコードの使用目的などからみても、 カーネルのコードは含んでいないのでないか。Microsoft からみて不幸中の幸いで、最悪の事態だけは避けられたのではないか。 ただ、現時点ではまだはっきりしないことが多すぎる。
問題のコアファイルは \private\security\msv_sspi\core にあった。