Компьютерный червь — это отдельная вредоносная компьютерная программа , которая копирует себя для распространения на другие компьютеры. [1] Часто она использует компьютерную сеть для своего распространения, полагаясь на сбои в системе безопасности целевого компьютера для доступа к ней. Она будет использовать эту машину в качестве хоста для сканирования и заражения других компьютеров. Когда эти новые зараженные червем компьютеры контролируются, червь продолжит сканировать и заражать другие компьютеры, используя эти компьютеры в качестве хостов, и это поведение будет продолжаться. [2] Компьютерные черви используют рекурсивные методы для копирования себя без программ-носителей и распространения себя на основе использования преимуществ экспоненциального роста , таким образом контролируя и заражая все больше и больше компьютеров за короткое время. [3] Черви почти всегда наносят по крайней мере некоторый вред сети, даже если только потребляют полосу пропускания , тогда как вирусы почти всегда повреждают или изменяют файлы на целевом компьютере.
Многие черви предназначены только для распространения и не пытаются изменить системы, через которые они проходят. Однако, как показали червь Морриса и Mydoom , даже эти черви «без полезной нагрузки» могут вызвать серьезные сбои, увеличивая сетевой трафик и другие непреднамеренные эффекты.
Термин «червь» впервые был использован в этом смысле в романе Джона Бруннера 1975 года «Наездник ударной волны ». В романе Николас Хафлингер разрабатывает и запускает червя, собирающего данные, в качестве акта мести могущественным людям, управляющим национальной электронной информационной сетью, которая вызывает массовое конформизм. «У вас есть самый большой червь, который когда-либо был на свободе в сети, и он автоматически саботирует любую попытку контролировать его. Никогда не было червя с такой крепкой головой или таким длинным хвостом!» [4] «И тут его осенило, и он почти рассмеялся. Флюкнер прибег к одному из старейших трюков в запасе и выпустил в континентальную сеть самовоспроизводящегося ленточного червя, вероятно, возглавляемого группой доносчиков, «позаимствованной» у крупной корпорации, который перемещался с одного узла на другой каждый раз, когда его кредитный код набирался на клавиатуре. Чтобы убить такого червя, могли потребоваться дни, а иногда и недели». [4]
Второй в истории компьютерный червь был разработан как антивирусное программное обеспечение. Названный Reaper , он был создан Рэем Томлинсоном для копирования себя через ARPANET и удаления экспериментальной программы Creeper (первого компьютерного червя, 1971).
2 ноября 1988 года Роберт Таппан Моррис , аспирант факультета компьютерных наук Корнеллского университета , выпустил на свободу то, что стало известно как червь Морриса , нарушив работу многих компьютеров, подключенных к Интернету, по оценкам на тот момент, одной десятой от всех подключенных. [5] Во время апелляционного процесса Морриса Апелляционный суд США оценил стоимость удаления червя из каждой установки в размере от 200 до 53 000 долларов США; эта работа побудила к созданию Координационного центра CERT [6] и списка рассылки Phage. [7] Сам Моррис стал первым человеком, которого судили и осудили в соответствии с Законом о компьютерном мошенничестве и злоупотреблении 1986 года . [8]
Conficker , компьютерный червь, обнаруженный в 2008 году, который в первую очередь был нацелен на операционные системы Microsoft Windows , является червем, который использует три различные стратегии распространения: локальное зондирование, соседнее зондирование и глобальное зондирование. [9] Этот червь считался гибридной эпидемией и поразил миллионы компьютеров. Термин «гибридная эпидемия» используется из-за трех отдельных методов, которые он использовал для распространения, что было обнаружено с помощью анализа кода. [10]
Независимость
Компьютерным вирусам обычно требуется хост-программа. [11] Вирус записывает свой собственный код в хост-программу. Когда программа запускается, написанная вирусная программа выполняется первой, вызывая заражение и повреждение. Червю не нужна хост-программа, так как он является независимой программой или фрагментом кода. Поэтому он не ограничен хост-программой , но может работать независимо и активно проводить атаки. [12] [13]
Атаки с использованием эксплойтов
Поскольку червь не ограничен программой-носителем, черви могут использовать различные уязвимости операционной системы для проведения активных атак. Например, вирус " Nimda " использует уязвимости для атаки.
Сложность
Некоторые черви объединяются со скриптами веб-страниц и скрываются в HTML- страницах с помощью VBScript , ActiveX и других технологий. Когда пользователь получает доступ к веб-странице, содержащей вирус, вирус автоматически размещается в памяти и ждет, когда его активируют. Существуют также некоторые черви, которые объединяются с программами бэкдора или троянскими конями , такими как « Code Red ». [14]
Заразность
Черви более заразны, чем традиционные вирусы. Они заражают не только локальные компьютеры, но и все серверы и клиентов в сети, основанной на локальном компьютере. Черви могут легко распространяться через общие папки , электронную почту , [15] вредоносные веб-страницы и серверы с большим количеством уязвимостей в сети. [16]
Любой код, предназначенный для чего-то большего, чем просто распространение червя, обычно называют « полезной нагрузкой ». Типичные вредоносные полезные нагрузки могут удалять файлы на хост-системе (например, червь ExploreZip ), шифровать файлы в атаке с целью вымогательства или изымать данные, такие как конфиденциальные документы или пароли. [ необходима цитата ]
Некоторые черви могут устанавливать бэкдор . Это позволяет автору червя удаленно управлять компьютером как « зомби ». Сети таких машин часто называют ботнетами , и они очень часто используются для различных вредоносных целей, включая рассылку спама или выполнение DoS- атак. [17] [18] [19]
Некоторые специальные черви атакуют промышленные системы целенаправленно. Stuxnet в основном передавался через локальные сети и зараженные флэш-накопители, поскольку его цели никогда не были подключены к ненадежным сетям, таким как Интернет. Этот вирус может уничтожить основное программное обеспечение компьютера управления производством, используемое химическими, энергетическими и передающими компаниями в разных странах мира — в случае Stuxnet больше всего пострадали Иран, Индонезия и Индия — он использовался для «отдачи приказов» другому оборудованию на заводе и сокрытия этих команд от обнаружения. Stuxnet использовал несколько уязвимостей и четыре различных эксплойта нулевого дня (например: [1]) в системах Windows и системах Siemens SIMATICWinCC для атаки на встроенные программируемые логические контроллеры промышленных машин. Хотя эти системы работают независимо от сети, если оператор вставит зараженный вирусом диск в USB-интерфейс системы, вирус сможет получить контроль над системой без каких-либо других эксплуатационных требований или подсказок. [20] [21] [22]
Черви распространяются, используя уязвимости в операционных системах. Поставщики, у которых есть проблемы с безопасностью, регулярно поставляют обновления безопасности [23] (см. « Вторник исправлений »), и если они установлены на машине, то большинство червей не могут на нее распространиться. Если уязвимость раскрывается до того, как поставщик выпускает исправление безопасности, возможна атака нулевого дня .
Пользователям следует быть осторожными, открывая неожиданные электронные письма, [24] [25] и не запускать прикрепленные файлы или программы, а также посещать веб-сайты, которые связаны с такими электронными письмами. Однако, как и в случае с червем ILOVEYOU , и с ростом и эффективностью фишинговых атак, остается возможность обмануть конечного пользователя и заставить его запустить вредоносный код.
Антивирусное и антишпионское программное обеспечение полезно, но его необходимо обновлять новыми файлами шаблонов по крайней мере каждые несколько дней. Также рекомендуется использовать брандмауэр .
Пользователи могут минимизировать угрозу, которую представляют черви, регулярно обновляя операционную систему и другое программное обеспечение своих компьютеров, избегая открытия нераспознанных или неожиданных писем и используя брандмауэр и антивирусное программное обеспечение. [26]
Методы смягчения последствий включают в себя:
Иногда заражение можно обнаружить по его поведению — обычно это случайное сканирование Интернета в поисках уязвимых хостов для заражения. [27] [28] Кроме того, для обнаружения новых червей можно использовать методы машинного обучения, анализируя поведение подозреваемого компьютера. [29]
Полезный червь или античервь — это червь, разработанный для выполнения чего-то, что его автор считает полезным, хотя и не обязательно с разрешения владельца исполняющего компьютера. Начиная с первых исследований червей в Xerox PARC , были попытки создать полезных червей. Эти черви позволили Джону Шоху и Джону Хаппу протестировать принципы Ethernet в их сети компьютеров Xerox Alto . [30] Аналогичным образом, семейство червей Nachi пыталось загрузить и установить исправления с веб-сайта Microsoft, чтобы исправить уязвимости в хост-системе, эксплуатируя те же самые уязвимости. [31] На практике, хотя это могло сделать эти системы более безопасными, оно генерировало значительный сетевой трафик, перезагружало машину в ходе исправления и выполняло свою работу без согласия владельца или пользователя компьютера. Независимо от их полезной нагрузки или намерений их авторов, эксперты по безопасности считают всех червей вредоносным ПО . Другим примером такого подхода является исправление ошибки в Roku OS , позволяющее получить root-доступ к Roku OS через обновление каналов заставки, при этом заставка пытается подключиться к Telnet и исправить устройство. [32]
В одном исследовании был предложен первый компьютерный червь, работающий на втором уровне модели OSI (уровень канала передачи данных), использующий топологическую информацию, такую как таблицы ассоциативной памяти (CAM) и информацию связующего дерева, хранящуюся в коммутаторах, для распространения и поиска уязвимых узлов до тех пор, пока не будет охвачена вся корпоративная сеть. [33]
Анти-черви использовались для борьбы с последствиями червей Code Red , [34] Blaster и Santy . Welchia является примером полезного червя. [35] Используя те же недостатки, которые эксплуатировал червь Blaster , Welchia заражал компьютеры и автоматически начинал загружать обновления безопасности Microsoft для Windows без согласия пользователей. Welchia автоматически перезагружает компьютеры, которые он заражает, после установки обновлений. Одним из этих обновлений был патч, исправляющий эксплойт. [35]
Другими примерами полезных червей являются «Den_Zuko», «Cheeze», «CodeGreen» и «Millenium». [35]
Черви искусства поддерживают художников в создании масштабных эфемерных произведений искусства. Они превращают зараженные компьютеры в узлы, которые вносят вклад в создание произведений искусства. [36]