(Translated by https://www.hiragana.jp/)
ルートキット - Wikipedia コンテンツにスキップ

ルートキット

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Rootkitから転送てんそう

ルートキットrootkitあるいはroot kit)は、コンピュータシステムへのアクセスを確保かくほしたのちに、第三者だいさんしゃ通常つうじょう侵入しんにゅうしゃ)によって使用しようされるソフトウェアツールのセットである。これらのツールには、作動さどうちゅうのプロセスやファイル、システムデータを隠蔽いんぺいする機能きのうがあり、ユーザに気付きづかれないように侵入しんにゅうしゃがシステムへのアクセスを維持いじすることを支援しえんする。

ルートキットは、2005ねんのSony BMG CD XCP問題もんだい争点そうてんとなり、この事件じけん契機けいきに、技術ぎじゅつコミュニティのみならず一般いっぱん大衆たいしゅうにもルートキットの概念がいねんひろられるようになった。

起源きげん

[編集へんしゅう]

ルートキットという言葉ことば元々もともと侵入しんにゅうしゃシステムアドミニストレータにシステムを確認かくにんされても"root"権限けんげん保持ほじつづけるために、通常つうじょうなら表示ひょうじされる侵入しんにゅう痕跡こんせきかくすようにリコンパイルされたUnixのソフトウェアぐんたとえば"ps"、"netstat"、"w"、"passwd"といったツールをしていた。

現在げんざいでは、この言葉ことばはUnixけいOSにかぎらず、Microsoft WindowsなどのUnixけいOS("root"というアカウントは存在そんざいしないが)で、同様どうようのタスクを実行じっこうするツールにもひろもちいられている。

機能きのう

[編集へんしゅう]

典型てんけいてきなルートキットは、ログオンプロセス、ファイル、ログを隠蔽いんぺいする。また、端末たんまつやネットワーク、キーボードからのデータ入力にゅうりょく傍受ぼうじゅすることもある。おおくの場合ばあい、ルートキットはトロイの木馬もくばでもある。

使用しよう方法ほうほう

[編集へんしゅう]

ルートキットは、しばしば侵入しんにゅうしたシステムを悪用あくようするためのユーティリティをかく目的もくてき使用しようされ、システムへのさい侵入しんにゅう容易よういにする「バックドア」とばれるユーティリティがふくまれることがある。たとえば、ルートキットは特定とくていのネットワークポートに接続せつぞくしたさいにシェルを起動きどうするアプリケーションを隠蔽いんぺいすることがある。また、カーネルルートキットも同様どうよう機能きのう場合ばあいがあり、バックドアが特権とっけんユーザによって起動きどうされたプロセスを、通常つうじょう特権とっけんユーザにしかゆるされない権限けんげん動作どうささせることを可能かのうにすることがある。さらに、システムを侵害しんがいするためのほかのあらゆる種類しゅるいのツールもルートキットによって隠蔽いんぺいされる可能かのうせいがあり、これには侵入しんにゅうしたコンピュータからのシステムへのさらなる攻撃こうげき支援しえんするスニファキーロガーなどのツールがふくまれる。

侵入しんにゅうされたコンピュータの一般いっぱんてき悪用あくよう方法ほうほうとして、さらなる攻撃こうげきだいとして利用りようされることがある。これは、攻撃こうげき攻撃こうげきしゃからではなく、侵入しんにゅうけたシステムやネットワークからはっせられているかのようにせかけるためにおこなわれる。このようなツールには、DoS攻撃こうげきツールや、チャットセッションの中継ちゅうけい電子でんしメールでのスパム攻撃こうげきおこなうツールがある。

商用しょうようCDでデジタル著作ちょさくけん管理かんり(DRM)の一環いっかんとしてルートキットがもちいられたれいとして、Sony BMG CD XCP問題もんだいげられる。

基本きほんてきなタイプ

[編集へんしゅう]

