映画『サマーウォーズ』のセキュリティ描写に、大人げなくツッコんでみる
2009年に公開されたアニメ映画『サマーウォーズ』は、興行収入16億円以上とヒットし、今でもファンが多い作品だという。物語の主軸は仮想空間(メタヴァース)で発生した極めて重大なサイバー犯罪との戦いであるため、コンピューターやセキュリティに関する描写が多数登場する。ただ、アニメに限らずコンピューターやハッキングを扱った作品にはありがちなことだが、多少なりとも知識を持った人物からすると違和感を覚える場面も少なからずあるようだ。
筆者は今までこの作品を見たことがなかったのだが、明日金曜日(7月3日)にテレビ放送されるということで、それに合わせて「技術的な部分を評価してほしい」とサイバーインシデントレポート編集部より依頼を受け、初めて鑑賞した。正直、純然たるフィクションの設定に突っ込みを入れるのも野暮だとは思うが、見ていて気になる部分が多々あったのも確かなので、特に気になったものをいくつか挙げたい。ネタバレしないように記述しているが、中盤までのストーリーを紹介しているので、気になる人は注意してほしい。
なお、この映画の尺は1時間54分ほどだが、テレビ番組表を見ると2時間枠での放映のようなので、実時間1時間30分強程度にカットされていると思われる。従って、テレビ放送では本稿で論じた部分が登場しない可能性もあることはご了承いただきたい。
舞台となる仮想世界OZ(オズ)の発想の元は、『セカンドライフ』だと思われる。記憶している方も多いと思うが、日本でも2007年ごろ一時的に話題になったメタヴァースだ。映画の公開年である2009年には日本はもちろん世界でもすでにブームは収束していたが、映画の企画が出たころにはまだホットな話題だったのだろう。
リアル志向のセカンドライフとは異なり、OZはアバターもワールドもポップなデザインだ。その規模はセカンドライフよりはるかに大きく、登録者10億人を擁し、「利用率は携帯電話の普及率とほぼ同じ」。ショッピングや仮想スポーツはもちろん、さまざまな行政手続き、企業間の取り引きなどもOZ上で行え「生活のすべてがOZアカウントに頼っている」とまで言われている。OZは、パソコンはもちろん、携帯電話やゲーム機、多機能電話からでも利用可能だ。セカンドライフにFacebook、GoogleやAmazonまで足したものをさらに巨大化し、より現実生活に密着した存在というイメージだろうか。
物語の時代設定は2010年のようなので(序盤で「平成22年」という表記が見られる)、技術的にやや時代を超えている......、というより現在でも無理だろうと思われる部分もあるが、このくらいは目くじらを立てるほどでもあるまい。問題はここからだ。
高校生が手計算で破れる「世界一高度なセキュリティ」
OZは「世界一高度なセキュリティ」を謳っている。だがそれがあまりにも容易に破られてしまうのだ。ある夜主人公の高校生の元に「Solve Me(これを解け)」というタイトルで数字だけを羅列したメールが届く。もう少しで数学オリンピック日本代表になれるほどの実力だった主人公は、紙の上での手計算でその夜の内に解答を導き出してしまう(物語終盤では同様の計算を1分ほどで、しかも暗算で済ませている)。そして解答を返信したのだが、朝になるとOZの管理アカウントが乗っ取られ、OZ内は大混乱に陥っていた。「OZのセキュリティは2056桁の暗号で守られている」のだが、送られてきたのはその2056桁であり、主人公は解答、すなわちパスワードを送り返してしまったのだ......。この時点で「高校生が手計算で解けるレベルのセキュリティかよ」と思った人は多くいると思う。だがそもそも、主人公は何を「解いた」のだろうか。
全く無意味に見える文字列や数字を提示して「これを解け」というのは、ハッカー競技Capture the Flag(キャプチャー・ザ・フラッグ:CTF)などでもよく出されるタイプの問題だ。その場合には数字・文字のパターンや構造がまず手がかりとなる。しかし主人公が何かすぐわかる構造に気づくといった描写はなく、数字を見るやいきなり計算を始める。
数字のみから解答を求める、そしてセキュリティに関連する(この時点では主人公はそれを知らないが)と言えばまず思いつくのは因数分解だろう。RSAなど多くの公開鍵暗号方式では、その安全性は「素数同士を掛けるのは簡単だが逆に素因数分解するのは難しい」ということに依拠している。大ざっぱに言ってしまえば、掛けるのが暗号化、素因数分解するのが復号に相当する。
例えば、73×61であれば多くの人が暗算でも計算できると思うが、その積である4453を素因数分解するとなったら、因数の少なくとも片方(鍵)を知らない限り容易なことではあるまい。2桁でさえこれなのだから、現在広く使われている2048ビット暗号(10進数600桁以上)であれば、人力では絶対不可能だ。というか現在世界中にあるコンピューターを数万年以上総動員しても不可能である。主人公に送られてきた2056桁が素数の積であれば、2進数にして6800桁以上、つまり3400ビット以上の暗号ということになる。2010年であれ現在であれ、これを解くのはもちろん無理だ。
だが序盤で、主人公が「Shorの因数分解アルゴリズム」について読んでいる場面がちらっと映る。Shorのアルゴリズムは量子コンピューターを前提としたもののようなので、そもそも手計算に応用するのは無理だろうが、ちょうど因数分解について研究していたのかもしれない。その過程で画期的な因数分解手法を発見し、2056桁でもすぐに解けるようになっていたのか......。しかしそれは世界を揺るがすレベルの大発見であり、数学オリンピック日本代表どころではない。フィールズ賞をもらっても全然足りないくらいだ。それに、同じ解はOZ中で50人以上が導き出していたというので、何らかの一般的な解法があったと思われる。やはり因数分解という線はないだろう。
パスワードを知る手がかりになる数字や文字の羅列なら、パスワードハッシュや暗号化されたパスワードかもしれない。むろんそれを盗まれるという時点で重大なセキュリティ上の問題だが、それを抜きにしてもやはり不可解だ。ハッシュは一般的には非可逆の変換なので、ソルト(元データに付加する小さなデータ)を使っていなかったとしても、それ単体でパスワードを知ることはできない。パスワード候補(辞書)を同じアルゴリズムでハッシュ化したものと比較する必要があるのだ。ハッシュ値だけから計算して導き出せるものではない。暗号化パスワードだとしても(パスワードそのものを暗号化して保存するというのは駄目な運用だが)、人力で解けるような暗号化方式で「世界一高度なセキュリティ」もないだろう。
だが、何をどう計算したのかはともかくとしても、「世界一高度なセキュリティ」と言いながら実は人力でも破れるような大穴が開いていたということは当然あり得る。似たようなことは現実にもよくある話だ。しかしそうすると今度は、なぜメールが送られてきたかという点が疑問だ。実はOZを乗っ取ったのは高度な人工知能なのだが(序盤で明らかになる話なのでネタバレにはなるまい)、人間でも簡単にできる程度の計算が、その人工知能にできなかったはずはないだろう。何もわざわざメールを送り付けなくとも、自分で解析すれば済む話だ。
この点を何とかして解釈するなら、人工知能が意図的に、補題など人間が解けるレベルの問題を送った、ということなのだろう。この人工知能は「ゲーム」という観点で行動しており、その一環として人間の数学力を知る、あるいはある程度以上の数学能力を持つ人間を見つけ出す、という意味があったのかもしれない。作中にそれを伺わせる描写はないが。ただそれにしても、問題の数字が何であり、それをどう「解いた」のかが全くわからないのは、どうにもフラストレーションが溜まる。
インフラがネットに「丸投げ」された恐るべき世界
ともあれOZは人工知能に乗っ取られ、ハッカーものフィクションではお決まりの社会インフラに対する攻撃がはじまる。OZ上での行政手続きや決済ができなくなったのはもちろん、信号が操作され(具体的な描写はない)交通は大混乱、消防署には偽の出場命令や在宅ケアの患者からの偽の緊急通報が繰り返し送られ、水道の圧力を操作され街頭で水が噴出し、GPS機器は誤った位置を表示する。
インフラがインターネット側から操作されるというのはあり得ない話ではない。機器の遠隔操作や監視のためのインターネット利用は確実に増えており、ここへの攻撃は以前から(2009年よりも前から)懸念されている。だが、映画の舞台である2010年はもちろん、現在でもここまでのことがインターネット側からできるはずはない。しかしこの程度はフィクションとして許される範囲だと思う。
だがこれらの事態は、OZアカウントが乗っ取られたことによって起こったというのだ。「アカウントと現実の人間の権限はほぼ等しい」「水道局員のアカウントを盗めば水道局のシステムを好きにでき」る......。ここまで来るとさすがに「そんな馬鹿な」と言いたくなる。企業にしろ公共機関にしろ個人のアカウントで組織内へのアクセスができるとは思えないので、「水道局員のアカウント」は局内でのアカウントやシステム管理専用のアカウントと解釈するにしても、OZのアカウントで操作ができるということは、水道や交通を管理するシステムそのものをすべて民間企業(おそらく。OZの運営主体については描写なし)に丸投げしているとでもいうのだろうか。一種のクラウドサービス的なものかもしれないが、インフラに関わるシステムをそんなものに預けるのは正気とは思えない。
だが、人工知能がインフラ関連情報にアクセスする場面で、システムマップのようなものがちらっと映る。これをよく見ると、上下水道だけでなく、ダムや送電網、列車の運行システムなどもあり、やはりOZ上で運用されているようだ。こんな状態では、人工知能による攻撃がなくても、いずれ何か大惨事が起きたことは間違いないだろう。
なお、ここに表示されているインフラを操作できるなら、より大きな損害を生むこともできたと思われる。だが人工知能がOZをハックしたのは米軍による実験(ちょうど物語の真ん中あたりで出てくる話なのでこれも言っていいかと思う)であり、当初は混乱のみを目的とし、人的被害を招くつもりはなかったのだろう。もちろん、その後人工知能が制御できなくなるのはお約束というものだ。
また、さすがに原子力発電所などの最重要インフラなどにはOZから直接アクセスできないようだ(「大統領のアカウントを盗めば核ミサイルだって撃てるかも」は高校生の戯れ言で片付けてよかろう)。物語終盤で、人工知能は別の手段による核施設の攻撃を画策している。OZから操作できるなら、わざわざそんなことはしないだろう。
それにしても、もし公開当時この映画を見ていたら、「米国のソフトウェア兵器が社会インフラや核施設を攻撃」というのは「まあフィクションだからね」としか思わなかっただろう。ところが翌年の2010年、米国がイランの核施設を攻撃したといわれるマルウェアStuxnetが発見されている。偶然とはいえ、今の方が妙にリアリティのある話になってしまったというのは少々面白い。
一般ユーザーがシステムを書き換え?
主人公たちは200TFLOPSのメインフレームまで持ち出して(このあたりの絵面は楽しい)、人工知能に決戦を挑む。人工知能をおびき出して、罠に掛けて閉じ込めようというのだ。だがその「罠」は、なんとOZの仮想世界そのものを書き換えて作られている。仲間の1人はOZのシステムメンテナンスのバイトをしていたので(主人公もしていたがそのアカウントは乗っ取られている)、ただの一般ユーザーよりは多少ましかもしれないが、まさか世界そのものをいじれるほどの権限はあるまい。
200TFLOPSの計算能力があれば書き換えられるものなのか? 例えば、スーパーコンピューターを使えば一般ユーザーがGoogleのトップページを書き換えられるのか、と考えてみればいかに無茶な話かわかるだろう。むろん、やはりOZのセキュリティはザルでした、ということかもしれないが、それにしてもシステム書き換えのための手法が知られているわけではあるまい。それなら分散コンピューティングなり何なりでとっくに悪用されているだろう。決戦準備のための短い時間(せいぜい数時間程度と思われる)で都合のいい脆弱性を見つけられるはずもない。
また、人工知能を「閉じ込める」というのがソフトウェア的にどのようなことをしているかは不明だが、そこまでの計算能力が必要なものだろうか。むしろ応答性の方が致命的のように思える。この作戦のために陸上自衛隊の衛星通信車両を使って通信を行っているのだが、相手がもし静止衛星だとすると(アンテナの仰角が大きく、地上局との交信とは考えられない)その距離は3万6000km。電波が往復するのに0.24秒もかかるのだ。準天頂衛星でも大差ない。このラグでは、人工知能の反応に追随するのは絶望的だ。日本では運用していないが、低軌道の通信衛星だったなら往復300分の1秒程度だが、これでも人工知能側にとっては十分な余裕が生まれるだろう。
なお、人工知能をおびき出す目的の格闘ゲームのために、液晶ではなく描画遅延の少ないHDブラウン管モニターを用意するという場面もある。上級者は1フレーム(60分の1秒)の遅れすら気にするので、これは理解できるが、もし静止衛星だったら1フレームどころの騒ぎではなく、もはやゲームにならないレベルだ。だが、格闘ゲームの方は自宅に元々あった回線を使ったと解釈すればこの点は問題ないだろう。
以上、いくつかの点を挙げたが、細かい部分で言いたいことはまだたくさんある。だが映画そのものの出来が悪いわけではなく、むしろアニメーションの質は非常に高いと言ってよい作品だ。ただそれだけに、このような理屈に合わない点が余計気になってしまう。枝葉末節ならともかく、仮想世界OZは話の中心なのだ。しかしそれでも見て損はない作品だと思うので、フィクションと割り切って気にせず鑑賞するなり、突っ込みを入れながら見るなり、金曜日の放映を楽しんでいただきたい。7月4日以降にこの記事をご覧になった方も、もし未見であればレンタルなりVODなりで見る価値は十分あると思う。