Rotate Sushi
巻き寿司の 3D モデルを、青い画面の中で回して見せるだけの Windows プログラムです。DirectX 9 のサンプル(DirectX SDK のチュートリアル「Meshes」)と同じ作りで、モデルだけを自分で用意した寿司に差し替えています。
再現イメージ
当時の実際の画面は YouTube の動画「Sushi.exeの実行例」 に残っています。下のアニメーションはそれとは別に、配布していた exe とモデルから描画の条件を読み取り、AI が描き直した創作イメージです(実際の画面ではありません)。

- モデルは原点からずれた位置に置かれているので、寿司はその場で回るのではなく、画面の中を大きく回る
- 1 周は約 6.3 秒(毎秒 1 ラジアン)
- 光は環境光だけなので陰影は無く、テクスチャの色がそのまま出る
ノートンに消された話
配り始めたその日、この寿司を回すだけの 10KB のプログラムが、ノートン アンチウイルスにウイルスとして消されました。もちろん誤検知です。おもしろいのは、中身を 1 バイトも変えずに、ファイル名を変えただけで判定が変わったことでした。いまはこのプログラムを配っていないので、ここにあるのは当時の記録です。
ノートンは、まずダウンロードしたときに警告を出しました。理由として並んでいたのは「ごく少数のユーザー」「ごく新しい」「未確認」の 3 つです。

実行すると「疑わしい動作をしていました」として止められ、削除されました。

そこで、次の順に確かめました。
- メッセージボックスを出すだけのプログラムを
Sushi.exeという名前で作ると、これも疑わしいファイルとして検知された - 本物の寿司のプログラムを
DxTest4.exeという名前でコンパイルすると、検知されない - それをコピーして
Sushi.exeに名前を変えると、ウイルスとして検知された - 2 と 3 のファイルは、MD5(ファイルの中身から計算する指紋のような値)まで一致していた

当時は、いくつかの「怪しい」条件が重なったのだろうと考えていました。ダウンロード元が知られていない、使っている人が世界に少ない、コンパイルしたときと名前が違う、昔 sushi.exe という名前のウイルスがあったのかもしれない、といった条件です(最後のものは当時も推測で、今回調べても確かめられませんでした)。同じファイルを試したほかのアンチウイルス 3 社は、何も言いませんでした。
いま読み直すと、ひとつ説明のつかないところが残ります。ノートンの評判による判定(Norton Insight1)は、ファイルの中身のハッシュ値と、それを使っている人の数でファイルを見分ける仕組みです。これなら中身が同じ 2 つのファイルは同じ評判になるはずなのに、名前で結果が分かれました。評判のほかに、名前も手がかりにする仕組みが動いていたのかもしれません。当時の本人は「厳しすぎて損はしない」と感心しつつ、「個人のソフト製作者にはきつい仕様かも」と書いています。名前を変えたきっかけは、コンパイルしたときの名前がダサかったから、でした。
Norton 2010 で入った仕組みで、ファイルの SHA-256 ハッシュを集め、多くの利用者のパソコンに現れるものを安全とみなす。Norton Insight(Wikipedia) ↩︎