Когда появился первый сетевой вирус
Когда появился первый компьютерный вирус
Добрый день, друзья. Мы опять возвращаемся к теме компьютерных вирусов. Как вы знаете, вирус — это программа вредитель, способная довольно сильно навредить компьютеру.
Можно сказать, что это — кошмар человека современности. При этом, данный кошмар в нашем мире присутствует около семидесяти лет. За это время вирусов появилось довольно много.
Можно сказать, что по поводу компьютерных вредителей можно написать целый ряд книг. Но, давайте вернёмся к нашей теме, как, и, главное, когда впервые появился первый компьютерный вирус?
Когда появился компьютерный вирус? Компьютерные вредители в сети интернет впервые начали появляться с возникновением самого интернета. Предпосылку первого вируса заложил программист Джон фон Нейман в 1949 году. Данный ученый создал теорию о программах, которые могут само воспроизводиться.
В 1969 году американская компания AT&T Bell Laboratories создаёт многоуровневую операционку – UNIX. В это же время другая компания Research Projects Agency создаёт операционную систему – ARPANET. Так как эти операционные системы многозадачные, появилась возможность используя их создавать более сложные программы, а, следовательно, и вирусы.
Первый компьютерный вирус
В 1979 году программисты из Xerox Palo Alto Research Center создали программку, которая, по сути, являлась первым компьютерным червём. По современным понятиям, программа довольно проста и элементарна. Суть её заключалась в поиске компьютеров в интернете.
Чуть позже, в 1983 г. ученый Калифорнийского университета создал само понятие – компьютерный вирус. Данное понятие описывает программу, суть которой заключается во влиянии на прочие программы и внедрению в их код изменений, благодаря которым, можно без усилий само размножаться.
Создатель первого компьютерного вируса
Некий Роберт Моррис придумал вредителя, заразившего около 6000 ПК по всему миру. Роберту в это время было всего 23 года. После этого, по всему миру прошел гигантский скандал. Через три года, после этого случая, компанией Symantec был разработан первый антивирус, Norton Anti-Virus software.
В 1998 г. заражению подверглись примерно пятьсот правительства и военных ведомств США. В этой хакерской атаке был обвинён Ирак. Однако, было выявлено, что к данному заражению систем имеют причастность пара Калифорнийских подростка.
В 1999 году появился вредитель Melissa. Данный вирус смог заразить несколько тысяч компьютеров очень быстро, нанеся ущерб примерно в 80000000$. В тоже время антивирусы побили рекорды продаж. В этом же году, некий Робот Мелисса подверг заражению офисные документы, в основном программы Word. Заражение произошло через рассылку — Outlook.
Обратите внимание! Были подвергнуты заражению текстовые файлы! Это я к тому, что многие пользователи считают, что в текстовых файлах не может содержаться вирус!
Данное вредоносное ПО посылал различные пароли, шифры, конфиденциальные данные о владельце компьютера своему создателю. Анна Курникова в 2001 году заявила, что вредитель был создан с применением инструментария. Примечательно, что, используя данный инструментарий похожий вирус может создать даже малоопытный программист.
Вирусы угрожают даже государственному сайту Белого дома. К примеру, вирус Code Red в 2001 году заразил несколько десятков тысяч ПК. Ущерб составил более 2000000000$. Зараженные компьютеры в определённый момент произвели DDos атаку на сайт Белого дома.
Вирус удалось вовремя отбить. В том же, 2001 году появился вирус Nimda. Его считают особенно изощренным вирусом. В 2003 г. Вредитель Slammer сумел заразить несколько сот тысяч компьютеров в течение трех часов.
Это уникальный вирус, он мог задержать рейс практически любого самолёта мира. Также, он очень быстро распространялся.
В 2004 году вредительское ПО MyDoom претендовало на место самого быстро распространяющегося вируса с применением электронной почты. Но, он произвел небольшой ущерб. Я описал историю вредительства компьютерных вредителей до 2004 года.
После этого, подобных масштабных ущербов, за исключением единичных случаев, не было. В основном, благодаря усовершенствованию антивирусных программ и брандмауэрам!
А вы знаете другие успешные атаки вирусов? Или, может быть, у вас есть собственный опыт? Просьба поделиться в комментариях!
Дарвин
Тема 10. Компьютерные вирусы
Компьютерным вирусом называется программа, способная внедряться в другие программы, размножаться (саморепликация) и выполнять несанкционированные действия.
Вирусы могут быть полезными (в частности, в игровых программах), безвредными (например, создающими только звуковые и видеоэффекты) или наносящими ущерб (препятствующими нормальной работе ПЭВМ или разрушающими файловую структуру). На первых мы заострять внимание не будем.
Возможными каналами проникновения вирусов в компьютер являются накопители на сменных носителях информации и средства сетевой коммуникации.
Первые случаи массового заражения ПЭВМ вирусами были отмечены в 1987 г.
Сначала появился так называемый Пакистанский вирус, созданный братьями Амджатом и Базитом Алви. Этим они решили наказать американцев, покупавших дешевые незаконные копии ПО в Пакистане: такие копии братья стали продавать, инфицируя их разработанным вирусом. В результате он заразил только в США более 18 тыс. компьютеров и, проделав кругосветное путешествие, попал в СНГ (тогда — СССР).
Следующим широко известным вирусом стал вирус Lehigh (Лехайский вирус), распространившийся в одноименном университете США. В течение нескольких дней он уничтожил содержимое нескольких сот дискет из библиотеки вычислительного центра университета и личных дискет многих студентов. По состоянию на февраль 1989 г. только в США этим вирусом было поражено около 4 тыс. ПЭВМ.
Существуют потенциально опасные места в интернете, на которых проще всего подцепить компьютерный вирус. Поэтому если человек часто пользуется такими небезопасными ресурсами, у него должен стоять антивирус в своей самой новой комплектации.
Затем количество вирусов и число зараженных компьютеров стали лавинообразно увеличиваться в соответствии с экспоненциальным законом. Это потребовало принятия срочных мер как технического и организационного, так и юридического характера.
Среди побудительных мотивов, движущих авторами вирусов, можно назвать следующие:
― озорство и одновременно недопонимание всех последствий распространения вируса;
― неестественная потребность в совершении преступлений;
― невозможность использовать свои знания и умения в конструктивном русле (это в большей степени экономическая проблема);
― уверенность в полной безнаказанности (в ряде стран, в том числе и в нашей, пока отсутствуют соответствующие правовые нормы).
Подобно биологическим вирусам жизненный цикл компьютерных вирусов, как правило, включает следующие фазы:
1) латентный период, в течение которого вирусом никаких действий не предпринимается;
2) инкубационный период, в рамках которого вирус только размножается;
3) период проявления, в течение которого наряду с размножением выполняются несанкционированные пользователем действия.
Первые две фазы служат для того, чтобы скрыть источник вируса, канал его проникновения, и заразить (инфицировать) как можно больше файлов до выявления вируса. Длительность этих фаз может определяться временным интервалом, наступлением какого-либо события или наличием требуемой конфигурации аппаратных средств (в частности, наличием НЖМД).
Компьютерные вирусы классифицируются в соответствии со следующими признаками:
1) среда обитания;
2) способ заражения среды обитания;
3) способ активизации;
4) способ маскировки.
5) по алгоритмам функционирования
1) по среде обитания выделяют:
― файловые вирусы, инфицирующие программные файлы, т.е. файлы с программами;
― загрузочные вирусы, заражающие компоненты системной области, используемые при загрузке DOS;
― файлово-загрузочные вирусы, интегрирующие черты первых двух групп.
Файловые вирусы могут внедряться (имплантироваться) в:
― файлы с компонентами DOS;
― позиционно-независимые перемещаемые машинные программы, находящиеся в СОМ-файлах;
― позиционно-зависимые перемещаемые машинные программы, размещаемые в ЕХЕ-файлах;
― внешние драйверы устройств (SYS- и BIN-файлы);
― объектные модули (OBJ-файлы);
― файлы с программами на языках программирования (в расчете на компиляцию этих программ);
― командные файлы (ВАТ-файлы);
― объектные и символические библиотеки (LIB- и др. файлы);
― оверлейные файлы (OV?-, PIF- и др. файлы).
Наиболее часто файловые вирусы способны внедряться в СОМ и/или ЕХЕ-файлы.
Загрузочные вирусы могут заражать:
― BR (точнее — SB) на дискетах;
― BR (точнее — SB) системного логического диска, созданного на винчестере;
― MBR (точнее — NSB) на жестком диске.
Загрузочные вирусы распространяются на дискетах в расчете на то, что с них будет (возможно, случайно) осуществлена попытка загрузиться.
Конечно, у файловых вирусов инфицирующая способность выше.
Файлово-загрузочные вирусы обладают еще большей инфицирующей способностью, так как могут распространяться как в программных файлах, так и на дискетах с данными.
2) Способы заражения среды обитания, естественно, зависят от типа последней. Зараженная вирусом среда называется вирусоносителем.
Тело файлового вируса может размещаться при имплантации в:
― хвостовой (свободной) части последнего кластера, занимаемого файлом.
Наиболее легко реализуется внедрение вируса в конец СОМ-файла, что мы кратко и опишем. При получении управления вирус выбирает файл-жертву и модифицирует его следующим образом:
1) дописывает к файлу собственную копию (тело вируса);
сохраняет в этой копии оригинальное начало файла;
2) сохраняет в этой копии оригинальное начало файла;
3) заменяет оригинальное начало файла на команду передачи управления на тело вируса.
3) В зависимости от способа активизации различают:
Для нерезидентного вируса активизация эквивалентна получению им управления после запуска инфицированной программы. Тело вируса исполняется однократно в случае выполнения зараженной программы и осуществляет описанные выше действия.
Резидентный вирус логически можно разделить на две части — инсталлятор и резидентный модуль. При запуске инфицированной программы управление получает инсталлятор, который выполняет следующие действия:
1) размещает резидентный модуль вируса в ОЗУ и выполняет операции, необходимые для того, чтобы последний хранился в ней постоянно;
2) подменяет некоторые обработчики прерываний, чтобы резидентный модуль мог получать управление при возникновении определенных событий (например, в случае открытия или считывания файла).
Для размещения вируса резидентно в памяти могут использоваться стандартные средства DOS. Однако применение такого метода может быть легко обнаружено антивирусными средствами. Наиболее совершенные вирусы действуют в обход средств DOS, непосредственно корректируя список МСВ. Это позволяет произвести установку резидентного модуля в большей степени скрытно.
Получив управление по прерыванию, резидентный модуль вируса выполняет нижеприведенные действия:
1) возможно, отыскивает и инфицирует очередную жертву;
2) вероятно, выполняет несанкционированные действия.
В частности, резидентный вирус может заразить считываемый, открываемый или просто найденный программный файл.
По сравнению с нерезидентными резидентные вирусы являются более изощренными и опасными.
Загрузочные вирусы, как правило, создаются резидентными, так как иначе они практически не будут обладать инфицирующей способностью.
4) В соответствии со способами маскировки различают:
Авторы первых вирусов уделяли особое внимание механизмам размножения (репликации) с внедрением тел в другие программы. Маскировка же от антивирусных средств не осуществлялась. Такие вирусы называются немаскирующимися.
В связи с появлением антивирусных средств разработчики вирусов сосредоточили усилия на обеспечении маскировки своих изделий. Сначала была реализована идея самошифрования вируса. При этом лишь небольшая его часть является доступной для осмысленного чтения, а остальная — расшифровывается непосредственно перед началом работы вируса. Такой подход затрудняет как обнаружение вируса, так и анализ его тела специалистами;
В последнее время появились стелс-вирусы, названные по аналогии с широкомасштабным проектом STEALTH по созданию самолетов-невидимок. Методы маскировки, используемые стелс-вирусами, носят комплексный характер, и могут быть условно разделены на две категории:
1) маскировка наличия вируса в программе-вирусоносителе;
2) маскировка присутствия резидентного вируса в ОЗУ.
К первой категории относятся:
1) автомодификация тела вируса;
2) реализация эффекта удаления тела вируса из вирусоносителя при чтении последнего с диска, в частности, отладчиком (это осуществляется, путем перехвата прерывания, конечно, в случае наличия резидентного вируса в ОЗУ);
3) имплантация тела вируса в файл без увеличения его размера;
4) эффект неизменности длины инфицированного файла (осуществляется аналогично п. 2);
5) сохранение неизменным оригинального начала программных файлов.
Например, при чтении каталога средствами DOS резидентный вирус может перехватить соответствующее прерывание и искусственно уменьшить длину-файла. Конечно, реальная длина файла не меняется, но пользователю выдаются сведения, маскирующие ее увеличение. Работая же с каталогами непосредственно (в обход средств DOS), ,Вы получите истинную информацию. Такие возможности предоставляет, в частности, оболочка Norton Commander.
К второй категории методов маскировки можно отнести:
1) занесение тела вируса в специальную зону резидентных модулей DOS, в хвостовые части кластеров, в CMOS-память, видеопамять и т.п.;
2) модификацию списка МСВ, о чем уже говорилось;
3) манипулирование обработчиками прерываний, в частности, специальные методы их подмены, с целью обойти резидентные антивирусные средства;
4) корректировку общего объема ОЗУ.
Конечно, маскировка может комбинироваться с шифрованием.
5) По алгоритмам функционирования вирусы делятся на следующие группы:
· паразитические вирусы, изменяющие содержимое файлов или секторов диска. Они достаточно просто могут быть обнаружены и уничтожены;
· вирусы-репликаторы ("черви"), саморазмножающиеся и распространяющиеся по компьютерным сетям. Сами деструктивных действий не выполняют;
· вирусы-невидимки способны прятаться при попытках их обнаружения. Они перехватывают запрос антивирусной программы и мгновенно либо удаляют временно свое тело из зараженного файла, либо подставляют вместо своего тела незараженные участки файлов;
· самошифрующиеся вирусы (в режиме простоя зашифрованы и расшифровываются только в момент начала работы вируса);
· мутирующие вирусы (периодически автоматически видоизменяются: копии вируса не имеют ни одной повторяющейся цепочки байт), необходимо каждый раз создавать новые антивирусные базы для обезвреживания этих вирусов;
· "отдыхающие" вирусы (основное время проводят в латентном состоянии и активизируются только при определенных условиях, например, вирус "Чернобыль" функционирует только в день годовщины чернобыльской трагедии).
Можно схематично представить классификацию вредоносных программ:
Файловые вирусы чаще всего внедряются в исполняемые файлы, имеющие расширения .ехе и .com, но могут внедряться и в объектные файлы, библиотеки, в командные пакетные файлы, программные файлы на языках процедурного программирования. Файловые вирусы могут создавать файлы-двойники.
Загрузочные вирусы внедряются в загрузочный сектор дискеты (boot-sector) или в сектор, содержащий программу загрузки системного диска (master boot record). При загрузке ОС с зараженного диска такой вирус изменяет программу начальной загрузки либо модифицирует таблицу размещения файлов на диске, создавая трудности в работе компьютера или даже делая невозможным запуск операционной системы.
Файлово-загрузочные вирусы интегрируют возможности двух предыдущих групп.
Макровирусы заражают и искажают текстовые файлы (.doc) и файлы электронных таблиц некоторых популярных редакторов. Комбинированные сетевые макровирусы не только заражают создаваемые документы, но и рассылают копии этих документов по электронной почте (печально известный вирус "I love you").
Сетевые черви используют для своего распространения команды и протоколы телекоммуникационных систем (электронной почты, компьютерных сетей). Они подразделяются на Internet-черви (распространяются по Интернету), LAN-черви (распространяются по локальной сети), IRC-черви (Internet Relay Chat) ─ распространяются через чаты. Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий.
В отдельную группу выделяются троянские программы, которые не размножаются и не рассылаются сами.
Троянские программы подразделяют на несколько видов (см. рис. 4.3), которые маскируются под полезные программы и выполняют деструктивные функции. Они могут обеспечить злоумышленнику скрытый несанкционированный доступ к информации на компьютере пользователя и ее похищение (отсюда их название). Такие программы иногда называют утилитами несанкционированного удаленного управления.
Эмуляторы DDoS-атак (Distributed Denial of Service) приводят к -атакам на веб-серверы, при которых на веб-сервер из разных мест поступает большое количество пакетов, что и приводит к отказам работы системы.
Дроппер (от англ. drop ─ бросать) ─ программа, которая "сбрасывает" в систему вирус или другие вредоносные программы, при этом сама больше ничего не делает.
Скрипт-вирусы ─ это вирусы, написанные на скрипт-языках, таких как Visual Basic Script, Java Script и др.
Для своевременного обнаружения и удаления вирусов важно знать основные признаки появления вируса в компьютере:
─ неожиданная неработоспособность компьютера или его компонентов;
─ невозможность загрузки операционной системы;
─ медленная работа компьютера;
─ частые зависания и сбои в компьютере;
─ прекращение работы ранее успешно исполнявшихся программ;
─ искажение или исчезновение файлов и каталогов;
─ непредусмотренное форматирование диска;
─ необоснованное увеличение количества файлов на диске;
─ необоснованное изменение размера файлов;
─ искажение данных в CMOS-памяти;
─ существенное уменьшение объема свободной оперативной памяти;
─ вывод на экран непредусмотренных сообщений и изображений;
─ появление непредусмотренных звуковых сигналов.
Источниками непреднамеренного вирусного заражения могут явиться съемные носители информации и системы телекоммуникаций. Съемные носители информации ─ чаще всего это дискеты, съемные жесткие диски, контрафактные компакт-диски. Для обнаружения и удаления компьютерных вирусов разработано много различных программ.
Антивирусные программы можно разделить на:
· программы-доктора, или дезинфекторы, фаги;
· программы-вакцины, или иммунизаторы.
Приведем краткие характеристики антивирусных программ.
Программы-детекторы осуществляют поиск компьютерных вирусов в памяти машины и при их обнаружении сообщают об этом. Детекторы могут искать как уже известные вирусы (ищут характерную для конкретного уже известного вируса последовательность байтов ─ сигнатуру вируса), так и произвольные вирусы (путем подсчета контрольных сумм для массива файла).
Программы-ревизоры являются развитием детекторов, но выполняют более сложную работу. Они запоминают исходное состояние программ, каталогов, системных областей и периодически или по указанию пользователя сравнивают его с текущим. При сравнении проверяется длина файлов, дата их создания и модификации, контрольные суммы и байты циклического контроля и другие параметры. Ревизоры эффективнее детекторов.
Программы-доктора ─ самые распространенные и популярные (например, Kaspersky Antivirus, Doctor Web, Norton Antivirus и т. д.), которые не только обнаруживают, но и лечат зараженные вирусами файлы и загрузочные секторы дисков. Они сначала ищут вирусы в оперативной памяти и уничтожают их там (удаляют тело резидентного файла), а затем лечат файлы и диски. Многие программы-доктора являются полифагами и обновляются достаточно часто.
Программы-вакцины применяются для предотвращения заражения файлов и дисков известными вирусами. Вакцины модифицируют файл или диск таким образом, что он воспринимается программой-вирусом уже зараженным, и поэтому вирус не внедряется.
Для защиты компьютера от вирусов необходимо:
· не использовать нелицензионные или непроверенные программные продукты;
· иметь на компьютере один или несколько наборов антивирусных программ и обновлять их еженедельно;
· не пользоваться дискетами с чужих компьютеров, а при необходимости такого использования сразу же проверять их антивирусными программами;
· не запускать программ, назначение которых неизвестно или непонятно;
· использовать антивирусные программы для входного контроля информации, поступающей по сети;
· не раскрывать вложения в электронные письма от неизвестных отправителей;
· при переносе на компьютер архивированных файлов сразу же после разархивирования проверять их антивирусными программами;
· перед открытием текстовых, табличных и иных файлов, содержащих макросы, проверять их на наличие вирусов;
· периодически проверять винчестер на наличие вирусов;
· не оставлять дискеты в дисководе при включении и выключении компьютера во избежание заражения их загрузочными вирусами.
Собственно, как и все прогрессивное, все новые идеи сначала придумывают талантливые люди, писатели-фантасты и учёные-теоретики, а потом их воплощают в жизнь. Так и случилось с компьютерными вирусами.
Во второй половине прошлого столетия учёные уже достаточно активно экспериментировали с вирусами. Но это были исключительно лабораторные исследования.
Первые вирусы для IBM PC-совместимых компьютеров, то есть таких, которыми мы пользуемся в повседневной жизни, создали в 1987 году в Пакистане двое братьев программистов, которые даже указали свои имена, адрес и телефон в коде вируса. Они это сделали для того, чтобы просто измерить, как часто их программу будут копировать с одного компьютера на другой. Важно отметить, что тогда это был абсолютно безвинный вид деятельности.
Дальше за идею создания компьютерных вирусов уже более активно ухватилась молодёжь, этих подростков принято называть киберпанками. Им постепенно стало неинтересно писать простые вирусы, хотелось себя проявить, стать известными. Так, появились первые деструктивные компьютерные вирусы, главная цель которых было полное уничтожение информации на компьютере. Именно этот тип вирусов очень сильно напугал мировую общественность и фактически побудил к созданию антивирусной отрасли как таковой.
Дальше вирусы постепенно развивались, появлялись вирусы практически для всех существующих операционных систем. Существуют вирусы для Windows, MacOS, Linux, Unix, Android, Symbian, iOS и других. Практически под все типы операционных систем, которые дают возможность установки дополнительного программного обеспечения, существуют вирусы. Появились первые полиморфные вирусы, то есть вирусы, которые могут менять свой код после заражения нового файла, шифровальные вирусы. С появлением сетей, появились новые виды вредоносных программ: сетевые черви, троянские программы, загрузчики, руткиты, но про них мы поговорим позже.
С появлением операционной системы Windows 95, разработчики этой ОС заявили, что для неё вообще невозможно создать вирусы и она будет максимально защищённой. Но уже через месяц руководству Microsoft показали, что они очень сильно поспешили с таким громким заявлением.
Интересный факт в том, что автор вируса был найден. Им оказался житель Южной Кореи, он даже сознался в содеянном, но поскольку в Южной Корее на тот момент времени не было соответствующего законодательства и пострадавших от вируса в самой Корее, то автор вируса не понёс никакого наказания.
⇒ Выходили новые операционные системы, и создание вирусов для них было и есть довольно серьёзным вызовом для злоумышленников. Ещё существовало мнение, что не существует вирусов для операционных систем Unix и Linux, но вирусов для них так же было написано достаточно много. В 2000 году началась эпидемия вируса RedLove для операционной системы Linux. Наиболее важным здесь было то, что вирус использовал для заражения уязвимость в самой операционной системе и мог свободно распространяться между компьютерами в сети, а поскольку пользователи Linux не пользовались антивирусами, то бороться с эпидемией пришлось приблизительно год и заражёнными оказались сотни тысяч компьютеров.
В разное время было много мифов о компьютерных вирусах. Ещё когда мониторы были с электронно-лучевыми трубками, существовал миф, что существует вирус, который может свести лучи в центре экрана, прожечь экран и убить человека, сидящего перед монитором. Также был миф, что существуют вирусы, которые могут уничтожить жёсткие диски компьютера и так далее. Как правило, все мистификации возникают вокруг возможности компьютера влиять на окружающую среду. Было даже мнение, что существуют вирусы, которые могут показать на экране такую цветовую гамму, способную убить пользователя или, по крайней мере, свести его с ума. На самом деле все это мистификация. Никакими такими возможностями вирусы не обладают.
Ещё одна мистификация, которую приписывают вирусам – это возможность размножатся в фантастических условиях, чуть ли не положив заражённую флешку возле компьютера. Но мы должны понимать, что вирус — это программа и он подчиняется всем правилам, которые свойственны компьютерным программам.
В реальном мире пользователю довольно сложно разобраться, где может быть вирус, а где – нет. Например, ещё 10 лет назад преобладало мнение, что в файлах изображений вирусов не может быть. И если вам прислали изображение, вы его открываете, то заразиться вы не можете. Но уже через несколько лет была найдена уязвимость в ряде форматов графических файлов, позволявшая при открытии картинки некоторым просмотрщикам запускать так называемый шелл-код вируса, который активировал троянскую программу, установленную на компьютере. Сейчас, открыв определённый формат документа заразиться вирусом невозможно, но это не означает, что этого не может стать возможным уже через неделю. И если вы непрофессионал, который следит за последними обновлениями в области вирусных программ, лучше выходить из того, что какая угодно ссылка, которую вы можете открыть с компьютера или мобильного приложения теоретически может привести к заражению.
Когда появился червь Морриса и кто его автор
Все изменилось с появлением червя Морриса в ноябре 1988-го. Он не проектировался как сверхэффективный вирус, но стал таковым из-за ошибки его создателя, а также беспечности админов — они не были готовы к появлению подобного вредоноса. Итог — до $100 млн экономического ущерба. Правда, вокруг этой суммы ходит много споров.
Червь Морриса получил такое название по имени своего создателя — Роберта Морриса. Роберт родился в 1965 году, его отец был специалистом в области криптографии, работал в Bell Labs и помогал в разработке Multics и Unix. То есть будущему программисту было у кого поучиться.
Дополнительной драмы добавляло то, что его отец в то время уже являлся сотрудником Агентства национальной безопасности. Он занимал руководящий пост в подразделении, ответственном за IT-безопасность систем федерального правительства.
Червь Морриса нередко называют первым сетевым червем, однако он может считаться таковым лишь потому, что это первая подобная программа, расползшаяся чуть ли не по всему интернету. Интернет, напомним, тогда был совсем небольшим и имел мало общего с тем, что позже придумал Тим Бернерс-Ли.
Эксперимент по измерению интернета пошел не так
Роберт задумывал свое детище якобы как экспериментальный проект. Он должен был измерить тот самый интернет — об этом программист заявил позже. Оригинальный мотив в 1988 году мог быть иным. На это указывает и то, что парень тщательно пытался замести следы, отправляя червя в свободное плавание из кампуса MIT, а не из своей альма-матер.
Код писался для запуска на компьютерах VAX компании Digital Equipment Corporation и SUN под управлением BSD UNIX. Роберт использовал несколько уязвимостей, в том числе в программах sendmail (отвечает за работу с электронной почтой) и fingerd (получение некоторых данных о пользователе). Также эксплуатировались иные дыры, позволявшие узнать пароли локального пользователя.
В sendmail, например, после ряда исправлений имелся баг: в определенных условиях можно было запустить дебаг (внезапно: отправив команду debug). Тогда sendmail позволяла вместо адресов указывать дополнительные инструкции. На деле, конечно, все не так просто, но и особых изысков Роберту придумывать не пришлось.
Защиту продумал, выключатель не предусмотрел
Парень посчитал, что админы очень скоро заметят вторжение и предпримут шаги для защиты. Например, заставят червя думать, что его копия уже установлена. 23-летний программист учел и это. Его код действительно проверял наличие копии себя на чужом компьютере, однако в 14% случаев устанавливался, невзирая на полученный отклик. Есть фейк? Все равно установлюсь. Есть другая копия? Да кто ж поймет, все равно установлюсь.
Серверы тем временем раз за разом выполняли бесконечные команды, подаваемые червем, полностью парализующим работу систем: программа Морриса работала исключительно в оперативной памяти. Данный факт также не позволял изучить файлы червя, которые удалялись в случае отключения. В дампах обнаружить проблему не удавалось, так как червь отключал сбор подобной информации. fork, в свою очередь, решал проблему с поиском вредного процесса, который регулярно менял название.
Наказание — общественное порицание и штраф
На определение авторства ушло время. Есть версия, согласно которой отец 23-летнего парня рекомендовал ему самому рассказать о себе властям. Походит на правду, учитывая пост Морриса-старшего и его непосредственную связь с правительством и нацбезопасностью.
Как бы то ни было, в 1989 году Роберт предстал перед судом, став первым человеком, обвиненным по новой статье о компьютерных преступлениях — Computer Fraud and Abuse Act. Ему грозило до пяти лет тюрьмы и четверть миллиона долларов штрафа. Он отделался тремя годами условно, $10 тыс. штрафа и 400 часами общественных работ (такое наказание программист посчитал чрезмерным, но апелляцию отклонили).
Считается, что история с червем Морриса подняла несколько не очевидных тогда моментов развития интернета и распространения компьютеров. Оказалось, что вирусы могут быть разными и очень заразными, а бороться с ними не так уж просто. Пользователи узнали о темной стороне сети, а власти поняли, что существующие системы безопасности могут выйти из строя в мгновение ока и поделать с этим ничего нельзя.
Роберт Моррис, в свою очередь, пережил свалившуюся на него популярность. Спустя шесть лет после инцидента он основал стартап Viaweb, который был продан Yahoo! за $49 млн. Моррис воспользовался случаем, взял перерыв, отучился и получил степень, сразу устроившись на работу в MIT.
В 2005 году он с давним партнером Полом Грэмом основал Y Combinator и продолжил академическую карьеру. Из последних его достижений можно отметить тот факт, что в 2019 году Моррис стал членом Национальной инженерной академии США. Хороший был старт, хотя несколько темных пятен в истории осталось.
Читайте также: