Вредоносные программы для 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[англ.]. Основные способы заражения
Класс файловых вирусов практически перестал существовать, уступив место троянам и бэкдорам, существующим в одном (реже в двух) экземпляре (файле) на диске, и запускающихся через стандартные (или не очень) механизмы автозапуска в Windows. Любой уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал двоичный файл. Бинарный запуск под учётной записью root может заразить всю систему. Уязвимости, связанные с root-правами, могут позволить вредоносному ПО, работающему под конкретной учётной учётной записью, заразить всю систему. Использование репозиториев разработчиков снижает вероятность заражения из-за того, что разработчики поддерживают и всегда могут проверить свои программы на отсутствие вирусов. Наличие контрольных сумм при проверке сделало маловероятными методы DNS- и ARP-спуфинга. Техника воспроизводимой сборки позволяет проверить, что код, заверенный электронной подписью, может быть безопасно и целостно преобразован в бинарный файл. Основные типы вредоносного программного обеспеченияВирусы и трояны[6]Если заражённый бинарный файл, содержащий вирус, был запущен, то система будет временно заражена, поскольку ядро Linux находится в памяти и доступно только для чтения. Уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал бинарный файл. Как уже отмечалось выше, пользователь, являющийся root-пользователем, запустивший такой файл, автоматически заразит всю систему. Система повышения привилегий позволяет при переходе к различным уровням доступа заразить всё большие уровни системы. Для того, чтобы вписать в комплилируемую программу код, который, например, может запускать ретранслятор, который запускается, когда пользователь совершает вход в почтовое клиент-серверное приложение, задача не столь сложная; гораздо сложнее написать программу-манипулятор (троян), которая будет исполнять только вредоносную задачу. Червь МоррисаВ 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса. По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями. Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя. См. такжеПримечания
Ссылки |