ルートキットは大別たいべつして種類しゅるいがある。カーネルレベルのものとアプリケーションレベルのものである。カーネルレベルのルートキットはカーネルコードに追加ついかコードをくわえるか、もしくは一部いちぶのカーネルコードを改造かいぞうされたコードで置換ちかんするかもしくはその両方りょうほうおこなうことによってコンピュータシステムに設置せっちされたバックドアを隠蔽いんぺいするのをたすける。これはしばしばデバイスドライバもしくはローダブルモジュール、たとえばLinuxならLinux Loadable Kernel Module、Windowsならデバイスドライバというかたちでカーネルにあたらしいコードを追加ついかすることによっておこなわれる。カーネルルートキットはよくシステムコールにパッチをあてたりフックしたり置換ちかんしたりして攻撃こうげきしゃ情報じょうほう隠蔽いんぺいする。アプリケーションレベルルートキットは普通ふつうのアプリケーションをトロイが仕込しこまれた偽物にせもの置換ちかんしたり、既存きそんのアプリケーションの振舞ふるまいをフックやパッチや挿入そうにゅうコードやその手段しゅだん改造かいぞうしたりする。カーネルルートキットは検出けんしゅつ困難こんなんなのでとく危険きけんである(とくメモリ管理かんりコアのページテーブル操作そうさして隠蔽いんぺいするもの)。

検出けんしゅつ

[編集へんしゅう]

あらゆるルートキット検出けんしゅつプログラムには、それがうたがわしいシステムじょう動作どうさするかぎり、それにつきものの制約せいやくがある。それは、ルートキットはシステムじょうすべてのプログラムがたよっているライブラリやツールのおおくを修正しゅうせいしてしまうプログラムだということである。あるルートキットはうごいているカーネルを(LinuxやおおくのUNIXライクなOSではローダブルモジュールを、MS Windowsなどではおそらくは仮想かそうデバイスドライバなどをつうじて)修正しゅうせいする。ルートキット検出けんしゅつ根本こんぽんてき問題もんだいいまうごいているオペレーティングシステムが信用しんようできないということにある。いいかえれば、すべての作動さどうちゅうのプロセスの表示ひょうじやディレクトリのなかすべてのファイルのリストの表示ひょうじ要求ようきゅうといった行為こうい結果けっかが、元々もともと設計せっけいしゃ意図いとしたような振舞ふるまいであると信用しんようできないということである。

もっとも信頼しんらいできる最良さいりょうのルートキット検出けんしゅつ手段しゅだんは、感染かんせんうたがいのあるコンピュータをシャットダウンして、のメディアから(たとえばレスキューCD-ROMやUSBから)起動きどうしてストレージを検査けんさすることである。うごいていないルートキットはその存在そんざいかくすことができず、ほとんどの確立かくりつしたアンチウイルスプログラムは(おそらくルートキットによって修正しゅうせいされているはずの)標準ひょうじゅんてきなOSコールとていレベルのクエリーたよるルートキットを検出けんしゅつ可能かのうである。なぜならそれらは信頼しんらいせいたもっているはずだからである。もしなにちがいがあればルートキット感染かんせん想定そうていされる。ルートキットは検査けんさ終了しゅうりょうするまでうごいているプロセスを監視かんししてみずからの隠蔽いんぺい行動こうどう停止ていしすることで、ルートキットスキャナーにっかからない、ステルス機能きのうのないマルウェアをよそおうことでみずからをまもろうとすることもある。

セキュリティベンダはルートキット検出けんしゅつ既存きそんのアンチウイルス製品せいひん統合とうごうするソリューションを構想こうそうしている。ルートキットがスキャンちゅう自分じぶんかくそうとすれば、ステルス検出けんしゅつによって見分みわけられる。もし一時いちじてきにシステムからアンロードしようとするならば、いままでのアンチウイルスソフトがパターンファイルによって発見はっけんするだろう。この統合とうごうされた防御ぼうぎょによって、ルートキットにメモリからセキュリティソフトウェアを強制きょうせいてき削除さくじょし、実質じっしつてきにアンチウイルスソフトをころしてしまう反撃はんげき機構きこう(retro routine)を攻撃こうげきしゃ実装じっそうすることを余儀よぎなくされる。

ルートキットを検出けんしゅつできるプログラムはいくつかある。Unixけいのシステムでもっとも有名ゆうめいなものをふたげるならchkrootkitとrkhunterだろう。Windowsプラットフォームで個人こじんようでなら無償むしょう使用しようできるステルススキャナーとしてはBlacklightというソフトがベータばんとしてF-SecureしゃのWebsiteからダウンロードできる。のWindowsよう検出けんしゅつソフトとしてはRootkitRevealerというソフトがSysinternalsから入手にゅうしゅできる。これはいまあるすべてのルートキットをOSのかえ一覧いちらん実際じっさいにディスクそれ自身じしんからした一覧いちらんとを比較ひかくすることで検出けんしゅつすることができる。ただし、いくつかのルートキットはこのプログラムを隠蔽いんぺいさきからはずはじめ、実質じっしつじょうふたつの一覧いちらんちがいをくすことで検出けんしゅつソフトによって表示ひょうじされないようにしてきている。しかしrootkitrevealer.exeというファイルめいをランダムな名前なまえ変更へんこうすることでこれは対処たいしょできる。この機能きのう最新さいしんRkdetectorのリリースにもふくまれている。

