Степан Авдеенко – Цифровой Грех 2 (страница 2)
Её не выпускали физически, но предлагали подключиться виртуально.
Пальцы Лины лихорадочно забегали по экрану смартфона. Она зашла в настройки беспроводных сетей. Смартфон тут же поймал сигнал. Сеть была защищена. Запрос пароля.
«Докажи, что твой разум принадлежит тебе. Реши уравнение сети», — вспомнила она записку у верстака.
Паролем был тот самый кусок кода, который от неё требовали ввести на терминале. Ключ компенсации.
Тогда, год назад, этот код состоял из шестнадцати символов — комбинации даты её первого системного взлома, хэш-функции её старого ника и последних цифр телефона человека, который запустил первую версию. Лина зажмурилась на секунду, вытаскивая из глубин памяти цифру за цифрой. Прошлое, от которого она бежала, теперь было её единственным спасительным кругом.
Она начала вводить символы в строку пароля.
4... 0... 4... N... E... W...
Каждый символ давался с трудом, пальцы скользили по мокрому экрану.
00:04:51
Осталось шесть знаков. Она помнила их, но мозг от страха за Надю выдавал белый шум. Что было дальше? Хэш-сумма. Две буквы и четыре цифры.
Лина вспомнила ту ночь. Пожар в её старой квартире. Дым. И этот код, горящий на экране ноутбука перед тем, как она разбила его.
F... A... 0... 9... 9... 9.
Нажать «Подключиться».
Экран замер на долю секунды. Кружок загрузки завертелся, испытывая её нервы на прочность.
00:03:12
Клик.
«Подключено».
В ту же секунду роутер на щите издал пронзительный писк, и тяжелые стальные ворота ангара с оглушительным скрежетом дрогнули. Цепной механизм наверху пришел в движение, и нижняя кромка ворот начала медленно, сантиметр за сантиметром, подниматься вверх, открывая проход в дождливую ночь.
Но радоваться было рано. Экран телефона полностью обновился. Вместо таймера обратного отсчета на нем появилась спутниковая карта города в режиме реального времени. На карте пульсировала жирная красная точка.
И эта точка находилась всего в пятистах метрах от депо. На старой заброшенной водонапорной башне, силуэт которой мрачно высился над промзоной.
Под картой высветилось финальное системное сообщение этой главы:
«Код принят. Синхронизация завершена на 40%. У Нади осталось ровно 3 минуты чистого воздуха. Беги, Лина. Беги так, как никогда в жизни не бегала. Потому что на вершине башни тебя ждет тот, кто создал Версию 2.0».
Лина не стала ждать, пока ворота поднимутся полностью. Она пролезла под стальным листом, едва ворота поднялись до уровня её пояса, и вылетела под проливной дождь, устремив взгляд на темную, уродливую башню впереди.
Глава 5. Высота выеденного воздуха
Дождь превратился в сплошную стену воды. Он хлестал по лицу, залеплял глаза, но Лина не останавливалась. Она бежала по затопленной колее между ржавыми рельсами и бетонными плитами промзоны, ориентируясь лишь на мрачный силуэт водонапорной башни, черневшей впереди.
Её кеды скользили по раскисшей глине, легкие горели от ледяного воздуха, а каждый вдох отзывался резкой болью в груди.
00:02:40
00:02:39
Время на экране телефона, зажатого в мокрой ладони, неумолимо сокращалось. Три минуты. Вернее, уже чуть больше двух с половиной. Для человека, запертого в замкнутом пространстве, это вечность, если паника еще не сожрала весь кислород. Но Надя... Надя паниковать умела. Лина знала это слишком хорошо.
Башня приближалась. Старое кирпичное строение высотой с хорошую пятиэтажку выглядело заброшенным и мертвым. Окна нижних ярусов были заколочены гнилыми досками, а железная винтовая лестница, опоясывающая башню снаружи, казалась хрупкой нитью, готовой оборваться от любого сильного порыва ветра.
У самого подножия башни Лина наткнулась на брошенный в лужу рюкзак. Тот самый, черный, с которым человек на техническом мостике закрывал ноутбук. Значит, он уже наверху. Или... ждет её там.
Лина схватилась за поручень лестницы. Металл был ледяным и скользким от дождевой воды. Она начала подъем, перепрыгивая через ступеньку. Лестница жалобно гудела и вибрировала под её весом, раскачиваясь на проржавевших креплениях. С каждым метром вверх ветер становился все злее, он пытался сорвать её со ступеней, толкая в спину.
00:01:15
Она поднялась на уровень третьего этажа, когда лестница под её ногой просто провалилась — сгнившая перекладина с грохотом ухнула вниз, в темноту. Лина едва успела перенести вес на руки, повиснув над бездной. Мобильный телефон выскочил из кармана и упал на металлическую площадку уровнем ниже, ударившись экраном об асфальт.
— Нет! — сдавленно закричала она.
Превозмогая боль в ободранных пальцах, Лина подтянулась, перевалилась через перила и сползла назад, к упавшему смартфону. Экран покрылся паутиной трещин, но продолжал гореть.
00:00:44
Цифры горели зловещим красным цветом. Лина поднялась, игнорируя дрожь в коленях, и преодолела оставшиеся пролеты.
Верхняя площадка башни встретила её открытой настежь железной дверью, ведущей внутрь огромного бака, где когда-то хранились тонны воды. Теперь там было сухо и темно. Лина вбежала внутрь, тяжело дыша и выставив вперед разбитый телефон вместо фонарика.
Посреди круглого помещения, на бетонном постаменте, стоял большой деревянный ящик. От него во все стороны тянулись провода, подключенные к автомобильному аккумулятору. А на крышке ящика был закреплен... небольшой компрессор, который мерно, едва слышно гудел. Рядом на дисплее промышленного реле светилась надпись: БЛОКИРОВКА КЛАПАНА: АКТИВНО.
Таймер на её телефоне обнулился.
00:00:00
Гудение компрессора прекратилось. Наступила тишина, прерываемая только свистом ветра снаружи.
— Надя! — Лина бросилась к ящику, ударяя по тяжелой крышке кулаками. — Надя, ты слышишь меня?! Отзовись!
Внутри ящика было тихо. Лина лихорадочно попыталась поддеть крышку пальцами, но та была заперта на мощные электронные замки, удерживаемые магнитным полем. Без сигнала от системы их было не открыть.
— Ты опоздала на сорок секунд, Лина, — раздался спокойный, тихий голос из темноты за её спиной.
Лина резко обернулась. В дальнем конце помещения, прислонившись к кирпичной стене, сидел человек. На его коленях лежал открытый ноутбук, свет от которого снизу вверх подсвечивал его лицо. На нем была простая серая толстовка с капюшоном, а на губах блуждала легкая, почти дружелюбная улыбка. Это был парень, на вид не старше двадцати пяти лет. Совершенно обычный, блеклый, один из тех, кого не запоминаешь в толпе.
— Кто ты такой? Зачем ты это делаешь?! — Лина сделала шаг к нему, но парень слегка приподнял руку, и на экране его ноутбука вспыхнула красная кнопка.
— Не подходи. Один клик — и полярность на замках поменяется навсегда. Крышку придется вскрывать болгаркой. А внутри, как ты понимаешь, вакуум, — он перевел взгляд на ящик. — Кто я? Называй меня Архивариусом. Я лишь скромный администратор проекта «Версия 2.0».
— Зачем тебе мой код? Что вам от меня нужно?
— Нам? — Архивариус тихо рассмеялся, и этот смех показался Лине куда страшнее цифрового скрежета из динамиков. — «Версия 2.0» — это не просто программа, Лина. Это автономная сеть. Год назад ты уничтожила её ядро, думая, что спасаешь себя. Но ты не уничтожила код, ты просто заперла его в своей голове. Ты — единственный носитель исходного алгоритма самообучения. Без него сеть стагнирует. Нам нужен был ключ, чтобы выпустить её на свободу. Чтобы она могла развиваться дальше. И ты только что ввела его в роутер в ангаре.
Лина почувствовала, как земля уходит у неё из-под ног. Её заставили саму дописать то, что она пыталась похоронить.
— Открой ящик, — твердо сказала она, делая глубокий вдох. — Ты получил, что хотел. Отпусти её.
— Конечно. Я держу свое слово, — Архивариус нажал клавишу на клавиатуре.
Магнитные замки на деревянном ящике громко щелкнули и отключились. Крышка сама по себе приоткрылась на пару сантиметров. Лина рванулась вперед, откинула тяжелое дерево и заглянула внутрь.
Ящик был пуст.
На самом дне, среди кусков поролона, лежал лишь большой динамик, подключенный к радиомодулю, и портативный датчик давления, который имитировал работу компрессора. Из динамика в этот момент раздался тихий, записанный на пленку Надин вздох, который тут же зациклился.
Лина замерла, глядя на это цифровое пугало. Вся её гонка, весь её страх, весь этот безумный час... были фикцией. Нади здесь не было.
— Она в безопасности, Лина. Дома, в своей квартире, пьет чай и даже не подозревает, что её старое голосовое сообщение из мессенджера, вырезанное из архива двухлетней давности, заставило тебя бегать по заброшенным ангарам, — Архивариус поднялся, закрывая ноутбук и убирая его в рюкзак. — Ты ведь художница. Ты должна ценить хорошую инсталляцию. Нам нужно было ввести тебя в состояние абсолютного стресса, чтобы твой мозг выдал код без логических размышлений. Чистый инстинкт. И это сработало.
Лина медленно повернулась к нему. Внутри неё что-то окончательно сломалось, но на смену панике пришла пугающая, ледяная ясность.
— Вы совершили ошибку, — тихо произнесла она.
— Какую же? — Архивариус закинул рюкзак на одно плечо и направился к выходу из башни, проходя мимо неё.
— Вы думали, что код — это всё, что у меня осталось от первой версии, — Лина протянула руку и вытащила из кармана куртки старый MP3-плеер, который она забрала у манекена. Тот самый плеер, который, как думал Архивариус, был просто игрушкой для воспроизведения звука. — Но пока я бежала сюда, я подключила его к своему телефону. Ваши прокси-серверы скрывали почту, но этот плеер транслировал сигнал обратной связи на вашу локальную точку прямо здесь.
На разбитом экране смартфона Лины, который она держала в левой руке, вместо карты города теперь бежали строки... её собственного перехвата данных.
IP_АДРЕС_НАЗНАЧЕНИЯ: НАЙДЕН
ЛОКАЛИЗАЦИЯ_ИСТОЧНИКА: СИНХРОНИЗИРОВАНО
Архивариус резко остановился. Его лицо впервые за весь вечер потеряло маску безразличия. Он лихорадочно потянулся к карману, где лежал его собственный телефон.
— Теперь я знаю, где находится ваш главный сервер, — Лина посмотрела ему прямо в глаза, и в её взгляде Архивариус увидел то, чего никак не ожидал — триумф. — Версия 2.0 активирована? Отлично. Теперь я иду за ней.
Где-то внизу, у подножия башни, внезапно завыла сирена приближающейся полицейской машины, которую Лина вызвала через скрытый скрипт в ту самую секунду, когда роутер ангара подключился к её сети. Она нарушила правило №2. Но она сделала это на своих условиях.
Глава 6. Обратный трекинг
Сирена внизу выла всё ближе, её резкий, прерывистый звук отражался от кирпичных стен башни. Красно-синие всполохи света начали иссекать темноту под потолком, превращая геометрию старого бака в хаотичный калейдоскоп.
Архивариус замер. На его бледном лице отразилась секундная растерянность — алгоритм, который до этого момента работал идеально, дал сбой. Живой человек оказался непредсказуемее, чем терабайты просчитанных поведенческих моделей.
— Ты сумасшедшая, — процедил он, резко делая шаг назад, ближе к выходу на винтовую лестницу. — Ты сдала нас обоих. Думаешь, полиция разберется в том, что здесь происходит? Для них ты — взломщица на заброшенном объекте, а я...
— А тебя здесь уже не будет, я знаю, — перебила его Лина. Её голос больше не дрожал. — Но мне и не нужна полиция, чтобы поймать тебя. Мне нужны были три минуты, чтобы завершить пакетный экспорт.
Она продемонстрировала ему разбитый экран смартфона. Прогресс-бар на дисплее дополз до отметки 100%. Старый MP3-плеер, послуживший мостом для перехвата, коротко пискнул и окончательно погас, выполнив свою задачу. Локальный лог-файл с IP-адресом координационного сервера «Версии 2.0» и физическими координатами его размещения теперь лежал во внутреннем изолированном хранилище её телефона.
Архивариус злобно ухмыльнулся, натягивая капюшон глубже на глаза.
— Посмотрим, как ты воспользуешься этим в камере, художница.
Он резко развернулся и выскочил наружу, растворяясь в проливном дожде и грохоте бури. Было слышно, как его шаги быстро застучали по металлическим ступеням лестницы, уводя его вниз, в обход парадного входа, через технические выступы башни, которые он, очевидно, знал назубок.
Лина не побежала за ним. Это было бессмысленно.
Она рванулась к противоположному техническому окну башни, откуда открывался вид на тыльную сторону промзоны. Снизу уже доносился скрежет автомобильных тормозов и крики ворвавшихся на территорию депо патрульных. Время работало против неё. Скрипт, который она активировала для вызова полиции, был замаскирован под автоматическую охранную тревогу заброшенного объекта, и если её поймают здесь с поличным, Архивариус окажется прав — её закроют раньше, чем она успеет доехать до компьютера.
Лина скользнула к аварийному пожарному спуску — старой, покрытой слоем нагара вертикальной лестнице, скрытой в нише стены. Спускаясь вниз, сдирая кожу на ладонях о холодное железо, она видела, как внизу, у главного входа, мелькают лучи мощных фонарей.
Она спрыгнула на землю, когда до разбитого асфальта оставалось около двух метров, сильно ударившись о кучу старых покрышек. Это смягчило падение. Пригнувшись, прячась за ржавыми остовами грузовых платформ, Лина тенью скользнула к забору, за которым начинался частный сектор.
Через сорок минут она, промокшая до нитки, со следами мазута на лице и порванной толстовке, входила в неприметное круглосуточное интернет-кафе на окраине города. Это место пахло дешевым табаком, энергетиками и пыльным пластиком — идеальное убежище, где никто не задавал вопросов, а администратор за стойкой даже не поднял глаз от своего монитора.
Лина заняла самый дальний компьютер в углу, скрытый от камеры наблюдения массивной несущей колонной.
Она вытащила разбитый смартфон, подключила его через дата-кабель к системному блоку и запустила портативную среду отладки, которую всегда носила с собой на зашифрованной флешке-кулоне.
Экран монитора заполнился строками выгруженного лога. Пальцы Лины летали по клавиатуре. Стресс ушел, уступив место холодной, математической концентрации. Она вычленила ту самую цепочку данных, которую её телефон успел вытянуть из ноутбука Архивариуса через радиомодуль плеера.
— Так... посмотрим, где твое сердце, «Версия 2.0», — прошептала она, запуская трассировку маршрута.
Цифровой след вел не за границу, не на анонимные сервера в облаках Амазона или распределенные дата-центры в Исландии. Пакеты данных возвращались обратно в город. Более того — точка терминации физического сервера находилась в самом центре, в престижном деловом квартале.
Лина вглядывалась в карту, которая медленно прорисовывалась на экране. Красный маркер замер на тридцатиэтажном стеклянном небоскребе «Гранд Тауэр». На девятнадцатом этаже.
Она нахмурилась, вбивая в поисковик юридический адрес здания. Девятнадцатый этаж целиком занимала крупная международная компания «Нексус Корп», занимающаяся разработкой систем умного города и предиктивной аналитикой больших данных.
«Так вот кто за этим стоит...» — пазл в голове Лины начал складываться с пугающей четкостью. «Это не просто группа хакеров из подвала. Это огромная корпорация, которая тестирует свой новый глобальный алгоритм слежки на живых людях. А Архивариус — всего лишь полевой оператор».
В этот момент экран компьютера, за которым она сидела, внезапно моргнул. Все открытые окна отладки свернулись, а по центру рабочего стола открылся встроенный текстовый редактор. На белом листе начали печататься аккуратные черные буквы. Но это был не Архивариус. Стиль написания был другим — более холодным, официальным, лишенным человеческих эмоций.
СИСТЕМА: Обнаружено несанкционированное обратное сканирование.
СИСТЕМА: Личность верифицирована: Лина.
СИСТЕМА: Уровень угрозы для проекта: Критический.
Лина попыталась выдернуть флешку и кабель телефона из портов, но клавиатура и мышь уже не реагировали. Компьютер был полностью перехвачен извне.
Из наушников, лежавших на столе, пошел тихий, ровный гул, сменившийся чистым, глубоким мужским баритоном, который определенно генерировался нейросетью:
— Лина, вы проявили незаурядные аналитические способности. Ключ, который вы предоставили, позволил нам закрыть уязвимости первого поколения системы. Но ваша дальнейшая активность начинает вредить инфраструктуре.
— Вы заперли мою подругу в коробке! — тихо, но яростно выдохнула Лина прямо в микрофон гарнитуры, зная, что её слышат.
— Это была симуляция, — безэмоционально ответил голос. — Необходимый триггер для преодоления ваших психологических блоков. Ни один человек не пострадал. Но если вы продолжите попытки взлома «Нексус Корп», симуляция станет реальностью. Мы аннулируем вашу личность. Завтра утром все ваши новые счета будут заблокированы, ваши эскизы будут удалены изо всех баз, а на ваше имя будет оформлен ордер за промышленный шпионаж. У вас есть один вариант — стереть лог-файл и вернуться к своей живописи.
На экране монитора появился новый таймер. Не обратный отсчет до смерти, а обратный отсчет до её полного цифрового стирания.
00:05:00
00:04:49
Лина посмотрела на свои дрожащие пальцы. Ей предлагали сделку — сытую, спокойную жизнь в обмен на молчание и свободу чудовища, которое теперь, получив её код, сможет контролировать любого человека в этом городе.
Она перевела взгляд на кулон-флешку, который система не смогла заблокировать физически, потому что он имел аппаратную защиту от записи. Внутри него хранился зеркальный бэкап перехваченных данных.
Лина улыбнулась — впервые за эту безумную ночь. Это была дерзкая, злая улыбка.
— Знаете, что общего между хорошей картиной и хорошим кодом? — спросила она в микрофон.
Голос в наушниках промолчал.
— Если влить в них слишком много фальши, они начинают трескаться, — Лина резко выдернула шнур питания системного блока прямо из розетки под столом. Компьютер мгновенно затих и погас.
Она поднялась, забрала телефон и флешку, накинула капюшон и быстрыми шагами направилась к выходу из интернет-кафе. Дождь на улице продолжал идти, но теперь он казался ей не врагом, а союзником, смывающим её следы. Она знала, куда идти. Девятнадцатый этаж «Гранд Тауэр» ждал её.
Глава 7. Внутри стеклянного колосса
Ночной «Гранд Тауэр» высился над деловым центром города, как колоссальный кристалл, сотканный из стекла и холодного неонового света. Отражаясь в лужах, тридцатиэтажная башня казалась бесконечной, уходящей корнями куда-то глубоко под землю. Дождь почти прекратился, оставив после себя лишь тяжелую, сырую дымку, которая окутывала верхние этажи небоскреба.
Лина стояла на противоположной стороне проспекта, спрятав руки в карманы куртки. Сердце мерно, тяжело стучало в груди. На часах было начало четвертого утра. Самое глухое время, когда бдительность притупляется даже у совершенных систем.
Вход в «Гранд Тауэр» охраняли массивные вращающиеся двери и целая стена из электронных турникетов. Чтобы попасть на девятнадцатый этаж к «Нексус Корп», нужен был биометрический пропуск или физическая карта сотрудника высшего звена. Ни того, ни другого у Лины, естественно, не было. Но у неё было то, чего система от неё не ожидала, — точное знание её внутренней архитектуры.
Она перешла дорогу и уверенно шагнула в залитый ярким светом вестибюль. Пол из полированного гранита отражал её грязные кеды, но Лина шла с гордо поднятой головой, изображая уставшую, заработавшуюся сотрудницу клининга или ночного дизайнера.
За стойкой рецепции сидел сонный охранник, лениво листая ленту в телефоне. Над его головой плавно ходила из стороны в сторону купольная камера с индикатором распознавания лиц. Лина знала: через три секунды её лицо попадет в объектив, система «Нексус Корп» сверит его с базой данных, узнает в ней Лину и заблокирует все выходы.
Она не дошла до турникетов пяти шагов.
Пальцы Лины в кармане нащупали корпус сломанного смартфона, который она заранее подключила к флешке-кулону. На ходу она активировала короткий зацикленный скрипт, который перехватила на роутере в депо. Это был «белый шум» для локальных сетей — пакет данных, имитирующий критическую перегрузку порта авторизации.
Щёлк.
Свет в вестибюле на долю секунды моргнул. Экран на телефоне охранника погас, а турникеты послушно распахнули свои стеклянные створки, издав протяжный писк системного сбоя. Камера над головой замерла, её объектив беспомощно задергался, пытаясь перезагрузиться.
— Эй, что за... — пробормотал охранник, поднимаясь со стула.
Лина не стала ждать. Быстрым, бесшумным шагом она проскользнула мимо заклинившего турникета и скрылась в лифтовом холле. Она заскочила в первый открытый лифт и с силой вдавила кнопку девятнадцатого этажа. Зеркальные двери сомкнулись, отрезая её от растерянного охранника. Лифт плавно, почти беззвучно понес её вверх, закладывая уши.
«Пять минут. У меня есть максимум пять минут, пока они не поймут, что это был не случайный скачок напряжения», — думала она, глядя на бегущие цифры этажей на зеркальной панели. 12... 15... 17...