Вредоносные программы для Unix-подобных систем
Вероятно, первые компьютерные вирусы для семейства ОС Unix были написаны Фредом Коэном в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке Bash.[1][2] Вредоносные программы для Unix-подобных систем включают в себя трояны, компьютерные черви и другие типы вредоносного ПО, которые могут повредить операционной системе.
Вредоносные программы под Linux
[править | править код]Исторически большинство вредоносного программного обеспечения создавалось для операционной системы Microsoft Windows, которая занимает бо́льшую часть рынка операционных систем[3].
Особенностью Linux-систем является организация многопользовательской среды, в которой пользователям предоставляются некоторые права, a также используется некоторая система разграничения доступа. Для того чтобы нанести существенный вред системе, вредоносная программа должна получить root-доступ к ней. Однако, пока пользователь не начнёт работу с root-привилегиями или с администраторской учётной записью, система разграничения прав не даст вирусу возможности причинить системе какой-либо вред — без получения прав суперпользователя вредоносная деятельность вирусов сводится к слежению за действиями пользователя (перехвату вводимых с клавиатуры паролей, данных кредитных карт и т. д.), хищению пользовательских файлов, рассылке спама и участию в DDoS-атаках.
Для получения привилегий суперпользователя (рутинг), как правило, требуется либо применение эксплойтов, эксплуатирующих незакрытые уязвимости в ядре Linux или в сервисах, имеющих root-привилегии для собственной деятельности, либо методы социальной инженерии (например, попытка выдать вирус за легальное приложение, требующее административных полномочий). Эксплуатация уязвимостей затрудняется быстрым закрытием известных уязвимостей, в результате чего распространение вируса прекращается вскоре после выхода обновлений безопасности, а метод социальной инженерии малоэффективен ввиду как правило высокого технического уровня пользователей, имеющих административные полномочия, что в совокупности с различными способами запуска программ при загрузке в различных вариантах (дистрибутивах) Linux, приводит к тому, что найти из известных вирусов такой, чтобы он мог быть успешно запущен и мог осуществить свою вредоносную деятельность на современных дистрибутивах — задача не тривиальная[4].
Для Linux-систем доступны вирусные сканеры[5], основное назначение которых — обнаружение вирусов и другого вредоносного ПО для операционных систем. Они умеют проверять проходящую через них электронную почту, например, чтобы защитить компьютеры с системами Microsoft Windows, получающих почту через корпоративный почтовый сервер. Случаи обнаружения антивирусами вирусов для Linux «вживую» («in the wild») либо не имели места, либо о них не известно, известен, например, LMD[англ.].
Основные способы заражения
[править | править код]- Бинарные файлы и исходные коды, полученные от сторонних репозиториев или пользователей, могут содержать вирус. Скрипты оболочки (shell scripts) после запуска могут выполнять программы и иметь доступ к файлам. Вместо специфической версии библиотеки может быть подставлена поддельная библиотека.
- При помощи Wine могут работать вирусы, предназначенные для Microsoft Windows (ввиду использования многими вирусами недокументированных системных вызовов Windows, которые очень плохо реализованы в Wine, риск заражения меньше). Как правило, через Wine вирусы способны жить лишь до перезапуска операционной системы, так как стандартные методы автозапуска программ в Windows не работают в Wine. Исключение — файловые вирусы, то есть заражающие исполнимые файлы легитимных программ. Вирус снова запустится, как только пользователь запустит заражённую программу.
- Методы социальной инженерии, например, фишинг, которые базируются на использовании невнимательности пользователей.
Класс файловых вирусов практически перестал существовать, уступив место троянам и бэкдорам, существующим в одном (реже в двух) экземпляре (файле) на диске, и запускающихся через стандартные (или не очень) механизмы автозапуска в Windows. Любой уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал двоичный файл. Бинарный запуск под учётной записью root может заразить всю систему. Уязвимости, связанные с root-правами, могут позволить вредоносному ПО, работающему под конкретной учётной учётной записью, заразить всю систему. Использование репозиториев разработчиков снижает вероятность заражения из-за того, что разработчики поддерживают и всегда могут проверить свои программы на отсутствие вирусов. Наличие контрольных сумм при проверке сделало маловероятными методы DNS- и ARP-спуфинга. Техника воспроизводимой сборки позволяет проверить, что код, заверенный электронной подписью, может быть безопасно и целостно преобразован в бинарный файл.
Основные типы вредоносного программного обеспечения
[править | править код]Вирусы и трояны[6]
[править | править код]Если заражённый бинарный файл, содержащий вирус, был запущен, то система будет временно заражена, поскольку ядро Linux находится в памяти и доступно только для чтения. Уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал бинарный файл. Как уже отмечалось выше, пользователь, являющийся root-пользователем, запустивший такой файл, автоматически заразит всю систему. Система повышения привилегий позволяет при переходе к различным уровням доступа заразить всё большие уровни системы.
Для того, чтобы вписать в комплилируемую программу код, который, например, может запускать ретранслятор, который запускается, когда пользователь совершает вход в почтовое клиент-серверное приложение, задача не столь сложная; гораздо сложнее написать программу-манипулятор (троян), которая будет исполнять только вредоносную задачу.
Червь Морриса
[править | править код]В 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса.
По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.
Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя.
См. также
[править | править код]Примечания
[править | править код]- ↑ Douglas McIlroy. Virology 101 Архивная копия от 26 февраля 2009 на Wayback Machine
- ↑ Tom Duff. Viral Attacks On UNIX® System Security Архивная копия от 22 марта 2010 на Wayback Machine
- ↑ Desktop Windows Version Market Share Worldwide (англ.). StatCounter Global Stats. Дата обращения: 26 октября 2020. Архивировано 24 января 2017 года.
- ↑ Roy s. Is Linux Free From Viruses And Malware? | Unixmen (амер. англ.). Дата обращения: 8 ноября 2020. Архивировано 18 января 2021 года.
- ↑ Десять лучших антивирусов для Linux . habr.com. Дата обращения: 26 октября 2020. Архивировано 29 октября 2020 года.
- ↑ 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. Архивировано 17 ноября 2020 года.