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

Mythic Coder – Хозяева сети (страница 4)

18

Следующий лог от CORE_SECURITY был коротким:

trace_segment: success

В списке его туннелей один узел пометился как overloaded / shutdown. Где-то далеко, в чужом дата-центре, машина просто упала под нагрузкой.

За этим последовало:

geo_approximation: region_cluster[21]

Никита скрипнул зубами.

— Ещё чуть-чуть — и вы мне в окно по адресу напишите, да?

Он вцепился пальцами в мышь и клавиатуру, начиная судорожно перестраивать маршрут. Попытался вырубить оставшиеся узлы, перезапустить туннели через запасные точки. Курсор двигался с заметной задержкой. Окна откликались медленнее.

Железо задыхалось.

CORE_SECURITY тем временем не тормозил.

trace_segment: continuing

geo_refinement: city_sector[21]

candidate_endpoints: 5

Пять кандидатов концов маршрута. Пять «квартир», если перевести с машинного на человеческий. И среди них — его.

Кожа на затылке неприятно за зудела. Он отчётливо представил, как по этим «кандидатам» идёт уже не сетевой, а совсем человеческий трассировочный запрос: запрос в провайдерскую базу, потом — в городскую, потом дальше. В голове всплыла мама, которая где-то за стенкой копошится на кухне; отец, бурчащий что-то аналитическому шоу; камера в углу комнаты, пустая коробка без начинки, которая всё равно почему-то сейчас давила на него взглядом.

— Спокойно, Ник, — пробормотал он. — Они ещё ничего не знают.

По лбу потекла тонкая струйка пота, щекоча переносицу. Он вытер её тыльной стороной ладони.

На экране пошли новые лог-записи:

inject_load: along_trace

effect: endpoint_resource_stress

— Да вы издеваетесь, — выдохнул он, когда температура в мониторинге подскочила ещё на пару делений.

Физически стало жарко. Воздух, который гнал кулер, теперь казался теплее тела. От корпуса системника потянуло запахом нагретой пыли и пластика. Где-то внутри, под металлической крышкой, чиркнуло — то ли пластик чуть повело, то ли где-то подогнуло крепление.

Маленький кусочек пластиковой панели возле USB-порта изменил цвет, чуть потемнел. Никита это заметил краем глаза и едва не выругался вслух слишком громко.

— Только без плавления, слышишь? — сказал он уже железу.

В этот момент один из его оставшихся узлов на схеме вспыхнул красным. Потом второй.

trace_segment: success

geo_refinement: block[D]

candidate_endpoints: 3

Три.

Ещё одна итерация, ещё один «успешный» сегмент — и число сузится до одного.

Он резко оттолкнулся от спинки кресла, наклонился вперёд, так что худые плечи почти коснулись кромки стола. Пальцы понеслись по клавиатуре, вызывая аварийный скрипт обрыва соединений.

Курсор подрагивал, двигаясь как в замедленном видео. Окно с аварийным скриптом открылось не сразу, а рывком. Он уже собирался ударить по Enter, когда экран на мгновение дёрнулся, рябью развернулся, как плёнка.

В логах между строками CORE_SECURITY внезапно появилось:

inject: foreign_route_pattern

Источник — unknown.

— Какой ещё foreign… — начал Никита, но не договорил.

На схеме сети тонкая линия, тянувшаяся от архивного сегмента Helix к его туннелям, словно расслоилась. Появилась новая ветка, отводящая часть трафика в сторону. В центре этой новой ветки загорелась маленькая точка — сначала тусклая, через мгновение — ярче.

Она не совпадала ни с одним из знакомых диапазонов адресов. Не попадала ни в выделенные зоны Helix, ни в привычные кластеры провайдеров. В списке узлов она числилась как… ничего. Просто пара символов вместо имени, набор цифр и букв, не похожих ни на один стандартный блок.

CORE_SECURITY тут же отреагировал:

unauthorized_node_detected

action: isolate

но почти сразу после этого в логах вклинились новые строки, с другим стилем, другим префиксом:

>> spoof (endpoint_signature)

>> mirror (trace_noise)

Никита резко выпрямился.

Эти строки не подходили ни под один известный ему формат системных логов Helix. Они были как подписи из другого языка, написанные поверх.

На схеме сети рывком изменились цвета. Линии трассировки, по которым CORE_SECURITY двигался к нему, начали раздваиваться, расходиться, как трещины по стеклу. Часть из них уводила в никуда, к узлам, которых там ещё секунду назад не было.

В окне мониторинга чужих серверов один из «ложных» узлов внезапно загорелся красным:

remote_node_Z: overload

remote_node_Z: shutdown

— Зато кушать им теперь есть кого, — пробормотал Ник, ощущая, как сердце колотится в груди так, будто хочет прорвать рёбра.

Нагрузка на его железе в этот момент резко просела. Шум кулера остался громким, но графики температур на мониторе начали медленно ползти вниз. Сто процентов загрузки сменились девяносто, потом восемьдесят с чем-то.

В логах Helix отчётливо зафиксировались проблемы:

CORE_SECURITY: trace_inconsistency

status: investigating

alert: postponed

Под ними — ещё пара строк с теми же непривычными префиксами >>:

>> hurry

>> not_safe_long

Никита понял, что перестал нажимать что-либо. Рука застыла над клавиатурой, пальцы чуть согнуты, как у пианиста перед аккордом.

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

Внутри окна на совершенно чёрном фоне загорелась тонкая зелёная линия. Она шла от одного края к другому, потом изгибалась, как график, потом разветвлялась. К этой линии цеплялись маленькие точки — словно узлы сети на карте.

Линия медленно складывалась в схему. Вверх, вниз, дугой…

Через пару секунд Никита понял, что видит.

Это был силуэт.