除去じょきょ

[編集へんしゅう]

ルートキットの除去じょきょ事実じじつじょう禁止きんしされているくらい実用じつようてきなものだとする一定いってい意見いけん存在そんざいする。たとえルートキットの正体しょうたい特性とくせいがわかっていても、必要ひつよう技術ぎじゅつ経験けいけんをもつシステム管理かんりしゃ時間じかん労力ろうりょくはゼロからオペレーティングシステムをインストールすることについやしたほうがましだというものである。「現存げんそんするルートキットは発見はっけんされたとしてももっと除去じょきょしづらいようにつくることはできたはずだとおもうが、そうするだけの充分じゅうぶん動機どうきづけはないようにおもう。なぜなら経験けいけんあるシスアドがルートキットで汚染おせんされたシステムをつけたとき典型てんけいてき反応はんのうは、データをセーブしてさいフォーマットをかけることだからだ。これはルートキットがられていて100%削除さくじょ可能かのうである場合ばあいですらそうだ」Rootkit Question

システムがオンラインのときのファイルシステムドライバをもちいてルートキットを削除さくじょする方法ほうほう存在そんざいする。Rkdetector v2.0はシステムが作動さどうちゅうとき自分じぶん自身じしんのNTFSもしくはFAT32ファイルシステムドライバをもちいてかくしファイルを削除さくじょする方法ほうほう実装じっそうしている。一度いちど消去しょうきょされシステムがさい起動きどうされると、データがこわれてしまうためルートキットは動作どうさしなくなる。

コンピュータウイルスやワームとの比較ひかく

[編集へんしゅう]

コンピュータウイルスとルートキットのかぎとなるちがいは増殖ぞうしょく仕方しかたにある。ルートキットと同様どうように、コンピュータウイルスはシステムの中核ちゅうかくソフトウェアコンポーネントを修正しゅうせいし、「感染かんせん」の隠蔽いんぺいこころみたり攻撃こうげきしゃにあるしゅ機能きのうやサービスを提供ていきょうしたりするコード(ウイルスの「ペイロード」)を追加ついかする。

ルートキットの場合ばあい、ペイロードはルートキット(システムへと侵入しんにゅうしたソフトウェア)の一貫いっかんせい維持いじしようとすることがある --- たとえばルートキットのpsコマンドは実行じっこうされるたびにシステムのinitinetdのコピーをチェックして、それらがのっとられたままであることを確認かくにんし、必要ひつようなら「さい感染かんせん」をおこなうかもしれない。ペイロードののこりの部分ぶぶん目的もくてきは、侵入しんにゅうしゃがシステムを制御せいぎょつづけられるようにすることである。システムの制御せいぎょ一般いっぱんに、ハードコードされたユーザめい/パスワードのくみかくされたコマンドラインスイッチ、もしくは秘密ひみつ環境かんきょう変数へんすう設定せっていといったバックドアをかいしておこなわれる。バックドアにより、のっとられていないプログラムが提供ていきょうするはずの正常せいじょうなアクセス制御せいぎょポリシーをくつがえすのである。いくつかのルートキットはポートノッキングチェックをinetdsshdといった既存きそんのネットワークデーモン(サービス)にくわえたりする。

コンピュータウイルスはどのような種類しゅるいのペイロードでもはこべるが、それにくわえてコンピュータウイルスはのシステムへの伝播でんぱをもこころみる。一般いっぱんにルートキットのすることはひとつのシステムの制御せいぎょ維持いじかぎられている。

自動的じどうてきにネットワークをスキャンして脆弱ぜいじゃくせいのあるシステムをさがし、脆弱ぜいじゃくせいをついてシステムをのっとるプログラムもしくはいちぞろいのプログラムはコンピュータワームばれる。またもっと受動じゅどうてき動作どうさするかたちのコンピュータワームもあり、ユーザめいとパスワードを盗聴とうちょうしてそれを使つかってアカウントをのっとり、そうしてたアカウントのそれぞれに自分じぶん自身じしんのコピーをインストールする(そして普通ふつうはのっとったアカウント情報じょうほうをあるしゅかくれチャネルつうじて侵入しんにゅうしゃおくる)。

