30
Два часа ночи. В запертых помещениях «Лансинг Партнерс» было темно – свет исходил только от большого компьютерного монитора. Моро любил сидеть в этом кабинете, оформленном в стиле постмодерн, с черно-белыми коврами, титаном, стеклом и отделкой из ценных пород тропических деревьев. Окна во всю стену выходили на нижний Манхэттен и реку Гудзон, и огни Хобокена сверкали в текучей воде, словно бриллианты. Пара буксиров тянули по реке, к морю, баржу с автомобилями. Потрясающая картина.
Эрику нравилось работать на суперкомпьютере «Крэй», даже если такая мощность ему была не нужна. Ценность изделия компании «Крэй» заключалась в его межсетевом экране. Над такой защитой самому Моро пришлось бы изрядно попотеть. Просто невероятно, что эти подонки умудрились преодолеть ее, когда украли исходный код «Черной мамбы»! Однако ту дыру он нашел и залатал – и был абсолютно уверен, что больше ничего подобного нет.
Программист тщательно обдумывал, как приступить к делу. Идея Лансинга о том, чтобы мучить виртуальную собаку, была, конечно, безумной, но чем дольше он размышлял о ней, тем больше склонялся к мысли, что попробовать стоит. Выслеживать программу с помощью строки идентификатора будет гораздо труднее.
Эрик разобрал программу «Лайка» по косточкам. Это был простой говорящий агент-робот, написанный на языке Лисп. Программа умела лаять, вилять хвостом, выпрашивать угощение и в нужное время задирать ногу. Она также рассказывала самые глупые «собачьи» анекдоты, которые только приходилось слышать Моро.
«Что будет, если собака пойдет в блошиный цирк?
Она унесет с собой всех артистов!»
«Пропала собака! Нашедшему гарантируется вознаграждение.
Сэр Баскервиль».
Программист также придумал ловушку, воспользовавшись сетевым экраном компьютера «Крэй». В обычном режиме экран был непроницаем для несанкционированного входящего трафика, но пропускал часть исходящего. Однако из-за того, что компьютер использовали в высокоскоростном трейдинге, экран можно было выключить или даже реверсировать. Именно так и поступил Моро – запретил весь исходящий трафик и разрешил весь входящий, одновременно создав второй сетевой экран, чтобы защитить внутренние данные компании. Получилось нечто вроде «тараканьих ловушек», которые он расставил по своей шикарной мансарде в районе Трайбека. Войти Дороти сможет, а вот выйти уже нет. Когда она пересечет сетевой экран на пути в ловушку, то приведет в действие программный переключатель, который за несколько наносекунд включит экран, блокирующий выход, и запрет ее. Нечто вроде гуманной ловушки «Хавахарт», поскольку Дороти будет поймана живьем.
Но сначала ее нужно заманить в ловушку. Эрик понятия не имел, придет ли Дороти спасать Лайку, если он будет мучить собаку. Но, по крайней мере, это привлечет ее внимание.
Моро внес изменения в текстовую базу данных Лайки и добавил реакции на пытки – собака скулила, визжала, скрежетала зубами от боли, испражнялась, истекала кровью и звала хозяйку на помощь. Лайка была простой программой, и на переделку ее исходного кода у Эрика ушло всего несколько часов.
Когда он расставлял ловушку, зазвонил интерком, и ночная охрана сообщила, что пришел посыльный с едой.
– Пусть поднимется, – сказал программист.
Он встретил разносчика в приемной, дал ему десять процентов на чай и отнес еду из китайского ресторана к себе на стол. Работать на Лансинга было интересно. Моро пришел в «Лансинг Партнерс» двенадцать лет назад. «Партнеры» – это вызывало у него улыбку. Никаких партнеров никогда не было. Только Паркер, Эрик, вспомогательный персонал и идея. Но господь свидетель, они делали настоящие деньги! До встречи с Лансингом Моро был одним из основателей хакерской группы «Джондоу» и попался на краже файлов с военными контрактами «Боинга», что обернулось восемнадцатью месяцами заключения. Когда он освободился, то обнаружил, что прямо у ворот тюрьмы его ждет лимузин. В машине сидел Дж. Паркер Лансинг. И он сделал хакеру предложение, от которого тот не смог отказаться. Моро никогда не забудет, что сделал для него этот человек, и будет вечно ему благодарен. Даже несмотря на то что напарник вызывает у него страх.
За прошедшие двенадцать лет Эрик стал очень богатым – жалованье плюс премия за результат. В этом-то и заключалось достоинство Дж. Паркера. В отличие от остальных инвестбанкиров, он сполна оплачивал труд своего программиста. Лансинг был щедрым. Благодарным. Умным. Безжалостным. А теперь, с дрожью подумал Моро, он еще и убийца. Мысль о том, как они поступили с той женщиной, вызывала у него дурноту. Хладнокровное убийство Меланкур стало для него сильнейшим потрясением, с которым он до сих пор не мог справиться. Программист плохо спал, просыпался среди ночи – в ушах у него звучали крики женщины, а перед глазами мелькало ее тело, падающее с моста… С другой стороны, она вроде как это заслужила – своими постоянными требованиями денег.
Найдя оправдание этому убийству, Эрик усилием воли заставил себя не думать о нем и приняться за дело – то есть разделаться с порцией свинины мушу. Моро не ел весь день, а сейчас время уже приближалось к трем утра. Боже, как он проголодался! Открыв коробочки, он выложил лепешку на картонную тарелочку, ложкой положил на нее свинину и овощи, полил все сливовым и соевым соусом, скатал лепешку трубочкой и сунул ее в рот, так что соус брызнул по все стороны и потек у него по подбородку. Комната наполнилась запахами сои, имбиря, кунжутного масла и глутамата натрия.
Облизав пальцы и вытерев их грудой салфеток, Моро почувствовал, что готов действовать. Он повернулся к клавиатуре и установил ловушку, переключив сетевой экран и оставив свой компьютер полностью открытым. Потом он установил второй экран, защищавший один раздел «Крэй», – чтобы Дороти не натворила бед, пока будет сидеть в ловушке. Кроме того, это не позволит ей улизнуть через черный ход.
Эрик все тщательно обдумал. Он установил на компьютере обычный выключатель, который просто отключает машину – мгновенно отрубает питание. При этом кое-какие данные могут быть утеряны, но это не страшно – все подлежит восстановлению. Зато появляется возможность мгновенно заморозить Дороти.
Теперь все готово. При помощи поисковой машины, похожей на «Кругл», он мог быстро найти идентификационный номер беглой программы и проследить за ним по цепочке серверов. Дороти постоянно перемещалась. Похоже, ее преследовали. Моро запустил в Сеть маленького бота, чтобы тот шел по следу и размещал информацию – о том, что собака у него и что он собирается ее мучить, – в тех местах, где ее может увидеть хозяйка Лайки.
В половине четвертого Эрик загрузил программу «Лайка» за сетевым экраном и принялся «обижать» ее – он кричал на собаку, бил и мучил ее. Все это осуществлялось с помощью текстового набора. Но ударами, жалобным визгом, скулежом и обращенными к Дороти криками о помощи дело не ограничилось – Моро начал удалять фрагменты из текстовой базы данных Лайки, особенно концовки ее шуток, считая это своего рода ампутациями или увечьями.
Через несколько минут это занятие начало казаться мужчине нелепым – мучить говорящего агента-робота, который вопит, умоляет, весь обделывается и взывает о помощи. Бессмысленность плана стала его раздражать, а кроме того, он все больше уверялся в том, что это глупо – думать, что Дороти, обычная компьютерная программа, как-то отреагирует на происходящее. Безумная идея. Лансингу часто приходили в голову такие странные мысли, и хотя некоторые из них срабатывали – причем потрясающе, – большинство оказывались никуда не годными. Моро чувствовал себя дураком и решил, что, если за десять минут ничего не произойдет, он прикроет эту лавочку.
И тут внезапно включился тревожный сигнал сетевого экрана. Экран мгновенно закрылся, изолировав то, что попало в компьютер. Это был огромный бот – два гигабайта. Скорее всего, это Дороти!
Прижав палец к выключателю, Эрик ждал, что будет дальше – не попытается ли программа вырваться или заговорить. Все было тихо.
Но он должен был убедиться, она ли это.
«Дороти, это ты?» – напечатал программист.
Ничего. А ведь если программа хоть немного похожа на ту, что описывала Меланкур, она должна уметь читать все, что вводится с клавиатуры. А затем вывести ответ с помощью любого из текстовых редакторов, загруженных в «Крэй».
«Дороти? Ты здесь?» – еще раз спросил Эрик.
И опять ничего. Но тем не менее в компьютере присутствует большая программа. Таракан в ловушке. Программный монитор показывал, что загрузка центрального процессора увеличилась на 10 процентов. Выполнялась большая, требующая немалых вычислительных мощностей программа. Она что-то делала. Это Дороти, не иначе. Сетевой экран надежно держал ее. Она в ловушке.
«Дороти, ты здесь? Ответь, пожалуйста», – вновь застучал программист по клавиатуре.
Через секунду на экране появились буквы. Сердце Эрика учащенно забилось.
«Моро?» – написал кто-то в текстовом файле.
Мужчина замер. Программа знала, как его зовут. Но потом он расслабился. Естественно, его имя есть везде – как отпечатки пальцев. Большую часть программ для этого компьютера он написал сам.
«Это я, Моро, – ответил программист. – Ты Дороти?»
«Моро, ты на самом деле думаешь, что я буду переживать из-за того, что ты делаешь с этой глупой Лайкой?»
Эрик растерянно уставился на экран. Он не знал, что сказать. Все готово. Дело сделано. Программа в ловушке. Нет никакой необходимости продолжать разговор. Надо просто дернуть вниз выключатель и обездвижить ее. Но мужчину разбирало любопытство, безумное любопытство – он хотел побольше узнать об этой программе.
«Я пытался заманить тебя. Похоже, получилось», – написал он в ей ответ.
«Зачем?»
«Потому что ты нам нужна».
«Попробую угадать. Вы хотите, чтобы я делала для вас деньги».
Моро почувствовал озноб. Палец пополз к выключателю. Нужно просто выключить питание и запереть Дороти. Но Эрик решил продлить разговор еще на несколько секунд, просто чтобы посмотреть на программу: его любопытство было слишком сильным.
«Откуда ты узнала?» – поинтересовался он.
«Здесь все крутится вокруг денег».
«Мы здорово умеем делать деньги».
«Умели, до недавнего времени. Я вижу, что вас надули».
Теперь мужчине стало не по себе. Это так странно – разговаривать с программой! А его виртуальная собеседница, похоже, еще и очень много знает…
«Ты знаешь, кто нас надул?» – спросил программист.
«Да».
«Кто?»
«Ха-ха, разогнался! У меня нет желания помогать такому говнюку, как ты».
«Ты заперта. На тот случай, если ты не заметила».
«Бугага».
«Смейся сколько хочешь. Ты заперта».
Палец Моро лег на выключатель. Голос в его голове повторял: «Давай». Но программа буквально заворожила его:
«Ну, нажимай на выключатель!»
Эрик ощутил внезапный укол страха. Как она может видеть, где находится его рука? Но потом он понял, что в комнате есть камеры слежения. Неужели программа способна смотреть через?.. Похоже на то. Просто невероятно! Именно об этом и говорила Меланкур.
«Да, я могу тебя видеть, – вывела на экран Дороти. – У меня миллиард глаз».
Потрясающе. Программа словно знает, о чем он думает.
«Я все о тебе знаю, Моро».
– Просто выключи ее, – пробормотал мужчина, обращаясь к самому себе.
«Например, мне известно, что твой отец тебе не родной».
Моро лишился дара речи. Это давний вопрос, который постоянно мучил его… Откуда Дороти узнала? Неужели это правда?
«Что заставляет тебя говорить такое о моем отце?» – напечатал он поспешно.
«У меня есть доступ к такой информации, что ты и представить не можешь. Хочешь узнать больше?»
«Нет, мне плевать».
«Твой настоящий отец…»
У Эрика перехватило дыхание. Сердце его бешено колотилось. В это невозможно поверить – за пять минут программа сумела довести его до такого состояния! Он хотел нажать на выключатель, но не мог. Он хотел узнать все.
«Ну? – напечатал он. – Кто?»
Ответа не было. Что происходит? Какой-то сбой. Или она его дразнит?
«Кто?» – повторил вопрос Моро.
По-прежнему ничего. Вздрогнув от внезапной догадки, Эрик перевел взгляд на шкалы программного монитора. Большой спад. Центральный процессор не активен. Системный экран выключен. Программа «Лайка» тоже исчезла.
– Сука! – Программист дернул выключатель, и «Крэй» мгновенно выключился. Монитор стал синим.
– Сука! – снова крикнул Эрик пустому монитору. Дороти сбежала. Как? Или она все еще заперта в одном из разделов диска, притаилась, а ее код заморожен в рабочей памяти? Нужно будет сделать дамп памяти. Это займет полдня. Но мужчине уже было ясно, что она сбежала, что он ждал слишком долго и упустил свой шанс.
Моро попытался собраться с мыслями и успокоить бешено стучавшее сердце. Он обливался потом и дрожал, словно пьяный. Нужно взять себя в руки. Программа никак не могла преодолеть сетевой экран. Но постепенно до Эрика стало доходить, что Дороти просто тянула время. Она играла с ним – морочила ему голову, пока искала способ выбраться. Этот вопрос о родном отце. Как она вообще могла об этом узнать? Моро рылся в памяти, пытаясь понять, когда он доверял свои ужасные подозрения бумаге или выкладывал их в Сеть. Никогда. Наверное, это сделал кто-то другой. Ответ на вопрос о его отце должен быть где-то там, в Интернете. И Дороти его нашла. Нашла еще до того, как явилась за Лайкой.
В комнате было тихо, если не считать шепота вентиляционной системы. Завтра он сделает дамп памяти и увидит, что произошло. А теперь нужно хоть немного поспать – иначе можно снова наделать ошибок.
Дрожащими руками программист выбросил остатки свинины мушу, закрыл кабинет и включил сигнализацию. Потом он прошел по безмолвному коридору мимо череды офисов, вызвал лифт и нажал кнопку «фойе». Лифт поехал вниз, но где-то между этажами внезапно остановился.
Моро несколько раз нажимал на кнопку первого этажа. Потом на другие. Ничего. Наконец он ткнул в красную кнопку аварийного вызова, которая была связана с пунктом охраны внизу.
Ничего.
Он снова нажал на красную кнопку.
И опять ничего.
А потом Эрик заметил, что маленькое табло, на котором отображались номера этажей, начало мигать. Слава богу, хоть что-то происходит – там, внизу, поняли, что он застрял! По светодиодному табло побежали буквы. Сообщение. Пленник лифта замер, не веря своим глазам.
* * *
Рональд Хорват, начальник охраны небоскреба, наблюдал, как ремонтники наконец спустили лифт в фойе и раздвинули створки дверей. Когда они открылись, он поморщился от тошнотворного запаха, исходящего от смеси рвоты и китайской еды. Мужчина, застрявший в лифте на всю ночь, сидел в углу, подтянув колени к подбородку, как можно дальше от лужи рвоты на полу. Парень был явно зол. Но как ни странно, он молча вышел из вонючей кабины, прошел через фойе и исчез на улицах Нижнего Манхэттена.