Что именно такое /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 ответ

/lib/modules/ каталог для хранения модулей. Следующий бит (с цифрами) - это номер ядра, к которому принадлежат эти модули.

vdso в названии модуля (это означает virtual dynamic shared object). Ваша система выполняет много "системных вызовов" (например, чтение и запись на диск, предоставление разрешений и т. Д.), И для выполнения каждого из них требуется много ресурсов. Но эти звонки также сделаны много. vdso Модуль был создан, чтобы помочь сократить время, необходимое для выделения памяти для них.

Из википедии:

vDSO (виртуальный динамически связанный общий объект) - это механизм ядра Linux, предназначенный для экспорта тщательно отобранного набора подпрограмм пространства ядра в приложения пользовательского пространства, чтобы приложения могли вызывать эти подпрограммы пространства ядра в процессе, не снижая производительность переключения контекста, которое присуще при вызове тех же самых процедур пространства ядра с помощью интерфейса системного вызова.

Еще немного информации об этом:

Я уверен, что все они ложные срабатывания

Возможно (как и в 99.999999% всех этих уведомлений о руткитах;)), но вам, вероятно, нужно сравнить эти файлы с чистой системой и проверить такие вещи, как размер файла, время последнего изменения, чтобы визуально проверить, не является ли это ложным срабатыванием.


Кстати: /lib/modules/ Каталог может стать большим быстро. Удалить старые ядра безопасно (сохраните текущее и следующее наименее старое, просто чтобы убедиться, что у вас есть резервная копия). Смотрите: Как мне удалить старые версии ядра, чтобы очистить меню загрузки?

Удаление старой версии также снижает количество уведомлений от вашего руткита;)

Я видел их при сканировании руткитов тестовой виртуальной машины (ubuntu 18.04 LTS) и удалил их. Никаких заметных побочных эффектов в системе, хотя они, похоже, используются ОС, поскольку она повторно заполняется при перезагрузке.

Другие вопросы по тегам