ルートキット
侵入したコンピュータで、攻撃者の活動やマルウェアの存在を隠すために使われるソフトウェアの集まり。OSなどの動作に介入してファイルや実行中のプログラムに関する情報を偽装し、発見を難しくする。
イマシルちゃんの解説
パソコンで動いているプログラムを調べるとき、管理用のソフトはOSから情報を受け取るんだ。
その情報が細工されていたら、不正なプログラムが動いていても気づきにくいよ。
ルートキットは、こうした細工で攻撃者の活動を発見されにくくするソフトウェアの集まりなんだ。
例えばOSの情報を返す処理に割り込み、不正なファイルや実行中のプログラムであるプロセスを一覧から除いてしまうの。
調べるための情報そのものが信用できなくなるから、感染したOSの上で検査するだけでは発見できないことがあるんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
ルートキット(rootkit)は、攻撃者がコンピュータに侵入した後、管理者権限(UNIXの root)を維持し、自分の活動を隠し続けるために使うソフトウェアの集まりである。名前は、root(管理者)の権限を得るための道具一式(kit)に由来する。
主な機能
| 機能 | 内容 |
|---|---|
| 隠ぺい | マルウェアのファイル、プロセス、レジストリの項目、通信の接続を、OSの一覧表示から見えなくする |
| ログの改ざん | 侵入の記録を消す、書き換える |
| バックドア | 攻撃者が後から再び侵入するための裏口を設ける |
| 権限の維持 | 管理者権限を保ち続ける |
ルートキットは、それ自体が感染を広げるのではなく、ほかのマルウェアと組み合わせて、その存在を隠すために使われることが多い。
入り込む場所による分類
| 種類 | 入り込む場所 | 検出の難しさ |
|---|---|---|
| ユーザモード | アプリケーションや、OSのライブラリ | 比較的見つけやすい |
| カーネルモード | OSのカーネル(デバイスドライバなど) | 難しい。OSそのものの結果が信用できなくなる |
| ブートキット | OSより先に動く起動の仕組み(ブートローダ) | 非常に難しい |
| ファームウェア | BIOS/UEFI、機器のファームウェア | 非常に難しい。OSを入れ直しても残る |
検出と対策
ルートキットに感染したOSの上で動くセキュリティソフトは、OSから偽の情報を返されるため、正しく検出できないことがある。
| 対策 | 内容 |
|---|---|
| 外部からの検査 | 別の安全な起動媒体(CDやUSBメモリ)からOSを起動し、感染が疑われるディスクを検査する |
| セキュアブート | 起動時に、署名を検証した正規のプログラムだけを実行させ、ブートキットを防ぐ |
| 完全性の確認 | 重要なファイルのハッシュ値を、安全な場所に保管した値と比較する |
| 再インストール | 感染が確認されたら、OSを入れ直すのが確実(ファームウェアの感染に注意) |
マルウェアの特徴との区別
| 特徴 | 名前 |
|---|---|
| ルートキットで自身を隠し、感染していないように見せかける | ステルス型 |
| 感染ごとに暗号化の鍵を変えて、見た目を変える | ポリモーフィック型 |
| 攻撃者からの指令で遠隔操作される | ボット |