Watch

『ミスター・ロボット』リワインド:第9話でエリオットが解き放たれる

『ミスター・ロボット』リワインド:第9話でエリオットが解き放たれる
(写真はUSAネットワークより)
(写真はUSAネットワークより)

[ネタバレ注意]この記事では、eps2.7_init_5.fveのあらすじと隠された秘密について解説します。まだ視聴していない方は、USA Network、Amazon、またはiTunesで視聴してから、もう一度視聴してハッキングの可能性について学んでください。

シリーズ最新作:シアトルに拠点を置くWatchGuard TechnologiesのCTO、Corey NachreinerがGeekWireで「Mr. Robot」のエピソードをレビューします 。番組はUSA Networkで毎週水曜午後10時に放送されています。Twitterで#MrRobotRewindをつけて会話に参加し、Coreyの@SecAdeptをフォローしてください。

スリリングなドラマと芸術的なビジョンに惹かれて「ミスタ​​ー・ロボット」を観ているのに、ハイテクなハッキングが本当に機能するのか疑問に思ったことはありませんか?もしそうなら、まさにうってつけの場所です。この「ミスター・ロボット リワインド」シリーズでは、各エピソードの技術とハッキングの精度、つまり「ハキュラシー」を分析していきます。エリオットが刑務所から出所し、再び活躍する今エピソードには、分析すべき点が山ほどあります。さっそく見ていきましょう。

エリオットがInit 5に戻る

最初のトピックは、ハックというよりはマニアックな話です。エピソードの冒頭で、エリオットはInit 5について言及しています。彼はこう言います。

「イニシャル5、通常に戻ります…イニシャル5は色と音をもたらすはずです。」

番組やこの記事シリーズをご覧になっている方は、これがエリオットが言及した「Init 1」への言及であることに気付かれるでしょう。これはUnixおよびLinuxコンピュータのランレベルを指します。詳細はエピソード4のRewind記事をご覧ください。Init 1は基本的にセーフモードで、コンピュータはネットワークやグラフィカルデスクトップのサポートなしでコマンドラインから起動します。

一方、Init 5(またはV)はコンピュータの通常のランレベルです。このランレベルでは、完全なネットワーク機能とグラフィカルデスクトップサポートがロードされます。巧妙な技術的なメタファーと、それが物語に深みを与える仕組みこそが、この番組がオタクの観客にこれほど強く響く理由です。

アンジェラのラバーダッキーハックには穴がある

エピソード6では、「Rubber Ducky」と呼ばれるUSBハッキングデバイスを少しだけご紹介しました。前回のRewindでも触れましたが、Rubber Duckyはキーボードを模倣した本物のUSBデバイスです。デバイスを接続するとすぐに実行されるキーボードスクリプトを作成でき、キーボードで操作できるあらゆる操作が可能になります。

図 1: アンジェラがラバーダッキーを復活させます。
図 1: アンジェラがラバーダッキーを復活させます。

今回のエピソードで、アンジェラはEcorp社にある機密の「ワシントン・タウンシップ・リーク」の法的ファイルを手に入れようとしていました。それで、このハッキングは技術的に正確だったのでしょうか?まあ…ある程度は正確でした。

このシーンは、情報セキュリティの専門家にとって少々フラストレーションの溜まるものでした。多くの部分が完璧に機能しているにもかかわらず、奇妙なミスが一つあり、説明のない大きな穴が一つあるからです。順を追って見ていきましょう。

1. 受付係をソーシャルエンジニアリング(社会工学)する– これは確かにその通りで、詳しく説明する価値はありません。もしDEF CONカンファレンスを訪れる機会があれば、ソーシャルエンジニアリングのライブ通話を傍聴できるソーシャルエンジニアリングコンテストに参加してみてください。

