Как я написал технотриллер для сисадминов: «Заговорённые», реальный код и число π

от автора

Почему я вообще это написал

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

  • То он взламывает Пентагон за пять минут через ноутбук через взлом IP‑адреса (встречается и такое)

  • То пишет код в виде случайного набора слов или набор команд, не имеющих вообще никакого смысла

  • Ну или в лучшем случае программист — это какой‑то шаман, который раз — и всё сделал.

Конечно, я понимаю всё про творческое допущение и про то, что под меня не обязаны подлаживаться авторы. И что моё передёргивание не отменяет многих других достоинств замечательных произведений. Но все эти годы где‑то на подкорке мне всегда хотелось бы почитать про себя в главной роли, про очкарика с клавиатурой, который находит нужные данные не перебором комбинаций, а через grep, и ломает сервер не выстрелом, а через ssh и chattr+i

Когда появился Автор.Тудей с его технозасильем, я немного воспрял духом, но напрасно: технотриллеров действительно появилось, но сплошняком одно и то же: ИТ в лучшем случае магия, в худшем — где‑то там, вообще.

И вот тогда я решил написать сам. Так появились «Заговорённые» — роман, где:

  • герои вводят действительные команды в консоли,

  • проблемы решаются через реальные протоколы (OSPF, SNMP, Flash SMS),

  • код — это код, а не просто упоминание о нём.

Что такое «Заговорённые» за 30 секунд

Предыстория: 

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

Победитель навязал «Глобал‑Протокол» всем остальным: тотальный контроль, запрет на нейросети и любые непрозрачные технологии. Протокол задумывался как временная мера — «переживём кризис, потом вернёмся к старой модели». Но кризис оказался затяжным и те, кто вводил протокол, умерли, а их дети уже выросли внутри системы и не знали другой реальности. Система стала инерцией — и работает не потому, что кому‑то выгодна, а потому что её некому выключить.

Сюжет:

Москва, 2125 год.

Мир тотального контроля: каждый гражданин с рождения получает Заговор (recID) и Рейтинг Благонадежности Личности (РБЛ) — число, которое решает всё. От калорий в пайке до права на жизнь. Упал рейтинг — урезали воду и свет. Упал до трёх знаков — деклассирован. Ниже нуля — расстрел.

Технологии более не развиваются — их запретили. Доктрина Абсолютной Прозрачности гласит: «Сложность — это хаос». Всё работает на древнем, костыльном коде, который никто не понимает, но никто уже не умеет менять.

Сисадмин из 2016 года переносится в этот мир. У пришельца нет рейтинга. Система его не видит. Только это не суперсила, а ошибка: в момент переноса его биосигнатура зависла в ядре системы со статусом PENDING. Столкнувшись с необходимостью выживать, он присоединяется к подполью, и доводит систему до ожидаемого коллапса, активно используя на пути командную строку и знания OSI модели.

Жанр: технотриллер / киберпанк / роуд-муви по московскому метро.

Три примера реальных команд и протоколов в тексте

Взлом дрона через командную строку

В главе 2 оператор взламывает дрона, вводя:

OVERRIDE_TARGET_LOCK: DRONE_UNIT_7B-23 :: INITIATE_SENSORY_BLINDING: FADE_VISUAL_INPUT :: REALLOCATE_PRIORITY: SECTOR_GRID_DELTA_8

Что здесь реально:

  • Сама команда OVERRIDE_TARGET_LOCK — вымысел, но идея перехватить управление над конкретным устройством абсолютно реальна. В сетях Cisco такое действительно доступно через ssh на устройстве с последующим изменением конфигурации или через snmp-set для переопределения параметров.

  • Двоеточие без пробела и двойное двоеточие с пробелом отсылают к старым системам (в некоторых прошивках до сих пор встречается такой синтаксис).

Художественный домысел

  • в прямом вызове команды OVERRIDE без аутентификации. В реальности сначала нужно было бы получить доступ к самому дрону (через взлом его точки доступа или физический порт), а только потом отправлять вызовы.

  • FADE_VISUAL_INPUT — он же художественный способ сказать «подмени видеопоток на шум». Возможно, в такой ситуации разумнее было бы использовать deauth‑атаку (отключение от сети) или отправку пустых RTP‑пакетов.

  • Сама логика действий — нет смысла ослеплять дрон перед перенаправлением в другой сектор. Он туда элементарно дорогу не найдет.

Почему так написано: ради динамики сцены. Аутентификация и многостраничные логи убили бы экшн окончательно. Но знающий сети человек увидит в этой сцене, что принцип соблюден. Любой оператор с доступом к управляющей сети может переназначать приоритеты и цели.

Эмуляция базовой станции (IMSI-catcher)

Глава 6. Оператор обнаруживает в сети неизвестное устройство (старинный телефон) и эмулирует фальшивую базовую станцию:

INITIATE_SDR_MODE: NODE_D8_SUB. FREQUENCY: 1800_MHZ. EMULATE: BASE_STATION_LEGACY.

Затем отправляет Flash SMS (Class 0) — сообщение, которое всплывает на экране телефона без сохранения в памяти.

