Ⅱ
KINDERGARTEN SECURITY MISTAKES
ナチュラル・ボーン・プログラマー
ポコラは言葉を覚えるより先にゲームをマスターした。
小学生になるとコーディングに夢中になった。
発売されたばかりのXboxを買ってもらうと、
お気に入りのゲームを改造するプログラムを書いた。
そうして13歳になるころには、
ハッカーたちの間で名の知られた存在になっていた。
名声は彼をさらなるハッキングの深みへと引きずり込んでいった。
(本連載は毎日20時に公開します)
TEXT BY BRENDAN KOERNER
TRANSLATION BY TOMOAKI KANNO
ILLUSTRATIONS BY ZOHAR LAZAR
アルファベットを読んだり書いたりできるようになるだいぶ前から、デイヴィッド・ポコラは難しいファーストパーソン・シューティングゲーム(FPS)[編註:プレイヤーの姿が画面上に見えない一人称視点のアクションゲーム]ができた。
1995年に3歳でPC用FPSゲーム「Blake Stone: Aliens of Gold」をプレイするポコラの姿が不鮮明なヴィデオ映像に残っている。彼の指は、両親のノーブランドPCのキーボード上で軽快に踊っていた。
幼いポコラの心を奪ったのは、そのゲームの暴力性ではなく、魔法のような装置のほうだった。四角いベージュ色の機械が自分の指の動きをどうやって画面上のアクションへと変えているのか、それが気になってしかたなかった。この子どもは生まれながらのプログラマーだったのだ。
ポコラは小学生になると、コーディングの真似ごとをするようになり、シンプルなウェブブラウザーのようなツールをつくって遊んだ。しかし、この技術に完全にのめり込んだのは11歳か12歳のころで、家族でポーランドに旅行したことがきっかけだった。
彼は旅行に大きなノートパソコンをもっていった。両親の親戚が住む町は活気がなく、ほとんどやることがなかった。ニワトリが庭をうろうろと歩きまわるなか、ポコラはマイクロソフトが開発したプログラミング言語「Visual Basic.NET」を独学しながら時間をつぶした。
滞在していた家にはインターネット環境がなく、プログラミングの途中でエラーが出てもGoogle検索に頼ることはできなかった。それでもポコラは不要なコードをコツコツと削り続け、無駄のない美しいコーディングを目指した。
集中力を求められる地道な作業だったが、ポコラはうれしかった。そんな気持ちになるなんて、自分でも思いもよらなかった。帰国するまでには、機械が自分の思い通りに動いたときに得られる達成感のとりこになっていた。
ポコラがプログラミングに没頭しはじめたころ、家族が初めてXboxを買った。オンラインコミュニティ「Xbox Live」でマルチプレイヤーと対戦できる機能が付いており、アーキテクチャーもFPSゲームと同じウィンドウズをベースとしていた。
Xboxがやってきて、ポコラのスーパーファミコンは過去の遺物となった。ポコラは毎日、Xbox向けのシューティングゲーム「Halo(ヘイロー)」でエイリアンと戦っているか、すっかり気に入った新しいゲーム機の技術についての情報をネット中で探し回っているか、どちらかだった。
Xboxの情報を追いかけるうち、ポコラはハッカーたちとコンタクトするようになった。彼らは、Xboxを使ってできることを「再定義」しようとしていた。
ハッカーたちはXboxの秘密を見抜こうと、本体をこじ開けた。そして、マザーボードにはめ込まれたCPUやRAM、フラッシュメモリーのような、さまざまな部品の間を飛び交うデータを“傍受”した。
すると、暗号の専門家ブルース・シュナイアーが言うところの「幼稚園児でもやらないような、ずさんなセキュリティミス」がたくさん発見された。例えば、マイクロソフトは、Xboxを起動させるときに最初に読み込むブートコードの解析キーを、メモリのすぐわかるようなところに残していた。
米国人の研究者でハッカーでもあるバニー・フアンは、マサチューセッツ工科大学(MIT)の大学院生だった2002年にそのキーを発見し、ハッカー仲間たちがXboxで自作のプログラムを起動できるよう細工を施した。おかげで彼らはXboxを通じて音楽をストリーミング配信したり、OSにLinuxを入れたり、セガや任天堂のゲームソフトを使ったりできるようになった。
こんなふうに、Xboxを本来の用途とは別のかたちで楽しむには、ゲーム機のファームウェアを“微調整”するだけでよかった。
例えば、機能の制限を解除したり、違法コピーされたソフトを再生できるようにするICチップ、いわゆる「モッドチップ」をマザーボードにハンダ付けするという方法があった。また、ゲームのセーヴデータが入ったファイルを、ハッキングによって不正に入手してUSBメモリーに取り込み、ゲーム機へと移すという手もあった。
ポコラは自宅にあったXboxのプログラムを書き換えてしまうと、大好きなゲーム「Halo」をいじりまわすことに熱中していった。IRC(インターネット・リレー・チャット)やウェブフォーラムのうち、「Halo」に興味をもつ優秀なプログラマーが集まる場所に入り浸り、ゲームの物理演算を書き変える方法を熱心に調べていった。
まもなくポコラは、「Halo2」を改造するプログラムを書いた人物として、もてはやされるようになった。ゲームの舞台となる風景のなかで水を自由自在に操り、青空を雨模様に変えて画面いっぱいに雨を降らせたりできるようにしたのだ。
ハッキングし放題だった自由な時代は2005年11月、Xboxの第2世代「Xbox360」のリリースで終焉を迎えた。360にはセキュリティ上、前機種のように明らかな欠陥がなく、13歳になっていたポコラをはじめ、プログラマーたちはがっかりした。マイクロソフトに認められていないコードは使えなくなっていたからだ。
落胆したハッカーたちに残された手はひとつだけ、一時しのぎの策しかなかった。しかも、めったに手に入らないハードウェアが必要だった。Xbox360の開発キットである。
開発キットとは、マイクロソフトが公認したデヴェロッパー(ゲーム開発企業)がXboxのコンテンツを制作するのに使うマシンのことだ。素人の目にはただのゲーム機のように見える。だが、細かなデバッグのためのツールなど、ゲームの開発プロセスに不可欠なソフトウェアのほとんどが含まれている。開発キットを入手したハッカーは、認定プログラマーと同じようにXboxのソフトウェアを操れるのだ。
マイクロソフトが開発キットを送るのは、厳正な審査の末に選んだデヴェロッパーに限られている。2000年代半ばに、いくつかのキットが手に入る状態になったことはあった。あるデヴェロッパーが破産し、慌てて資産を投げ売りしたからだ。基本的には、開発キットがそのへんに転がっていることなど、めったになかった。
ところが、あるハッカーが運良く、360の開発キットが山ほど眠っている場所を見つけ出した。“鉱脈”を掘り当てた幸運な男はひと稼ぎしてやろうと熱くなり、おかげでポコラもXboxの世界で頂点を極めることになった。
※次回は6月16日(土)20時に公開予定。
PROFILE
ブレンダン・コーナー|BRENDAN KOERNER
『WIRED』US版コントリビューティング・エディター。元『ニューヨーク・タイムズ』コラムニスト。コロンビア大学ジャーナリズム大学院が発行する『コロンビア・ジャーナリズム・レヴュー』で「注目の若手ジャーナリスト10人(Ten Young Writers on the Rise)」に選ばれたこともある。著書に、米国における航空機のハイジャックの歴史を描いた『The Skies Belong to Us: Love and Terror in the Golden Age of Hijacking』など。
本シリーズについて
「WIRED.jp」で6月14日(木)より毎日20時、9日間にわたって掲載する。出典は『WIRED』US版の特集『The Young and the Reckless』で、US版ウェブサイトでは2018年4月18日、同本誌では2018年5月号に掲載された。
- The Young and the Reckless
- https://www.wired.com/story/xbox-underground-videogame-hackers/