Чтение онлайн

ЖАНРЫ

Право на сбой. Нулевой Игрок
Шрифт:

Политика «Янус»? Что еще за «Янус»? Я уволился до того, как они начали давать своим протоколам безопасности имена из греческой мифологии. Джонсон, сука, ты все-таки нанял толковых безопасников. И они вычистили мое имя из списка админов. Они кастрировали меня в моем собственном мире.

Гнев снова начал закипать, вытесняя холодную логику. Я больше не пытался быть изящным. Я начал долбить по системе, перебирая все известные мне уязвимости, все старые пароли, все отладочные команды, которые только мог вспомнить.

force_shutdown -h now

Access denied.

kill -9 1

Access denied.

rm -rf /

Access denied. Nice try, script-kiddie.

Последний

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

Паника начала подступать к горлу. Я — гений-контрол-фрик, создатель этого мира, заперт в пыльной подсобке и не могу выполнить даже простейшую команду. Мое представление о том, что тотальный контроль — единственный способ победить, трещало по швам. У меня не было никакого контроля. Я был узником.

И тут, в разгар моей лихорадочной, бесполезной атаки, произошло то, что заставило меня замереть.

Система перестала отвечать Access denied. Вместо этого на моем интерфейсе, прямо по центру, вспыхнуло новое сообщение. Оно было написано не системным зеленым, а тревожным, кроваво-красным цветом.

WARNING: Unauthorized access attempt detected from node NPC_barkeep_734. IP address: 127.0.0.1.

Мое сердце, которого у меня не было, пропустило удар. Они меня видят. Система не просто блокировала меня. Она меня идентифицировала. Она знала, кто я. Или, вернее, что я. Просто номерной NPC-трактирщик с локального хоста.

Угроза перестала быть абстрактной. Теперь это был тикающий таймер. Либо я прекращаю сейчас и надеюсь, что мой сигнал затеряется в общем шуме, либо иду до конца, рискуя всем.

И я пошел до конца.

В отчаянии я использовал последнее, что у меня было. «Ключ от Судного дня». Не команда, а скорее вирус, руткит, который я вшил в самый первый блок кода «Кайроса». Он должен был сработать всегда, обойдя любые защиты, потому что он был частью самой ткани этого мира.

exec apocalypse_key

Я нажал на воображаемый Enter и затаил дыхание. На секунду все замерло. Даже фоновые звуки таверны стихли.

А потом красный текст на моем дисплее сменился новым.

Unauthorized access attempt logged. Security level escalated to CRITICAL. Full diagnostic report sent to system administrator.

Катастрофа.

Это был не просто провал. Это был громкий, оглушительный провал с фейерверками и спецсигналами. Я не просто постучал в дверь — я вынес ее с петель и заорал в лицо охране.

Я больше не был анонимным глюком. Я стал целью.

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

Глава 5

Анализ угрозы

Паника — это denial-of-service атака на мозг. Бесконечные, бессмысленные

пакеты страха забивают все каналы, пока система не зависает. Я стоял в пыльной темноте подсобки, и мой процессор, мое сознание, был близок к этому состоянию. Красные буквы CRITICAL все еще горели на сетчатке моих несуществующих глаз. Они поймали меня. Не просто отбили атаку, а повесили на меня ярлык, флаг, мишень.

Первым импульсом было — бежать. Выломать дверь, выбежать на площадь, раствориться в толпе NPC, притвориться обычным скриптом. Глупость. Детский сад. Я сам проектировал эту систему. От root не убежишь.

Вторым импульсом было — замести следы. grep по логам, найти запись о моей попытке доступа и rm -rf ее к чертовой матери. Рискованно. Очень рискованно. Удаление системных логов — это еще один красный флаг, возможно, даже более яркий, чем неудачная попытка взлома. Это как если бы грабитель, попавшись на камеру, попытался сжечь весь серверный центр. Шумно и глупо.

Дилемма была ясна: затаиться и молиться, что мой алерт — лишь один из тысяч ложных срабатываний за день, которые усталый админ просто смахнет в корзину. Или попытаться действовать, рискуя превратить тихую тревогу в оглушительную сирену.

Страх кричал: «Прячься!». Гордость, остатки моего былого «я», шептала: «Борись!».

И тут, сквозь шум паники, пробился голос программиста. Голос, который годами решал неразрешимые задачи. Не паникуй. Анализируй. Ты пропустил переменную. Найди ее.

Я сделал медленный, контролируемый выдох, которого на самом деле не было, и заставил себя успокоиться. Реакция провалилась. Настало время для осмысления. Я решил не трогать логи сервера безопасности. Вместо этого я решил посмотреть на себя.

Если система меня заметила, значит, я оставил след. И этот след должен быть где-то записан. Например, в логах моего собственного аватара.

Я снова погрузился в debug_mode, но на этот раз мои команды были тихими и осторожными. Никаких запросов на повышение прав. Только чтение. read-only.

tail -f /var/log/

Я открыл лог-файл самого себя. Обычно это был скучнейший документ. Timestamp: […], Event: loop_start. Timestamp: […], Event: script_wipe_counter, Result: success. Timestamp: […], Event: loop_end. И так тысячи раз в день.

Но сегодня он выглядел иначе.

Я прокрутил его до момента убийства Лины. И увидел то, от чего по моему позвоночнику пробежал цифровой мороз.

Timestamp: […], Event: script_wipe_counter, Result: success

Timestamp: […], Event: player_interaction_event, Type: voice_command, PlayerID: Logan_77

Timestamp: […], ANOMALY DETECTED: Script deviation. Action: idle_state. Expected: greet_player. Duration: 3.7s. Flag: low_priority

Timestamp: […], Event: player_interaction_event, Type: voice_command, PlayerID: Kay_01

Timestamp: […], ANOMALY DETECTED: Script deviation. Action: custom_dialogue. Expected: predefined_dialogue_tree_ID_42. Flag: low_priority

Timestamp: […], Event: internal_command, Type: debug_mode_access, Level: 1

Timestamp: […], ANOMALY DETECTED: Unauthorized function call. Flag: medium_priority

Поделиться с друзьями: