Введение
Самовоспроизводящаяся вредоносная программа. Кодирование червя.
coding of a worm
Компьютерный червь – это автономная вредоносная компьютерная программа, которая реплицирует себя для распространения на другие компьютеры. Он часто использует компьютерную сеть для распространения, полагаясь на уязвимости в системе безопасности целевого компьютера для получения доступа. Затем он использует этот компьютер в качестве хоста для сканирования и заражения других компьютеров. Когда эти новые зараженные червем компьютеры оказываются под контролем, червь продолжает сканировать и заражать другие компьютеры, используя их в качестве хостов, и этот процесс повторяется. Компьютерные черви используют рекурсивные методы для копирования себя без программ-носителей и распространяются, используя преимущества экспоненциального роста, тем самым захватывая и заражая все большее количество компьютеров за короткий промежуток времени. Черви почти всегда наносят сети какой-либо ущерб, даже если он ограничивается потреблением пропускной способности, в то время как вирусы почти всегда повреждают или изменяют файлы на целевом компьютере. Многие черви разработаны исключительно для распространения и не пытаются изменять системы, через которые они проходят. Однако, как показали случаи с червем Морриса и Mydoom, даже эти "беспаевые" черви могут вызывать серьезные сбои, увеличивая сетевой трафик и вызывая другие непредвиденные последствия.
История
Термин "червь" впервые был использован в романе Джона Брюннера "Шоковый всадник" (1975). В романе Никлас Хафлингер разрабатывает и запускает червя для сбора данных в качестве акта мести влиятельным людям, управляющим национальной электронной информационной сетью, вызывающей массовое единообразие. "В сети сейчас самый большой червь, который автоматически саботирует любые попытки его отследить. Такого червя с такой крепкой "головой" и таким длинным "хвостом" ещё не было!" "Тогда ему пришло в голову, и он чуть не рассмеялся. Флюкнер прибег к одному из старейших приемов и выпустил в континентальную сеть самовоспроизводящегося червя, вероятно, возглавляемого группой доносов, "одолженной" у крупной корпорации, который будет переходить от одного узла к другому каждый раз, когда его кредитный код вводится с клавиатуры. Убить такого червя может занять дни, а иногда и недели." В ходе апелляционного процесса Морриса Апелляционный суд США оценил стоимость удаления червя с каждой установки от 200 до 53 000 долларов; эта работа привела к созданию координационного центра CERT и рассылки Phage. Сам Моррис стал первым человеком, осужденным по Закону о компьютерном мошенничестве и злоупотреблениях 1986 года. Conficker, компьютерный червь, обнаруженный в 2008 году, который в основном нацелен на операционные системы Microsoft Windows, использует 3 различные стратегии распространения: локальный поиск, поиск в локальной сети и глобальный поиск. Этот червь считался гибридной эпидемией и заразил миллионы компьютеров. Термин "гибридная эпидемия" используется из-за трех отдельных методов, которые он использовал для распространения, что было обнаружено в результате анализа кода.
Вред
Любой код, предназначенный для выполнения задач, помимо распространения червя, обычно называется "полезной нагрузкой". Типичные вредоносные полезные нагрузки могут удалять файлы на зараженной системе (например, червь ExploreZip), шифровать файлы при атаке программы-вымогателя или похищать данные, такие как конфиденциальные документы или пароли. Некоторые черви могут устанавливать бэкдор. Это позволяет удаленно управлять компьютером, превращая его в "зомби", под контролем автора червя. Сети таких машин часто называют ботнетами и широко используются для различных вредоносных целей, включая рассылку спама или проведение DoS-атак. Некоторые специализированные черви целенаправленно атакуют промышленные системы. Stuxnet распространялся преимущественно через локальные сети и зараженные USB-накопители, поскольку его цели никогда не подключались к ненадежным сетям, таким как Интернет. Этот вирус способен уничтожить основное программное обеспечение для управления производством, используемое химическими, энергетическими и электроэнергетическими компаниями в различных странах мира. В случае Stuxnet, наиболее серьезно пострадали Иран, Индонезия и Индия. Он использовался для отправки команд другому оборудованию на заводе и для сокрытия этих команд от обнаружения. Stuxnet использовал множество уязвимостей и четыре различных эксплойта нулевого дня (например,) в системах Windows и Siemens SIMATIC WinCC для атаки на встроенные программируемые логические контроллеры промышленных машин. Хотя эти системы функционируют независимо от сети, если оператор вставит зараженный вирусом накопитель в USB-порт системы, вирус сможет получить контроль над системой без каких-либо дополнительных операционных требований или запросов.
Черви с добрыми намерениями
Полезный червь или античервь – это червь, разработанный для выполнения действий, которые его автор считает полезными, хотя и не обязательно с разрешения владельца компьютера, на котором он работает. Начиная с первых исследований червей в Xerox PARC, предпринимались попытки создания полезных червей. Эти черви позволили Джону Шоху и Джону Хьюпу протестировать принципы Ethernet в их сети компьютеров Xerox Alto. Подобным образом, семейство червей Nachi пыталось загружать и устанавливать исправления с веб-сайта Microsoft для устранения уязвимостей в хост-системе, используя те же самые уязвимости для проникновения. На практике, хотя это и могло повысить безопасность этих систем, это приводило к значительному сетевому трафику, перезагрузке компьютера в процессе установки исправлений и выполнялось без согласия владельца или пользователя компьютера. Независимо от полезной нагрузки или намерений создателей, специалисты по безопасности рассматривают все черви как вредоносное ПО. Другим примером подобного подхода является исправление ошибки в Roku OS, позволяющее получить root-доступ к Roku OS через обновление каналов заставки, которые заставка будет пытаться подключить к telnet и исправить устройство. В одном исследовании был предложен первый компьютерный червь, работающий на втором уровне модели OSI (канальном уровне), использующий топологическую информацию, такую как таблицы Content Addressable Memory (CAM) и информацию Spanning Tree, хранящуюся в коммутаторах, для распространения и поиска уязвимых узлов до тех пор, пока не будет охвачена вся корпоративная сеть. Античерви используются для борьбы с последствиями червей Code Red, Blaster и Santy. Welchia является примером полезного червя. Используя те же уязвимости, что и червь Blaster, Welchia заражал компьютеры и автоматически начинал загружать обновления безопасности Microsoft для Windows без согласия пользователей. Welchia автоматически перезагружает зараженные компьютеры после установки обновлений. Одним из этих обновлений был патч, устраняющий уязвимость.