Как обнаружить и удалить троянца Linux?

Если Вы хотите смочь загрузиться необслуживаемый, а также удаленно, необходимо также посмотреть на Mandos (который я и другие записали):

Mandos является системой для разрешения серверов с зашифрованными корневыми файловыми системами перезагрузить необслуживаемый и/или удаленно. Посмотрите вводный файл страницы руководства для получения дополнительной информации, включая список FAQ.

Короче говоря, сервер начальной загрузки получает пароль по сети безопасным способом. Посмотрите README для деталей.

16
18.11.2010, 21:56
4 ответа

Нет никакого общего рецепта. Если Ваша система была заражена неизвестным троянцем, все, что можно сделать, переустанавливают.

Если Вы знаете, что троянец действует определенным способом —, например, Вы знаете, что троянец не заражает ядро — может быть менее резкий способ восстановиться. Но это совершенно зависит от знания, как троянец ведет себя. Если все, что Вы имеете, является признаками (такими как Ваш компьютерный спам отправки без Вашего согласия), нет никакой общей техники: троянский детектор должен быть более умным, чем троянский разработчик (и удачным). Что касается троянцев, обнаружение и сокрытие похоже на оружие и броня: существует технологическая эскалация, и ни у какой стороны нет внутреннего преимущества (хотя скрывающие элементы действительно имеют преимущество).

Много систем имеют в распоряжении безопасный канал распределения. Например, когда Вы устанавливаете пакет из репозиториев Ubuntu со способными инструментами (склонный - добираются, способность, синаптический, центр программного обеспечения, …), инструмент проверяет, что пакет подписывается (исследуемый) кем-то тресты Ubuntu. (Большинство дистрибутивов имеет подобный механизм.) То, когда Вы устанавливаете пакет от PPA, все, которое можно знать, - то, что владелец PPA исследовал пакет, который не является никакой справкой, если у Вас нет причины доверять владельцу PPA во-первых.

О троянцах и бэкдорах, я настоятельно рекомендую читать лекцию премии Turing Ken Thompson, Отражения о Доверии Доверию. Подводя итоги, он изменил компилятор так, чтобы при компиляции программы входа в систему, он добавил код, который позволил ему входить в систему с секретным паролем; затем он изменил компилятор так, чтобы, когда он скомпилировал себя, он ввел код для добавления бэкдора; затем он перекомпилировал целую систему (в особенности программа входа в систему и компилятор); наконец он восстановил источник компилятора к исходному, неоспоримому источнику. Снова, прочитайте статью Ken Thompson; затем можно также считать контрапункт David Wheeler, который возможно, лучше всего предчувствуют через Bruce Schneierстатья блога.

20
27.01.2020, 19:48
  • 1
    +1 для описательного ответа и для рекомендации тех статей: они расширили мое знание.Спасибо. –  iamsid 15.11.2010, 00:03

Если я понимаю правильно "троянский" описанный в этой статье, не мог бы быть обнаружен "нормальным" способом как "нормальное" вредоносное программное обеспечение. Этот IRCd вел себя обычно, пока он не использовался, таким образом, администратор мог найти эту дыру в системе безопасности только когда: 1) это использовалось, и действие, сделанное этой дырой, вызвало запись в журналах или было видимо некоторым другим способом, 2) чтение исходного кода.

"Реальное" вредоносное программное обеспечение Linux должно быть также обнаружено программным обеспечением AV для Linux или Спасательных Дисков AV LiveCD, таким образом, Вы могли просканировать использующий компьютеры это программное обеспечение. Как Вы видите в SecureList в списке существуют записи 1941 года с Linux на имя, и то программное обеспечение должно быть обнаружено программным обеспечением Kaspersky. Беглый взгляд к этому списку показывает, что много записей о некоторых инструментах DDoS и использовании или инструментах, которые не могут распространиться автоматически и могли использоваться только в качестве инструментов для нападения (так не вредны).

Для проверки бэкдоры/руткиты, установленные взломщиком, Вы могли использовать инструмент, который проверяет контрольные суммы файла (необходимо генерировать список файлов и контрольных сумм в чистой системе и обновить его после обновления программного обеспечения сервера). Каждый новый файл или файл с неправильной контрольной суммой подозрительны. Список контрольной суммы и инструмента, которые генерируют его, должен быть на носителе только для чтения (взломщик мог также измениться, например, md5sum для своей собственной версии, которая показывает неправильные контрольные суммы). Этот способ найти вредоносное программное обеспечение мог использоваться в 'стабильных' системах, где программное обеспечение не обновляется каждый день.

Некоторое вредоносное программное обеспечение могло быть обнаружено путем выполнения netstat локально для проверки на сетевой трафик, но если система является зараженными данными, показало netstat мог также быть изменен. В этом случае некоторое решение состоит в том, чтобы контролировать сетевой трафик от другого компьютера (например, от маршрутизатора, для проверки то, какой трафик отправляется в Интернет).

7
27.01.2020, 19:48

SELinux и AppArmor существуют для предотвращения троянца / руткит и другие заражения. Я говорю случай для SELinux, который я знаю лучше. С включенным SELinux Вы даете контекст всему процессу (включенный демон), Вы устанавливаете на машине. Вы также маркируете файловую систему для работы с контекстом, соответствуя им. Когда процесс пытается сделать что-то не в его контексте, Вы получаете сообщение, и, если SELinux находится в осуществлении режима, действие не может завершиться.
Таким образом, если Ваш ircd троянец был готов перезаписать команду PS или что-то еще (общая стратегия троянцев / руткиты / собирает червей для предотвращения обнаружения), мне не разрешат сделать это. И Вам сообщили бы.
Мне knkow, который трудно настроить, но мои машины работают с SELinux, осуществленным прямо сейчас, и мой (два) ноутбуки Fedora, может сделать что-либо рабочий стол, нужно без слишком большого количества стычки.
Даже мой домашний сервер находится теперь в осуществлении режима.
Другая стратегия является регулярным выполнением детекторов руткита, которые вычисляют контрольную сумму для критических команд и сообщают Вам относительно изменений в основных командах.
Я работаю и с SELinux и с включенным rkhunter (плюс clamav антивирус).

С уважением

4
27.01.2020, 19:48

Другой ответ утверждал, что "скрывающие элементы" (скрытое вредоносное программное обеспечение) имеют внутреннее преимущество перед "детекторами".Я не согласен. Это верно при ограничении себя подходами обнаружения, которые полагаются на подписи или эвристику для обнаружения вредоносного программного обеспечения. Но существует другой способ обнаружить вредоносное программное обеспечение: проверьте известные товары. Растяжка, ПОМОЩНИК, и т.д. может проверить файлы на диске. Второй Взгляд может проверить рабочее ядро и процессы. Второй Взгляд использует судебную экспертизу памяти для прямого осмотра операционной системы, активных служб и приложений. Это сравнивает код в памяти к тому, что было выпущено поставщиком дистрибутива Linux. Таким образом это может сразу точно определить злонамеренные модификации, сделанные руткитами и бэкдорами и несанкционированными программами, которые выполняются (троянцы, и т.д.).

(Раскрытие: Я - ведущий разработчик Второго Взгляда.)

2
27.01.2020, 19:48

Теги

Похожие вопросы