> Начнём с того, какой идиот будет прятать руткит в корневой директории?Руткиту все-равно где прятаться: хороший руткит все-равно не видно. Он может врать что его нет во всех системных вызовах для работы с файлами. При этом все-равно где он лежал. Этого никто не увидит.
> Закончим тем, что проще и эффективнее init подменить.
Не, вот извините: настоящий руткит в ядре может весьма эффективно завирать всем вообще о том что его нет, немного поменяв логику работы ряда системных вызовов. Инит при этом вообще нафиг не упало трогать.
> там md5-сумм, перехватывать обращения к этому файлу на уровне ядра и
> возвращать данные оригинального файла.
Если мы уже в ядре и перехватываем операции с файлами - зачем что-то делать с init? Нормальные герои всегда идут в обход?
> проблема, счётчик ссылок на него в 0, убрать из всех директорий.
> fsck подменить таким же образом.
Кластерфак какой-то. Обычно делают проще - перехватывают наиболее паливные вызовы и выпиливают себя из результата их выполнения. Ну то-есть если некто читает оглавление диры - руткит выпилит себя из оглавления и отдаст результат в котором его нет. Если некто читает патченый файл - руткит в нужный момент подпихнет как результат чтения не то что реально на диске записано, а то что ему надо. И делается это либо на уровне системных вызовов ядра, либо на уровне вызова билбиотек, типа приколов с LD_PRELOAD (для себя я написал либу которая не дает программам файлы открывать, все время обрубая файловую операцию с левой ошибкой, очень забавно смотреть на реакцию программ когда не удается ни 1 файла прочесть или записать :P).
> ядро патчить а оперативке до загрузки системы, из загрузчика того же.
Поздравляю, все уже сперто до вас - это буткитом называется.