タスク マネージャーを開いたとき、RuntimeBroker.exe が複数並んでいて「ウイルスでは?」「終了していいの?」と不安になったことはありませんか?
本記事では、この RuntimeBroker.exe が何者なのかを初心者向けに解説します。
結論から言うと、RuntimeBroker.exe は Windows の正規プロセスで、複数起動していても基本的に問題ありません。
詳細については以下に解説をいたします。
- RuntimeBroker.exe とは
- RuntimeBroker.exe がたくさんあるのは問題?
- まとめ : RuntimeBroker.exe はストア アプリと OS が通信をするためのもの
- 余談 : アプリ コンテナーとは
- 関連記事
RuntimeBroker.exe とは
RuntimeBroker.exe とは UWP (ストア アプリ) が Windows とデータのやり取りをするために必要なプロセスです。
どういうことかと言いますと、ストア アプリは、アプリ コンテナーと呼ばれるものの上で動いています。
これをすごーく簡潔に説明してしまうと、PC 上に仮想 PC を起動して、その中でアプリを動かしているという形。
※ 仮想 PC のように「完全な別 OS」が動いているわけではありませんが、Windows から隔離された領域でアプリが動いている、とイメージしてください。
図解するとこんな感じ。
Windows の中にアプリ コンテナーというもので囲まれた壁があり、そのなかでストア アプリが動いている。
(イメージ伝わるかなぁ……)
アプリ コンテナーという壁によって、Windows とストア アプリはやり取りができません。
さぁ困った。
ということで、RuntimeBroker.exe がその中継ぎをして、ストア アプリへの処理を行ってくれます。

これによって、例えばストア アプリでも印刷をしたり、今使っている Windows の環境のファイルの参照などができるようになるということです。
RuntimeBroker.exe がたくさんあるのは問題?
さて、私の手元の環境を見てみると、RuntimeBroker.exe が 9 つ動いています。

RuntimeBroker.exe はこのように複数起動することがありますが、果たしてこれが問題なのかを判別してみましょう。
タスクマネージャーの "詳細" タブから判断する
"詳細" タブの上部のカラム (名前、PID 等が書いてあるところ) を右クリックして、[列の選択] をクリックします。

表示する列に [パッケージ名] というものがありますので、これをチェックして [OK] をクリックします。

するとこのように、どの RuntimeBroker.exe がどのストア アプリで起動しているかが見えるようになります。

※ 一番下の何も表示されていないものは独立して起動している RuntimeBroker.exe です。OS 内部処理のためのものなので異常ではありません。
この方法は、ストア アプリに利用されているプロセスを知るために非常に有効な手段ですので、このようなカラムを表示できることは覚えておいて損はありません。
タスク マネージャーの "プロセス" タブから判断する
"プロセス" タブからはもっと直感的に内容を確認することができます。
タブを表示した状態で、タスク マネージャー上部にある検索用のテキスト ボックスに 「runtimebroker」 と入力します。

結果は以下の通り。
RuntimeBroker.exe を利用しているプロセスが抽出されます。
特に変なプロセスが RuntimeBroker.exe を起動していることはなさそうですね。

以上のいずれかの方法で、RuntimeBroker.exe がなぜ起動しているのかを確認することができます。
まとめ : RuntimeBroker.exe はストア アプリと OS が通信をするためのもの
RuntimeBroker.exe はウィルス アプリなどではなく、あくまでも Windows とストア アプリの処理や通信を手助けするプロセスです。
そのため、通常の利用であれば、RuntimeBroker.exe を終了させる必要はありません。
むしろ、理由が分からないまま RuntimeBroker.exe を強制終了することの方がリスクになる可能性があります。
複数起動している場合、RuntimeBroker.exe を利用しているプロセスが複数存在している可能性が高いです。
たまに 「RuntimeBroker.exe がシステムのリソースを食っていて……」 という話がありますが、まずはどのプロセスに関連した RuntimeBroker.exe なのかを判断し、そのプロセスが妥当な処理をしていそうかを考えるところから着手してみましょう。
パフォーマンス解析は、"リソースを消費している = 悪" ではなく、そのリソースの消費が妥当であるかの判断が必要となりますため、本記事の確認方法が少しでもお役に立ちますと幸いです。
余談 : アプリ コンテナーとは
上記の内容を見ていると、「アプリ コンテナーが無ければそのままアプリに処理できるじゃん。邪魔くせぇなぁ」 と思う方がいらっしゃるかもしれません。
その感覚は正しいです。
ただ、今回はその "邪魔くさい" が重要です。
そのままアプリに処理を依頼できるということは、裏を返せば、攻撃者がアプリのデータを書き換えやすくなるわけです。
万が一、アプリが攻撃者に利用されてしまいますと大変です。
これを防ぐために、アプリ コンテナーというものでアプリケーションの分離を行っています。
その結果、どうなるか。
こうなります。(また雑な図が出ます)

アプリ コンテナーが存在するからこそ、外部からの直接の攻撃を防ぐことができるというわけです。
以上、余談でした。
関連記事
Windows には RuntimeBroker.exe 以外にも、内部処理を担う重要なプロセスが多数存在します。
その代表例が svchost.exe です。
当ブログでは svchost.exe に関する解説も行っていますで、お気になった方は以下をご参照ください。