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