Linuxトロイの木馬を検出して削除する方法は?

Linuxトロイの木馬を検出して削除する方法は?

私は最近これを(再び)偶然見つけました:

はい、信頼できないソースから任意のPPA /ソフトウェアを追加すると問題が発生する可能性があります。私はこれをやっていませんが、多くの人がそうします(多くのLinuxブログやタブロイドでは、システムが破損したり、セキュリティが悪化したりする可能性があるという警告なしに高度なアプリケーションにPPAを追加することを勧めます)。

トロイの木馬や悪意のあるアプリケーション/スクリプトを検出して削除する方法は?

答え1

すべての場合にぴったりのレシピはありません。システムが未知のトロイの木馬に感染している場合、できることは再インストールするだけです。

トロイの木馬が特定の方法で動作することがわかっている場合(たとえば、トロイの木馬がカーネルに感染しないことを知っている場合)、あまり思い切らない回復方法がある可能性があります。しかし、それはすべてトロイの木馬の行動方法を理解することにかかっています。コンピュータが同意なしにスパムを送信するなどの症状しかない場合は、一般的なスキルはありません。トロイの木馬探知機は、トロイの木馬の設計者よりもスマートで幸運でなければなりません。トロイの木馬の場合、検出と隠蔽は銃と鎧のようなものです。技術は絶えず進化しており、どちらにも固有の利点はありません(コンシーラーが利点を持っているにもかかわらず)。

多くのシステムには安全な流通チャネルがあります。たとえば、aptベースのツール(apt-get、aptitude、synaptic、Software Centerなど)を使用してUbuntuリポジトリからパッケージをインストールすると、そのツールはUbuntuが信頼する誰かがパッケージに署名(審査)したかどうかを確認します。 。 。 (ほとんどのディストリビューションには同様のメカニズムがあります。)PPAからパッケージをインストールするときに知っているのは、PPA所有者がパッケージを確認したことだけです。これは、もともとPPA所有者を信頼する理由がなければ不可能です。役に立ちます。

トロイの木馬とバックドアについて読むことを強くお勧めします。ケン・トンプソンチューリング賞のスピーチ、信頼に関する考え。要約すると、彼はログインプログラムをコンパイルするときにパスワードでログインできるコードを追加するようにコンパイラを変更しました。その後、コンパイラ自体をコンパイルするときにバックドアを追加するコードを挿入するようにコンパイラを変更しました。その後、彼はシステム全体(特にログインプログラムとコンパイラ)を再コンパイルし、最後にコンパイラソースを疑う余地のない元のソースに復元します。もう一度読んでください記事: ケン・トンプソン(Ken Thompson);これで読むこともできます。デビッド・ウィーラーの対位法、おそらく最もよく理解できるのは次のとおりです。ブルース・シュネルブログ投稿

答え2

私が正しく理解している場合、この記事で説明されている「トロイの木馬」は「正常な」マルウェアであり、「正常な」方法では見つかりません。このIRCdは使用されるまで正常に機能していたため、管理者は次の場合にのみセキュリティの脆弱性を発見できます。 1)IRCdが使用され、脆弱性がログにエントリを生成または表示するアクションを実行した場合、2)ソースコードを読み取った場合。

「本物の」Linuxマルウェアは、Linux AVソフトウェアまたはAV LiveCDリカバリディスクとしても検出できるため、そのソフトウェアを使用してコンピュータをスキャンできます。あなたが見たように安全なリストリストには、名前にLinuxを含む1941項目があり、Kasperskyでソフトウェアを検出できる必要があります。このリストを少し見てみると、多くの項目がDDoSツールと攻撃ツール、または自動的に伝播することはできず、攻撃ツールとしてのみ使用できる(したがって無害な)ツールに関するものであることがわかります。

クラッカーがインストールしたバックドア/ルートキットを確認するには、ファイルチェックサムを確認するツールを使用できます(クリーンシステムでファイルとチェックサムのリストを作成し、サーバーソフトウェアが更新された後に更新する必要があります)。チェックサムが間違っているすべての新しいファイルまたはファイルは疑わしいです。チェックサムリストとそれを生成したツールは読み取り専用メディアに存在する必要があります(クラッカーは、独自のバージョンが無効なチェックサムを表示するため、たとえばmd5sumを変更することもできます)。マルウェアを見つけるこの方法は、ソフトウェアが毎日アップグレードされない「安定した」システムで使用できます。

一部のマルウェアは、ネットワークトラフィックをスキャンするためにローカルで実行して検出することがありますが、システムが感染した場合に表示されるnetstatデータも変更される可能性があります。netstatこの場合、解決策の中には、他のコンピュータ(インターネットに送信されるトラフィックを調べるためのルーターなど)のネットワークトラフィックを監視するものがあります。

答え3

SELinuxとAppArmorは、トロイの木馬/ルートキットやその他の感染から保護するために存在します。私は私がよりよく知っているSELinuxのケースを話しました。 SELinuxを有効にすると、デーモンを含むコンピュータにインストールされているすべてのプロセスにコンテキストを提供できます。また、コンテキストおよび一致操作のためにファイルシステムにタグを付けることもできます。プロセスがそのコンテキスト内にない操作を実行しようとするとメッセージが受信され、SELinuxが適用モードになっていると操作を完了できません。
これにより、ircdトロイの木馬がpsコマンドまたは他のコマンド(検出を回避するためのトロイの木馬/ルートキット/ワームの一般的な戦術)を無視したい場合は、それを許可しません。あなたに通知されます。
構成するのは難しいことを知っていますが、私のコンピュータはSELinuxを実行しています。
私のホームサーバーも今すぐ実行モードになっています。
別の戦略は、ルートキット検出器を定期的に実行して、メインコマンドのチェックサムを計算し、基本コマンドの変更を通知することです。
私はSELinuxとrkhunter(およびclamavアンチウイルス)を使用しています。

挨拶

答え4

別の答えでは、「ハイダー」(ステルスマルウェア)が「探知機」に比べて本質的な利点を持っていると主張します。私は同意しません。マルウェアを検出するために署名やヒューリスティックに依存する検出方法に自分自身を制限する場合も同様です。しかし、マルウェアを検出する別の方法があります:既知の項目を確認することです。  引き継ぎ鉄線アシスタントなど、ディスク上のファイルを確認できます。 Second Look®は、実行中のカーネルとプロセスを確認できます。 Second Lookはメモリフォレンジックを使用して、オペレーティングシステム、アクティブサービス、およびアプリケーションを直接確認します。メモリ内のコードをLinuxディストリビュータによって公開されたコードと比較します。このようにして、ルートキットとバックドアによる悪意のある修正はもちろん、実行中の未承認のプログラム(トロイの木馬など)をすぐに見つけます。

(公開:私はSecond Lookのチーフ開発者です。)


編集者注:

関連情報