2. ラバーダッキーのケースを開ける– アンジェラがジョセフのオフィスに入ると、彼女はラバーダッキーを差し込む前にまずケースを外します。 なぜそんなことをしたのか、全く分かりません。このデバイスには、特定の攻撃のためのストレージを追加するためのmicroSDスロットが搭載されていることがわかります。その後、アンジェラがデバイスを開けてこのカードを取り出し、パスワード攻撃のログファイルを取得する場面があります。しかし、この攻撃のこの部分ではケースを外す必要はありません。これは些細なことですが、アクションから気をそらすには十分でした。

図 2: ここでダッキーを開く必要はありません。
図 2: ここでダッキーを開く必要はありません。

3. ラバーダッキーでパスワードを盗む– これは実際には15秒もかからずに可能です。ダッキーは非常に高速で、自動化されたプログラムキーボードです。ユーザーが自分のコンピュータでできることはすべてスクリプトで実行できます。シェルを開き、様々なパスワードクラッキングツールをロードして実行するものなど、ダッキーのペイロードスクリプトを多数共有しているサイトがあります。パスワードデータを取得できるツールは数多くあり、主にオフラインクラッキングを目的としています。しかし、Mimikatzは、クラッキングされることなく、メモリから数秒で有効な平文パスワードを取得できるため、最も人気のあるツールの一つです。つまり、ダッキーのMimikatzペイロードがあれば、攻撃者はこの小さなUSBキーを接続するだけでユーザーのパスワードを盗むことが十分に可能です。

4. Windowsのロック画面! – ただし、ここで大きな注意点が1つあります。Rubber Duckiesは、ユーザーがログインしてWindowsのロック画面を通過していない限り、ほとんど何もできません。Duckyは単なるプログラムされたキーボードなので、ロック画面のログインプロンプトを魔法のように突破する方法はありません。既知の認証情報を入力しようとしたり、パスワードを総当たり攻撃するスクリプトを用意したりすることはできますが、それには膨大な時間がかかります。

残念なことに、このドラマではこの問題にほとんど触れられていません。アンジェラがジョセフのオフィスに入ると、モニターは真っ暗です。コンピューターがオンになっていることは分かります。そうでなければ攻撃は成功しないからです。ジョセフがしばらくオフィスを離れていたことも分かりますが、彼のコンピューターの状態は分かりません。ロックされているのでしょうか、それともジョセフはログインしたままにしていたのでしょうか?

図 3: Windows コンピュータはロックされていますか?!?!
図 3: Windows コンピュータはロックされていますか?!?!

現実世界では、ロックされていたはずです。ITスタッフがWindowsコンピュータを一定時間操作しないとロック画面に強制的に切り替わるグループポリシーを設定していないような、現代的な組織に出会ったことはありません。実際、多くの組織では、この設定時間を3~5分といった比較的短い時間に設定しています。

これは些細なことに思える人もいるかもしれません。しかし、アンジェラのラバーダッキー攻撃が成功するかどうかには大きな違いがあります。もし画面がロックされていたら、ハッキングは惨敗していたでしょう。私見では、ジョセフの画面がロック解除されていたという考え自体が、あり得ないように思えます。

ちなみに、画面がロックされていたとしても、アンジェラが同様のハッキングを実行するために使えるトリックは他にもありました。例えば、Kon-bootというツールがあります。これは、Windowsコンピュータに物理的にアクセスできる人がログイン画面をバイパスして起動できるようにするものです。このツールを使えば、アンジェラはRubber Duckyがスクリプトを実行できる状態まで到達できたはずです。しかし、この攻撃は再起動が必要なため、実行に時間がかかり、Mimikatz攻撃(再起動すると前回のユーザーのパスワードがメモリから削除される)は不可能になります。そのため、アンジェラはRubber Duckyの他のパスワードハッキングに頼らざるを得なかったでしょう。これらのハッキングには、解読にさらに時間がかかる傾向があります。

