- Вирусы для *n*x существуют!
- Пионеры
- Иллюзии
- Система разграничения прав пользователей не оставляет вирусу никаких шансов
- Открытые исходники не могут содержать вирусы — их бы сразу нашли
- Существует столько разных дистрибутивов различных *nix-систем. У них слишком много различий, вирусы не распространятся широко
- Способы
- Скрипты оболочки (shell scripts) и неосторожные пользователи
- Черви и уязвимости
- Поддельные библиотеки
- Вирусы ядра
- Windows-вирусы и Wine
- Примеры
- Лекарства
Вирусы для *n*x существуют!
Если вы уверены, что перейдя на Ubuntu вы застрахуетесь от вирусных атак, значит будущее Земли под угрозой. *nix-платформы набирают мировую популярность, а вместе с этим растет угроза вирусного цунами, которое захлестнет компьютеры неопытных пользователей. Защищенность *nix от вирусов относительна, а в ближайшее время, как мне кажется, вообще будет признана мифом.
Вот несколько фактов, способных этот миф развенчать, а вас заставить установить ClamAV и проверяться почаще.
Пионеры
Как это ни удивительно, первые вирусы писались и функционировали под Unix. Стоит упомянуть такой харизматичный образчик, как Elk Cloner, написанный Его вредоносная деятельность заключалась в печати стихотворения:
It will get on all your disks
It will infiltrate your chips
Yes it’s Cloner!
It will stick to you like glue
It will modify ram too
Send in the Cloner!
Ну и в бесконтрольном размножении, разумеется. Кроме него, на память приходят пионер вирусостроения Фрэд Коэн (Fred Cohen) и несколько его вирусов под VAX/4BSD — пока еще забавы, но всё же Unix-вирусы, с которых всё и началось.
Иллюзии
Сложно оставить свои чувства без объяснения. Если кажется, что Linux неуязвим, должны же быть для этого причины. Вот что обычно мы придумываем.
Система разграничения прав пользователей не оставляет вирусу никаких шансов
На самом деле это так, только пока вы не выходите за рамки пользовательских полномочий. Если вы привыкли работать в администраторском или root-аккаунте, никакие права вас уже не спасут.
На прежней работе я натурально бил своих программистов по рукам, если успевал заметить на экране окно с рутовыми привелегиями. Окно после битья закрывал без вопросов и сохранения.
Открытые исходники не могут содержать вирусы — их бы сразу нашли
Верно, но вы их когда-будь сами искали? Вы уверены в безопасности своей копии исходников? А пользователи *Ubuntu — сколь часто вы ставите софт из исходников? Может, вы предпочитаете двоичные упаковки? Их так же легко просмотреть на наличие опасного кода? Признайте: вы их никогда не просматривали. А сторонние репозитории в вашем sources.list уже есть?
Обмен программами между неопытными пользователями идет в двоичном виде, и это уже не причина для вашего спокойствия.
Существует столько разных дистрибутивов различных *nix-систем. У них слишком много различий, вирусы не распространятся широко
Но именно широкий ассортимент систем породил на свет ANSI C и кроссплатформный софт. Успех Firefox и наличие практически на каждой копии *nix-системы должны разубедить вас в этой причине.
Стандартизация двоичного формата для исполняемых файлов еще больше развеивает уверенность. Кроме того, ассемблер — он везде ассемблер, вопрос состоит только в архитектуре процессора целевой системы. У вас PowerPC, SPARC или Intel x86?
Способы
Как вирус заразит компьютер, зависит только от компетентности и фантазии автора вируса, ибо путей существует множество. Вот хотя бы несколько.
Скрипты оболочки (shell scripts) и неосторожные пользователи
Один из самых простых и доступных способов написать программу… или вирус. Для Unix-вируса достаточно и 200 байт шелл-кода. Наличие различных широко распространенных мощных скриптовых языков (Perl, Python) только увеличивает опасность.
Примером использования shell-скриптов является «man page«-вирус, поражающий страницы справки man. Он не может распространиться, покуда вы сами не отдадите форматированную man page кому-нибудь, но зато благодаря возможностям GNU troff он может выполнять программы и иметь доступ к файлам.
Ну а сам факт предпочтения Linux, а не Windows, вовсе не уменьшает количества пользователей, запускающих всё подряд, особенно то, что им прислали или залили на ftp.
Черви и уязвимости
Наиболее распространенный сегодня класс вирусов не ждет, пока пользователь их запустит — черви активно проникают в систему, используя уязвимости. Дальнейшие действия этих программ — опять-таки дело вкуса авторов.
А уязвимости в вашем Linux или BSD точно есть — ведь система не стоит голой, как Давид, она обвешана кучей всякого софта, функционирующего (в том числе в фоне, без вашего внимания) каждую секунду, пока работает компьютер. При следующем обновлении загляните в changelog какой-нибудь упаковки поближе к системной части, много ли уязвимостей (vulnerabilities) прикрыли разработчики? Так вы поймете, что несколько «дыр» точно было. Сколько еще осталось — вам опять-таки неизвестно. Кстати, давно ли вы обновляли системные пакеты?
Поддельные библиотеки
Есть в *nix такая переменная среды, как LD_PRELOAD. Теоретически, ею необходимо пользоваться, если вашему софту требуется специфическая версия библиотеки, а в системе установлена другая версия. Практически — если на место специфической библиотеки подставить вирус, то это уже не ваша система.
Чтобы уменьшить количество минусов за этот пост, концептуальный код такой библиотеки я здесь приводить не стану, но его слишком легко найти в Интернете.
Вирусы ядра
Одна из самых опасных концепций — вирусы, способные внедриться в ядро (kernel image) системы. Они уже действительно смогут делать с системой все что угодно, избавиться от них будет сложнее, так что в итоге это одна из наибольших опасностей для беспечных линуксоидов. Пока такие вирусы существуют только теоретически, но когда-нибудь теория станет практикой.
Windows-вирусы и Wine
Как это ни удивительно, многие трояны, вирусы и черви для Windows могут работать под вашим Linux — стоит только установить Wine. Непонятная приверженность некоторых свитчеров к Microsoft Internet Explorer вкупе с установкой его через скрипт ies4linux только усиливает эффект — вы получаете дырявую ОС, функционирующую внутри менее дырявой. Шанс потерять данные или стать спам-зомби возрастает (при несоблюдении элементарных норм компьютерной гигиены).
Примеры
- Lion Worm поражает Linux-системы с запущенным DNS-сервером BIND версий 8.2, 8.2.1, и всех
- Linux.Diesel Virus в терминологии AVP «benign, nonmemory resident parasitic virus».
- Linux.Vit.4096. По ссылочке даже диаграмма, иллюстрирующая принцип поражения системы.
- Ramen virus использует уязвимости в системе безопасности стандартных Red Hat Linux 6.2 и 7.0
- Winux Virus — кроссплатформенный концепт-вирус для Windows и Linux. Пока не распространился.
- *nix malware — итоги 2005 и тенденции развития — старая статейка по теме из Лаборатории гражданина К.
Лекарства
- http://www.clamav.net/, разумеется;
- Для пользователей Ubuntu: быстро, бесплатно и просто — http://ubuntuguide.org/wiki/Ubuntu:Feisty#How_to_install_ClamAV_AntiVirus_Server
- http://aachalon.de/AMaViS/
- http://www.Europe.Datafellows.com/
- http://www.sophos.com/downloads/eval/savunix.html
- http://www.antivirus.com/products/isvw/
- http://www.drsolomon.com/home/home.cfm
- http://www.mcafee.com/
- http://www.avp.ru/