勿論もちろんこん成型せいけい存在そんざいする。ワームはルートキットをインストールできるし、ルートキットはひとつないしそれ以上いじょうのワームやスニファポートスキャナのコピーをふくんでいるかもしれない。ウイルスであると同時どうじにワームであるようなマルウェアも存在そんざいする。こうした言葉ことばすべ使つかわれかたがある程度ていどかさなっているものであり容易ようい合成ごうせいされるものでもある。

一般いっぱんてき入手にゅうしゅできるルートキット

[編集へんしゅう]

システム攻撃こうげきしゃによって利用りようされるほとんどのソフトウェアと同様どうように、おおくの実装じっそう共有きょうゆうされてインターネットで容易ようい入手にゅうしゅ可能かのうになっている。侵入しんにゅうされたシステムで、一般いっぱん入手にゅうしゅできる洗練せんれんされたルートキットが経験けいけんとぼしいプログラマによってかれたとおぼしい粗雑そざつなワームもしくは攻撃こうげきツールをかくしているのをるのはめずらしいことではない。

インターネットで入手にゅうしゅ可能かのうなほとんどのルートキットは概念がいねん実証じっしょう(proof of concept)のためにつくられたものである。それらはコンピュータシステムのなかなにかをかくあたらしく実験じっけんてき手法しゅほう実用じつようせい証明しょうめいするためにつくられた。しかし実験じっけんてきであるために、しばしばステルスせいのために最適さいてきされていない。そうしたルートキットで攻撃こうげきおこなうと、大変たいへん効果こうかてきであったりする。しかし発見はっけんされたときたとえばCDのような信頼しんらいできるメディアからオペレーティングシステムが起動きどうされたような場合ばあいには、しばしば非常ひじょう明瞭めいりょう存在そんざい痕跡こんせきのこす。たとえば、「rootkit」といった名前なまえのファイルをコンピュータシステムじょうのありがちな場所ばしょのこすなどである。

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]

ソフトウェア

[編集へんしゅう]

商用しょうよう

[編集へんしゅう]
  • BOClean Privacy Software Corporation (Windowsのセキュリティとプライバシー保護ほご)

シェアウェア

[編集へんしゅう]

フリーウェアおよびオープンソースソフトウェア

[編集へんしゅう]
  • chkrootkit Nelson MuriloとKlaus Steding-Jessen (UNIX/Linuxセキュリティ)
  • Rootkit Hunter Rootkit.nl (UNIX/Linux管理かんり)
  • RootkitRevealer Sysinternals (Windows管理かんり)
  • FLISTER joanna@invisiblethings.org (Windows 2000/XP/2003; ユーザモードおよびカーネルモードのWindowsルートキットによってかくされたファイルを検出けんしゅつするproof-of-conceptコード)
  • klister "joanna" (probably joanna@invisiblethings.org) (Windows 2000/XP/2003)
  • IceSword "pjf_" (こちら がpjf_とのインタビュー)
  • RootKit Hook Analyzer Resplendence Software Projects (Windows管理かんりとセキュリティ)

ちゅう "MoreBandwidthPls"[2][3] はhttp://www.sysinternals.com/blog/2005/10/sony-rootkits-and-digital-rights.html、 http://www.technutopia.com/forum/showthread.php?t=1321http://en.wikinews.org/wiki/Sony's_DRM_protected_CDs_install_Windows_rootkits で Sony XCP DRMのルートキットの検出けんしゅつソフトをhttp://downloads.technutopia.com/antivirus/SonyDRMxcpRootkitRevealer.exe公開こうかいするとっていたが、かれいたようである。

関連かんれん書籍しょせき

[編集へんしゅう]
  • Butler, Jamie and Hoglund, Greg: Rootkits: Subverting the Windows Kernel. Addison Wesley, 2005. ISBN 0321294319
  • 渡辺わたなべ勝弘かつひろ 伊原いはら秀明ひであき 不正ふせいアクセス調査ちょうさガイド—rootkitの検出けんしゅつとTCTの使つかかた オライリー・ジャパン 2002 ISBN 4873110793