進化を続けるマルウェアの世界で、ルートキットは最も危険な脅威の一つだ。「root」と「kit」を組み合わせたルートキットは、いわばソフトウェアのツールボックスである。当初は悪意ある目的で開発されたものではなかったが、技術に精通したサイバー犯罪者の手に渡ったことで、強力なマルウェアへと変貌した。
一般的なルートキットには、ブートキット、ファームウェアルートキット、メモリールートキットなどがある。インストールされると、ルートキットはハッカーにシステムやネットワークへ大混乱をもたらす膨大な数の手段を与える。多くの場合、阻止するには手遅れになるまで検知されない。ルートキットの種類やハッカーの目的によっては、メッセージを傍受されたり、データを盗まれたり、ハードウェアを使用不能にされたりする可能性がある。
自分や自社をルートキットから守るには、さまざまな種類のルートキットが存在することだけでなく、デバイスへの侵入をできる限り防ぐ方法や、感染した場合の対処法も理解することが重要だ。ここでは、代表的なルートキットの脅威と、基本的な防御策を紹介する。
マルウェアについてもっと知りたい方は、マルウェアとは?定義、目的、一般的な防御策をご覧ください。
ブートキット
ブートキットは、コンピューターの起動時にマスターブートレコード、ボリュームブートレコード、またはブート領域へ感染するカーネルモード・ルートキットの一種だ。通常、ブートローダーはディスク、USBドライブ、ハードドライブから起動され、コンピューターにブートローダープログラムの場所を伝える。ブートキットはその後、正規のブートローダーを感染したバージョンに置き換える。マルウェアローダーはカーネルの読み込みに伴うプロテクトモードへの移行後も存続するため、カーネルを乗っ取ることが可能になる。
ブートキットは通常、ユーザーのファイルシステム内では見つからないため、検出や駆除が難しい。さらに、ブートキットがコンピューターのブートレコードをすでに変更している場合、削除によってコンピューターにさらなる損害が生じる可能性もある。
例として、Olmasco、Rovnix、Stoned Bootkitが挙げられる。
カーネルモード・ルートキット
カーネルモード・ルートキットは、カーネルと呼ばれるコンピューターのオペレーティングシステム(OS)の中核コンポーネントを改変する。こうしたルートキットの一部はデバイスドライバーやロード可能なモジュールに偽装し、標的コンピューターへの無制限のアクセス権を得る。その結果、OS自体と同じセキュリティレベルで動作し、巧みに検知を回避することも可能になる。
カーネルモード・ルートキットはコンピューターのシステムに深く組み込まれるため、最も被害の大きいマルウェアの一つとなり得る。通常、利用には高度な技術力が必要だ。プログラムのバグや不具合は、ウイルス対策ソフトが追跡できる目立った痕跡を残す。
カーネルモード・ルートキットの著名な例には、Knark、Zero Access、Adore、FudModule、Da IOS、そして名前も印象的なSpicy Hot Potがある。
ユーザーモード・ルートキット
「アプリケーション・ルートキット」とも呼ばれるユーザーモード・ルートキットは、実行ファイルやシステムライブラリを置き換え、アプリケーション・プログラミング・インターフェース(API)の動作を変更する。セキュリティサブシステムを改変し、標的コンピューターの管理者に偽の情報を表示することもある。また、システムコールを傍受して出力をフィルタリングし、プロセス、ファイル、システムドライバー、ネットワークポート、レジストリキーとパス、システムサービスを隠蔽できる。
このタイプのルートキットの例には、Vanquish、Aphex、Hacker Defenderがある。
仮想ルートキット
仮想ルートキット、またはハイパーバイザールートキットは、標的OSを仮想マシン上でホストし、元のOSが発行するハードウェア呼び出しを傍受できるようにする。ルートキットは、OSを乗っ取るためにカーネルを改変する必要がない。このタイプのルートキットは2006年に概念実証として開発されたが、2017年には研究者のJoseph Connellyが、Boise State Universityでの修士課程の研究の一環として、ネスト型仮想マシン・ルートキットCloudSkulkを設計した。2021年、Connellyと他の研究者は、CloudSkulkに類似したルートキットの検出手法をまとめた新たな論文を発表した。
ハッカーの先を行くための優位性が必要ですか?こちらをご覧ください:2022年版・脅威インテリジェンスプラットフォームのトップ
ファームウェアルートキット
ファームウェアルートキットは、デバイスやプラットフォームのファームウェアを利用して、ルーター、ネットワークカード、ハードドライブ、または基本入出力システム(BIOS)に永続的なマルウェアイメージを作成する。通常、ファームウェアはコードの完全性を検査されないため、ルートキットは隠れたまま活動できる。こうしたルートキットは、ベンダーがBIOSイメージにあらかじめ組み込む盗難防止技術など、半ば正当な目的にも使えるが、サイバー犯罪者に悪用される可能性もある。
例として、CloakerとVGA rootkitがある。
メモリールートキット
メモリールートキットは、コンピューターのランダムアクセスメモリ(RAM)内に身を隠す。そこでは、悪意あるプログラムのツールボックスによって大量のRAMリソースを消費し、デバイスのパフォーマンスを大幅に低下させる。さらに、そのツールボックスによって生じる別の被害も加わる。幸い、メモリールートキットは通常、感染したコンピューターを再起動すると削除されるため、比較的対処しやすい種類のルートキットだ。
注目すべきルートキット事件
システムに対して強大な制御力を行使でき、大きな被害をもたらす可能性があるため、ルートキットはあらゆるタイプのハッカーに人気の手段となっている。その結果、ルートキットを使ってデバイスやネットワークに甚大な被害を与えた事件が複数発生している。
Stuxnetは、ルートキットが悪意ある目的で使われた最も著名な例と言ってよい。2010年に初めて発見されたStuxnetは、イランの核施設を大きく混乱させるために使われた。これは同国による核爆弾開発を阻止するための取り組みだったとみられている。最終的にStuxnetは、イランがウラン濃縮に使用していた6,000基の遠心分離機のうち1,000基を破壊した。
両国が公式に認めたことはないものの、Stuxnetは一般に、米国とイスラエルが「Olympic Games」というコードネームの作戦で共同開発したものだと考えられている。これは、The New York TimesとThe Washington Postの両紙も報じている。
ZeroAccessボットネットは2011年に発見され、不正な広告クリックやビットコイン採掘マルウェアによってシステムに大きな被害を与え、世界で少なくとも900万台のコンピューターに感染した。このボットは、攻撃的で検出が難しいカーネルモード・ルートキットであるZeroAccess rootkitを通じて拡散した。ルートキット自体はさまざまな感染経路から拡散したが、特に目立ったのはソーシャルエンジニアリングや、Blackholeのようなエクスプロイトキットだった。
2012年、Kaspersky Labsのサイバーセキュリティ専門家は、中東で使われていた別の悪意あるルートキットを発見したと発表した。その名はFlameである。FlamerやSkywiperとしても知られるFlameは、ワームであると同時にルートキットでもあり、ローカルネットワーク間で自己複製できたほか、感染したシステムを操作するための多彩なソフトウェアツールキットを備えていた。
Flameのツールキットは、システムのマイクを通じた音声の録音、ユーザーに気付かれないスクリーンショットの撮影、秘密のSSLチャネルを介した盗難データの送信などを可能にした。また、感染したコンピューターをスキャンしてウイルス対策ソフトを探し、そのソフトによる検知をさらに避けられるよう動作を変更することもできた。
Stuxnetと同様、Flameも国家によって、または国家の資金提供を受けて開発されたと専門家は一般に考えているが、その国家がどこかは判明していない。ルートキットによる被害が最も大きかった国は、イラン、イスラエル、パレスチナ、スーダン、シリアだった。
マルウェア事件についてさらに知りたい方は、コンピューターウイルスとマルウェアの歴史をご覧ください。
ルートキットがデバイスに感染する方法
ルートキットは最終的にはマルウェアの一種であり、他のマルウェアと同様、ハッカーがデバイスにルートキットを侵入させる方法はいくつもある。幸い、最も危険な種類のルートキットは、適切なインストールが最も難しい場合も多い。以下に、一般的なルートキットの感染経路をいくつか示す。
- ブート時のインストール:ブートキットは特に、感染したデバイスの起動時にインストールされる傾向がある。
- 他のマルウェアとの抱き合わせ:ユーザーモード・ルートキットなど一部のルートキットは、大規模なスパムキャンペーンなどを通じて、他のマルウェアとともにコンピューターへ侵入することが多い。
- 「悪意あるメイド」攻撃:ハッカーやハッカー集団が、無人のデバイスにルートキットをインストールするため、誰かを送り込むことがある。このタイプのハッキングは、映画にも頻繁に登場する。
- 正規のソフトウェアプログラム:ルートキットはもともと比較的無害なソフトウェアとして開発されたため、正規のプログラムに含まれていることもある。
- その他の一般的なマルウェア感染経路:標的型フィッシングからソーシャルエンジニアリング、感染した文書を開くだけの手口まで、ルートキットは一般的なマルウェア侵入手法を使ってデバイスに忍び込むことができる。
マルウェアがコンピューターに感染する仕組みをもっと知りたい方は、マルウェアがデバイスに侵入する8つの方法をご覧ください。
ルートキットから身を守る方法
ルートキットから身を守るため、Eugene E. Schultz氏とEdward Ray氏、および両氏が執筆したInformation Security Management Handbook, Sixth Edition, Volume 2の章を参考に、専門家の助言を紹介する。
防止
予防策として、Schultz氏とRay氏は、ルートキット感染を防ぐために企業が次の対策を検討するよう推奨している。
- ネットワークセキュリティ
- ルートキットスキャナーなどの侵入検知・防止ツールを使用する
- アプリケーション層でネットワークトラフィックを分析できるファイアウォールを導入する
- パッチ適用と更新:脆弱性パッチを適時に適用する
- セキュリティのベストプラクティス:
- セキュリティガイドラインに従ってシステムを設定し、システム上で実行できるサービスを制限する
- 最小権限の原則を遵守する(場合によっては特権アクセス管理(PAM)を利用する)
- 強力な認証を使用する
- 定期的にセキュリティメンテナンスを実施する
- ルートキットが悪用するコンパイラープログラムの利用可能性を制限する
- メールセキュリティで悪意ある添付ファイルを制限する
- ブラウザーセキュリティ、ブラウザー分離、またはDNSセキュリティを利用して、悪意あるWebサイトをブロックするか、Webサイト上の悪意あるファイルの到達範囲を制限する。
検出
デバイスが感染すると、状況はより複雑になる。研究者らは、ルートキットの検出と削除は難しいと警告している。しかし、訓練を受けた調査員や、ルートキットの存在を示す手掛かりを見つけ出すルートキットスキャナーなどの分析ツールによって、ルートキットを検出することは可能だ。Symantec、Kaspersky Lab、Intel Security(McAfee)などの大手セキュリティ企業は、企業顧客向けにルートキットスキャナーを提供している。
ルートキットの存在を示す兆候には、標的システムに説明のつかない変更が加えられていること、rootのホームディレクトリに不審なファイルがあること、通常とは異なるネットワーク活動などがある。
暗号学者でコンピュータープログラマーのThomas Pornin氏は、ルートキットは攻撃者が侵入する経路を維持する必要があり、それが検出の機会を生むと指摘している。投稿でInformation Security Stack Exchangeに寄せた内容で、Pornin氏はIT管理者に対し、ライブCDまたはUSBメモリからコンピューターを再起動し、その後ハードディスクを検査するよう勧めている。同氏は「同じファイルを外部(ライブCDで起動したOS)から検査した場合と内部から検査した場合で同一に見えなければ、それは不正行為のかなり明確な兆候だ」と記している。
Information Security Stack Exchangeでuser2213というハンドルネームを使う別の投稿者は、通常なら応答しないデバイスに対して、でたらめなデバイスコードを使うこともルートキット検出の方法だと説明している。「システム上で、関連する『未実装』エラーコード以外のものが返ってきたなら、何か異常が起きている」
User2213氏はさらに、システムドライブを別のPCに接続し、誤ったファイルシステムサイズや予期しないファイルが表示されないか確認する方法も提案した。これはルートキットの兆候かもしれない。「残念ながら、ルートキット全般に共通する危険信号はない。戦いはどちらかといえば、いたちごっこだ」と投稿者は述べている。
削除
ルートキットはシステムの完全な権限にアクセスできるため、削除が非常に困難だ。Schultz氏とRay氏は、イメージバックアップを作成してから、元のインストールメディアを使って侵害されたシステムを再構築することを推奨している。そうしなければ、ルートキットが「削除」された後も、悪意あるコードや不正な変更が残り続ける可能性がある。その後、セキュリティパッチをインストールし、脆弱性スキャンを実行する必要がある。
結論
要するに、ルートキットの脅威に対処する最善の策は、セキュリティのベストプラクティス、例えばパッチ管理や定期メンテナンス、さらにルートキットスキャナーやファイアウォールといった専用ツールを使い、ネットワーク内のコンピューターへのルートキット感染を防ぐことだ。万一コンピューターが感染した場合は、ルートキットを確実に根絶するため、侵害されたコンピューターを一から再構築する必要がある。
ネットワークを安全に保つ方法をもっと知りたい方は、2022年版・企業向けネットワークセキュリティツールとソリューションのベスト
注:この記事はもともとFred Donovanが2016年に執筆した。2022年にZephin Livingstonが更新した。





