Выбрать главу

В начале 80-х два сотрудника исследовательского центра компании Xerox в Пало-Альто начали экспериментировать с программами, которые они называли «червями». Черви могли прогоняться на многих компьютерах в локальной сети (Arpanet была глобальной сетью, соединявшей удаленные компьютеры). Термин «червь» они взяли из научно-фантастического романа «Оседлавший взрывную волну», классики научной фантастики, написанного Джоном Браннером в 1975 году. В книге описывалось авторитарное правительство, осуществлявшее тотальный контроль над обществом посредством всемогущей компьютерной сети, пока взбунтовавшийся программист не заразил сеть программой, названной «ленточный глист». Чтобы уничтожить программу – паразита, правительство было вынуждено выключить сеть, при этом лишившись своей власти. После этой книги Браннер стал культовой фигурой для всех читателей фантастики. Роман оказал сильное влияние и на зарождавшийся компьютерный андеграунд – неформальные объединения телефонных фриков и компьютерных хакеров в таких местах, как Кремниевая долина и Кембридж, – возникший одновременно с появлением персональных компьютеров. Джон Шок и Ион Хепп из Xerox искали способ сделать совместное использование вычислительных ресурсов в локальной сети более доступным. Они пришли к созданию 5 или 6 рабочих червей. Один назывался «червь-глашатай», его миссия заключалась в том, чтобы путешествовать по сети и оставлять объявления. Другой – «червь-диагностик» – должен был прыгать с машины на машину, постоянно проверяя, все ли в порядке. Конечно, самой распределенной из программ, которые они замыслили, должен был стать «червь-вампир». Такая программа, полагали они, получит преимущества почти безграничной автономности в сети рабочих станций. Ведь эти машины по ночам простаивают, а это время можно было бы использовать с толком. Вампир должен был автономно включаться, когда люди разойдутся по домам, и приступать к работе над сложными задачами, требующими больших вычислительных ресурсов. Утром, когда люди заявят свои права на машины, вампир уступит им поле деятельности и исчезнет до вечера.

Но Шоку и Хеппу довольно быстро пришлось познакомиться с потенциальной опасностью червей. Однажды ночью неправильно функционировавшая программа вышла из-под контроля в локальной сети исследовательского центра Пало-Альто. Утром, когда программисты вернулись, они обнаружили, что зависли компьютеры во всем здании. Они стали перезагружать системы, но стоило им запустить машину, как дефективный червь тут же заставлял ее зависать. Ситуацию осложняло то, что многие машины находились в запертых комнатах и до них нельзя было добраться. Наконец они написали программу-вакцину, которая пошла по сети, делая каждому компьютеру электронную прививку.

Кен Томпсон из Bell Labs пользовался Arpanet, экспериментируя с компьютерной защитой. В конце 70-х, когда Томпсон работал над статьей о взламывании парольной защиты, он использовал несколько узлов сети – Гарвард, МГГ, университет Карнеги-Меллона и Беркли, то есть те, где пароли были общедоступны, либо где у него был доступ к этим файлам. Его программа, взламывавшая пароли, сработала, и он обнаружил, что нечаянно захватил пароли нескольких ведущих администраторов Arpanet, людей с доступом ко многим машинам по всей сети. Он попробовал пароли и убедился, что они работают. В руках «плохих ребят» такой изъян в защите был бы весьма опасен, так что Томпсон предупредил владельцев паролей.

* * *

Роберт проскочил изучение вычислительной техники в школе. В Делбартоне были первые компьютеры Apple, но Роберт с 12 лет имел доступ к машинам в десять раз более мощным, так что его освободили от занятий. В то время, как в школе раздавали награды ученикам за работу с Apple, Роберт уже писал сложные программы и технические статьи. Однако мало кто из преподавателей Роберта и его друзей по Делбартону подозревал, насколько этот застенчивый второкурсник разбирается в компьютерах. Компьютерная карьера Роберта началась дома. Когда он был на последнем курсе, старый друг Боба Фред Грамп взял Роберта на неполный рабочий день в Bell Labs. Шестнадцатилетний Роберт работал как любой из десятков студентов колледжа, стажировавшихся или подрабатывавших в Bell. В отличие от своего отца, он был необыкновенно тихим, но унаследовал отцовское ненасытное любопытство и интерес к окружающему миру.

Благодаря его прежним несанкционированным путешествиям по компьютерам Bell Labs Роберт уже сделал себе что-то вроде имени. Но он был прилежным работником. У него был собственный проект, которым он занимался, – создание более защищенной и действенной реализации UUCP, программы, использовавшейся для передачи файлов с одной UNIX-машины на другую. Требовалось написать реализацию UUCP, которая могла бы справиться с интенсивностью и разнообразием траффика, развернувшегося в сети за годы. Не каждый студент университета смог бы переработать такой большой массив ПО. Несмотря на некоторые шероховатости, программа Роберта оказалась настолько хороша, что стала моделью для UUCP, в итоге принятой Bell Labs. Роберт написал статью о результатах своей работы, озаглавив ее «Ещё одна попытка UUCP».

Неверно было бы думать, что Роберт целиком посвятил себя компьютерам. Он плавал за школьную команду и пел в хоре. Все же он оставался закомплексованным и, насколько могли судить его родители, по-прежнему не отдавал отчет в своих интеллектуальных способностях. Энн ничего не оставалось, как взять на себя разговор с директором школы. Она объяснила, что, как ей кажется, Роберту пойдет на пользу, если учителя будут его хвалить в присутствии других учеников. Через несколько дней, когда школа получила результаты ежегодного теста SAT, директор встретил Роберта и во всеуслышание объявил, что его результаты – 800 баллов по языку и 700 по математике – самые высокие за всю историю школы. С этого момента его уверенность в себе стала крепнуть. Для продолжения образования он выбрал Гарвардский колледж. Там учился не только его отец, но и несколько поколений его предков по матери. Роберт подал документы досрочно и был принят.

В Гарварде Роберт оставался таким же застенчивым и неловко чувствовал себя в обществе. Он сразу же наметил себе вычислительный центр имени Эйкена. Эйкеновская лаборатория обслуживала отделение прикладных наук. Главный вычислительный центр, где от операторов не требовалось ничего, кроме умения заправить бумагу в принтер, находился в другом конце университетского городка, в помещении Центра информационных технологий. В Эйкене машины были посильнее, нравы посвободнее, поэтому Эйкен была куда более привлекательным местом для работы. Когда Роберт поступил в Гарвард, факультета компьютерных наук как такового там не было. Его заменяла кафедра компьютерных наук на факультете прикладных наук, где работало 17 преподавателей. Гарвардские студенты, серьезно интересовавшиеся вычислительной техникой, попадали по закону притяжения в Эйкен, где проводил все свое время и преподавательский состав.