ルートキットと戦う方法

2013年6月21日

セキュリティを生業にする人や研究熱心な人々はルートキットを知っていますが、一般的なユーザーの皆さんは、感染したシステムでその存在と活動を隠ぺいするよう特別に設計されたこの種のマルウェアについてはご存じないのが普通でしょう。しかし、この脅威は認知に値するものです。というのも、将来的に皆さんがルートキットに遭遇する可能性は、非常に高いのです。サイバー犯罪者は、身を潜めるための新しい方法を絶えず開発しており、そうした方法を活発に売買しています。

ルートキット-title

姿を隠すことで、マルウェアは被害者のシステム上で数か月から数年にもわたり存続することができます。これにより、ハッカーはあらゆる目的でこのコンピューターを使用できるようになります。コンピューターに重要な情報が何も含まれていないとしても(そのようなことはほとんどありませんが)、デジタル通貨(ビットコイン)の生成やスパムの送付、DDoS攻撃に利用される可能性があります。ルートキットには、内蔵OSのモニタリングツールからだけでなく、アンチウイルス製品やファイアウォールのセンサーからも悪意ある活動を察知されないようにする機能があります。そこで、アンチウイルス製品やインターネットセキュリティツールを選ぶときには、ルートキット対策機能の有無とその性能をチェックすることをお勧めします。

姿を隠すことで、マルウェアは被害者のシステム上で数か月から数年にもわたり存続することができます。これにより、ハッカーはあらゆる目的でこのコンピューターを使用できるようになります。

ルートキットを発見されないようにしているのは何でしょうか。その説明はそれほど複雑ではありません。マルウェアは、それ自体のコードをオペレーティングシステム構造に奥深く統合させ、ファイルの読み込みや実行中プロセスの一覧の取得など、標準的なリクエストをすべて傍受します。ルートキットはそうしたリクエストを処理して、ルートキットの活動に関連するファイルやプロセスなど、あらゆる痕跡を削除します。また、別の方法も利用されています。たとえば、ルートキットは正当なプロセスにコードを忍び込ませて、プロセスのメモリを悪事に使用します。そのため、OSのリクエストの上位層で動作し、OSのカーネルや下位層のハードウェア構造まで深く調べる最新アンチウイルス製品でなければ、ルートキットは検知できなくなります。アンチウイルス製品がルートキットを検知した場合でも、マルウェアはその保護を無効にして、アンチウイルス製品の重要なコンポーネントを削除することがあります。さらに狡猾なルートキットになると、アンチウイルス製品に検知されるための特別なファイルを作成する、ウキ釣りのような技術を使用します。アンチウイルス製品がそのファイルにアクセスすると、ルートキットはすぐにそのアンチウイルス製品を終了させ、それ以降の実行を阻止しようとするのです。

こうした面倒な状況を防ぐにはどうすればよいのでしょうか。まず、あらゆる不審な活動を検知するため、アンチウイルス製品は重要なシステムファイルを下位レベルでモニタリング可能でなければなりません。これによって、ハードディスクドライブの構造を変更しようとするマルウェアを発見することができます。アンチウイルス製品がまだ検知しない新種のルートキットを発見するには、OSレベルに見られるコンピューター処理を下位レベルのモニタリング結果と比べればよいのです。次に、マルウェアによってアンチウイルス製品が無効化されないようにするため、アンチウイルス製品のセルフプロテクション機能は欠かせません。そして最後の重要ポイントは、たとえルートキットがOSの重要なファイルに入り込んでいたとしても、そのコンポーネントを完全に削除可能であることです。単にファイルを削除するだけでは、OSの機能不全を招くことがあり、問題解決にはなりません。アンチウイルス製品には、元の機能に影響を与えることなくコンポーネントを削除することが求められます。

そのようなわけで、「ルートキットが何なのか知っているし、使っているアンチウイルス製品はルートキットの脅威からちゃんと守ってくれているし」と考える前に、まずは利用中のソフトウェアが上述の要件を満たしているかどうか確認しましょう。