Вредоносные программы для Unix-подобных систем: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
м CheckWiki: замена прямых интервики-ссылок
 
(не показаны 24 промежуточные версии 20 участников)
Строка 1: Строка 1:
Вероятно, первые [[компьютерные вирусы]] для семейства ОС [[Unix]] были написаны Фредом Коэном в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке Bash.<ref>Douglas McIlroy. [http://vx.netlux.org/lib/vmm00.html Virology 101]</ref><ref>Tom Duff. [http://vx.netlux.org/lib/vtd01.html Viral Attacks On UNIX® System Security]</ref>
Вероятно, первые [[компьютерные вирусы]] для семейства ОС [[Unix]] были написаны [[Коэн, Фред|Фредом Коэном]] в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке [[Bash]].<ref>Douglas McIlroy. [http://vx.netlux.org/lib/vmm00.html Virology 101] {{Wayback|url=http://vx.netlux.org/lib/vmm00.html |date=20090226130401 }}</ref><ref>Tom Duff. [http://vx.netlux.org/lib/vtd01.html Viral Attacks On UNIX® System Security] {{Wayback|url=http://vx.netlux.org/lib/vtd01.html |date=20100322205110 }}</ref> Вредоносные программы для [[Unix-подобная операционная система|Unix-подобных систем]] включают в себя трояны, компьютерные черви и другие типы [[Вредоносная программа|вредоносного ПО]], которые могут повредить [[Операционная система|операционной системе]].


== Вредоносные программы под Linux ==
== Вредоносные программы под Linux ==
Исторически большинство вредоносного программного обеспечения создавалось для операционной системы [[Windows|Microsoft Windows]], которая занимает бóльшую часть рынка операционных систем<ref>{{Cite web|lang=en|url=https://gs.statcounter.com/os-market-share/desktop/worldwide|title=Desktop Windows Version Market Share Worldwide|author=|website=StatCounter Global Stats|date=|publisher=|accessdate=2020-10-26|archive-date=2017-01-24|archive-url=https://web.archive.org/web/20170124113625/https://gs.statcounter.com/os-market-share/desktop/worldwide|deadlink=no}}</ref>.
[[Unix]]-подобные системы считаются хорошо защищёнными от [[Компьютерный вирус|компьютерных вирусов]]<ref name="Granneman">{{cite web|url=http://www.securityfocus.com/columnists/188|title=Linux vs. Windows Viruses|accessdate=2009-06-29|accessyear=2009|last=Granneman|first=Scott|authorlink=|year=2003|month=October|archiveurl=http://www.webcitation.org/65lFnL2hD|archivedate=2012-02-27}}</ref>. До сих пор не было ни одного широко распространённого вируса для Linux, в отличие от систем типа [[Microsoft Windows]], это связано в том числе с системой прав доступа {{Нет АИ|27|10|2015}}, отсутствием (в большинстве дистрибутивов) предустановленных сетевых служб, принимающих входящие соединения, и быстрым исправлением уязвимостей Linux<ref name="Yeargin">{{cite web|url=http://librenix.com/?inode=21|title=The short life and hard times of a linux virus|accessdate=2009-06-29|accessyear=2009|last=Yeargin|first=Ray|authorlink=|year=2005|month=July|archiveurl=http://www.webcitation.org/65lFo0WEb|archivedate=2012-02-27}}</ref>. Несмотря на это, вирусы потенциально могут внедриться в незащищённые системы на Linux и осуществлять вредоносную деятельность и даже, возможно, распространяться к другим системам.


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


Для получения привилегий супер-администратора, как правило, требуется либо применение эксплойтов, эксплуатирующих незакрытые уязвимости в ядре Linux или в сервисах, имеющих root-привилегии для собственной деятельности, либо методы [[Социальная инженерия|социальной инженерии]] (например, попытка выдать вирус за легальное приложение, требующее административных полномочий). Эксплуатация уязвимостей затрудняется быстрым закрытием известных уязвимостей, в результате чего распространение вируса прекращается вскоре после выхода обновлений безопасности, а метод социальной инженерии мало эффективен ввиду как правило высокого технического уровня пользователей, имеющих административные полномочия. Это, в совокупности с различными способами запуска программ при запуске операционной системы в различных вариантах (дистрибутивах) Linux, приводит к тому, что найти из известных вирусов такой, чтобы он мог быть успешно запущен и мог осуществить свою вредоносную деятельность на современных дистрибутивах — задача не тривиальная. Найти среди них вирус, способный к самостоятельному распространению — практически невозможная.
Для получения привилегий суперпользователя ([[рутинг]]), как правило, требуется либо применение эксплойтов, эксплуатирующих незакрытые уязвимости в [[Ядро Linux|ядре Linux]] или в сервисах, имеющих root-привилегии для собственной деятельности, либо методы [[Социальная инженерия|социальной инженерии]] (например, попытка выдать вирус за легальное приложение, требующее административных полномочий). Эксплуатация [[Уязвимость (компьютерная безопасность)|уязвимостей]] затрудняется быстрым закрытием известных уязвимостей, в результате чего распространение вируса прекращается вскоре после выхода обновлений безопасности, а метод социальной инженерии малоэффективен ввиду как правило высокого технического уровня пользователей, имеющих административные полномочия, что в совокупности с различными способами запуска программ при загрузке в различных вариантах (дистрибутивах) Linux, приводит к тому, что найти из известных вирусов такой, чтобы он мог быть успешно запущен и мог осуществить свою вредоносную деятельность на современных дистрибутивах — задача не тривиальная<ref>{{Cite web|lang=en-US|url=https://unixmen.com/linux-free-viruses-malware/|title=Is Linux Free From Viruses And Malware? {{!}} Unixmen|author=Roy s|accessdate=2020-11-08|archive-date=2021-01-18|archive-url=https://web.archive.org/web/20210118021004/https://www.unixmen.com/linux-free-viruses-malware/|deadlink=no}}</ref>.


Для [[Linux]]-систем доступны вирусные сканеры<ref>{{Cite web|lang=ru|url=https://habr.com/ru/company/ruvds/blog/342582/|title=Десять лучших антивирусов для Linux|website=habr.com|accessdate=2020-10-26|archive-date=2020-10-29|archive-url=https://web.archive.org/web/20201029144304/https://habr.com/ru/company/ruvds/blog/342582/|deadlink=no}}</ref>, основное назначение которых — обнаружение вирусов и другого вредоносного ПО для операционных систем. Они умеют проверять проходящую через них [[Электронная почта|электронную почту]], например, чтобы защитить компьютеры с системами Microsoft Windows, получающих почту через корпоративный [[почтовый сервер]]. Случаи обнаружения антивирусами вирусов для Linux «вживую» («in the wild») либо не имели места, либо о них не известно, известен, например, {{iw|Linux Malware Detect|LMD}}.
Первый вирус для Linux (Bliss) появился в конце сентября 1996 года: заражённый файл был помещён в ньюс-группу alt.comp.virus и ещё некоторые. В феврале следующего года вышла исправленная версия. В октябре 1996 года в электронном журнале, посвящённом вирусам VLAD, был опубликован исходный текст вируса Staog.<ref>[http://vx.netlux.org/vx.php?id=zv03 Virus Laboratory And Distribution] VLAD Magazine</ref> Ранее, в 1995 году, была опубликована книга Марка Людвига «The Giant Black Book of Computer Viruses», в которой приведены исходные тексты вирусов Snoopy для FreeBSD.<ref>Mark Ludwig. [http://vx.netlux.org/lib/vml01.html The Giant Black Book of Computer Viruses] American Eagle Publications, Inc. 1995. ISBN 0-929408-10-1</ref> Snoopy и Bliss написаны на языке Си и могут быть перенесены практически в любую UNIX-подобную операционную систему с минимальными изменениями.


== Основные способы заражения ==
Число вредоносных программ под Linux увеличилось в последние годы.<!-- когда? --> В частности, за [[2005 год]] произошло удвоение количества linux вирусов с 422 до 863<ref name="Patrizio">{{cite web|url=http://www.internetnews.com/dev-news/article.php/3601946|title=Linux Malware On The Rise|accessdate=2009-06-29|accessyear=2009|last=Patrizio|first=Andy|authorlink=|year=2006|month=April|archiveurl=http://www.webcitation.org/65lFoUOuQ|archivedate=2012-02-27}}</ref>. Имелись редкие случаи обнаружения вставок вредоносных программ ([[Троянская программа|троянских программ]]) в официальных сетевых [[репозиторий|репозиториях]] или популярных сайтах дополнений<ref>http://www.linuxcenter.ru/news/2002/10/09/1237/ , http://kunegin.narod.ru/ref7/troya/sposob.htm , http://www.xakep.ru/post/20379/default.asp, http://www.opennet.ru/opennews/art.shtml?num=24610</ref>. Как правило, число инсталляций таких троянов измеряется сотнями или тысячами, после чего троян удаляется, а пострадавшим пользователям требуется выполнить инструкции по удалению трояна на своих компьютерах, после чего троян становится историей.
# [[Бинарные файлы]] и [[Исходный код|исходные коды]], полученные от сторонних репозиториев или пользователей, могут содержать вирус. [[Скрипты]] оболочки (shell scripts) после запуска могут выполнять программы и иметь доступ к [[файл]]ам. Вместо специфической версии библиотеки может быть подставлена поддельная библиотека.
# При помощи [[Wine]] могут работать вирусы, предназначенные для [[Microsoft Windows]] (ввиду использования многими вирусами недокументированных [[Системный вызов|системных вызовов]] Windows, которые очень плохо реализованы в [[Wine]], риск заражения меньше). Как правило, через Wine вирусы способны жить лишь до перезапуска операционной системы, так как стандартные методы автозапуска программ в Windows не работают в Wine. Исключение — файловые вирусы, то есть заражающие исполнимые файлы легитимных программ. Вирус снова запустится, как только пользователь запустит заражённую программу.
# Методы [[Социальная инженерия|социальной инженерии]], например, [[фишинг]], которые базируются на использовании невнимательности пользователей.


Класс файловых вирусов практически перестал существовать, уступив место троянам и бэкдорам, существующим в одном (реже в двух) экземпляре (файле) на диске, и запускающихся через стандартные (или не очень) механизмы автозапуска в Windows. Любой уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал двоичный файл. Бинарный запуск под учётной записью root может заразить всю систему. Уязвимости, связанные с root-правами, могут позволить вредоносному ПО, работающему под конкретной учётной учётной записью, заразить всю систему. Использование [[Репозиторий|репозиториев]] разработчиков снижает вероятность заражения из-за того, что разработчики поддерживают и всегда могут проверить свои программы на отсутствие вирусов. Наличие [[Контрольная сумма|контрольных сумм]] при проверке сделало маловероятными методы [[DNS spoofing|DNS]]- и [[ARP-spoofing|ARP]]-спуфинга. Техника [[Детерминированная компиляция|воспроизводимой сборки]] позволяет проверить, что код, заверенный [[Электронная подпись|электронной подписью]], может быть безопасно и целостно преобразован в бинарный файл.
Вирусные сканеры доступны для [[Linux]]-систем. Основное их назначение — обнаружение вирусов и другого вредоносного ПО для операционных систем Windows. Они умеют проверять проходящую через них электронную почту, например, чтобы защитить компьютеры с системами Microsoft Windows, получающих почту через корпоративный почтовый сервер. Случаи обнаружения антивирусами вирусов для Linux «в живую» («in the wild») либо не имели места, либо о них не известно.


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


=== Вирусы и трояны<ref>{{Cite web|url=http://ibeentoubuntu.blogspot.com/2007/10/so-you-want-to-know-how-to-use-anti.html|title=I' Been to Ubuntu: So You Want to Know How to Use Anti-virus Software on Ubuntu?|author=Unknown|website=I' Been to Ubuntu|date=2007-10-12|accessdate=2020-11-08|archive-date=2020-11-17|archive-url=https://web.archive.org/web/20201117022830/http://ibeentoubuntu.blogspot.com/2007/10/so-you-want-to-know-how-to-use-anti.html|deadlink=no}}</ref> ===
Вот список наиболее известных вирусов для Linux:
Если заражённый бинарный файл, содержащий вирус, был запущен, то система будет временно заражена, поскольку ядро Linux находится в памяти и доступно только для чтения. Уровень заражения будет зависеть от того, какой пользователь с какими привилегиями запускал бинарный файл. Как уже отмечалось выше, пользователь, являющийся root-пользователем, запустивший такой файл, автоматически заразит всю систему. [[Повышение привилегий|Система повышения привилегий]] позволяет при переходе к различным уровням доступа заразить всё большие уровни системы.
* [[Компьютерный червь|Черви]]:

** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=23854 Adm]
Для того, чтобы вписать в комплилируемую программу код, который, например, может запускать ретранслятор, который запускается, когда пользователь совершает вход в почтовое клиент-серверное приложение, задача не столь сложная; гораздо сложнее написать программу-манипулятор (троян), которая будет исполнять только вредоносную задачу.
** [http://www.f-secure.com/v-descs/adore.shtml Adore]
** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=23856 Cheese]
** [[Devnull]]
** [http://www.f-secure.com/v-descs/kork.shtml Kork]
** [[Lapper]]
** [[Ramen worm]] ([[w:Ramen worm|Англ.]])
** [[L10n worm|Linux/Lion]] ([[w:L10n worm|Англ.]])
** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=23864 Mighty]
** [http://www.f-secure.com/v-descs/slapper.shtml Slapper]
* [[Компьютерный вирус|Компьютерные вирусы]]:
** 42<ref>{{cite web|url=http://vx.eof-project.net/viewtopic.php?pid=1049|title=Linux.42: Using CRC32B (SSE4.2) instruction in polymorphic decryptor|last=herm1t|year=2008|month=August|archiveurl=http://www.webcitation.org/65lFpGKJC|archivedate=2012-02-27}}</ref><ref>{{cite web
| url = http://blogs.technet.com/mmpc/archive/2008/09/10/life-the-universe-and-everything.aspx
| title = Life,
the Universe, and Everything
| last = Ferrie
| first = Peter
| year = 2008
| month = September
| archiveurl = http://www.webcitation.org/65lFpoy4F
| archivedate = 2012-02-27
}}</ref>
** Arches<ref>{{cite web|url=http://vx.netlux.org/lib/vhe01.html|title=Заражение ELF-файлов с использованием выравнивания функций для Linux|last=herm1t|year=2006|month=August|archiveurl=http://www.webcitation.org/65lFqeGEr|archivedate=2012-02-27}}</ref>
** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=21703 Alaeada]
** [http://vil.nai.com/vil/content/v_130506.htm Binom]
** [[Bliss (virus)|Bliss]]
** [http://www.roqe.org/brundle-fly/ Brundle]
** [http://eof-project.net/sources/herm1t/Linux.Coin/ Coin]<ref>{{cite web|url=http://www.vxheavens.com/lib/vhe04.html|title=Reverse of a coin: A short note on segment alignment|last=herm1t|year=2007|month=October|archiveurl=http://www.webcitation.org/65lFrLlLt|archivedate=2012-02-27}}</ref><ref>{{cite web|url=http://vx.netlux.org/lib/apf31.html|title=Heads or tails?|last=Ferrie|first=Peter|year=2009|month=September|archiveurl=http://www.webcitation.org/65lFs1HEP|archivedate=2012-02-27}}</ref>
** [http://vx.netlux.org/herm1t/dawn/index.html Dawn]
** [http://www.viruslist.com/en/viruslist.html?id=3994&key=00001000050000200004 Diesel]
** [http://eof-project.net/sources/herm1t/Linux.Hasher/ Hasher]
** [http://www.viruslist.com/en/viruslist.html?id=3994&key=00001000050000200004 Kagob]
** [http://eof-project.net/sources/herm1t/Linux.Lacrimae/ Lacrimae]
** [http://eof-project.net/sources/herm1t/Linux.Pilot/ Pilot]
** [http://vx.netlux.org/lib/vmd01.html MetaPHOR] (также известный как Simile)
** [http://www.viruslist.com/ru/viruses/encyclopedia?virusid=21728 OSF.8759]
** [[Remote Shell Trojan|RST]]<ref>[http://www.viruslist.com/en/viruses/encyclopedia?virusid=21734 Virus.Linux.RST.a]</ref>
** [[Staog]]
** [http://www.viruslist.com/ru/viruses/encyclopedia?virusid=21739 Siilov.5916]
** [http://www.viruslist.com/ru/viruslist.html?id=3276 Vit.4096 ]
** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=21756 Winter]
** [http://www.f-secure.com/v-descs/lindose.shtml Winux] (также известный как Lindose или PEElf)
** [http://www.viruslist.com/en/viruses/encyclopedia?virusid=21759 ZipWorm]
* [[Троянская программа|Троянские программы]]:
** [http://www.symantec.com/security_response/writeup.jsp?docid=2006-021417-0144-99 Kaiten — Linux.Backdoor.Kaiten]
** [http://www.symantec.com/security_response/writeup.jsp?docid=2007-072612-1704-99 Rexob — Linux.Backdoor.Rexob]


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


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


== Ссылки ==
== Ссылки ==
* [http://vx.netlux.org/herm1t/ Linux/FreeBSD вирусы, Си, Ассемблер]
* [https://web.archive.org/web/20100203224837/http://vx.netlux.org/herm1t/ Linux/FreeBSD вирусы, Си, Ассемблер]


{{Linux}}
{{Linux}}

Текущая версия от 21:51, 9 января 2024

Вероятно, первые компьютерные вирусы для семейства ОС 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[англ.].

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

  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. Архивировано 24 января 2017 года.
  4. Roy s. Is Linux Free From Viruses And Malware? | Unixmen (амер. англ.). Дата обращения: 8 ноября 2020. Архивировано 18 января 2021 года.
  5. Десять лучших антивирусов для Linux. habr.com. Дата обращения: 26 октября 2020. Архивировано 29 октября 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. Архивировано 17 ноября 2020 года.

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