Что здесь реально:

  • Частота 1800 МГц (Band 3) — реальный диапазон GSM/LTE, который понимает андроид 2016 года.

  • Устройства для эмуляции базовой станции (IMSI-catcher, «stingray») существуют. Используются спецслужбами, а также хакерами на дешёвом оборудовании (HackRF One, BladeRF).

  • Flash SMS (Class 0) — реальный тип сообщений, закреплённый в спецификациях GSM (3GPP TS 23.040). С помощью специального шлюза или SS7-доступа его можно отправить на любой телефон.

Художественный домысел:

  • Оператор совершает такое действие программно, без физического SDR‑устройства. На самом деле в такой ситуации не обойтись как минимум без HackRF и соответствующего ПО.

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

Эта сцена важна для сюжета: эпизод показывает, что оператор рискует карьерой (а в логике романа — и жизнью) ради незнакомца.

ERR-01 — UNIX‑время и PENDING операция

Один из самых важных фрагментов, связывающих технологию с сюжетом.

Глава 6. Оператор находит в логах ядра запись:

TIMESTAMP: 1471250477Z. ID: 0x7B2016A15 EVENT: ANOMALY_ANCHOR_SET. STATUS: PENDING.

Если привести UNIX-метку к стандартному формату через

date -d @1471250477

то получитсяMon Aug 15 08:41:17 UTC 2016.

15 августа 2016 года. Тот самый день, когда Андрей исчез из своего времени.

Статус PENDING означает, что операция (транзакция) начата, но не завершена. Система ждёт результата. В романе она ждала 50 лет.

ID: 0x7B2016A15 — это биосигнатура Андрея, записанная в шестнадцатеричном виде. Система не знала, кто он (нет РБЛ), но зафиксировала его как аномалию и присвоила этот идентификатор.

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

Статус PENDING сменяется на COMPLETE. Транзакция закрывается. Сисадмин исчезает из реальности 2125 года, а мир получает шанс на перезагрузку.

Понятно, что сделано немало допущений и условностей, к которым можно придираться с точки зрения реального программирования, но смысл романа не столько в написании очередного учебника, сколько в использовании реальных концепций UNIX‑времени, статусов транзакций, рекурсий и многого другого. В романе встречаются и другие артефакты — число π как метафора бесконечности, цифровые шрамы базы данных, даже легендарный костыль ON ERROR RESUME NEXT. Не говоря уж о том, что техностагнация привела к тому, что их основной инструмент контроля работает на технологии столетней давности, благодаря чему сисадмин и получает свой режим бога.

Где правда, а где вымысел

Я веду блог на Автор.Тудей, где разбираю технические сцены. Честно показываю, какие команды реальны, а где допущено жульничество ради драматургии и вау-эффекта.

Примеры:

  • Реальность: date -d @1471250477, OSPF, interface range, Flash SMS, частота 1800 МГц.

  • Голливуд: обходной скрипт, который запускается по вводу; OVERRIDE_TARGET_LOCK без аутентификации; эмуляция вышки без SDR.

Почему я это делаю: мне нечего скрывать. Технари всё равно увидят границы. Лучше я сам их обозначу, получу доверие и благодарность вместо гневных комментариев «автор не шарит».

Потому что автор хотел бы не просто «шарить» в ИТ, а передать своё к нему отношение — как к фундаменту всех процессов, пронизывающих нашу жизнь. Попыткой вывести в герои рядового системного инженера я хотел бы напомнить всем ИТ‑шникам: вы и есть герои сегодняшних дней. А может быть, и завтрашних.

Почему это оказалось сложнее, чем просто написать книгу

Когда я начал писать, я думал: «Книга об ИТ для ИТ, я сам из ИТ — что может быть проще?».

И ошибся. Оказалось, что нужно сохранять драматургию и не врать в коде. Объяснять сложные вещи (OSPF, SS7, IMSI‑catcher) через действие, а не через лекции. Искать и находить баланс между «реально» и «интересно».

Вчерне книга была готова через месяц. Дорабатывал я её полгода.

Я переписывал главу с маршрутизатором Cisco три раза. Первый вариант был технически безупречен — и совершенно нечитаем. Второй был слишком голливудским. Третий — тот, что в книге.

Сейчас я готов подать совет всем, кто хочет писать технотриллеры:
Не бойтесь упрощать, но всегда осознанно. Зная, где правда, а где вымысел. Я перечитываю книгу и пропускаю мелкие технические неточности (например, что на импульсном фонаре стоит изотопный маркер) — они мало значат для логики мира. А вот поднятие за 10 секунд OSPF‑соседства меня будоражит, и если это кто‑то заметит, кроме меня — исправлю.

Где почитать (и потестировать команды)

Книга «Заговорённые» полностью бесплатна на Автор.Тудей.

Это первая книга цикла «Деепричастные», и единственная, столь строго направленная на ИТ.

Бонус для хабровчан:
В блоге на Автор.Тудей я выкладываю подробные разборы команд — «Как взломать дрона», «Как оператор взломал телефон Андрея» и тп.
Заходите, смотрите, спорьте.

Все комментарии, полученные через данный портал, я внимательно изучу и интегрирую в текст.

ссылка на оригинал статьи https://habr.com/ru/articles/1043536/