Вредоносные программы для Unix-подобных систем

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Вероятно, первые компьютерные вирусы для семейства ОС Unix были написаны Фредом Коэном в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке Bash.[1][2] Вредоносные программы для Unix-подобных систем включают в себя трояны, компьютерные черви и другие типы вредоносного ПО, которые могут повредить операционной системе.

Вредоносные программы под Linux[править | править код]

Исторически большинство вредоносного программного обеспечения создавалось для операционной системы Microsoft Windows, которая занимает бóльшую часть рынка операционных систем[3].

Особенностью Linux-систем является организация многопользовательской среды, в которой пользователям предоставляются некоторые права, a также используется некоторая система разграничения доступа. Для того чтобы нанести существенный вред системе, вредоносная программа должна получить root-доступ к ней. Однако, пока пользователь не начнёт работу с root-привилегиями или с администраторской учётной записью, система разграничения прав не даст вирусу возможности причинить системе какой-либо вред — без получения прав суперпользователя вредоносная деятельность вирусов сводится к слежению за действиями пользователя (перехвату вводимых с клавиатуры паролей, данных кредитных карт и т. д.), хищению пользовательских файлов, рассылке спама и участию в DDoS-атаках.

Для получения привилегий суперпользователя (в английской терминологии это называется rooting), как правило, требуется либо применение эксплойтов, эксплуатирующих незакрытые уязвимости в ядре Linux или в сервисах, имеющих root-привилегии для собственной деятельности, либо методы социальной инженерии (например, попытка выдать вирус за легальное приложение, требующее административных полномочий). Эксплуатация уязвимостей затрудняется быстрым закрытием известных уязвимостей, в результате чего распространение вируса прекращается вскоре после выхода обновлений безопасности, а метод социальной инженерии мало эффективен ввиду как правило высокого технического уровня пользователей, имеющих административные полномочия, что в совокупности с различными способами запуска программ при загрузке в различных вариантах (дистрибутивах) Linux, приводит к тому, что найти из известных вирусов такой, чтобы он мог быть успешно запущен и мог осуществить свою вредоносную деятельность на современных дистрибутивах — задача не тривиальная[4].

Для Linux-систем доступны вирусные сканеры[5], основное назначение которых — обнаружение вирусов и другого вредоносного ПО для операционных систем. Они умеют проверять проходящую через них электронную почту, например, чтобы защитить компьютеры с системами Microsoft Windows, получающих почту через корпоративный почтовый сервер. Случаи обнаружения антивирусами вирусов для Linux «вживую» («in the wild») либо не имели места, либо о них не известно, известен, например, LMD.

Основные способы заражения[править | править код]

  1. Бинарные файлы и исходные коды, полученные от сторонних репозиториев или пользователей, могут содержать вирус. Скрипты оболочки (shell scripts) после запуска могут выполнять программы и иметь доступ к файлам. Вместо специфической версии библиотеки может быть подставлена поддельная библиотека.
  2. При помощи Wine могут работать вирусы, предназначенные для Microsoft Windows (ввиду использования многими вирусами недокументированных системных вызовов Windows, которые очень плохо реализованы в Wine, риск заражения меньше). Как правило, через Wine вирусы способны жить лишь до перезапуска операционной системы, так как стандартные методы автозапуска программ в Windows не работают в Wine. Исключение — файловые вирусы, то есть заражающие исполнимые файлы легитимных программ. Вирус снова запустится, как только пользователь запустит заражённую программу.
  3. Стоит также отметить и вышеописанные методы социальной инженерии, например, фишинг, которые базируются на использовании невнимательности пользователей.

Следует заметить, что класс файловых вирусов практически перестал существовать, уступив место троянам и бэкдорам, существующих в одном (реже в двух) экземпляре (файле) на диске, и запускающихся через стандартные (или не очень) механизмы автозапуска в Windows. Любой уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал двоичный файл. Бинарный запуск под учетной записью root может заразить всю систему. Уязвимости, связанные с root-правами, могут позволить вредоносному ПО, работающему под конкретной учётной учетной записью, заразить всю систему. Использование репозиториев разработчиков снижает вероятность заражения из-за того, что разработичики поддерживают и всегда могут проверить свои программы на отстутствие вирусов. Наличие контрольных сумм при проверке сделало маловероятными методы DNS- и ARP-спуфинга. Техника воспроизводимой сборки позволяет проверить, что код, заверенный электронной подписью, может быть безопасно и целостно преобразован в бинарный файл.

Основные типы вредоносного программного обеспечения[править | править код]

Вирусы и трояны[6][править | править код]

Если заражённый бинарный файл, содержащий вирус, был запущен, то система будет временно заражена, поскольку ядро Linux находится в памяти и доступно только для чтения. Уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал бинарный файл. Как уже отмечалось выше, пользователь, являющийся root-пользователем, запустивший такой файл, автоматически заразит всю систему. Система повышения привелегий позволяет при переходе к различным уровням доступа заразить всё большие уровни системы.

Стоит отметить, что для того, чтобы вписать в комплилируемую программу сниппет кода, который, например, может запцскать ретранслятор, который запускается, когда пользователь совершает вход в почтовое клиент-серверное приложение, — задача не столь сложная; гораздо сложнее написать программу-манипулятор (троян), которая будет исполнять только вредоносную задачу.

Червь Морриса[править | править код]

Основная статья: Червь Морриса

В 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса.

По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.

Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя.

См. также[править | править код]

Примечания[править | править код]

  1. Douglas McIlroy. Virology 101 Архивная копия от 26 февраля 2009 на Wayback Machine
  2. Tom Duff. Viral Attacks On UNIX® System Security Архивная копия от 22 марта 2010 на Wayback Machine
  3. Desktop Windows Version Market Share Worldwide (англ.). StatCounter Global Stats. Дата обращения: 26 октября 2020.
  4. Roy s. Is Linux Free From Viruses And Malware? | Unixmen (англ.)  (неопр.) ?. Дата обращения: 8 ноября 2020.
  5. Десять лучших антивирусов для Linux. habr.com. Дата обращения: 26 октября 2020.
  6. Unknown. I' Been to Ubuntu: So You Want to Know How to Use Anti-virus Software on Ubuntu?. I' Been to Ubuntu (12 октября 2007). Дата обращения: 8 ноября 2020.

Ссылки[править | править код]