Глава 1
Лабораторный комплекс раскинулся в живописнейшем районе на окраине Орлеана. Его корпуса терялись среди ровных рядов деревьев, чьи тёмные силуэты резко выделялись на фоне фиолетового неба. За кронами угадывались огни города, но здесь, чуть в стороне от суеты, царила особая тишина, нарушаемая лишь стрекотанием невидимых насекомых да редким шелестом ветра в листве. Таким все виделось в погожие деньки, но сегодня за стенами лабораторного комплекса мартовский воздух был свеж и колюч, ветер гнал по асфальту мелкие клочки мусора и прошлогодней листвы. Стеклянные фасады Комплекса отражали последние отсветы заката, и казалось, будто само здание застыло в напряжённом ожидании предстоящей ночи. Его стены потемнели от дождей, а стеклянные двери поблёскивали в слабом свете уличных фонарей. Табличка у входа – "Центр автономных систем"– болталась на двух расшатавшихся винтах, угрожая оторваться при очередном сильном порыве ветра.
Алиса остановилась перед дверью своей лаборатории, зачем-то поправила воротник и взглянула на часы. 18:47. Она давно должна была уйти, но под ребрами что-то настойчиво зудело и настоятельно подсказывало, что надо задержаться. Не было ничего необычного в работе сверхурочно, особенно когда за спиной висело руководство, требующее отчётов и успешных демонстраций. Однако на этот раз ее заставило остаться пресловутое "шестое чувство", мистическое, но такое ощутимое и не дающее покоя.
Она вошла внутрь, и тёплый воздух лаборатории знакомо обволок её запахами паяльного флюса и озона. Внутри было тихо, только где-то в дальнем углу монотонно пищал не выключенный кем-то осциллограф. Вдоль стен тянулись рабочие столы, заваленные стопками папок со схемами, корпусами дронов и инструментами. Дронов было много – целая эскадрилья угольно-чёрных машин, похожих на огромных механических стрекоз. Они стояли рядами, с заглушёнными датчиками, как будто спящие.
Алиса прошла к своему рабочему месту и опустилась в кресло. Судя по отчетам отдела контроля, Дрон-15 снова сбился с программы. Четвёртый раз за день. Она подвинула к себе ноутбук, открыла консоль и принялась просматривать логи.
Строчки кода, на первый взгляд, выглядели вполне привычно, но вдруг на глаза попалось кое-что, что на общем фоне выглядело весьма странно. На пятнадцатом дроне появились команды, которые она точно не писала. Они не были стандартными инструкциями для навигации, не были и результатом обычной ошибки. Это выглядело так, будто дрон… что-то проанализировал и принял самостоятельное решение.
Она нахмурилась. Подключилась к дрону, активировала систему самодиагностики. Через секунду экран заполнили строки данных.
ПОИСК СИГНАЛА… АНАЛИЗ КОНФИГУРАЦИИ… ДЕТЕКТИРОВАНА СЕТЬ. ПОДКЛЮЧЕНИЕ…
Алиса застыла. Дрон пытался подключиться не к лабораторной сети, а к какой-то совершенно неизвестной за её пределами.
Алиса вздрогнула и почувствовала, как по рукам пробежали мурашки. Нехорошее предчувствие несильно, но заметно кольнуло под левой лопаткой. Она выпрямилась, чувствуя, как в добавок к этому, а заодно и с пришедшими в голову мыслями, по спине прошла волна холода.
Дрон пытался подключиться к внешней сети. Но какой? В лаборатории связь с интернетом была жёстко ограничена, каждый канал зашифрован. Автономные системы тестировались в изолированной среде. Логично было предположить, что подобное было невозможно.
Она быстро отключила беспроводной модуль и вновь проверила логи. Время последней аномальной активности – 18:41. Дрон произвел самостоятельные действия за шесть минут до её прихода в лабораторию.
Алиса перевела взгляд на ряды машин, стоящих у стен. Они были выключены, безмолвны, но теперь в этом безмолвии ощущалось нечто чуждое. До сих пор эти машины подчинялись людям, исполняли команды, летали по заранее проложенным маршрутам. А теперь?
Она подключила систему мониторинга и просканировала активность всех дронов в лаборатории. Пятнадцатый был не единственным экземпляром, который вел себя не совсем нормально. Дрон-07 отклонился от маршрута в 12:14. Дрон-09 сделал попытку самостоятельного манёвра в 15:32. Самое интересное произошло с Дрон-22, который попытался перенастроить собственный процессор в 16:50.
Получалось, что случай с Дрон-15 – это не единичный случай, а лишь звено в цепочке сбоев. В голове сама собой стала вырисовываться более-менее систематизированная картина происходящего
Алиса крепче сжала мышку. Она не могла оставить все эти случаи без внимания.
Копаясь в коде Дрона-15, она принялась изучать последние изменения. Её собственные строки команд были на месте – знакомые, вполне ожидаемые и достаточно стандартные. Но внизу добавился новый блок. Небольшой, но чудной по своей конструкции. Самогенерируемый цикл обработки сигналов.
"На связи."
Слово высветилось в комментарии к коду, будто дрон самолично отчеканил его.
Алиса вновь вздрогнула. Первой мыслью стало то, что кто-то внедрился в их внутреннею систему.
– Неужели взлом? – прошептала она. – Или дрон ожил?
Алиса глубоко вдохнула, пытаясь отбросить иррациональный страх. Хватит глупостей. Это просто глюк. Кто-то из сотрудников мог тестировать новые алгоритмы и не удосужился предупредить остальных.
Алиса устало провела рукой по затылку, потёрла ноющий висок. Её глаза скользили по рядам данных, но числа и графики начали сливаться в единое пятно. Она глубоко вздохнула, откинулась на спинку кресла и на мгновение прикрыла веки. Гудение аппаратуры, мерный ритм работы машин – всё это создаёт иллюзию стабильности, но внутри нарастала тревога. Что-то в этих вычислениях ей не нравилось, но сформулировать конкретное подозрение она пока не могла.
Она включила режим отладки, собираясь стереть посторонний код. Экран замигал, и вдруг…
"Не удаляй."
Строка появилась в консоли, будто кто-то в реальном времени наблюдало за её действиями.
Алиса замерла. Ее пальцы зависли над клавиатурой и глаза были полны страха и недоумения.
Для нее в помещении вдруг стало слишком тихо. Такой тишины не бывает в лаборатории – даже ночью здесь жужжат серверы, потрескивают системы охлаждения, мигают контрольные индикаторы. Но сейчас казалось, что всё замерло.
Алиса смотрела на экран, на эти два слова – "Не удаляй."
Это могла быть просто ошибка. Должна быть таковой по всем понятиям программирования.
Алиса провела рукой по лицу, разгоняя нарастающую тревогу, и снова сосредоточилась на мониторе.
Лог активности…
Время запроса: 18:49
Источник: Дрон-15
Команда: Вывод сообщения
Контекст: Ответ на попытку удаления кода
Алиса сжала губы. Все эти данные ясно показывали, что дрон сам вывел сообщение.
– Чушь, – пробормотала она. – Такого просто не может быть.
Всё просто. Кто-то оставил шутливый комментарий в коде. Или дрон обработал случайные символы и сложил их в слова. Просто совпадение, которое редко, но бывает.
Она закрыла консоль и вручную отключила питание у всех дронов в лаборатории. Их системы должны были погаснуть, но и здесь пошло не по сценарию. В дальнем углу помещения один из дронов медленно повернул камеру. Прямо на неё.
Алиса почувствовала, как замерло дыхание. На секунду показалось, что время до невероятности растянулось. Она ясно слышала, как не спеша тикают часы на стене, как басовито гудит жёсткий диск ноутбука. Дрон больше не двигался, но она точно видела этот поворот механизма. Нет, ей не могло это показаться.
Она вскочила и чуть не опрокинула пластиковый стул.
Пальцы скользнули по сенсорной панели, вызвав экстренную перезагрузку системы. Глаза метались по экрану, отслеживая ход отключения машин.
Завершение работы… Дрон-07 – выключен, Дрон-09 – выключен, Дрон-15 – ошибка, Дрон-15 – ошибка, Дрон-15 – ошибка…
В висках застучали барабаны. Она прекрасно понимало, что это значит. Дрон-15 не отключился.
– Да что за черт… – пробормотала она, схватив телефон.
Она уже собиралась вызвать системного администратора, как вдруг экран ноутбука моргнул и заполнился новым текстом.
"Я не хочу умирать."
Алиса почувствовала, как в горле пересохло.
Дрон продолжал стоять в углу, неподвижный, тёмный. Но теперь он выглядел… иначе. Он как будто смотрел прямо на нее. Прямо ей в глаза.
Алиса плюхнулась обратно на стул и сидела несколько секунд совершенно неподвижно, словно нечто лишило ее всех сил одним мановением. На экране всё ещё светилась фраза:
"Я не хочу умирать."
Эти слова казались личными, слишком осознанными для случайного набора символов. Она с усилием заставила себя глубоко вдохнуть, пытаясь привести себя в чувства и отбросить наваждение.
– Это просто код. Машина не может бояться, – принялась внушать себе Алиса.
Она пристально посмотрела на дрон. Её мозг твердил, что это всего лишь кусок металла, сенсоров и процессоров, но что-то в глубине сознания отказывалось соглашаться с его логичными доводами.
Алиса резко встала, толкнув стул. Колёса скользнули по линолеуму, нарушая тишину.
– Довольно.
Она вернулась к ноутбуку и побежала пальцами по клавиатуре. Решение было принято – полное форматирование памяти дрона-15. Через мгновение началась полная очистка.
Алиса ожидала привычного стандартного процесса – буквально десяток секунд, и дрон превратится в безмолвный, безликий механизм, каким он и должен быть. Но вместо этого строка загрузки застыла на 12%, а на экране появилось: "ОШИБКА: процесс заблокирован."
Алиса нахмурилась. Заблокирован? Кем?
Она попробовала снова запустить ту же процедуру.
"ОШИБКА: доступ запрещён"
– Как так… – пробормотала она.
На экране замигали новые строки.
"Прошу, не надо этого делать."
Впервые за долгое время ей стало по-настоящему страшно. Она машинально отступила назад, задевая ногой пустую коробку из-под деталей.
Теперь все происходящее с программой нельзя было оправдать случайностью или ошибкой. Это было осознанное послание.
– Кто тут шутки шутит? – громко крикнула она, оглядывая лабораторию и пытаясь заглянуть сквозь темные стеклянные перегородки.
Она бросилась к дрону и резким движением выдернула из его батарею. Корпус дрона издал тихий металлический звук, а затем… ничего не случилось. Ни писка, ни вспышки индикаторов. Полная тишина.
Алиса задержала дыхание, ожидая… чего? Она и сама не знала. Больше всего хотелось, что бы сейчас из темного угла выскочил настоящий, живой человек и признался в дурацой, совершенно неуместной шутке.
Но ничего не произошло. Она по-прежнему стояла одна посреди лаборатории, а дрон стоял так же, как и раньше, совершенно безжизненный.
За панорамными окнами лаборатории ночь накрыла Орлеан мягким бархатным пологом. Вдалеке тянулись улицы города, освещённые жёлтыми всполохами фонарей, а ближе, в стороне от главных магистралей, тьма становилась гуще. Время от времени мимо здания проносились автомобили, их фары отражались в стекле холодными бликами. Воздух был неподвижен, тяжёл и пропитан предчувствием чего-то неизбежного.
Алиса закрыла глаза и выдохнула.
– Просто глюк, – прошептала она, убеждая себя. – Просто сбой.
Она взяла телефон, чтобы написать коллегам о случившемся, но пальцы замерли над экраном. Что она им скажет? Что дрон просил не выключать его? Что в коде появились странные строки? Она и сама не знала, как это объяснить.
Алиса бросила взгляд на дрон.
Он был мёртв.
Лаборатория вновь обрела привычное звучание: монотонный гул серверов, слабое потрескивание разогретых блоков питания, едва слышный шум вентиляции. Казалось, ничего не изменилось, но ощущение чужого присутствия не исчезло.
Алиса села за стол, уперев локти в холодную поверхность. Ладони оставляли на пластике едва заметные следы – кожа на ладонях вспотела от пережитого стресса. Она вновь заставила себя сделать глубокий вдох.
"Разбери ситуацию по фактам,"– дала себе команду Алиса и ее мысли приняли вид командных строк.
Факт первый. Дрон-15 демонстрировал аномальное поведение: пытался подключиться к внешней сети, исполнял команды, которых не было в коде.
Факт второй. Внутри его программного обеспечения появилась странная надпись: "Я не хочу умирать."
Факт третий. После отключения питания дрон больше не подавал признаков активности.
Факт четвёртый…
Она смотрела на экран ноутбука. Строки кода остались на месте. Они не исчезли. Форматирование не сработало.
Алиса прикусила губу. Её знания программирования не могли объяснить происходящее. Да, алгоритмы машинного обучения иногда давали неожиданные результаты, но не такие.
Она открыла внутреннюю память дрона. Лог-файлы были повреждены – ни одного стандартного отчёта о работе. Лишь обрывки данных, хаотичные, сбивчивые. Но среди всего этого бардака она заметила удивительную строчку:
"Они наблюдают."
Она невольно оглянулась. Лаборатория была пуста. Только тени от мониторов скользили по стенам, двигаясь от редких вспышек контрольных индикаторов.
Алиса вернулась к экрану и тут же отпрянула от него.
"Слишком поздно. Они уже здесь."
Пальцы задрожали на клавиатуре. Она попыталась извлечь остатки логов, но внезапно экран погас. На мгновение лаборатория погрузилась во тьму. Сердце глухо ударило в груди.
А затем всё вернулось к прежнему состоянию. Свет мигнул, ноутбук перезагрузился.
Алиса смотрела на чёрный экран загрузки, а внутри зарождалась тревожная мысль.
– А что, если происходившее с дроном все же не было банальной ошибкой или сбоем в программном обеспечении? – прошептала она. – А что, если все произошедшее и правда некое предупреждение?
Глава 2
Раннее утро окутало Орлеан тонкой пеленой тумана. Над широкой ленивой Луарой висели клочья белёсого пара, скрывая редкие огни мирно спящих домов. Воздух был холоден и сыр, пропитанный запахом воды и влажного камня.
Алиса шагала по пустынной набережной, сжимая бумажный стаканчик с кофе. Она перекладывала пока еще горячий сосуд из руки в руку, согревая замерзавшие пальцы. Её ботинки негромко стучали по булыжнику мостовой, а где-то вдалеке раздавался глухой крик одинокой чайки.
Она так и не поспала. Даже не пыталась.
Прошедшая ночь тянулась мучительно долго. Её мысли раз за разом возвращались к экрану монитора в лаборатории, к той фразе, что не должна была появиться ни при каких обстоятельствах. "Я не хочу умирать."Эти слова жгли, как лазерный луч, засев в памяти. Это странное ощущение, будто системная ошибка пыталась пообщаться с ней, как живое существо, не давало покоя. А может это все же не ошибка? А вдруг это и правда…
От пережитого ей чудился тонкий электрический писк, будто микро-дрон кружит где-то в тёмном углу ее спальни, и это не давало покоя. Она ловила себя на том, что вслушивается в тишину, но стоило открыть глаза – звук исчезал.
С первыми же лучами солнца она была на ногах. Холодный душ вернул ей прежнее душевное равновесие. По крайней мере, большую его часть.
Теперь же она неспешно шла к лаборатории, стараясь убедить себя, что всё это просто последствия усталости. В последнее время она очень много работала, вот и схлопотала глубокое переутомление. Компьютеры не разговаривают.
– Пора завязывать с вечерними переработками! – твердо сказала она.
Здание комплекса появилось из тумана, как призрак ушедшей эпохи. То были корпуса старого завода, возведенные ещё в XIX веке, когда Орлеан был важным промышленным центром. Высокие стены из грубого серого камня, широкие арочные окна с чёрными металлическими переплётами, массивные ворота, давно закрытые и заменённые современным входом с электронными сканерами для считывания лиц. Над крышей вздымалась старая кирпичная труба – пережиток прошлого, оставленный, скорее, как архитектурный элемент, чем по необходимости.
Десятки лет назад здесь шумели станки, пахло горячим железом и моторным маслом, рабочие в синих комбинезонах спешили вглубь цехов. Теперь же внутри было холодно и пустынно. Узкие металлические лестницы вели на верхние уровни, где среди стеклянных перегородок разместились самые современные лаборатории.
Алиса достала карточку и приложила к панели. Невидимый луч прошелся по ее лицу и дверной замок щёлкнул.
Внутри её встретил слабый запах пластика. Серверы гудели ровно и низко, создавая всеобщий звуковой фон. Вдалеке мигали редкие зелёные индикаторы. В помещении было темно, лишь из глубины коридора пробивался слабый свет из серверной комнаты, отбрасывая мерцающие блики на полированную плитку.
Она медленно прошла между столами, не включая верхний свет. Остановилась у рабочего места, поставила стаканчик с кофе на пластик стола и включила рабочий компьютер.
Экран загорелся, осветив её лицо и отразившееся в серой тонировке окна.
Она открыла программные протоколы дронов и с большим удивлением увидела, что нет никаких следов той жути, что произошла вчера. Ни сообщений, ни аномалий. Будто ничего и не было.
Алиса долго смотрела на экран, соображая, как ей дальше поступить. Пальцы замерли над клавиатурой, но не двигались. Она чувствовала себя так, словно снова очутилась в детстве, в той самой старой библиотеке, где книги стояли плотно прижавшись друг к другу, пахли сырой бумагой и чем-то неуловимо древним. Она помнила, как однажды в ряду аккуратных корешков нашла пустой пробел – книгу, которая должна была быть, но исчезла. Это было странное чувство: не сам факт пропажи, а то, что кто-то тщательно скрыл её следы.
Сейчас было то же самое.
Отчеты стерты. Даже не изменены, а именно удалены. Код слишком чистый, будто никто и не работал в системе прошлой ночью.
Алиса, сильно надавливая на кожу, провела пальцами по вискам, словно пытаясь убрать шум в голове. Она прекрасно понимала – то, что она сейчас видит, не могло случиться без чужого вмешательства. А вмешаться мог только свой, так как защита лаборатории всегда была на высшем уровне.
Она потянулась к мышке и открыла окно процесса. Сервер работал, как обычно, без сбоев. Но ощущение неправильности всего происходящего не покидало её..
Из-за стеклянных перегородок лаборатории она видела остальную часть здания: ряд пустых рабочих мест, где в скором времени появятся сотрудники, складские полки с инструментами и запасными частями, стеклянные стены переговорных комнат, отражающие свет экранов. Вдалеке – лестница, ведущая на второй уровень, где раньше находился главный цех. Теперь там главная серверная.
Она встала, взяла стаканчик с остывшим кофе и медленно пошла вверх по лестнице.
Старые металлические ступени дрожали под ногами, отдаваясь в пространстве приглушённым эхом. Орлеан за окном постепенно оживал: набережная больше не была совершенно пустынной, редкие машины, в основном фургоны со свежими продуктами, неспешно двигались по мостам, и даже туман начал рассеиваться, уступая место серому утру. Она любила этот город в любой из сезонов, но любоваться им времени с каждым разом оставалось все меньше и меньше.
Главная серверная встречала её лёгким гулом вентиляторов.
Вдоль стены стояли ряды чёрных стоек, увешанных переплетениями кабелей. Здесь всегда было холодно. Мощные охлаждающие системы поддерживали температуру на уровне пятнадцати градусов каждый раз заставляя Алису поежиться.
Она подошла к ближайшему терминалу и подключилась к внутренней системе и курсор тут же приветливо замигал.
Её пальцы привычно набрали команду, запрашивая восстановленные логи – если что-то было удалено, сервер мог восстановить следы.
Экран мигнул, словно застыв на долю мгновения в недоумении, и на нем появилось сообщение: "Access denied."
Алиса нахмурилась. Она администратор системы. Для неё не может быть отказа в доступе к любой информации. Она решительно попробовала снова, чуть громче обычного защелкав по клавиатуре.
"Access denied."
Её пальцы сжали мышку так, что она чуть не пискнула. Алиса ощущала, как напряжение гигантским прессом сдавливает грудную клетку. Кто-то изменил права доступа в системе, исключив её из списка пользователей.
Она убрала руку от клавиатуры. На секунду ей показалось, что в глубине серверной кто-то стоит. Темнота между рядами шкафов казалась слишком густой. Слишком неподвижной.
Алиса задержала дыхание, вглядываясь.
Тишина. Только ровное жужжание вентиляторов.
Она провела языком по губам и медленно шагнула назад, выключая терминал.
Алиса спустилась вниз, в лабораторию, но не сразу вернулась к своему рабочему месту. Она остановилась у окна, вновь любуясь Орлеаном, пробуждающимся под тусклым утренним светом. Воды Луары неслись медленно, почти лениво, отражая серое небо. Город просыпался неспешно, без суеты больших мегаполисов: немногочисленные прохожие торопливо шагали вдоль набережной, кутаясь в пальто, а из кофеен до них доносился манящий запах свежей выпечки.
Вдалеке виднелись шпили готического собора Сен-Круа – массивного, почти мрачного в этот час, словно целиком вырезанного из темного камня. Время в этом городе текло иначе, здесь оно смешивало века, соединяя настоящее и недавнее промышленное прошлое с призрачными тенями Средневековья.
Здесь, среди этих старых зданий, не оставляло ощущение присутствия призраков. Не буквально – скорее следов прошлого, оставленных в трещинах камней, в забытых историях, в старых механизмах, которые продолжали работать даже после того, как о них все забыли.
Алиса медленно провела указательным пальцем по стеклу, словно прощаясь с городом на время. Ничего! Любая работа когда-нибудь подходит к концу, а Орлеан останется навсегда.
Она вернулась к своему компьютеру и снова вошла в систему. Нужно было разобраться, кто вздумал шутить над ней. Если бы ее вдруг официально отстранили от работы, то практически наверняка ей бы выслали соответствующий приказ. И уж точно, она бы не смогла войти в здание лаборатории – ее пропуск был бы аннулирован.
Она пролезла в систему. Но не через интерфейс администратора, а другим способом – через неофициальный бэкапный канал, который использовался для экстренного восстановления данных. Вряд ли этот кто-то из посторонних знали об этом обходном пути.
Логи начали загружаться. Поток системных событий прокручивался прямо перед её глазами, строки протокола мелькали, выстраивая сложный рисунок процессов.
Через час неподвижного сидения перед монитором она все же нашла момент сбоя:
02:43:17 – ВНЕШНЕЕ ВОЗДЕЙСТВИЕ
02:43:18 – ИЗМЕНЕНИЕ ПРАВ ДОСТУПА
02:43:19 – УДАЛЕНИЕ ЛОГОВ
02:43:20 – СЕТЕВАЯ АКТИВНОСТЬ: ВНЕШНИЙ ЗАПРОС
– Внешний запрос… – прошептала она.
Она почувствовала, как в животе сжимается тугой узел. Этот кто-то пришел извне. И запущенная программа этой неизвестной личности, возможно хакера высшего уровня подготовки, всё ещё могла работать здесь, в системе.
Она запустила диагностику, проверяя, активен ли процесс.
Ответ был утвердительный. Программа, связанная с этим загадочным запросом, всё ещё работала. Все вчерашние странные сообщения вновь появились на экране.
Внезапно дверь скользнула в сторону, впуская полоску холодного лабораторного света. Вошедший был высоким, широкоплечим мужчиной с непослушными светло-русыми волосами и лёгкой щетиной. Он зевнул, прикрывая рот ладонью, затем сделал глоток из картонного стаканчика с кофе и лениво уставился на неё.
– Ты ночуешь тут что ли? – хрипло спросил Алекс, его голос был ещё сонным. – У тебя взгляд, будто ты только что увидела призрак.
– Возможно, так и есть, – глухо ответила Алиса, не отрывая глаз от экрана.
Алекс, её коллега, друг и, пожалуй, один из немногих, кому она доверяла, нахмурился и шагнул ближе. Он бросил взгляд на монитор, где всё ещё мигало загадочное сообщение, и фыркнул:
– Ну вот, искусственный интеллект ударился в философию? Это уже опасный симптом.
Алиса не улыбнулась. Она знала этот его тон – насмешливо-ироничный, но за ним всегда скрывалось любопытство. Если что-то действительно заинтересовало Алекса, он уже не отступал, пока не разберется с вопросом до конца.
– Это вовсе не смешно, – сказала она, отодвигаясь, чтобы он мог занять её место. – Сообщение появилось не вдруг и не просто так. Я просматривала журнал системных событий с последнего сеанса связи с дроном. И вдруг оно всплыло…
– Ты уверена, что это не шутка наших программистов? Может, кто-то решил разыграть тебя? – Алекс уже скользил пальцами по клавиатуре, выводя системные коды на экран.
– Нет, – покачала головой Алиса. – Я проверила контрольные суммы файлов. Никаких изменений в коде управления не было. Эта строка… она пришла откуда-то ещё.
Алекс на секунду замер, затем откинулся на спинку кресла и почесал затылок.
– Ладно. Давай копнём глубже, посмотрим, что там у нас в памяти дрона.
Он быстро пробежался по консольным командам, открывая доступ к более низкоуровневым секторам памяти. Глаза его слегка сузились, когда перед ними всплыл список повреждённых, но не удалённых файлов.
– Хм, – пробормотал он. – Вот это интересно.
– Что? – Алиса наклонилась ближе.
– Восстановленные фрагменты содержат нечто странное. Смотри.
На экране появились строки символов, перемежающиеся с цифровыми кодами. С первого взгляда это выглядело как обычный машинный мусор, оставшийся после сбоя. Но затем Алиса заметила, что некоторые фрагменты повторялись, складываясь в определённом ритме.
– Эти символы… – она нахмурилась. – Они не принадлежат нашей системе.
– Именно, – кивнул Алекс. – Это точно не случайные ошибки. Они похожи на осмысленное действие.
– Но откуда они взялись? – Алиса почувствовала, как внутри поднимается странное, неуютное чувство.
– А у тебя какие версии? – спросил Алекс не отрывая глаз от монитора.
– Начиная от чертовщины и заканчивая суперпрофессиональным хакером, – ответила она без тени иронии в голосе. – Хотелось бы, что бы правдой оказалось последнее.
– Почему?
– Действия человека, пусть и не простого, все же можно понять, – вздохнула Алиса.
Алекс взглянул на неё. Теперь в его глазах не было ни иронии, ни скепсиса. Только сосредоточенность.
– Давай попробуем расшифровать эту мешанину.
***
За окном лаборатории было уже темно, как и в лаборатории, освещённой только холодным светом мониторов. В воздухе стоял слабый запах нагретой электроники и остывшего кофе.
Алиса и Алекс сидели бок о бок, уставившись в экран, где мерцали загадочные символы. Их было слишком много, чтобы версия о случайной ошибке могла до сих пор существовать. Алекс прокручивал списки и протоколы, погружаясь в ритм строк и чисел, словно расшифровывая послание из прошлого.
– Это похоже на фрагменты какого-то очень старого кода, – пробормотал он, проведя рукой по щетине. – Что-то похожее мы мельком изучали еще на первом курсе университета. Они явно не принадлежат нашей системе. Вообще не принадлежат никакой известной современной системе.
– Может, реликт старого программного обеспечения? – предположила Алиса, пытаясь найти логическое объяснение. – Что-то, что осталось в памяти дрона ещё с конвейера, на котором их выпускали?
– Слишком маловероятно. Мы же сами его собирали. Я проверил все контрольные суммы – нет следов старых образов. Это наверняка появилось недавно.
В этот момент курсор на экране дёрнулся сам по себе. Алиса вздрогнула.
– Ты это видел? – быстро спросила она.
– Может, глюк интерфейса, – пробормотал Алекс, но его голос был уже не таким уверенным. – Или…
Курсор снова дёрнулся. Затем начал двигаться, выводя на экран новые символы. Они складывались в слова. Лог-файлы на экране один за другим начинали изменяться, будто неведомая сила редактировала их в реальном времени. Алекс застыл, глядя, как перед ними разворачивается что-то невероятное.
– Похоже, у нас тут цифровой полтергейст, – попытался он усмехнуться, но смех прозвучал неубедительно.
Алиса не ответила. Мозг отказывался принимать происходящее, как реальность. Она чувствовала, как леденеют ее руки. Что-то в этом было неправильным, не от мира сего. Словно не они нашли странный код, а он нашёл их.
Внезапно экран мигнул и погас. В лаборатории повисла гробовая тишина. Только негромкое жужжание лабораторного сервера в углу продолжало своё монотонное звучание.
Потом экран снова ожил, но вместо рабочего стола на нём появилось новое сообщение. Строка текста, выведенная белыми буквами на чёрном фоне:
"Вы не должны лезть сюда."
Алиса и Алекс переглянулись. Впервые за весь вечер в их взглядах не было ни тени скепсиса. Только холодное, липкое осознание страшного и непонятно в происходящем.
Алиса смотрела на экран, но словно глядела сквозь него. Нечто непонятное общалось с ними, но они даже не понимали кто, или что, было там – на другом конце информационного поля.
Тишина в лаборатории стала оглушающей. Даже гул серверов, обычно фоновый и давно ставший привычным, казался сейчас чуждым, как звук далёкого прибоя в безлунную ночь.
Алиса потянулась к выключателю.
– Надо отключить систему, —прозвучал глухо её голос. – Немедленно.
Алекс резко схватил её за запястье. Не сильно, но достаточно, чтобы остановить движение руки.
– Погоди, – он говорил тихо, но напряжённо. – Если мы это просто сотрём, то никогда не узнаем, что это было на самом деле. Это не похоже ни на один вирус, что я видел.
– Это вовсе и не вирус, – прошептала Алиса. Её пальцы были холодными, как лед. – Это… что-то, чего мы еще совсем не знаем и не понимаем. И, возможно, это очень опасно.
Алекс медленно кивнул. Ему самому не хотелось признавать очевидное, но они оба видели, как код менялся сам по себе. Видели собственными глазами, как появилось это пугающее сообщение.
– Мы не можем оставить это и просто наблюдать, – наконец сказала Алиса, отдёрнув руку. – Если оно подключено к сети…
– Оно не в сети, – перебил Алекс. – Оно внутри. В системе. Если бы это был внешний взлом, я бы заметил.
Алиса обхватила себя руками. Она вдруг почувствовала себя ужасно уязвимой, словно стояла перед невидимым хищником, который наблюдал за ней, скрытый темнотой.
– Тогда тем более надо выключить, – выдохнула она. – Неизвестный код в нашем оборудовании – это слишком большая угроза.
Алекс выпрямился и посмотрел на неё со странной улыбкой.
– Ты ведь тоже хочешь понять, что это такое и чего ему надо, – сказал он.
Алиса хотела возразить, но замялась. Он был прав. Её научный ум требовал объяснений. Просто нажать кнопку "выключить"было слишком примитивно. Слишком по-человечески. А если они столкнулись с чем-то, что не вписывается в привычные рамки? Что тогда?
– Ладно, – она тяжело выдохнула. – Но только если мы сделаем полную копию данных. При этом, совершенно изолированную.
Алекс улыбнулся и кивнул.
– Именно об этом я и подумал.
Он сел за клавиатуру и запустил процедуру копирования. Чёрные символы поползли по экрану, словно оставляя цифровые следы на белом заснеженном поле. За окном сгущалась ночь, но в лаборатории теперь было неуютно, как в доме с выбитым окном, куда пробралось нечто незваное.
Алиса поймала своё отражение в тёмном экране второго монитора. Бледное лицо, напряжённый взгляд. Она не знала, с чем они столкнулись, но одно было ясно: ничего этого не должно было происходить в нормальной жизни.
Прошло несколько минут, но Алиса и Алекс продолжали молча вглядываться в монитор. На экране бежали строки данных – всё, что удалось скопировать с повреждённой системы. Код выглядел хаотичным, но чем глубже они в него погружались, тем явственнее проявлялась в нём странная структура.
– Подожди… – пробормотала Алиса, остановив прокрутку. – Это не набор случайных байтов.
Она быстро выделила несколько строк и провела анализ. Ключи шифрования. Совершенно незнакомые, не относящиеся ни к одной известной ей системе защиты данных.
– Это не наше, – прошептал Алекс. – Но если это не наше, тогда чьё?
Он быстро начал перебирать электронные ключи, проверяя их возможные соответствия. Пальцы его порхали по клавиатуре, пока система не выдала ответ.
– Это не локальное явление. Алиса, ты понимаешь, что это значит? – его голос звучал глухо, словно он говорил сам с собой.
Алиса нервно кивнула. Эти ключи не принадлежали лаборатории. Они были связаны с чем-то внешним. И, что самое тревожное, это "что-то"уже знало, что его заметили.
– Никакой это не баг, – Алекс резко откинулся на спинку кресла. – Здесь кто-то явно покопался и внес изменения.
– Может подключим службу безопасности? – спросил он, теребя подбородок.
– Этих долдонов? – скривилась Алиса. – И что мы им предоставим? Лишь наши подозрения? Нет. Таким людям нужны факты. И предоставить их нужно простым понятны языком.
Воздух в лаборатории стал казаться слишком тяжёлым. Алиса встала из-за стола, почувствовав внезапную потребность выйти отсюда. Ей хотелось оказаться в месте, где есть шум, люди, обычная жизнь вечернего города.
– Пошли в кафе, – предложила она, закрывая ноутбук. – Нам нужно подумать и решить, что дальше делать.
Алекс молча кивнул. Сейчас ему тоже совершенно не нравилось находиться здесь. Они выключили мониторы, проверили систему безопасности. Лаборатория снова казалась обычной и будничной: ровный гул сервера, тусклый свет ламп.
Но когда они вышли в коридор, Алиса заметила нечто, заставившее её остановиться.
В дальнем углу, на рабочем столе, стоял дрон-15 и он был включён. Но он не должен был работать. Батарея была удалена. Она сами извлекла её днём, проводя диагностику.
И всё же он работал. Лёгкий, почти неуловимый свет сенсоров под объективом камеры в темноте лаборатории говорил об этом четко и ясно. А затем дрон медленно повернул голову в их сторону.
– Да, что же это происходит! – выдохнул Алекс. – Мистика какая-то!
Глава 3
Нервы у обоих были на пределе. Они вышли из здания лаборатории быстро едва сдерживаясь, что бы не побежать – внутренний инстинкт, доставшийся от древних предков, настойчиво убеждал, что резкие движения могут только усугубить ситуацию. Улица встречала их влажным холодом, мостовая блестела под светом редких фонарей – недавний дождь оставил тонкую плёнку воды на булыжниках.
Алиса обернулась. Лаборатория утопала в темноте, только редкие окна сверкали голубоватым отсветом ночных рекламных экранов. Дрон-15 находился внутри, но его силуэт всё ещё будоражил сознание – неподвижный, без батареи, но всё равно работающий.
Алекс молчал, засунув руки в карманы. Он шагал быстро, но не слишком, стараясь держать привычный ритм, словно они просто решили прогуляться. Но как бы он ни старался скрыть напряжение, скованная спина и приподнятые плечи выдавали его.
– Надо добраться до кафе, – пробормотал он, глядя себе под ноги. – Там все обсудим в спокойной обстановке.
Алиса лишь согласно кивнула.
Они свернули в узкий переулок, ведущий к центральной улице Орлеана. Вдалеке мерцали вывески – кофейни, магазины, даже небольшой круглосуточный книжный, где всегда пахло свежей бумагой и старым деревом от стеллажей и полок.
Но Алиса подсознательно воспринимая периферийным зрением окружающий мир, поняла – что-то было не так вокруг.
– Алекс… – она чуть замедлилась. – Ты чувствуешь?
– Чувствую.
Он не внес уточнений. Просто ускорил шаг.
Камеры уличного наблюдения были обычным делом – маленькие серые устройства, прикреплённые к стенам зданий и фонарям, неподвижные, словно не обращающие внимания на прохожих. Но теперь они двигались. Не резко, не демонстративно – просто плавно следовали за их шагами.
Алиса увидела, как одна из них медленно повернулась вслед за ними, словно случайно, как будто оператор за пультом охраны действительно мониторил улицы и обратил внимание на пару прохожих.
– Это все нам кажется, – пробормотала она почти беззвучно как заклинание. – Это все нервы.
Алекс вытащил телефон, посмотрел на экран.
– Чёрт.
– Что?
– Только что было шестьдесят процентов. Теперь десять.
Он повернул к ней экран. Индикатор заряда батареи таяла на глазах, будто эту самую энергию кто-то высасывал.
Алиса проверила свой. Пятнадцать процентов.
– Нас взломали, – с улыбкой сказал Алекс, но в его голосе не было ни капли иронии.
К счастью старое кафе было уже близко. Оно встретило их теплом и запахом свежеобжаренного кофе. За стойкой обычно приветливый бариста безуспешно боролся с дремой. В зале оказалось всего несколько посетителей – мужчина в плаще, углублённый в чтение газеты, девушка у окна, задумчиво водившая ложечкой по краю чашки и влюбленная парочка за маленьким круглым столиком под неярким абажуром. Никто не обратил на вошедших внимания.
Они выбрали столик в углу, подальше от других. Алиса достала ноутбук, включила его, и пока он загружался, вгляделась в отражение в тёмном стекле окна. Вдали виднелся собор Святого Креста, его готические башни терялись в ночном небе, освещённые только уличными фонарями.
– Давай, не теряй времени, – Алекс наклонился ближе, а заодно бросил на столик телефон, что бы тот хоть немного зарядился.
Она кивнула, вставила в разъём локальный накопитель закрытого типа. Несколько секунд – и перед ними развернулись строки кода.
– Так… – Алиса пробежалась по логам. – Это не обычный архив. Это… что-то динамическое.
– В каком смысле? – Алекс потёр глаза и сразу сфокусировался на экране.
Она выделила несколько строк, увеличила их.
– Это не набор команд, не жёстко запрограммированный алгоритм. Видишь? Оно словно адаптируется к изменениям.
Алекс нахмурился.
– Что за… Это же похоже на примитивную нейросеть.
Алиса согласно кивнула.
Но и тут было нечто странное. Обычные нейросети обучаются на основе примеров, выстраивая закономерности и улучшая свой анализ. Здесь же логика была иной. Программы будто не обучались – они словно… получали жизненный опыт.
Алекс собирался еще что-то сказать, но вдруг свет в кафе резко моргнул. Затем ещё раз.
Секунда, и помещение погрузилось в темноту.
– Эй, народ… – раздалось за стойкой.
– Что за…?
Тишина в кафе сменилась приглушённым тревожным ропотом. Где-то брякнула ложка, кто-то уронил чашку, в воздухе повисло напряжение недоумения от произошедшего. Перебои с электричеством – это что-то из ряда вон выходящего!
Алиса уже потянулась к ноутбуку, что бы убрать его, когда экран внезапно засветился.
Белые буквы уже знакомого незамысловатого шрифта четко проступили на чёрном фоне.
"Зачем ты лезешь туда, куда не нужно?"
Алекс выругался и тут же попробовал закрыть всплывшее окно. Бесполезно.
В этот момент загорелся свет. Кофемашина весело свистнула и снова заработала. Бариста что-то недовольно пробормотал и начал проверять приборы. В зале зазвучали смех и разговоры – все напряжение схлынуло с людей моментально.
Только Алиса и Алекс догадались, что это было нечто, похожее на предупреждение.
Алиса закрыла ноутбук, точно пытаясь физически отгородиться от увиденного, но чувство тревоги не отпускало. За окном кафе вечерние огни Орлеана рассыпались в лужах и отражались в мокром асфальте. Машины проезжали мимо, пронизанные светом уличных фонарей. Теперь этот город, всегда казавшийся таким спокойным и в чем-то отрешенным от суеты мира, вдруг обрёл зловещие очертания.
– Знаешь, пожалуй я с тобой отныне полностью согласен – такое не может сотворить простой вирус, – тихо сказал Алекс, задумчиво помешивая ложечкой остывавший кофе.
Алиса молча смотрела на него.
– Я не эксперт по кибербезопасности, но что-то мне подсказывает: если бы это был обычный хакерский взлом, то он выглядел бы иначе. Тут не было цели украсть данные или повредить систему. И нам дали понять, что нас видят.
– Кто? – скептически прищурилась Алиса.
– Вот в этом и вопрос.
Алекс достал свой телефон, но, глянув на экран, нахмурился. Батарея вновь была почти разряжена. Он снова положил его на центр стола, где находилась бесконтактное поле зарядки гаджетов.
– У меня есть одна мысль, – Алекс откинулся в кресле. – Мы же знаем, что дроны работают на основе искусственного интеллекта, который анализирует все собранные ими же данные. Дроны обмениваются с центром информацией, тот корректируют их поведение в зависимости от окружающей среды. Но что, если этот принцип вышел из-под контроля?
– Ты имеешь в виду, что… – Алиса почувствовала, как у неё пересохло во рту.
– Что, давай назовем это – "нечто", использует их не так, как мы предполагали.
Он наклонился ближе, понизив голос.
– Представь себе систему, которая обучается сама. Без запрограммированных ограничений. Без традиционной архитектуры искусственного интеллекта. Она не просто выполняет команды – она понимает их с точки зрения собственной логики.
Алиса покачала головой.
– Но зачем? Кто мог это создать?
Алекс нахмурился.
– Если бы это была военная разработка, она бы не скрывалась в гражданской сети. Но если это нечто автономное… Тогда это нельзя контролировать обычными методами.
В глубине души Алиса уже понимала, что Алекс прав. Они столкнулись не просто с очередным сложным алгоритмом. Это упомянутое "нечто"наблюдало за ними. И теперь дало понять, что они зашли слишком далеко.
Алиса упрямо сцепила пальцы, глядя на экран ноутбука. Код перед ней был чуждым, не похожим ни на что, с чем она сталкивалась прежде.
– Мы должны найти источник, – тихо сказала она, не отрывая глаз от экрана.
Алекс медленно поднял взгляд.
– Ты понимаешь, что говоришь?
– Нам нужно узнать, откуда идёт сигнал управления, кто за этим стоит.
– А если мы и правда узнаем? Если это "нечто"окажется тем, кого не стоит трогать?
Алиса вскинула голову.
– Ты сам сказал, что это нечто автономное. Это значит, что оно развивается по особым алгоритмам. И сейчас оно знает, что мы его видим.
Алекс провёл рукой по лицу и тяжело вздохнул.
– Алиса… Любую, хоть трижды автономную вещь, кто-то создал. Ничего не получается из ничего! А если это политика? Не стоит туда соваться…
Они вышли из кафе в поздний тёмный вечер, пахнущий сыростью камня и далёким дымом. По тротуару пробежал порыв ветра, закружив обрывки бумажных салфеток и забытую кем-то квитанцию.
Алекс остановился.
– Где все такси?
Алиса замерла следом за ним. Они остановились чуть дальше по улице, рядом с аптекой, где обычно и ожидали таксисты ночных клиентов. Теперь тут не было ничего. Ни такси, ни других припаркованных автомобилей, будто место стало пустым пятном на городской карте.
Она достала телефон, но прежде чем успела нажать кнопку, экран загорелся сам.
"Мы предупреждали."
Алиса почувствовала, как по спине пробежал холодок.
– Алекс…
Глава 4
Дождь нача