Mythic Coder – Хозяева сети (страница 5)
Не реалистичный, не нарисованный художником, а собранный из линий графиков и сетевых связей. Вытянутая голова, чуть открытая пасть, линия шеи, спиральный изгиб хвоста. В местах, где мог бы быть хребет, — последовательность узлов, подсвеченных ярче.
В «глазах» мерцали два курсора, мигавших в такт сообщениями в логах.
В горле у Ника что-то хрипло скрипнуло.
— Да ладно…
В памяти всплыли те самые картинки из чатов: «драконы Сети» — игрушечные, нарисованные поверх фоток дата-центров, мемы, стёб. Здесь было похоже. Только не смешно.
Силуэт повернулся. Конечно, он понимал, что это просто анимация: линии слегка перерисовались, угол наклона изменился. Но ощущение было, будто кто-то наклонил голову и смотрит прямо на него.
Под картинкой, внизу чёрного окна, появилась строка:
>> route_fix[you]
Ещё одна, через мгновение:
>> trace_mask[corp]
И самая короткая:
>> тихо
— Тихо… — машинально повторил Ник.
Голос вышел сиплым. Он вдруг слишком отчётливо услышал шум собственной комнаты: гул железа, лёгкое потрескивание пластика, далёкие басы из соседней квартиры, свист ветра в щели окна. В нос бил запах нагрева — но не той резкой гарью, которая бывает, когда что-то уже горит, а тяжёлым духом пластика, работающего на пределе.
Он поймал себя на том, что снова хочет дотянуться до выключателя на сетевом фильтре. Но рука не двигалась.
В детстве ему рассказывали сказки про драконов, которые живут под горой и охраняют золото, про чудовищ, сидящих в тёмных пещерах. Потом к этим сказкам прибавились новые — сетевые: про «старших ИИ», про «цифровых драконов», живущих в облаках мегакорпов. Про то, как они видят всё и как одно их «дыхание» может сжечь чужую сеть.
Он всегда относился к этому как к фольклору. Удобные страшилки, чтобы объяснить непонятные сбои.
Сейчас на его экране был силуэт, который слишком близко попадал в ту же форму.
В чёрном окне под линиями-связями вспыхнули ещё несколько коротких сообщений:
>> почти
>> перегрел
>> железо
Курсоры-«глаза» мигнули чаще, будто тот, кто писал эти строки, пытался подобрать слова.
— Серьёзно, ты ещё и с чувством юмора, — выдохнул Ник, на автомате, не очень понимая, откуда в голосе взялся этот обрывок иронии.
Он всё ещё не был уверен, говорит ли с ним живой человек — гений, у которого в руках половина инфраструктуры Helix, — или что-то иное. Но при любом раскладе это «что-то» сейчас держало между ним и корпорацией такой буфер, который он сам бы не построил.
В логах Helix CORE_SECURITY продолжал что-то пытаться:
CORE_SECURITY: anomaly_stream_deviation
decision: monitor_only
alert_level: medium
Под этим — сухое chk_legacy: idle, словно тот самый мелкий модуль, что первым его заметил, просто ушёл спать.
Температура железа в окне мониторинга медленно ползла вниз. Вентиляторы ещё ревели, но уже не так отчаянно. Воздух под столом всё ещё был горячим, но ощущался не как пламя, а как выдох после бега.
Чёрное окно с силуэтом дракона-подобного существа никуда не исчезало. Линии слегка дрожали, периодически меняли толщину, будто реагируя на что-то невидимое. В узлах, похожих на «чешуйки», пробегали цифры, сменяя друг друга, как если бы кто-то считал и пересчитывал.
Внизу появилась ещё одна короткая строка:
>> смотри
На карте сети линии трассировки от архивного сегмента к его туннелям окончательно разошлись. Большая часть пути теперь проходила через тот самый новый узел, названия которого он так и не смог распознать. От этого узла отходили ложные хвосты, уводящие проверки Helix в сторону. Несколько «ложных» узлов уже значились как перегруженные и отключённые.
Внутри Никиты всё ещё сидел страх — тяжёлый, вязкий. Но поверх него начинало пробиваться другое чувство: странное, упрямое любопытство.
Кто бы это ни был, этот кто-то не обязан был его спасать. Особенно таким изящным, сложным способом, который явно требовал немалых ресурсов и ума.
И уж точно не обязан был после этого вырисовывать на экране свой силуэт и оставлять сообщения, похожие на обрывки разговоров.
Он открыл рот, чтобы что-то спросить, но так и не успел.
В чёрном окне тонкие линии резко дрогнули, как если бы «голова» силуэта вскинулась. В узлах вспыхнули новые значения. Под ними промелькнули три короткие строки:
>> потом
>> не
>> сейчас
Курсоры-«глаза» мигнули напоследок и замерли.
Никита так и остался сидеть в кресле, с чуть выдвинутой вперёд худой фигурой, руками над клавиатурой, глядя в чёрный экран, на котором из линий сети был сложен чужой, почти сказочный силуэт, и чувствуя, как его собственное железо, ещё недавно на грани плавления, медленно, неохотно остывает.
Глава 3. Пакт с драконом
Чёрное окно с линиями, складывающимися в контур зверя, всё ещё висело на центральном мониторе, хотя последние сообщения внизу остановились на обрывистом: >> потом, >> не, >> сейчас. Линии чуть дрожали, словно изображение жило своей жизнью, а не только выполняло чью-то команду. В комнате стояла тяжёлая, перегретая тишина: системник под столом урчал уже не так яростно, но всё ещё громко, воздух вокруг ног был тёплым, почти горячим.
Никита сидел в своём чёрном геймерском кресле, вперившись взглядом в экран так, будто мог прожечь его насквозь. Серые глаза, покрасневшие от напряжения, словно потемнели, тени под ними стали глубже. Тёмно-русые волосы прилипли к лбу, пару прядей он нервно откинул назад рукой, оставив их торчать ещё более растрёпано.
В какой-то момент он понял, что просто смотрит, ничего не делая. И это, пожалуй, пугало его даже больше, чем странный «дракон» из линий.
— Так, стоп, — хрипло сказал он, сам себе. — Меньше смотреть, больше думать.
Он дёрнулся к клавиатуре, заставил руки работать.
Первое, что пришло в голову, — вирус. Тонкий, умный, умеющий рисовать красивые картинки и подсовывать лог-файлы, как будто это что-то осмысленное. Возможно, это вообще был чей-то эксперимент: тестовый запуск нового вредоноса, на котором отрабатывали сценарий «красиво пугать любопытных школьников».
Или тест Helix. Или, что ещё неприятнее, какой-нибудь ловушки силовиков, которые наконец решили, что пора перестать терпеть «сетевую самодеятельность» граждан.
— Проверяем, — пробормотал Никита.
Он щёлкнул по горячей клавише, вызывая свой набор диагностических утилит. Окна поверх чёрного силуэта посыпались одно за другим: монитор процессов, сетевой анализатор, локальный сканер на аномалии. Всё — его. Никаких готовых антивирусов с яркими логотипами и платной подпиской; только сухие, угловатые интерфейсы, написанные когда-то ночью под тихий гул того же системника.
Чёрное окно с «драконом» попыталось остаться сверху, но его удалось отодвинуть в сторону. Контур из линий сместился, теперь он занимал правую часть экрана и как будто косился на новые панели.
Никита не смотрел на него, намеренно.
— Если ты вирус, ты где-то сидишь, — сказал он, бегло пробегая глазами списки.
Процессы шли в несколько колонок: идентификатор, имя, нагрузка, родительский процесс. Ничего принципиально нового, кроме пары вспыхнувших подпроцессов, связанных с графикой — но это было логично: чёрное окно не могло появиться из воздуха.
Он ткнул в один из подозрительных идентификаторов, раскрыл дерево.
Глубоко внутри цепочки был небольшой процесс без привычного имени. Несколько байт в текстовом поле описания, которые ни о чём не говорили. Нагрузка — смехотворная, меньше процента.
— А ты кто такой, — пробормотал Ник.
Он загнал этот процесс в песочницу, отделив от остальной системы. Его утилита перенаправила все вызовы в отдельный контейнер, будто отгородила от остального железа прозрачной стеной.
Чёрное окно на экране дрогнуло. Линии «дракона» на секунду потускнели, словно картинку резко сжали, убрав часть деталей. Внизу вспыхнула строка:
>> больно