メディア

ナゾに包まれた「見つからないトロイの木馬」の真実:683rd Lap

代表的なマルウェアとして知られる「トロイの木馬」。実は、トロイの木馬を巡って長年語られ続けてきたナゾがあった。隠されてきた真実とは。

» 2022年10月28日 07時00分 公開
[キーマンズネット]

 ギリシア神話の「トロイア戦争」で敵領地への侵入に使われたとされる巨大な木馬になぞらえて名付けられた「トロイの木馬」。コンピュータの歴史においてもその存在は古く、1970年代には登場していたという。

 そんな古い歴史を持つトロイの木馬について、約40年もの時代を経て長年ナゾに包まれていた「ある事実」が明らかになったという。

 「Unixの父」と呼ばれるトンプソン氏は、ベル研究所に勤務していた1960年代後半から、同僚のデニス・リッチー氏らと共にUnixの開発に取り組んだ。Unixは1970年代以降のコンピュータシーンに非常に大きな影響を与えた存在になった。

 Unixの開発を評価された両者は1983年に、汎用(はんよう)的なオペレーティングシステム理論の開発としてチューリング賞を共同受賞した。その授賞式で、トンプソン氏がスピーチした内容が、今回の話題の発端となる。

 スピーチのタイトルは「Reflections on Trusting Trust(信頼を信頼することについての考察)」。このスピーチでトンプソン氏は「ソースコードをいくら調べてもトロイの木馬を発見できないケースがある」と明言し、「プログラムにトロイの木馬が潜んでいないことを証明するのは難しい」と主張した。

 「たとえ調査済みのソースコードでも、開発ツールやコンパイラ自体にトロイの木馬が存在すれば、プログラムにトロイの木馬が埋め込まれている可能性がある(メタ・バックドア攻撃)。プログラムを精査した結果を信頼するより、コードを書いた人間を信頼する方が重要だ」というのがトンプソン氏の主張だ。同氏は、1984年に上梓した論文の中でも同様のことを主張している。

 世間では「トンプソン氏はUnixにメタ・バックドア攻撃を実装したのか」とささやかれたこともあったが、これはあくまでもトンプソン氏が可能性を述べただけだとされ、実際には存在しないものと思われてきた。一方で1995年頃に「トンプソン氏が開発、実装したメタ・バックドア攻撃の存在を証明するものが『Usenet』に投稿された」といううわさもあった。Usenetとはインターネット黎明(れいめい)期にあったネットニュースと呼ばれる、掲示板に似たようなものだ。

 Usenetに投稿された文書はもはや残っておらず、「トンプソン氏のメタ・バックドアに関する投稿こそが都市伝説ではないか」と言われてきた。Usenetへの投稿から30年弱が過ぎ、時折怪しい文書が見つかったことはあったものの信ぴょう性は薄く、結局、都市伝説として風化していくものだと思われた。

 ところが、北京に住む技術系ブロガーであるトム・リー氏が2022年9月27日に「Usenetからジェイ・アッシュワース氏の投稿を発見した」と自身のブログで発表した。そこには当時のタイムスタンプや投稿者IDなどの情報とともに、Usenetへの投稿内容とトンプソン氏からのメッセージが書かれていた。

 投稿内容は、以前にトンプソン氏と付き合いがあったアッシュワース氏が他のユーザーからの質問に答えている内容だった。その投稿を見ると、質問者はUnixのログインコマンドに何らかのコードが含まれていると指摘していた。バージョンなどは明記されてはいないが、質問者は「彼はそれを実装したが配布しなかったと聞いていたが」と質問した。“それ”こそがトロイの木馬ということなのだろう。

 質問に対してアッシュワース氏は「ケンは『cpp.c』を再コンパイルする時にトロイの木馬を再挿入するコードが『cpp』にあると言った」と回答していた。アッシュワース氏は、1995年からさらに十数年前に開催された「第2回Unixユーザーグループミーティング」でトンプソン氏本人からそれを聞いた記憶があるとし、トンプソン氏に事前にメールで連絡し、回答を転載する許諾も得ていた。

 転載されたメールで、トンプソン氏は「将来的にさらに誤解を生むだけだ」としながらも、過去に「ほんの1カ月程度、一時的にログインコマンドにトロイの木馬が含まれいたことがあった」と認めていた。時期は明言されておらず、コードはすぐに削除されたという。しかし実際にトンプソン氏はコンパイラに仕込むことで、容易には発見されないトロイの木馬をUnixに実装することに成功していたことが明らかになった。

 アッシュワース氏の投稿も30年近く前の1995年のもので、トンプソン氏が「信頼を信頼することについての考察」のスピーチをしたのはそこからさらに12年前の1983年のことだ。つまり、現在から約40年も前の話ということになる。そんな話を今さら蒸し返してもと思うと同時に、トンプソン氏がスピーチや論文の中で述べていたことは事実だったと今さらながら知ることになった。


上司X

上司X: Unixの父とされるケン・トンプソン氏がしたスピーチ「ソースを調べても見つからないトロイの木馬」について、本当に実装していたらしいという話だよ。


ブラックピット

ブラックピット: そういう可能性があるよ、というスピーチをしておきながら実際に実装するとはなかなかやりますね。


上司X

上司X: まあ、それが事実だったんだし。悪いことに使われたわけではなさそうだし。さすがUnixの父だ。


ブラックピット

ブラックピット: ところで何で「Unix」なんですか? 「UNIX」なのでは?


上司X

上司X: OSとか関連製品の商標として使われるのが「UNIX」。一般的なOSの系譜が「Unix」だ。まあ、別にたいしたことじゃないから気にしないでおくれ。


ブラックピット

ブラックピット: そうおっしゃるなら気にしませんけど。んで、結局のところコンパイラにそういう機能があれば、見つかりにくいトロイの木馬を仕込めるってことなんですね。


上司X

上司X: ああ。ここ数年でもニュースになってる。2015年9月に中国の「iOS」アプリ開発者が発見した「XcodeGhost」てヤツとかな。詳しくは自分で調べておくれ。


ブラックピット

ブラックピット: トンプソン氏がその可能性を指摘したのが40年以上も前の話ってことですよね。実装できることを知っててスピーチをしたり論文を書いたりしたのか、それともそのあとで開発したのか……興味深いところですね。


上司X

上司X: 今回の話題からはそこまでは分からなかったな。しかし30年前のやりとりとはいえ、データとして残っていればこういう形で表面化することもあるんだってことがよく分かる話題だな。俺たちが残すデータも今後数十年、数百年単位で残るはずだ。うかつなことはなかなか言えないな。

川柳

ブラックピット(本名非公開)

ブラックピット

年齢:36歳(独身)
所属:某企業SE(入社6年目)

昔レーサーに憧れ、夢見ていたが断念した経歴を持つ(中学生の時にゲームセンターのレーシングゲームで全国1位を取り、なんとなく自分ならイケる気がしてしまった)。愛車は黒のスカイライン。憧れはGTR。車とF1観戦が趣味。笑いはもっぱらシュールなネタが好き。

上司X(本名なぜか非公開)

上司X

年齢:46歳
所属:某企業システム部長(かなりのITベテラン)

中学生のときに秋葉原のBit-INN(ビットイン)で見たTK-80に魅せられITの世界に入る。以来ITひと筋。もともと車が趣味だったが、ブラックピットの影響で、つい最近F1にはまる。愛車はGTR(でも中古らしい)。人懐っこく、面倒見が良い性格。


Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。