Среди всех достижений, занесенных в анналы информационной технологии, вклад, бесспорно, уникален: именно он ввел в компьютерный лексикон термин «вирус».
Профессор
Два десятилетия спустя многочисленные компании и люди продолжают расплачиваться за эту ошибку.
Внимание общественности приковано в основном к злоумышленникам, использующим недостатки технологии, и о том, как появились вирусы, известно немногим. Первые их образцы создавались не бунтующими тинэйджерами или преступниками, а учеными, системными администраторами и горсткой хакеров старой школы, которые считали способность своих программ автоматически самовоспроизводиться ловким трюком. Результатом стала повесть о технических гениях, простодушных академиках, высокомерных бюрократах и о склонности людей вредить организациям просто из спортивного интереса.
Сара Гордон, старший научный сотрудник Symantec Security Response, выловила свой первый компьютерный вирус больше десятилетия назад. Она была настолько очарована этим явлением, что потратила несколько лет на изучение подпольного мира создателей вирусов. «Проектирование средств распространения по интернету информации — любой информации — это палка о двух концах, — написала Гордон в недавнем интервью по email. — Даже если вирусы не предназначались для вредительства или угрозы, вырвавшись из контролируемой среды, они могут дать неожиданные результаты».
Именно это произошло с отцами компьютерного вируса: экспоненциальное размножение кода значительно усиливает мельчайшие ошибки и может превратить безвредную шалость в разрушительную стихию. В отличие от простых технологий, стоящих за отдельными
Коуэн во многом предвосхитил будущее, когда в ноябре 1983 года, будучи аспирантом Университета Южной Калифорнии, впервые выдвинул свою идею. На недельном семинаре по компьютерной безопасности он задумал программу, способную заражать собственными копиями другие системы. «Вдруг как будто лампочка вспыхнула, и я сказал: „Ага!“, — вспоминает Коуэн. — Уже через несколько секунд я знал, как написать такую программу, и то, что она будет работать».
Его тогдашний руководитель Лен Эдлман — знаменитый создатель алгоритма шифрования с открытым ключом и буква «А» в названии популярной технологии RSA (Rivest, Shamir & Adleman) — предложил считать эти программы цифровым аналогом вирусов. Так оно и повелось.
Рождение концепции
В работе, опубликованной в следующем году, Коуэн определил вирус как «программу, способную „заражать“ другие программы, включая в них собственные копии». Он доказал, что такие вирусы, несмотря на присутствие средств защиты, могут распространяться в любой системе, позволяющей обмениваться информацией, стандартно интерпретировать ее и передавать дальше.
Чтобы продемонстрировать потенциальную опасность, Коуэн написал тестовую программу, которая показывала, как быстро, угрожая безопасности
Вирусу удавалось «получить системные права» — то есть по существу перехватить управление компьютером — в среднем за полчаса или час. В самом удачном случае на это потребовалось всего пять минут. «Он мог распространяться, невзирая на все известные тогда технологии защиты, — говорит Коуэн. — Концепция продемонстрировала, что самым слабым звеном является пользователь с минимальными правами, и что программа может быстро оказаться у пользователя с самыми широкими правами».
Работа Коуэна содержала формальное определение вируса и показала, что под это определение подходят и другие программы, такие как черви. Но в то время уже существовало несколько подобных программ, а многие из его теоретических постулатов были сформулированы еще Джоном фон Нейманом, одним из
Родившийся в Венгрии в 1903 году, фон Нейман заложил основы многих разделов вычислительной техники, математики и физики, включая логический анализ стратегии, называемый теорией игр, и новый раздел квантовой физики. С 1948 по 1956 год он развил многие работы одного из своих сподвижников, известного ученого Алана Тюринга.
Тюринг выступил с идеей универсальной вычислительной системы, логической конструкции, способной решать широкий спектр задач при помощи процессора и ленты для хранения программ и данных. В компьютерах до сих пор используются процессоры и память — основные компоненты, определенные в труде Тюринга.
Фон Нейман развил концепцию Тюринга, предложив универсальный конструктор — систему, способную к самотиражированию. Этот, как он его назвал, самовоспроизводящийся автомат использовал десятки тысяч элементов, каждый из которых мог находиться в любом из 29 состояний, для создания другого такого же автомата в воображаемой распределенной сети. Система оказалась настолько сложной, что для реализации в железе даже ее неполной версии потребовалось более 40 лет.
Борьба за существование
Позднее работа фон Неймана послужила фундаментом нового направления вычислительной техники — теории клеточных автоматов и инспирировала другие исследования по созданию более простых компьютерных «организмов» и искусственной жизни. В начале
В августе 1961 года Виктор Высоцкий изобрел игру под названием «Дарвин», в которой маленькие программы боролись друг с другом за освоение цифрового пространства. Его коллега Дуглас Макилрой разработал большую часть кода игры, включая подпрограмму, ответственную за воспроизведение. Наконец, третий ученый, Роберт
«Было ясно, что экспериментируя с правилами, вносившими в игру некоторую неопределенность, мы сможем оживить ее после опустошительного вторжения Морриса, но нам нужно было заниматься другими делами, — рассказывает Макилрой, ныне
Однако сами исследователи и их дети оказали глубокое влияние на компьютеры и интернет.
Моррис стал работать в Агентстве национальной безопасности. А в ноябре 1988 года его сын, Роберт младший, создал первого червя, широко распространившегося в интернете. Хотя «Дарвин» не пережил эволюцию своей компьютерной системы IBM 7090, дальнейшие забавы ученого привели к изобретению более популярной игры Core War, где игроки пишут боевые программы на языке Redcode и выставляют их на арену Memory Array Redcode Simulator (MARS) в виртуальной памяти. Многие поклонники до сих пор играют в эту игру в интернете.
Однако все эти цифровые творения содержались в искусственной среде. Проникновению вирусов в компьютеры и их распространению по всему миру способствовала другая игра.
Это была программа Animal, напоминающая «20 вопросов», которая в
В 1974 году Джон Уокер, программист систем UNIVAC (Universal Automatic Calculator) из крупной международной фирмы, разработал собственную версию игры, усовершенствовав ее таким образом, чтобы ошибки при игре с одним игроком учитывались в последующих играх. Игра немедленно стала хитом.
«Мне начали звонить с других установок UNIVAC и просить ленты с игрой», — рассказывает Уокер.
От игр к вирусам
Интернета еще не было, и Уокеру присылали по почте ленты, чтобы он скопировал программу и отослал назад. Этот утомительный процесс быстро ему надоел: «Мне это осточертело, и я задумался о том, как облегчить распространение игры. Тогда я и решил сделать ее самовоспроизводящейся».
В январе 1975 года для распространения новой версии Animal Уокер написал другую программу, Pervade. Всякий раз, когда
Пару месяцев Уокер размышлял над возможными последствиями, опасаясь, не допустил ли он
Через неделю администраторы UNIVAC из других отделений корпорации начали сообщать о неожиданном появлении Animal в их системах. А спустя еще несколько недель программу стали обнаруживать и в других компаниях. «Через несколько месяцев о программе стали много говорить, и все больше людей обращались за ней, — рассказывает Уокер. — Из уст в уста она передавалась не хуже, чем копированием в каталоги».
Когда вышла новая операционная система UNIVAC с измененной структурой каталогов, Pervade перестала работать. Но Уокер утверждает, что модифицированная версия этой программы легко преодолела бы новые средства защиты.
«UNIVAC нагородила кучу мер безопасности, но вот пример угрозы, с которой они ничего не смогут поделать, — сказал он тогда, а Коуэн повторил десятилетие спустя. В начале
В подтверждение непредсказуемой природы вирусов, даже Уокер не предполагал, как долго просуществует его самовоспроизводящееся творение. Недавно он говорил с администратором системы Unisys 2200, потомка компьютеров UNIVAC, который сообщил, что программа все еще работает на его машине.
«Она ищет таблицы файловой системы, которых уже 30 лет как не существует», — говорит Уокер.
Их дом — компьютер
С ростом популярности персональных компьютеров число вирусов стало экспоненциально расти. ПК не только расширили их жизненное пространство, но и породили технически грамотное поколение, способное создавать подобные программы.
Типичный представитель этого поколения — Рич Скрента: ученик девятого класса из пригорода Питтсбурга в 1982 был хорошо знаком с Apple II и любил разыгрывать своих приятелей, вставляя в программы «спецэффекты» вроде автоматического отключения машины после нескольких сеансов работы или вывода на экран язвительного сообщения.
«После того как я проделал это несколько раз, никто не хотел брать у меня игры, — рассказывает Скрента, ныне президент собственной компании Topix.net (скоро должна открыться ее поисковая система). — Тогда я стал думать, как заносить мои приколы на их диски».
В голову пришла мысль написать программу, самораспространяющуюся через диски Apple II. Скрента придумал такой «клонер» (он не называл это вирусом), заражающий часто используемую команду на системных дисках Apple II. Его Elk Cloner подсчитывал, сколько раз использовался диск, и на каждый пятый раз выключал компьютер или выкидывал
Спустя четыре года два брата из Пакистана, Амхад и Басит Фарук Алви, создали первый компьютерный вирус, заражающий IBM PC. Этот вирус, известный под именем Brain, братья использовали в целях настоящего вирусного маркетинга: каждая его копия выводила на экран мигающее сообщение с рекламой их компании Brain Computer Services в Лахоре (Пакистан).
«Опасайтесь этого ВИРУСА… За вакциной обращайтесь к нам», — гласило сообщение, которое и сегодня можно найти на
То было только начало. Вирусам и червям потребовалось больше десяти лет, чтобы накопить критическую массу, зато в последующие годы они стали плодиться чрезвычайно быстро. К концу
По словам Гордон из Symantec, большинство создателей современных вирусов — как и их предшественники — не знает, как программы распространяются в интернете. «Это просто любознательные, часто вполне разумные люди, коммуникабельные и владеющие многими способами общения», — говорит она. Однако Коуэн считает, что научный фундамент современных
«Все, что мы знаем теперь, было известно уже тогда, — говорит он. — Это просто инженерные решения в русле старой науки».
Роберт Лемос (Robert Lemos), CNET News.com