Розыгрыш на $100 млн. Как чуть не посадили создателя первого вируса-червя

История программы, подарившей обычным юзерам словосочетание «компьютерный червь», а своему создателю — условный тюремный срок.

Два дня, которые потрясли компьютерный мир

Системным администраторам не привыкать работать, когда все спят. Ночь со второго на третье ноября 1988 года выдалась тяжелой для администраторов ARPANET — прообраза современного интернета. Она была создана под эгидой Министерства обороны США и соединяла в основном компьютеры, установленные в научных институтах. Вечером 2 ноября исследователи, работавшие на подключенных к сети компьютерах, заметили неладное.

Машины тормозили, зависали и отказывались работать, память была переполнена, а список процессов забит копиями одной и той же программы.
Работа за компьютером, 1988 год. Фото: Paleofuture

Перезагрузки компьютерам не помогали — при повторном запуске копий вредоносной программы становилось еще больше. К утру зараженными оказались 7000 компьютеров — десятая часть сети ARPANET на тот момент. Компьютерные специалисты были в шоке: систему пытались взломать уже не в первый раз, да и само понятие компьютерного вируса к тому моменту уже прочно закрепилось в лексиконе. Но атаки подобных масштабов сеть еще не испытывала.

В это время 22-летний аспирант Корнеллского университета Роберт Моррис пытался при помощи друга разослать ученым анонимное письмо с описанием механизма работы вируса и рекомендациями, как от него защищаться. Именно Моррис был создателем вируса, и явно мог бы его «усмирить». Но вот какая ирония — простая программа не позволила своему творцу этого сделать.

Из-за перегруженных программой сетей данные отправить не получилось

Научное любопытство

Сам Моррис так и не смог позже внятно объяснить, зачем он это сделал. Скорее всего, сыном известного криптографа и компьютерного специалиста двигало научное любопытство. «Червь Морриса», как потом назвали программу, не должен был «подвешивать» ARPANET. Вирус задумывался как безобидный компьютерный эксперимент, proof-of-concept, способ указать специалистам, что их сеть не так уж и хорошо защищена.

Роберт Моррис. Фото: Telegram

Компьютерный червь не содержал в себе никакой смысловой нагрузки и не должен был влиять на работу сети. Все, на что был рассчитан вирус, — копировать самого себя и передавать на другие машины. Почти как вирус простого герпеса: есть у многих, но люди с нормальным иммунитетом его вовсе не замечают.

Что же пошло не так?

Как это работало

Для распространения своей программы Моррис решил использовать уязвимости в Sandmail и Fingerd. Первый — агент для передачи почтовых сообщений, вторая —  программа, запускаемая операционной системой UNIX и отвечающая на запросы о действиях пользователя (например, когда тот последний раз регистрировался в сети). Также вирус передавался при помощи методов rexec и rsh, позволяющих управлять удаленным компьютером. В этом случае для получения доступа к другой машине червь использовал простой, но изящный метод перебора паролей.

Благодаря тому, что многие пользователи имели одинаковые имена и пароли на всех машинах в сети, сложности в этом не было.
Карта сети ARPANET в 1988 году. Фото: МТИ

Кроме того программа пользовалась определенными трюками, которые должны были затруднить специалистам по компьютерной безопасности обнаружение и обезвреживание вируса. Например, после запуска она удаляла свой исполняемый файл и отключала сообщения об ошибках. Также родительский поток выполнения «Червя Морриса» раз в несколько минут создавал дочерний поток, а сам отключался — благодаря этому в списке процессов регулярно обнулялось время работы программы. Ну и вдобавок ко всему червь умел маскироваться под другие, «здоровые» процессы.

Что пошло не так

Поскольку Моррис предполагал, что его программу все же будут обнаруживать и обезвреживать, то снабдил ее простым методом самозащиты. Червь с определенной периодичностью перезаписывал себя, создавая копию. Делал он это каждый раз, когда попадал на новый компьютер, а затем по определенному расписанию.

Обнаружение и удаление активной копии программы никак не гарантировало, что компьютер будет очищен.

Именно в этом механизме и крылась допущенная Моррисом ошибка. Установленный период размножения был слишком коротким, и в результате программа начала создавать избыточное количество копий. Распространение программы приобрело лавинообразный характер, и эксперимент вышел из-под контроля.

Упрощенная схема работы червя. Фото: Apanados
Создатель червя хотел рассказать о нем миру, как только узнал о последствиях собственного эксперимента.

Сперва он сообщил о нем нескольким друзьям, затем (как мы уже упоминали выше) пытался с их помощью сделать рассылку, чтобы помочь усмирить вирус. Когда распространение превратилось в самую настоящую пандемию, Роберт во всем признался отцу и решился на явку с повинной.

Первый киберзлодей

Эпидемия, вызванная «Червем Морриса», была не первым масштабным нашествием компьютерного вируса. Незадолго до этого по миру прокатились вирусы Brain и Jerusalem. Но несмотря на то, что количество зараженных ими компьютеров было куда больше, чем у Morris Worm, они не нанесли подобного ущерба.

Убыток, нанесенный Моррисом, оценили в 96,5 миллиона долларов.

Общее количество часов потери доступа к сети составило 8 миллионов часов — и еще примерно миллион пришлось потратить на восстановление последствий. И это при том, что программа была в целом безвредной!

Суд над Моррисом продолжался до января 1990 года. Изначально парню грозило пять лет лишения свободы и штраф в 25 тысяч долларов. Но учитывая чистосердечное признание и отсутствие в коде вредоносного предназначения, горе-программист отделался условным сроком. К нему добавили 10 тысяч долларов штрафа и 400 часов обязательных общественных работ.

Моррис во время судебного процесса. Фото: Fifth Domain
Роберт Моррис стал первым осужденным по Закону о мошенничестве и злоупотреблениях с применением компьютера — первым киберпреступником в истории США.

Как червь Морриса изменил мир

Morris Worm был далеко не первым компьютерным вирусом — но именно он заставил инженеров и ученых по всему миру задуматься о вопросах безопасности. Именно после эпидемии 1988 года для повышения безопасности системы стало внедряться использование пауз после неправильного ввода пароля и хранение паролей в закрытом файле /etc/shadow вместо доступного для чтения всем пользователям файла /etc/passwd.

Еще одним важным итогом случившегося стало создание в университете Карнеги-Меллона Компьютерной группы реагирования на чрезвычайные ситуации (Computer Emergency Response Team, CERT) — экспертного сообщества, занимающегося проблемами компьютерной безопасности.

Дискета с исходным кодом червя. Фото: This Day in Tech History

Как раз в это время распространение компьютерных сетей начало набирать обороты, и инцидент, случившийся с ARPANET, на какое-то время стал главной темой во всех СМИ, оттеснив на задний план новости о выборах президента США.

Именно после этого обычные юзеры запомнили слово «червь» и начали хоть немного думать перед тем, как вводить пароли из нескольких единиц.

Сам Моррис больше героем новостных сюжетов не становился. Роберт закончил университет, получил докторскую степень, основал свой стартап и написал один из диалектов языка Lisp. И больше нигде так не ошибался — видимо, после 1988 года всегда тщательно проверял свой код.

Это тоже интересно:

«Бояться искусственного интеллекта нормально, но мы далеки от «Скайнета»

10 способов сделать свой компьютер быстрее

Дмитрий Медведев считает, что скоро часть профессий отдадут роботам. Как это будет

Хиты продаж и новинки
Самые лучшие цены на смартфоны
Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter.
Подпишитесь на нас