5. ミミカッツのログからパスワードを取得する– このシーンの残りの部分はまさにその通りです。攻撃後、アンジェラはメモリカードを取り出すためにダッキーを開けなければなりませんでした。さらに、彼女が開いたログファイル(およびカード上に表示されたその他のファイル)はすべて、ダッキー・ミミカッツ攻撃の実際の動作を完璧に再現していました。最終的に、ラバーダッキー・ミミカッツ攻撃がロック画面を突破して実行可能だったと仮定すると、番組で表示されたジョセフの平文パスワード(holidayarmadillo)が実際に返されたはずです。

ミミカッツ出力
図 4: Mimikatz パスワード攻撃の結果。

このシーンは技術的に非常に正確で、実在のツールとパスワードハック(Mimikatz)を実際に使用していた点を高く評価しています。しかし、あの黒い画面はどうしても気になります。ジョセフのコンピューターがロックされていたら、この攻撃は成功しなかったはずです 画面が黒いままだったということは、この可能性を否定していないということです。例えば、ジョーはモニターの電源を切ったものの、画面をロックしていなかったのかもしれません。とはいえ、私はどうしても納得できません。昨今、私が目にしたオフィスのコンピューターは、5分以上席を離れるとほぼ全てロックされます(そうでなければ、いたずらと教訓として、背景画面を変えるでしょう)。

それは飛行機のハッキングを暗示していたのでしょうか?

非常に印象的なシーンで、ホワイトローズが墓石を「汚す」場面が描かれます。その墓石はEcorpの前CEOのものだと分かります。また、CEOは「事故による」飛行機事故で亡くなったことも分かります。その後、ホワイトローズは婉曲的な脅迫で、自分がCEOを殺させたと示唆します。強力な国家権力を持つ主体が「事故による」飛行機事故を仕組む方法はいくつか考えられますが、ハッキングをテーマにしたドラマでサイバー攻撃がそのような手段の一つになる可能性はあるのでしょうか?

まあ、これは少し無理が​​あるかもしれません。番組ではホワイトローズが飛行機をハッキングしたという示唆はほとんどされていません。とはいえ、ハッキングによって飛行機が墜落する可能性について考えていただくために、言及しておく価値があると思いました。信じられないかもしれませんが、可能性としてあり得ます。例えば、ある研究者はAndroidスマートフォンを使って飛行機を制御する方法を発見しました。さて、朗報です。この攻撃は飛行機の自動操縦装置を介したものでした。人間のパイロットが自動操縦装置を無効化するのは簡単です。今のところ、文字通り飛行機を墜落させるようなハッキングはまだ知られていません。この状況が今後も続くことを祈りましょう。

リモート電話ハイジャックは簡単ではありません。

このエピソードで起きた大規模なハッキングは、エリオットがダーク・アーミーの将校(シュン)の携帯電話に遠隔操作でスパイウェアを仕掛け、マイクを通して盗聴する場面でした。ミスター・ロボットはハッキングを100%現実に即したものにすることで、番組で使用されているツールをダウンロードして、実際に同様の攻撃を再現することさえ可能な場合が多いほどです。しかし、この攻撃は現実のツールと理論上の攻撃を組み合わせているため、解析が困難です。このシーンのハッキングの本質を簡潔にまとめると、攻撃は理論的には可能ではあるものの、この短いシーンから示唆されるよりも難しく、より多くの状況緩和策が必要となる可能性が高いということです。

このモバイルハッキングの潜在的な詳細を分析する前に、まずは一つだけ考慮すべき点を指摘しておきたい。このシーンで、エリオットはPwnie Express Pwn Phoneを紹介する。これは実在のもので、情報セキュリティ関係者への的確なメッセージとして、実に面白い。しかし、この「ハッキングフォン」が、他の携帯電話のハッキングを魔法のように簡単にする特別なツールだと勘違いしてしまうかもしれない。しかし、それは全くの誤りだ。Pwn Phoneは、本質的には、私がRewindの他の記事で何度も取り上げてきたハッキン​​グディストリビューションであるKali LinuxをAndroidデバイス向けに提供したものに過ぎない。非常にクールでポータブルなハッキングワークステーションとして使える一方で、Kaliを搭載したコンピューターでできないことは何もできない。ちなみに、本当にやりたいのであれば、Pwn Phoneを自分で作ることも可能だ。高価なデバイスは必要ない。とにかく、このデバイスは、オタク向けのクールなハッキング玩具という点を除けば、今回のハッキングにおいて必須の、あるいは特別な役割を果たすわけではない。

さて、実際に登場したハッキン​​グプログラムに注目してみましょう。まず、ミスター・ロボットがこれまで登場させた他の実際のスクリプトやツールとは異なり、このシーンに登場する2つのハッキングスクリプトは、私の知る限り架空のものです。実際の研究に基づいているように見えますが、実際には存在しません。

まず、エリオットがCrackSIMというスクリプトを実行しているのが分かります。この偽ツールは、おそらく後でクラッキングするために、SIMカードの暗号チェックサム(CC)を取得しようとしているようです。ツールはエリオットにSIMのMSISDN番号(電話番号の略称)を入力するよう要求します。ツールはおそらく、SIMのCCを応答として返すSMS(テキスト)メッセージ(おそらくOTA SMSメッセージ)を電話に送信します。これでエリオットはSIMのキーをクラッキングするために必要なCCを手に入れました。

クラックSIM
図 5: 架空の CrackSIM スクリプトの実行。

SIMキーをクラックしてマルウェアをロードするために、彼はPwnPHONEと呼ばれる別のスクリプトを使用しています(これはPwnie Expressデバイスとは全く関係ありません)。このスクリプトの実行が完了すると、SIMにマルウェアがアップロードされるようです。

PwnPhoneComplete
図 6: PwnPHONE スクリプトが完了します。

CrackSIMとPwnPHONEは存在しないものの、Karsten Nohls氏が発表したSIMカードのルート化に関する研究に基づいているようです。ある意味、SIMカードは携帯電話内のミニコンピュータのようなものです。一部のSIMには、メーカーがテキストメッセージでソフトウェアアップデートを送信できる無線(OTA)アップデートメカニズムが搭載されています。しかし、OTAアップデートメカニズムを活用するには、正しいキーを知っておく必要があります。一部の古いSIMカードはDES暗号化キーを使用しており、これはより堅牢な暗号化標準よりも簡単に解読できます。Nohls氏の研究では、SIM DESキーを解読する方法が示されており、場合によってはわずか1分で(レインボーテーブルを使用)解読できます。そのキーを解読すると、SMSメッセージを使用して、新しいコード(マルウェアの可能性がある)を含むSIMカードにアップデートを送信できます。

しかし、この攻撃には多くの注意点があります。まず、今日では多くのSIMカードがより強力な暗号化を使用しています。2013年にはDESを使用しているSIMカードは全体の4分の1に過ぎず、近年ではこれらの脆弱性によりその数はさらに減少していると考えられます。AESや3DESを使用するSIMカードは簡単には解読できません。次に、SIMカードにロードできるコードは、限定されたJavaサンドボックス内でのみ実行されます。攻撃者はSIMカードから重要なデータを盗み出すのに十分な権限を持つ悪意のあるアプリをロードすることはできますが、このコードがJavaサンドボックスを抜け出し、携帯電話とそのマイクにアクセスするのは容易ではありません。つまり、ノールズ氏の研究をもってしても、エリオットがどのようにしてSIMカードのハッキングからマイクの盗聴まで、これほど簡単に実行できたのかは分かりません。

