реклама
Бургер менюБургер меню

Наталья Федоренко – Ноль процентов на любовь 2.0. Код резонанса (страница 2)

18

Виталий натянул старую футболку с полу стёршимся принтом какой-то легендарной джаз-группы и спустился вниз, в большую часть лофта. Не включая верхний свет, он подошёл к роялю. Пальцы сами легли на клавиши, холодные и немного влажные. Он не стал играть «импровизацию для Сони». Вместо этого из-под его пальцев поплыла та самая тема, которая родилась год назад, после того самого скандального кулинарного баттла. Они тогда не сговаривались, но оба молча пришли сюда, среди ночи. Она села на диван, поджав ноги, он сел за инструмент. И родилась эта мелодия – дерзкая, острая, с внезапными паузами и взрывными, почти яростными пассажами. Они назвали её потом «Contrapunto» – «Контрапункт». Музыкальное противосложение. где две самостоятельные мелодии спорят, переплетаются и в итоге создают нечто целое, большее, чем их сумма.

Он играл её сейчас, но что-то было не так. Палец спотыкался на том самом месте, где обычно вступала «её» тема – строгая, аскетичная, выстроенная по канонам. Сегодня она звучала… напряжённо. Сбивалась с ритма. Как будто в партитуру вкралась чужая нота, диссонирующая, фальшивая.

Внутренний монолог Виталия:

Призрак. Чёрт бы побрал её призраков. У неё они в данных, у меня – в пальцах. Откуда это? Это же не про старый алгоритм. Это про… ожидание удара. Как перед концертом, когда знаешь, что в зале сидит циничный критик, готовый разнести твою импровизацию в пух и прах. Кто этот критик сейчас? Максим? Бывший её коллега, этот паук в свитере? Или что-то большее?

Он резко оборвал игру. Тишина, заполненная только стуком дождя, навалилась тяжело. Его взгляд упал на второй рабочий стол, его стол. Там, среди хаоса набросков на салфетках, чашек и кабелей, лежал планшет. Экран был тёмным. Виталий взял его, разблокировал. Помимо нотных редакторов и соцсетей, там было одно приложение, о котором не знала даже Наталия. Простой мессенджер с шифрованием, который ему когда-то поставил один знакомый музыкант-параноик. В нём был всего один активный чат.

«Леший». Такой ник. За ним скрывался тот самый парень из хакерского кафе «Байт», куда Виталий захаживал, когда нужен был абсолютно непрослеживаемый вай-фай или мнение о чём-то, лежащем далеко за пределами его понимания.

Не глядя на часы (было уже за полночь), Виталий написал:

Витя. Беспокою. Есть вопрос не по музыке.

Ответ пришёл почти мгновенно. Леший, похоже, тоже не спал.

Леший: Слушаю. Если про взлом аккаунта бывшей – нет. Моральные принципы.

Витя: Глупей. Про призраков. Старые, мёртвые, но очень умные системы. Могут они вдруг оживать сами? Или их кто-то искусственно откапывает и… доучивает?

Пауза была длиннее.

Леший: Самовоспроизводящийся ИИ на старом коде – маловероятно. Разве что его изначально так и задумывали, но спрятали «чёрный ход». А вот доучить… Да запросто. Если есть оригинальная база данных и хоть какой-то скелет алгоритма. Особенно если тот, кто учит, знает, чего он хочет добиться. Не улучшить, а… испортить. Исказить. Ты о чём?

Витя: О чувстве. Что кто-то играет не свою музыку на моём инструменте. И играет нарочито плохо. Чтобы слушатель усомнился в инструменте. Или в музыканте.

Леший: Философично. А на практике? IP, домены, хоть что-то?

Витя: Пока нет. Будут – кину тебе. Спасибо.

Леший: Без проблем. За консультацию – как всегда, часовой сэт в «Байте» когда-нибудь. Мне твои диссонансы нравятся.

Виталий выключил планшет. Теория подтверждалась. Это не сбой. Это чья-то воля. Он поднял голову и посмотрел на мезонин. Свет от её монитора мерцал слабым синим сиянием, очерчивая её склонённый силуэт. Он видел, как она иногда замирает, поднося руку к подбородку – её жест глубокого раздумья.

Она там строит оборону из логики и данных. А враг… Враг, возможно, играет в другую игру. Не на захват территории, а на подрыв доверия. К системе. К нам. К нам друг к другу.

Его снова потянуло к роялю. Но играть «Контрапункт» с фальшивой нотой больше не хотелось. Вместо этого он начал подбирать что-то новое. Медленное, настороженное, полное неразрешённых гармоний. Музыка ожидания бури. Он назвал её про себя«Тихий патч» – тихое обновление, которое система устанавливает сама, готовясь к атаке извне.

Вдруг свет на мезонине погас. Послышались мягкие шаги по металлической лестнице. Наталия спускалась, закутанная в большой, мягкий кардиган, делающий её хрупкой. Её лицо в полумраке было усталым, но глаза горели тем самым холодным, сфокусированным огнём.

