ルートキットとは何か — その動作と感染した場合に取るべき措置

2013年3月28日

ルートキットは 20 年近く前から存在し、攻撃者はこれを使って、長期間検知されることなく他人のマシンにアクセスし、データを盗みます。ルートキットという言葉は、感染したコンピューターに潜伏し、攻撃者がそのコンピューターをリモート制御できるようにする、特別に設計されたマルウェアツールをおおまかに総称した言葉です。ルートキットとは何か、またどのように動作するのかをご理解いただけるように、この種のマルウェアに関する説明と、コンピューターが感染した場合に取るべき措置についてまとめました。

rootkit

ルートキットの定義

ルートキットとは、対象の PCに感染する、攻撃者がそのPC へ継続的にリモートアクセスするためのツール一式をインストール可能とする、といった目的を持つマルウェアを指します。通常ルートキットはオペレーティングシステムの奥深くに潜み、アンチマルウェア製品などのセキュリティツールによって検知されないように設計されています。ルートキットには、キーロガー、パスワード窃盗ツール、クレジットカードやオンラインバンキングの情報を盗むモジュール、DDoS攻撃用のボット、セキュリティソフトウェアを無効にする機能など、多数の悪意あるツールが含まれている場合があります。ルートキットはバックドアとして動作することが多く、攻撃者は感染したマシンにリモートからいつでも侵入でき、特定のコンポーネントを削除したり、インストールしたりできます。現在よく見られる Windows ベースのルートキットには TDSSZeroAccessAlureonNecurs などがあります。

さまざまなルートキット

ルートキットの主な種類は 2 つあります。ユーザーモードのルートキットと、カーネルモードのルートキットです。ユーザーモードのルートキットは、コンピューターのオペレーティングシステム内で、アプリケーションと同じレベルで動作します。悪意のある動作は、そのコンピューターで動作しているアプリケーションプロセスの乗っ取り、またはアプリケーションが使用するメモリの上書きによって行われます。2 種類のうち、ユーザーモードの方が一般的です。カーネルモードのルートキットは、オペレーティングシステムの最下層で実行され、攻撃者はそのコンピューター上で最も強力な権限セットを手にすることができます。カーネルモードのルートキットがインストールされると、攻撃者は感染したコンピューターを完全にコントロールでき、どんな動作でも実行できるようになります。カーネルモードのルートキットは概してユーザーモードのルートキットよりも複雑であるため、ユーザーモードほど一般的ではありません。また、検知や削除もユーザーモードのルートキットよりも困難です。

それほど一般的ではありませんが、ほかにも種類があります。たとえばブートキットは、コンピューターのブートローダー、つまりオペレーティングシステムの読み込み前に実行される下層のソフトウェアに変更を加えます。最近では、新種のモバイルルートキットが登場し、スマートフォン、特に Android デバイスを攻撃しています。このようなルートキットは多くの場合、サードパーティのアプリストアやフォーラムからダウンロードされる悪意のあるソフトウェアに含まれています。

感染の手段

ルートキットはさまざまな手段でインストールされますが、最もよくある方法は、コンピューターに搭載されているオペレーティングシステムやアプリケーションのぜい弱性を悪用したものです。攻撃者は、オペレーティングシステムやアプリケーションの既知または未知のぜい弱性を標的にし、エクスプロイトコードを使ってコンピューターに対する権限を取得します。続いてルートキットをインストールし、そのコンピューターにリモートアクセスするためのコンポーネントをセットアップします。特定のぜい弱性を標的にしたエクスプロイトコードは、セキュリティを侵害されてしまった正規の Web サイトに置かれていることがあります。また、USB ドライブを介した感染もあります。攻撃者はルートキットを潜ませた USB ドライブを、被害者が見つけて手に取りそうな場所、たとえばオフィスビルの中、コーヒーショップ、会議場などに置きます。ルートキットのインストールは、セキュリティ上のぜい弱性を悪用して行われる場合もあれば、USB ドライブ上の、正規のものに見えるアプリケーションやファイルの一部としてインストールされてしまうこともある、ということです。

駆除

コンピューターにルートキットが存在するかどうかを検知するのは困難です。この種のマルウェアは、検知を逃れバックグラウンドで動作するように設計されているためです。既知または未知のルートキットを検知するためのユーティリティは、いくつかあります。こうしたユーティリティでは、シグネチャを利用する、既知のふるまいパターンと合致するルートキットを検知する、などさまざまな手法が用いられています。ルートキットの駆除は手順が複雑で、ほとんどの場合で特別なツールが必要になります。たとえば Kaspersky Lab は、TDSSルートキットを検知して駆除するための TDSSKiller というツールを提供しています。コンピューターの被害の度合いが大きければ、オペレーティングシステムの再インストールが必要になる場合もあります。