TBS金曜ドラマ『トリリオンゲーム』のハッキングシーン舞台裏

7/14/2023

2023年7月14日よりTBS金曜ドラマ『トリリオンゲーム』の放送が始まりました。弊社エンジニアチームは、1話のハッキングシーン作成にIT・セキュリティ技術協力として携っています。本記事では、その背景と詳細を解説します。

『トリリオンゲーム』は起業家とエンジニアの成長物語で、原作からドラマに至るまで、Flatt Security様による的確な技術監修がなされています。このたび弊社は、原作と台本のシナリオに基づいて、

  • 現実的に可能なハッキングシナリオの具体化
  • 詳細が設定されていなかったプログラムの作成
  • 実際のプログラム・コマンドに合わせたセリフ・演技指導
  • セキュリティチャンピオンシップのルール設定、画面作成支援

を行いました。

金曜ドラマ『トリリオンゲーム』|TBSテレビ

以降、作成した資料や作成の舞台裏をピックアップして紹介します。

制作関係者の方々との打ち合わせの様子

■ 免責事項

本記事は、ドラマ中の技術解説を目的としています。記事中の内容を不正に利用して犯罪行為を行った場合、不正アクセス禁止法などの法律に抵触する恐れがあります。不正な目的でコマンドやプログラム等を利用しないようお願いいたします。また、記事中の情報を利用することによって発生した損害や損失について、弊社は一切の責任を負いかねます。自身の責任においてご利用ください。

防犯カメラハッキングシーン

主人公ガクが路上で防犯カメラをハッキングするシーンでは、実際に社内で脆弱な監視カメラシステムを模した環境を構築し、侵入手順を作成しました。ドラマ中では詳細な解説はなされておりませんが、以下のようなシナリオで監視カメラへ侵入しています。

  1. airodump-ngでターゲットWi-Fiのパケットを収集
  2. aircrack-ngで収集したパケットを用いて、PTW攻撃でWEPキーを解析
  3. ターゲットWi-Fiのネットワーク内に侵入し、nmapでIPスキャン
  4. IPスキャン結果を用いて、各機器にnmapでポートスキャン
  5. 監視カメラに用いられるRTSPポート(554番)を発見、機器を特定
  6. 監視カメラ管理ページのログインをhydraによる辞書攻撃で突破
  7. 管理者としてGUIで動画を削除

ガクがWi-Fiパスワードを解析するシーン

タイピングシーンの撮影では、リアルな演技となるようにハッカーの目線の動かし方や、実際のコマンドに沿ったタイピングなどを指導しました。

防犯カメラのハッキングシーンの撮影

TBSスタジオでのタイピング演技指導

セキュリティチャンピオンシップの予選シーン

作中で開催されているイベント「セキュリティチャンピオンシップ」は、キャプチャーザフラッグ (CTF)と呼ばれるハッキング大会をモデルにしています。CTFでは、与えられた問題から機密情報に見立てた文字列(FLAG)を解き明かすことが求められます。様々な開催形態・問題ジャンルのもと、CTFプレイヤーたちは問題の難易度に応じた得点を稼ぎ、ハッキングの腕を競い合います。

弊社にはCTFの世界大会で数多くの入賞を果たし、日本最大級のCTF運営経験を有するメンバーが在籍しています。セキュリティチャンピオンシップを正確に描写するために、CTFプレイヤーならではの視点から実際に問題を作成しました。

セキュリティチャンピオンシップの予選ルールはJeopardyと呼ばれる一問一答のクイズ形式です。予選中に、ホワイトボードを用いてガクが問題を考察するシーンがあります。CTFプレイヤーの思考の筋道に沿って、この原案作成に携わりました。

ホワイトボードのボツ案。SipHashアルゴリズムを用いてハッシュ計算を行う問題を想定していました。

劇中でガクがつぶやくセリフ「Decryptorにジャンプしてサブルーチンが復号されている。」は、実際にCTFで用いられるテクニックに基づいています。ここでは、難読化されたバイナリを解読する問題を想定しています。バイナリ中の各関数が、decryptor(復号処理)へのjmp命令(トランポリン)と、暗号化された機械語命令列から構成され、関数呼び出しの度にdecryptorが実行される構成です。

ホワイトボード内容の原案

このほか、ガクのPCに表示される予選問題も提供しています。演出の関係で使用されなかったセリフや問題もあります。ぜひ、問題名とセリフ案から、どのような問題か推測してみてください!

  • 問題名:90w3r!!! (forensics問題)
    • セリフ案:「難読化されたpowershellスクリプトが引数として与えられているのが怪しい。」、「XORをとって、さらにAESで暗号化したものをレジストリに書き戻している。データが取れれば復号できるかも。」
    • FLAG案:FLAG{6r347_90w3r!}
  • 問題名:lunaticlfi (web問題)
    • セリフ案:「国際化ドメイン名でWAFをバイパスしてLFIでフラグファイルを盗み出せるかも。」、「エンコードの仕様を利用して、うまくコマンドにオプションを渡せるかも。」
    • FLAG案:FLAG{mul71by73_ch4r4c73r5_5upp0r7_15_n16h7m4r3}

CTFの問題文や点数を表示するスコアサーバーのデザインにも協力しました。FLAGを提出する欄の形式、配布されたファイルのハッシュ値など、実際のCTFを忠実に再現しています。ガクが正解のFLAGを提出した際に、正解者数を示すSolveが増える点など、ディテールにも凝っています。

さらに、オンラインの仲間100人とガクのセリフも、実際の問題に合わせて提案しています。

  • SMIハンドラだったらin命令で0xb2を引数に取っているところを探せばよさそう。
  • RC4のSboxがSMRAMに初期化されているっぽいぞ。あとはgdbで中身を見れば解けそう。

どのような解法を試みているか想像しながらご覧いただくと、より楽しめると思います!

セキュリティチャンピオンシップの本戦シーン

本戦のルールは、Attack&Defense(A&D)という形式です。A&Dでは敵チームを攻撃しFLAGを奪い合います。

本戦出場チーム小道具のPC画面でも、実際のCTFプレイヤーが競技中に使用するツール群を表示しています。Ghidra、IDA、Pwndbg、Wireshark、sqlmapなどツールの画面や、独自に開発したスクリプトを実行している様子など、小ネタを複数仕込んでいます。ぜひ探してみてください!

小道具のPCと作成した画面

主人公の攻撃シーンでは、webshellの画面を提供しています。webshellは、Webから敵チームのサーバーに侵入し操作するためのツールで、弊社エンジニアがフルスクラッチで作成したものです。入力するコマンドは、すべて現実の攻撃で使用されるものです。

Webからサーバーに侵入するwebshellの原案

弊社エンジニアとセキュリティチャンピオンシップの舞台セット

その他にも、主人公ハルが事業案を議論する際のセリフ「どんなソリューションかわかりやすくするために、アンチウイルスに絞った方が説得力が出る気がするんだ」の考案も行っています。

スリリングな展開はもちろんのこと、リアルなハッキングシーンを楽しんでいただけたら幸いです。