Найти тему
Изучаем Linux

Есть ли вирусы для Linux?

Да, есть. На самом деле их достаточно много. По статистике вирусной базы компании DrWeb (https://vms.drweb.ru/search/), зафиксировано около 3390 разновидностей вирусов для Linux (по состоянию на 20.02.2020, статистика ведётся, начиная с 2006) года. [Уточню, что вирусы, специфичные для ОС Android, имеющей Linux-ядро (скомпилированное на языке Си), я не учитываю - методы их распространения иные и связаны чаще всего с применением технологий на основе Java-кода, реализованных в этой ОС].

Статистика вирусной активности DrWeb от 20.11.2020.
Статистика вирусной активности DrWeb от 20.11.2020.

НО: для Windows видов вирусов в этой же базе известно в ~397 раз (!) больше. И ещё: распространение вирусов для Windows (т.е. число заражений) в несколько тысяч раз (!!!) превосходит распространение Linux-вирусов. Но в последнее время есть тенденция роста числа вирусов под Linux.

Почему же вирусы для Linux хоть и существуют, но почти не распространены? Есть на это ряд причин, приведу наиболее существенные:

  • Windows более популярна (хотя в мире серверов перевес у Linux, на персональных ПК 95% охвачено ОС Windows).
  • Файлы, скачанные из интернета, в т.ч. через браузер, не могут быть автоматически активированы, как в Windows, поскольку они не являются исполняемыми (у них нет атрибута «исполняемый») и их такими нужно сделать (добавить необходимый атрибут вручную).
  • Для причинения серьезного ущерба системе необходимы права root (администратора), пароль для доступа к которому (через su или sudo) необходимо указать ЯВНО, в отличие от Windows, где доступ администратора предоставляется по умолчанию.
  • Linux имеют открытый исходный код - системные уязвимости легче и быстрее обнаруживаются, чем в Windows, у которой исходный код закрыт.
  • Софт (программы) в Linux, как правило, скачивается из проверенного репозитория ПО.

Способы заражения Linux следующие:

  • бинарные файлы [возможно по неосторожности пользователя, с предоставлением root-прав для из запуска]
  • скрипты shell (в том числе вместо специфической библиотеки может быть подставлена поддельная через LD_PRELOAD), а также код на скриптовых языках программирования, таких как Perl, Python, Lua… [тоже по неосторожности]
  • при использовании Wine [это сервис, эмулирующий окружение Windows и позволяющий в Linux в отдельной «песочнице» запускать и даже устанавливать программы Windows] и базируемых на нём сред (например, Proton) - это заражение Windows-компонентов обычными вирусами для Windows; НО: a) вирусы системы Windows очень часто используют её недокументированные возможности, а эти возможности почти не поддерживаются в Wine и это существенно уменьшает риск заражения, б) после перезапуска ОС Linux вирусы в Wine уже не жизнеспособны, т.к. стандартные механизмы автозапуска программ Windows в Wine отсутствуют.

Следующие действия можно сделать для снижения и без того малого риска заражения системы Linux:

  • Защита пользователя root сильным паролем
  • Осторожность
  • Правильное распределение привилегий между пользователями
  • Правильные права для файлов
  • Использование SELinux (Security-Enhanced Linux, сейчас в Linux есть по умолчанию)
  • Использование брандмауэра
  • Устанавливать важные (критические) обновления безопасности ОС Linux

Важный вопрос: а нужен ли антивирус для Linux? Склоняюсь к мысли, что нет, если постараться соблюсти пункты, описанные выше. Антивирусный сканер точно нужен на серверах для интернета под управлением Linux, особенно служащих шлюзами (т.е. обеспечивающими выход в интернет), поскольку если на них вирусы и не действуют, то на конечные ПК с Windows всё же могут попасть и запуститься…

Ну и наконец, читая комментарии к одной из статей в интернете на тему вирусов в Linux, наткнулся на такие слова (по поводу распространенности этих специфических вирусов): «В бытность моей работы на интернет-провайдера мы долго радовались, вплоть до улюлюкания, когда наш innd сервер подцепил специфичный вирус. Это было действительно интересно.» (источник: https://habr.com/ru/post/12600/).

Всего вам доброго.