«Я составила первоначальный план действий», – сказала она, её голос прозвучал чётко, нарушая музыкальное заклинание ночи. – «Завтра утром, до прихода команды, я начну трассировку тех запросов. Нужно найти исходную точку. Это приоритет».

Он перестал играть, откинулся на спинку табурета.

– Приоритет, – повторил он.

– А что насчёт приоритета на сон? Или на… не-работу?»

– Это и есть не-работа, – она села на диван напротив, поджав под себя ноги. – Это устранение угрозы работе. И нашему покою. По сути, одно и то же».

– Практично, – усмехнулся он. – А если эта угроза… не техническая?»

Она посмотрела на него пристально. Синий отблеск экранов давно погас, и в её глазах теперь читалось только внимание.

– Любая угроза в цифровую эпоху имеет техническую составляющую. Даже если мотив – личная месть или зависть, инструмент – код, уязвимость, бот-сеть. Найти инструмент – найти дирижёра.

– Дирижёра фальшивого оркестра, – тихо сказал Виталий, глядя на свои руки на клавишах.

Она замолчала, обдумывая метафору. Потом кивнула.

– Да. Именно. И у этого дирижёра… должен быть слух. Чувство слабого места. Он ударил не по статистике, а по репутации. По доверию. Это тонко. Это…

– …знание материала», – закончил он за неё.

В воздухе повисло тяжёлое, общее понимание. Это не случайный хакер. Это кто-то, кто понимает, как устроен их мир. Их успех. Их слабости.

– Завтра, – повторила Натали, вставая. – Мы начинаем. А сейчас… Она сделала шаг к нему, и её рука на мгновение легла ему на плечо. Жест был странно нерешительным, почти робким.

– Сыграй что-нибудь. Только без фальшивых нот. Мне нужен… чистый сигнал. Для калибровки.

Он посмотрел на её руку, потом ей в глаза. И начал играть. Самую простую, чистую, почти колыбельную мелодию из той самой тетради. Ту, что Сони, кажется, любила больше всего. Музыку, в которой не было ни расчёта, ни защиты, ни стратегии. Только тихая, упрямая нежность.

Натали не ушла. Она стояла, прислонившись к роялю, слушая. И глядя в тёмное окно, за которым дождь вырисовывал призрачные города на стёклах, Виталий думал о том, что их самая большая уязвимость – это и есть то, что они защищают. Это тишина между нотами. Это доверие в её прикосновении. И кто-то, судя по всему, понял это гораздо раньше, чем они сами начали это осознавать.

След в логах

Синий час. То время перед рассветом, когда город затихает, выдыхая, и даже светящиеся рекламные билборды кажутся приглушёнными, уставшими. Именно в этот час Наталия была наиболее эффективна. Мир не отвлекал. Её собственный мозг, отдохнувший за четыре с половиной часа строго контролируемого сна, работал с чистотой отточенного скальпеля.

Она сидела в пустом офисе «Resonance». Не на своём рабочем месте, а на «нейтральной полосе» – за общим столом для мозговых штурмов, где белая доска сияла девственной пустотой. Перед ней были развёрнуты три ноутбука.

Лабораторные условия, – подумала она. Изолируем переменные.

На первом ноутбуке горел терминал с тёмной темой. Беглые строки команд мелькали и замирали. Она вела трассировку – методично, как когда-то проверяла многоуровневые финансовые проводки в поисках одной пропавшей копейки. Её пальцы летали по клавиатуре беззвучно, мембранные клавиши не выдавали ни щелчка, ни жалобного писка. Тишину нарушал только почти неслышный гул системы охлаждения.

Внутренний монолог Наталии:

Исходная точка – сообщения в паблике. Репост из более узкого чата sysadmins. Найти первоисточник. Автор «Nexus». Никнейм. Не личность. След. Первый лог с аномальным запросом был 11 дней назад. Время – 03:47 UTC. Пик низкой активности пользователей «ИдеалМатч». Маскировка под фоновый процесс. Неуклюже. Слишком «ровное» время. Нарочито. Или… оставлено как намёк?

Она переключилась на второй ноутбук. Там был запущен самописный скрипт визуализации сетевых соединений. Он вылавливал не данные, а метаданные о запросах: откуда, куда, какой «вес», через какие узлы проходил пакет. На экране медленно вырастала причудливая паутина, похожая на нервную систему какого-то фантастического существа. Большинство линий сходились в знакомые кластеры – облачные сервера «Resonance», CDN, точки обмена трафиком. Но одна… одна тонкая, почти прозрачная нить вела в сторону, которая не должна была существовать.

Она увеличила масштаб. Нить упиралась не в сервер, а в зашифрованный прокси-каскад, так называемую «луковую» маршрутизацию. Классика для того, чтобы замести следы. Но и у классики есть паттерны. У каждого каскада, даже самого сложного, есть точка входа и точка выхода. И выход этот…

Наталия замерла. Геолокация точки выхода была размыта, подделана. Но временная метка пакета, прошедшего через этот каскад… Она почти совпадала с временем аномального запроса из логов sysadmin-а. Разница в 1.3 секунды. В пределах погрешности передачи данных.