この番組を擁護するなら、猫の皮を剥ぐ方法、つまり今回のように携帯電話をクラックする方法はたくさんある。現実世界でも、この攻撃と似た性質の攻撃は数多く存在するが、それぞれに独自の注意点がある。つい先週、研究者らは、国家機関とみられる攻撃者がiOSに存在する、これまで知られていなかったゼロデイ脆弱性を複雑に組み合わせて悪用し、iPhoneを乗っ取ろうとしていることを発見した。iPhoneが乗っ取られると、攻撃者はスパイウェアを読み込み、まさにこの「ミスター・ロボット」のエピソードで見られたような動作を実行した。しかし、このエピソードでは、攻撃者が被害者を騙して悪意のあるリンクをクリックさせる必要があった。

研究者らは、SS7と呼ばれる特定の通信プロトコルにも脆弱性があることを明らかにしました。SS7ネットワークにアクセスできる攻撃者は、携帯電話の識別番号さえ知っていれば、あらゆる通話を傍受・盗聴することが可能です。しかし、SS7にアクセスできるのはごく少数の組織(通信事業者など)に限られており、この攻撃では通話中以外で携帯電話のマイクをオンにすることはできません(ネットワーク経由の通話のみを盗聴できます)。

まとめると、この攻撃全体はすべて現実的な理論に基づいています。しかし、ハッカーが今日実際にこれを実行するのではないかと心配する必要はありません。少なくとも、あなたの電話番号だけを狙うようなことは考えられません。最新のSIMカードやモバイルベースバンド無線に新たな脆弱性が見つかるまでは、このようなモバイル攻撃のほとんどは、成功するために何らかのユーザーインタラクションを必要とします。 

予測が現実になる

この記事ではすでに多くのことを取り上げているので、ここではあまり時間をかけたくないのですが、シーズン2が始まる前に書いた「ミスター・ロボット シーズン2予想」の記事をご覧になった方は、特にこのエピソードの後、これまでの予想を振り返ってみても良いかもしれません。エスマイルは時間をかけていくつかの結論を導き出しましたが、4つの予想のうち少なくとも3つは、少なくとも部分的には的中したと言っても過言ではないでしょう。

ダッキーとUSBの悪質性から身を守る

先週の記事では、Fsocietyが誘拐された弁護士のコンピュータをハッキングした事件を受けて、物理的なコンピュータセキュリティ対策のヒントをいくつかご紹介しました。今回のエピソードでは、Rubber Duckyのハッキングを通して、これらの物理的なセキュリティ対策の重要性が改めて強調されます。さあ、これらのヒントを基に、さらに詳しく見ていきましょう。

まず、モバイルデバイスにパスコードとロック画面を設定することの重要性については既に述べましたが、今週はコンピューターにもロック画面とタイムアウトが必要な理由を理解していただく必要があります。ロック画面があれば、ラバーダッキーは大した役に立ちません。スクリーンセーバーとロック画面をオンにし、比較的短い非アクティブタイムアウトを設定するようにしてください。

次に、Rubber Duckyのハッキングによって、ブートセキュリティの重要性を再認識しました。アンジェラがロック画面を突破した方法の一つとして、Kon-bootのような特殊なブートツールを利用した可能性について触れました。実際、Fsocietyは前回のエピソードで非常によく似たツールを使用しました。攻撃者がこれらのツールを利用するのを防ぐ方法の一つは、コンピューターのBIOS設定を調整することです。まず、BIOSでUSBまたはCDからのブート機能を無効にし、BIOSパスワードを設定します。こうすることで、攻撃者がブートトリックを利用するのを防ぎつつ、必要に応じてパスワードを使用して一時的にUSBブートを有効にすることができます。

とにかく、今回も素晴らしいエピソードでした。技術的にはほぼ正確でした。今週のハッキングについては、私としてはオタクっぽい不満もいくつかありましたが、番組制作者が「ミスター・ロボット」に注ぎ込んだリサーチとディテールは、私がこれまで見てきたどの番組よりもはるか に優れています。来週もまた取り上げるので、ぜひ感想やコメントをシェアしてください。