web-dev-qa-db-ja.com

正確には/lib/modules/4.4.0-XX-generic/vdso/.build-id

私はchkrootkitでルートキット検索を行ったところ、この奇妙なファイルセットが見つかりました。

/usr/lib/debug/.build-id 
/lib/modules/4.4.0-51-generic/vdso/.build-id 
/lib/modules/4.4.0-47-generic/vdso/.build-id 
/lib/modules/4.4.0-38-generic/vdso/.build-id 
/lib/modules/4.4.0-36-generic/vdso/.build-id 
/lib/modules/4.4.0-45-generic/vdso/.build-id
/usr/lib/debug/.build-id 
/lib/modules/4.4.0-51-generic/vdso/.build-id 
/lib/modules/4.4.0-47-generic/vdso/.build-id 
/lib/modules/4.4.0-38-generic/vdso/.build-id 
/lib/modules/4.4.0-36-generic/vdso/.build-id 
/lib/modules/4.4.0-45-generic/vdso/.build-id

これらは正確には何ですか?私はそれらがすべて誤検知であるとかなり確信していますが、私はまだそれらが何であり、なぜそこにあるのかわかりません。私は少し検索しましたが、これらは以前の更新から残されたカーネルイメージのようです。

それで、なぜ彼らは偽陽性を引き起こし、どうやってそれらを取り除くのですか?

1
Astrum

/lib/modules/は、モジュールを格納するディレクトリです。次のビット(数字付き)は、これらのモジュールが属するカーネル番号です。

モジュールの名前のvdsovirtual dynamic shared objectを表します)。システムは多くの「システムコール」(ディスクへの読み取りと書き込み、アクセス許可の付与など)を実行し、これらのそれぞれを実行するには多くのリソースを消費します。しかし、それらの呼び出しも多く行われます。 vdsoモジュールは、メモリを割り当てることで必要な時間を改善するために作成されました。

wikipedia から:

vDSO(仮想動的にリンクされた共有オブジェクト)は、慎重に選択されたカーネルスペースルーチンのセットをユーザースペースアプリケーションにエクスポートするためのLinuxカーネルメカニズムであり、アプリケーションがこれらのカーネルスペースルーチンをインプロセスで呼び出すことができ、コンテキストスイッチのパフォーマンスの低下を招くことはありません。システムコールインターフェイスを使用してこれらの同じカーネルスペースルーチンを呼び出す場合、これは固有のものです。

これに関するいくつかの詳細:

  • gitbooks: パート1パート2パート システムコールに関するすべて。パート2は「vdso」と「vsyscall」についてです。

私はそれらがすべて誤検知であるとかなり確信しています

おそらく(これらすべてのルートキット通知の99.999999%のように;))しかし、おそらくこれらのファイルをクリーンなシステムと比較し、ファイルサイズ、最後の変更時間などを確認して、これが誤検知であるかどうかを視覚的に確認する必要があります。


ちなみに、/lib/modules/ディレクトリはすぐに大きくなる可能性があります。古いカーネルを削除しても安全です(現在のカーネルと次に古いカーネルを保存して、バックアップが取られていることを確認してください)。参照: 古いカーネルバージョンを削除してブートメニューをクリーンアップするにはどうすればよいですか?

古いバージョンを削除すると、ルートキットからの通知の量も減ります;)

1
Rinzwind