13 мая прошло в тишине.
Мы ждали. Каждое утро я просыпался с мыслью, что сегодня что-то случится. Что Верховцев не будет сидеть сложа руки. Что человек, который двадцать лет вынашивал месть, не остановится перед последним шагом.
Ника работала в лаборатории. Она изучила ключ вдоль и поперёк. Это был не просто криптографический модуль. Это был контейнер. Внутри, под слоем эпоксидной смолы, прятался процессор и микросхема памяти. Любая попытка вскрыть корпус приводила к стиранию данных. Ника проверила трижды.
— Он сделан так, чтобы его нельзя было скопировать, — сказала она, когда я зашёл в лабораторию утром 14 мая. — Если Верховцев получит его, он просто вставит ключ в главный слот. И всё. Двенадцать частей соберутся. Протокол активируется.
— А если мы уничтожим ключ?
— Тогда он никогда не соберёт полный комплект. Но и мы не сможем деактивировать уже запущенные скрипты. Ключ нужен для обоих действий. Это и замок, и ключ одновременно.
Я кивнул и отошёл к окну. За стеклом светало. Тихий, сонный город. Шесть утра. Через несколько часов всё изменится.
В три тридцать три ночи на пульт дежурного поступил сигнал. Электроподстанция номер три. Аварийное отключение. Без видимых причин. Обесточены шесть кварталов. Свет погас в жилых домах, в круглосуточной аптеке, в котельной. Насосы встали. Светофоры погасли.
Я приехал на место к восьми. Ника со мной. Подстанция — приземистое бетонное здание за сетчатым забором. Опергруппа уже работала. Начальник смены, немолодой мужчина с красными от недосыпа глазами, разводил руками.
— Никаких скачков напряжения. Никаких замыканий. Просто отключился вводной автомат. И всё. Но автомат исправен. Я проверил.
— Отключился сам? — спросил я.
— В том-то и дело. Кто-то подал команду. Удалённо. Через интерфейс управления. У нас защита стоит. Но её обошли.
Ника уже сидела у щитовой. Открыла ноутбук, подключилась к контроллеру.
— Скрипт, — сказала она через минуту. — Один из тех двенадцати. «power_grid_off.exe». Но активирован не удалённо. Здесь был физический доступ.
— Почему?
— Потому что скрипт требует ключ. Я вижу след в логах. Внешнее устройство было подключено к порту контроллера. В три тридцать три. Ровно на тридцать четыре минуты. Потом отключилось.
Она встала и подошла к щиту. Провела рукой по панели. Потом нажала на край. Панель отошла. За ней, в монтажной нише, лежал маленький металлический модуль. С гравировкой «1/12».
— Он оставил его, — сказала Ника.
— Намеренно.
— Да. Чтобы мы увидели.
Я взял модуль в руку. Тёплый. Значит, работал недавно. Такой же, как наш двенадцатый. Только с другой цифрой. Верховцев отдал нам один из своих ключей. Зачем?
— Он показывает, что готов терять ключи ради демонстрации, — сказал я. — Или что ключей у него больше, чем нужно для одной атаки.
— Или что он может обойтись без одного, — добавила Ника. — У него осталось десять. И десять объектов. Если он готов жертвовать ключами по одному, он может устроить частичные атаки на каждый объект. По очереди. Мы не успеем защитить все.
Я сжал модуль в ладони. Игра. Он играл с нами. Как с теми детьми в интернате. Только теперь он был не объектом. Он был экспериментатором.
Мы вернулись в отдел. В девять тридцать на сервер пришло сообщение. Ника перехватила его — оно шло не через основной канал, а через ретранслятор в промзоне. Текст был коротким.
«Это демонстрация. Отдайте двенадцатый ключ до полуночи шестнадцатого мая. В противном случае я ударю по больнице номер два. Без электричества и воды. Насосы встанут. Реанимация — тоже».
Я перечитал трижды. Больница. Реанимация. Он бил по самому уязвимому. Не по политикам. Не по бизнесменам. По тем, кто не может себя защитить.
— У него есть ключ от больницы, — сказала Ника. — Я проверила схему. Больница — объект номер четыре. Ключ четвёртый у него. Для активации скрипта больницы нужен именно он.
— Значит, он ударит по ней. Если не получит наш ключ.
— Да. И он не блефует.
Я вызвал начальника и доложил обстановку. Он выслушал. Потом сказал:
— Ключ не отдавать. Усилить охрану больницы. Найти Верховцева. Времени — двое суток.
Я вернулся в лабораторию. Ника уже работала.
— Я отследила сигнал, который управлял скриптом на подстанции, — сказала она. — Он шёл не с главного сервера. И не из бункера. Это был локальный передатчик. Радиус — не больше пяти километров от подстанции. Я наложила карту.
Она вывела на экран круг. Внутри него — промзона, склады, старая железнодорожная ветка. И заброшенное депо.
— Он был рядом, — сказала Ника. — Возможно, до сих пор там.
— Или оставил передатчик и ушёл.
— Проверим.
Мы выехали через час. Депо находилось в промзоне — огромное полуразрушенное здание из красного кирпича. Рельсы, уходящие в проржавевшие ворота. Внутри — пустота, эхо шагов, запах мазута и старых шпал. Группа захвата рассредоточилась. Я и Ника двинулись вглубь.
В дальнем конце депо стоял железнодорожный контейнер. Обычный. Грузовой. Но из него тянулся кабель. Толстый. К переносному генератору.
— Здесь, — сказала Ника.
Мы вошли внутрь. Контейнер был перестроен под мобильный командный пункт. Стол. Ноутбук. Радиопередатчик. Карта города на стене — с теми же красными крестиками, но теперь часть из них была обведена синим. Осталось десять. На столе — чашка с недопитым кофе. Ещё тёплая.
— Он ушёл недавно, — сказал я.
— Минут двадцать, не больше.
Я осмотрел стол. Среди бумаг лежала ещё одна записка. На этот раз не от руки — распечатана на принтере. Но стиль тот же.
«Колесов предал. Я знаю, что он отдал вам двенадцатый ключ. Старый дурак думает, что искупил вину. Но вину не искупают. Её вырезают. Он ответит за всё. Как и вы, если не отдадите ключ».
Я скомкал записку и передал Нике.
— Он угрожает Колесову, — сказала она.
— Значит, профессор в опасности. Пошли кого-нибудь к нему.
— Уже. Я вызвала наряд.
Я обошёл контейнер. На ноутбуке был открыт интерфейс управления скриптами. Десять иконок. Десять объектов. На каждом — таймер. Все настроены на двадцатое мая. Но одна иконка мигала красным. Больница номер два. Под ней — дополнительный таймер. Отсчитывал время в обратном порядке. До полуночи шестнадцатого мая оставалось тридцать четыре часа.
— Он не убирает ультиматум, — сказал я. — Таймер тикает.
— Я могу попробовать отключить его отсюда, — Ника села за ноутбук. — Но нужен пароль.
— Попробуй.
Она работала минут пятнадцать. Потом покачала головой.
— Пароль — фраза. Длинная. Я не могу подобрать. Но я нашла кое-что другое. Смотри.
Она открыла папку с логами подключений. Ноутбук синхронизировался с несколькими точками доступа. Одна из них — передвижная. Координаты менялись каждый час. Но последняя точка была статичной. Грузовой терминал на окраине города. Там, где разгружали товарные поезда.
— Он перемещается на поездах, — сказала Ника. — Использует грузовые контейнеры как укрытия. Поэтому мы не можем его отследить по стационарным IP.
— Терминал — это его следующая остановка?
— Или текущая. Судя по времени последнего подключения — он там прямо сейчас.
Я связался с опергруппой. Терминал был в двадцати минутах езды. Мы выехали немедленно.
Грузовой терминал встретил нас лаем собак и светом прожекторов. Охрана ничего не знала — для них это был обычный рабочий день. Контейнеры. Краны. Товарные составы. Мы прочесали сектор за сектором. И нашли его.
Контейнер. Такой же, как в депо. Но пустой. Только генератор и передатчик. И ещё одна записка.
«Вы опоздали. Я знал, что вы найдёте депо. Знал, что вы приедете на терминал. Пока вы гоняетесь за мной, я готовлю следующий удар. До полуночи шестнадцатого мая осталось тридцать два часа. Решайте».
Я выругался. Он играл. Вёл нас по кругу. Знал каждый наш шаг.
— Откуда он знает? — спросил я.
— Возможно, у него есть доступ к нашим каналам, — сказала Ника. — Или он просто просчитывает нас. Как нейросеть. Как И.К.
— Тогда надо действовать не по протоколу.
— Что ты предлагаешь?
Я посмотрел на карту в ноутбуке Верховцева. Десять объектов. Один из них — больница. Но был ещё один, который я не заметил сразу. Он не был обведён красным. Он был обведён зелёным. Дом профессора Колесова.
— Он ударит не по больнице, — сказал я. — Больница — это отвлекающий манёвр. Он хочет, чтобы мы стянули силы туда. А сам ударит по Колесову.
— Почему ты так думаешь?
— Потому что он мстит. И первая цель мести — не город. Первая цель — тот, кто сделал его объектом номер семь. Колесов.
Мы вернулись в отдел к вечеру. Я позвонил Колесову. Предупредил. Он выслушал. Голос был спокойным.
— Я знал, что он придёт, — сказал он. — Рано или поздно. Я готов.
— Мы выставим охрану.
— Не надо. Если он хочет меня убить — охрана не остановит. Я лучше расскажу вам то, что ещё не рассказал. Приезжайте завтра утром. Я отдам вам кое-что, что может помочь.
— Что именно?
— Дневник Верховцева. Я храню его с две тысячи восемнадцатого. Он оставил его в НИИ. Тогда я думал, что это просто бумаги. Теперь понимаю — это ключ к его личности. Возможно, вы найдёте в нём что-то, что поможет остановить его без крови.
Я переглянулся с Никой. Дневник. Ещё один фрагмент мозаики. То, что может объяснить мотивы Верховцева глубже, чем записка из подвала. И, возможно, то, что поможет найти его.
— Завтра в девять, — сказал я. — Ждите.
Я положил трубку и подошёл к окну. Ночь опускалась на город. Где-то там, среди контейнеров и составов, прятался человек, который когда-то был мальчиком с серьёзными глазами. Он ждал. И мы ждали. Часы тикали. До полуночи шестнадцатого мая оставалось двадцать девять часов.
Вопрос подписчикам: Как вы думаете — можно ли остановить человека, который действует по логике нейросети? И что должно перевесить в таком противостоянии — расчёт или нестандартный ход? Расскажите в комментариях.
P.S. Это сорок шестое дело из архива отдела «К». Продолжение — в седьмой части. Мы получим дневник Верховцева и узнаем, что на самом деле двигало им все эти годы.