バックドア(rootkit&rootshell) vs Tripwire セキュリティグループINAS 環境情報学部4年 直江健介
バックドアとは rootやAdministrator等の管理権限を奪ったサーバに対して、再度侵入や攻撃を仕掛けるときに行いやすくするためのもの 侵入や攻撃を行う側の立場からは、手間をかけてアカウント情報を入手し侵入したサーバに対して同じかまたはこれまで以上の手間をかけたくはない >> 一度侵入した後は、次回からも侵入しやすいようにバックドアを仕掛ける
言い換えるならば 一度でも侵入や攻撃を受けた場合は、バックドアを仕掛けられている可能性が高いため、OSの再インストールやユーザアカウントの初期化、アプリケーションの再インストールなどが必要になってきます。
どうやったらバックドアを検出できるの?? “ls”,“ps”,“find”等のコマンドを使うことが多いがこれらがrootshellに置き換えられるとアウト!! 有名なものであればパッチが配布されるがたいていのものはごく簡単なコードで書かれるため亜種がすぐにできる。 Rootkitならchkrootkitというツールがある http://www.chkrootkit.org/
デモの手順(バックドア) Rootのパスワードを取るためのバックドアを仕込む。 1.Tcpdump等を使って誰がsu使うか事前に調べる。Rootのパスワードもゲットしておく。 2.簡単なrootshellを仕込む 3.少し細工をしたバックドアを仕込む 4.用心な人のためにsuTrojanを仕込む
Rootkitの機能 ログワイパ バックドアツール トロイ化したコマンドバイナリ ネットワークスニファやパスクラッカ コンピュータに侵入したあとにあると便利なツールを パッケージ化したのがRootkitである
でも… TRIPWIREがあればこれらも検出可能!
Tripwireは最強ジャン!? LKMRootkitの出現によってその牙城は危ういものとなった。
t0rnkit 典型的なrootkitの機能を持つ コンパイル作業がいらない Lionwormにも含まれていた CERTのincident_notesでも紹介された バージョン8まで確認
Chkrootkit 既知のrootkitがシステムに仕掛けられているかを検出する 各種OSに対応 インストールがとても楽 Linux2.0.x、Linux2.2.x、FreeBSD2.2.x、3.x、4.x、Solaris2.5.1 PerlとCで書かれている インストールがとても楽
LKM(LoadableKernelModule) 主な用途はpcmciaなどのdevice driver Kernelの肥大化、recompileの手間が省けるなどの利点 Load後は、kernel modeで動作 Kernel内部のsymbolを扱える → カーネル自体を改竄できる 精巧に作られたものは発見困難
LKMRootkit 正常なプロセス Rootkitだと… LKMRootkitだと… コマンドバイナリ 正常な情報 コマンドバイナリ システムコール コマンドバイナリ 正常な情報 ファイルシステム Rootkitだと… システムコール コマンドバイナリ 偽りな情報 ファイルシステム 改ざんした偽のコマンドバイナリ LKMRootkitだと… システムコール コマンドバイナリ 偽りな情報 ファイルシステム Kernelレベルで乗っ取る
結論 バックドア(Rootkitやrootshell)って怖いね LKMRootkitってもっと怖いね でもバックドア仕込まれるような管理者のほうがもっと怖いね