Почему я вообще это написал
Я сисадмин. Олдскульный. Работал с сетями, писал скрипты, поднимал 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/