Криптограф вселенной высший код защиты

- -
- 100%
- +
В трассировке локального модуля второй запрос появился уже после отметки закрытия. Разрыв составлял всего одиннадцать наносекунд. Сам по себе он ещё мог быть погрешностью учёта времени, но журнал операций подтвердил последовательность.
Закрытие.
Затем повторный запрос.
Сергей восстановил последовательность операций.
При завершении процедуры модуль дважды обращался к устаревшей библиотеке управления движением. Обработка первого запроса завершалась до закрытия сеанса. Второй оставался в буфере и позднее получал подлинную подпись — на основании сохранённой копии разрешения, которое уже перестало действовать.
Ошибка была не в том, что подпись оказалась чужой.
Подпись была настоящей.
Настоящим было и прежнее согласие.
Но их сочетание больше не давало права воздействовать на пациента.
Не нападение.
Не вирус.
Несогласованность при обновлении.
Исполнительный шлюз остановил команду. В другой конфигурации, где закрытие сеанса проверялось бы тем же устаревшим способом, она могла пройти дальше.
Даже разрешённая во время процедуры стимуляция становилась опасной, если происходила позже — когда человек уже встал и больше не ожидал, что его тело приведут в движение извне.
Сергей заблокировал повторное использование разрешений в выявленной последовательности и отозвал затронутые временные ключи. Это входило в его аварийные полномочия.
Правило блокировки ушло на шлюзы, обслуживавшие модули с той же версией библиотеки. Узлы подтверждали применение. Те, от которых подтверждение не поступало, временно теряли право выполнять соответствующие команды.
Исправление самой библиотеки требовало отдельной проверки.
В модели один за другим гасли отмеченные маршруты.
Сергей дождался сводки.
Ни одного подтверждённого воздействия на пациента после закрытия сеанса.
На этот раз защита удержала границу.
Большинство людей никогда не узнает, сколько раз за день разные её части проверяли и останавливали друг друга.
Так и должно было быть, считал Сергей.
Человек не обязан становиться специалистом по протоколам, чтобы безопасно поднять руку.
Коллеги называли его лучшим криптографом контура.
Он знал, сколько в этой репутации было труда, опыта и способности замечать несовпадение раньше других.
Но сам объяснял её проще.
Не талантом.
Раной.
Ему было девять, когда он впервые увидел, что может произойти по другую сторону незапертой двери.
Отец был испытателем.
В те годы это считалось героической профессией. Первопроходцы нейроинтерфейса. Добровольцы, соглашавшиеся подключать к собственному мозгу несовершенные прототипы, чтобы другие когда-нибудь могли свободно разговаривать, двигаться и понимать друг друга.
BrainNet-1.
Первое поколение.
Сергей помнил гордость, царившую тогда в доме. Помнил, как мать гладила отцу рубашку перед испытаниями, хотя в лаборатории его всё равно заставляли переодеваться. Помнил самого отца — большого, тёплого, с сильными руками и привычкой вечно спешить.
Отец носил механические часы и выставлял их на минуту сорок вперёд.
— Пусть спешат, — смеялся он. — Я тоже спешу. Мы с ними договорились.
В день испытания отец ушёл рано. Сергей ещё лежал в кровати, но услышал шаги в коридоре и выбежал босиком, чтобы попрощаться.
— Сегодня вернёшься?
— А куда я денусь?
— Ты вчера поздно вернулся.
— Сегодня успею к ужину. Часы помогут.
Отец показал ему запястье, подмигнул и закрыл за собой дверь.
Домой он больше не вернулся.
Защита BrainNet-1 оказалась недостаточной. Это признали потом, когда признание уже ничего не могло изменить.
Канал между тестовой средой и интерфейсом проверял происхождение команд. Но проверка допустимости самого воздействия была неполной. Считалось, что в закрытой среде достаточно знать, кто отправил данные.
Все участники были проверены.
Устройства учтены.
Последовательности испытания утверждены заранее.
Что могло прийти по такому каналу, кроме того, что отправили свои?
Позднее инженеры называли этот пробел дырой шириной с ладонь.
Не в официальном заключении.
Между собой.
Отец подключился к тестовой среде — пустой, стерильной и безопасной, как думали тогда.
Через одиннадцать минут началось повреждение мозга.
Никто не сумел окончательно установить, что именно его вызвало. Сохранились несовместимые версии: внутренний нейронный каскад, дефект интерфейса, ошибка протокола, внешняя помеха, неизвестная последовательность, возникшая при взаимодействии участников.
Ни одну не удалось доказать.
Полной записи того, что воздействовало на мозг, не осталось. Часть памяти интерфейса была повреждена. Во внешних журналах сохранились отметки событий, отдельные участки телеметрии и повторяемость, которой не нашли надёжного объяснения.
Этого хватало, чтобы продолжать спор.
Не хватало, чтобы восстановить случившееся.
Девятилетний Сергей не знал ни одного из этих слов.
Потом выучил все.
Они не объясняли главного: почему отец, ещё утром говоривший с ним, теперь смотрел сквозь сына.
В белую палату Сергея пустили не сразу.
Сначала из неё вышла врач — немолодая женщина с серыми от усталости глазами. Она присела перед ним, чтобы их лица оказались на одном уровне.
— Ты Сергей?
Он кивнул.
— Твой папа жив. Его сердце работает. Он дышит самостоятельно.
— Тогда почему мама плачет?
Врач помолчала.
— Его мозг очень сильно повреждён.
— Он ударился?
— Нет.
— Тогда где рана?
— Снаружи её не видно.
Сергей посмотрел на закрытую дверь.
— Он поправится?
— Повреждения тяжёлые. Мы продолжаем обследование.
— Он меня слышит?
— Мы пока не можем сказать, что он воспринимает.
— А ответить может?
— Сейчас не отвечает.
— Потом?
Женщина не отвела взгляда.
— Я не могу тебе этого обещать.
Сергей услышал в этих словах не предупреждение.
Возможность.
Взрослые часто говорили «не можем», когда на самом деле ещё не нашли способ. Отец сам это объяснял. Если задача не решена, это не значит, что решения нет.
Нужно попробовать иначе.
Другую последовательность.
Правильный сигнал.
В палате было слишком бело. Белые стены, белый потолок, белая простыня. Отец лежал неподвижно, но дышал. Грудь поднималась и опускалась. На лице не было ни царапины. На виске темнел круглый след от контакта интерфейса.
Часы сняли и положили на прозрачный столик рядом с кроватью.
Они продолжали тикать.
Сергей подошёл и взял отца за руку.
Рука была тёплой.
Отцовские пальцы сжались вокруг его ладони.
— Он меня слышит! — закричал Сергей. — Он здесь! Он сжал руку!
Врач подошла ближе, но не стала разнимать их пальцы.
— Такое движение может возникать без осознанного ответа, Серёжа.
— Он ответил.
— Мы проверяем, может ли он сделать это по просьбе.
— Значит, слышит.
— Одного сжатия недостаточно, чтобы это понять.
Сергей снова посмотрел на отца.
— Папа, если ты меня слышишь, сожми два раза.
Пальцы оставались неподвижными.
— Два раза, пап. Не один. Два.
Ничего.
Сергей сжал отцовскую руку один раз. Выждал. Потом сжал дважды.
— Вот так. Ты понял? Один — нет. Два — да.
Отцовские пальцы медленно сомкнулись вокруг его ладони.
Один раз.
— Это не считается, — сказал Сергей. — Нужно два.
Он попробовал другую последовательность. Три коротких нажатия — так отец иногда стучал в дверь его комнаты.
Потом начал их домашнюю фразу:
— Пусть часы спешат. Ты тоже спешишь…
Отец смотрел в потолок.
— Скажи остальное, — попросил Сергей. — Ты всегда говоришь остальное.
Ответа не было.
Он повторял фразу. Менял порядок слов. Сжимал отцовскую ладонь разное количество раз. Потом отпустил руку, взял часы со столика и поднёс к его уху.
Знакомый звук должен был что-нибудь изменить.
Сергей искал сигнал, способный пройти сквозь повреждение.
Он такого сигнала не нашёл.
Женщина с серыми глазами села рядом.
— Почему он дышит, если не отвечает?
— Потому что разные части мозга выполняют разную работу. Те, которые поддерживают дыхание, сохранились лучше.
— А другие?
— Там серьёзное повреждение.
— Их можно соединить заново.
— Мы пока не умеем восстанавливать такие связи.
— Пока.
Врач помолчала.
— Да. Но я не хочу, чтобы ты думал, будто нужно только подобрать правильные слова.
Сергей крепче сжал часы.
— А если нужно?
Она не нашла ответа, который он мог бы принять.
В тот день он ещё не понял, что потерял отца.
Он понял, что взрослые перестали обещать вернуть его.
Остальное пришло позже.
Новые обследования. Слова о разрушенных структурах. Повторные проверки. Отсутствие устойчивого ответа на просьбу.
Месяцы, в течение которых отец ни разу не назвал его по имени.
Годы.
Сергей научился различать движение и ответ.
Это знание далось ему дороже всех последующих.
Отцовское сердце продолжало биться ещё семь лет.
Все эти годы его кормили, мыли, переворачивали, следили за дыханием и состоянием кожи. Сначала Сергей приходил каждую неделю. Потом реже — не потому, что перестал любить, а потому, что больше не выдерживал приносить в палату новый способ спросить.
Каждый раз он всё же брал отца за руку.
Иногда пробовал старый код.
Два сжатия — да.
Одно — нет.
Движения не складывались в надёжный ответ.
Ни врачи, ни Сергей не нашли признаков того, что отец понимает этот разговор.
Для сына утрата произошла задолго до остановки сердца.
Тело сохраняло тепло.
Человека, который обещал вернуться к ужину, он больше не находил.
Часы Сергей забрал из палаты в первый день. Мать не возражала. Наверное, поняла: мальчику нужно унести хотя бы одну вещь, продолжавшую делать то же самое, что утром.
Они тикали.
И показывали время на минуту сорок впереди.
Постепенно у Сергея сложилось объяснение.
У взрослых оставались версии.
У него — дверь.
Между мозгом отца и сетью не было достаточной защиты. Значит, если построить её, случившееся не повторится.
Он не мог доказать, что именно такой фильтр спас бы отца. Даже позднее материалы расследования не давали этого знания.
Но ребёнку нужна была причина, с которой можно бороться.
Незащищённый вход.
Дыра шириной с ладонь.
Если бы её не было, отец вернулся бы к ужину.
После больницы Сергей почти перестал разговаривать на несколько месяцев.
Клятву он тоже дал молча.
Научится защищать человеческий мозг.
Не оставит ни одной щели, через которую чужое воздействие сможет выдать себя за собственную мысль.
Сделает всё, чтобы другому ребёнку не пришлось держать тёплую руку и угадывать, осталось ли за её движением узнавание.
Так началось его ремесло.
Не с первого шифра.
С обещания, которого девятилетний мальчик ещё не мог исполнить.
Тридцать лет спустя Сергей продолжал искать двери, которых не должно быть.
BrainNet-3 стал одной из самых защищённых систем в истории — в том числе благодаря его работе.
Это не означало, что исчезли преступления, подмены или ошибки. Люди крали полномочия, искажали условия согласия, использовали неверно настроенные границы доступа. Иногда система исправно исполняла действие, которое человек считал своим, хотя обстоятельства выбора были подстроены.
Но путь от внешнего пакета к нейронному воздействию теперь был защищён несравнимо надёжнее.
Каждая команда проходила многоступенчатую проверку. Система сопоставляла источник, область согласия, допустимую глубину воздействия и текущее состояние разрешения.
Сергей работал над тем, чтобы отрицательный результат хотя бы одной обязательной проверки останавливал исполнение.
Он закрыл множество путей, подобных тому, который считал причиной отцовской гибели.
Саму давнюю причину так и не установил.
Внутри себя он редко разделял эти две вещи.
Отца было не вернуть.
Других — можно было защитить.
Так он понимал работу: как долг, который пытался отдать, как спор со смертью, как памятник человеку, от которого остались механические часы.
Он старался не думать о другой стене, выросшей за те же годы.
Елена видела её.
— Ты зашифровал себя всего, Серёж, так, что и сам ключа не помнишь.
Он отшучивался.
Но понимал, что она права.
Миру он выдавал по одному проверенному факту за раз. Каждое чувство задерживал, пока не убеждался, что может позволить себе его выразить.
Больше всего Сергей боялся не собственной смерти.
Он боялся снова любить так, чтобы однажды остаться с теплом руки — и без ответа.
Страх не мешал ему любить Елену.
Он мешал признать, насколько много в его жизни уже зависело от другого человека.
В работе Сергей иногда замечал иное.
Внимание останавливалось на одном участке прежде, чем он мог объяснить почему. Он только начинал изучать последовательность операций или сравнивать временные метки, а уже знал, куда хочется посмотреть ещё раз.
Иногда там находилась уязвимость.
Иногда — ничего.
Он не всегда мог отделить опыт от тревоги, а интуитивное направление — от желания снова обнаружить дверь и закрыть её.
Поэтому проверял.
Восстанавливал цепочку. Искал опровержение. Старался получить результат, который мог повторить другой специалист.
Это делало его хорошим криптографом.
Но иногда он требовал большего: чтобы до полного объяснения такое ощущение не меняло установленного порядка работы.
Коллеги называли его способность профессиональной интуицией.
Сергей — непроверенным входящим сигналом.
Сигнал мог оказаться верным.
Открывать ему дверь без ключа Сергей не хотел.
Нет ключа — нет допуска.
Даже если стучали изнутри.
Закончив с медицинским сектором, Сергей открыл массив Елены.
Восемнадцать целых четыре десятых терабайта.
Триста потоков наблюдений.
Журналы предварительной обработки.
Порядок калибровочных циклов.
Временные сдвиги.
Результаты частичных тестов.
Резервные модели.
Рабочая проверка уже носила нейтральное название, которое он выбрал накануне.
В исходной описи оставалось другое:
СТУК.
Сергей не стал его менять.
Название не являлось выводом. Но и удалять историю исследования не было причин.
Он начал с того, как Елена совместила потоки.
Убедился, что участки архива, использованные для поиска, отделены от участков проверки. Просмотрел отброшенные варианты. Проверил, не менялись ли правила сравнения после каждого удачного совпадения.
Потом перешёл к независимости приёмников.
Сорок два резервных устройства использовали отдельные блоки первичной обработки. Часть программ была написана другими группами. Некоторые системы не обновлялись восемнадцать месяцев.
Общие зависимости всё равно оставались.
Время. Формат обмена. Часть опорных моделей. Последующая сборка поправок.
Триста приборов не превращались от этого в триста независимых свидетелей.
Но версия об одном локальном дефекте объясняла данные всё хуже.
Сергей проверил температуру приёмников, старение элементов, питание и графики обслуживания. Изученные факторы не воспроизводили найденную структуру целиком.
Вернулся к наблюдениям и заново применил доступные поправки.
Амплитуда остатка менялась.
Часть повторяемости сохранялась.
Он разделил приёмники по конструкции, программной архитектуре и условиям наблюдения. На малых группах результат слабел, иногда почти терялся. При объединении снова становился различимым.
Это ещё не указывало, где находилась причина.
Но объяснение отдельными несвязанными сбоями уже не выглядело достаточным.
К середине дня Сергей остановил расчёт.
Посмотрел на контрольный участок, который не использовал при настройке собственной проверки.
Результат Елены воспроизводился в пределах оговорённых ограничений.
Он вспомнил нетронутый шоколад и её поднятый над столом палец.
Три удара.
Паузы между ними.
Она заметила то, что обычная сводка не выделяла.
Теперь это требовало объяснения независимо от того, как они назовут рисунок.
Сергей вернулся к связи с калибровочными циклами.
После частичных тестов, не доходивших до общей сборки поправок, не возникало такого же устойчивого совпадения. После полных циклов выделенная последовательность чаще усиливалась.
Не всегда одинаково.
С пропусками и значительным разбросом.
Оценка задержки на ранних участках приближалась к суткам. На последнем доступном участке модель давала восемь часов пятьдесят три минуты, но неопределённость была гораздо больше одной минуты.
Сергей убрал лишнюю точность с основного графика.
Около девяти часов.
Внутри расчёта число осталось.
На экране — диапазон.
К этому времени Сергей получил рабочий допуск к журналам верификации и применения поправок. Он открыл их отдельно от наблюдательного архива.
Сбор массивов.
Нормализация.
Проверка региональных подписей.
Согласование временных меток.
Расчёт поправки.
Передача в калибровочный слой.
Запись результата.
В просмотренных операциях не было команд на передачу данных за пределы земной инфраструктуры.
Приёмники наблюдали.
Контур обрабатывал.
ГЕЯ использовала вычисленную поправку.
Сергей проверил известные пути обратного влияния: служебный обмен, изменение режимов приборов, побочные излучения оборудования, повторное использование данных.
Этого хватало, чтобы сохранить несколько внутренних объяснений.
Не хватало, чтобы выбрать одно.
Известный радиоканал, который связывал бы их работу с удалённым источником и объяснял наблюдаемые изменения, не находился.
Это не исключало существования такого источника.
Но и не давало права помещать его в космос только потому, что приборы смотрели на древний фон.
Сергей проверил криптографическую верификацию пакетов.
Могла ли последовательность возвращаться через служебные данные?
Подписи в проверенных журналах были подлинными. Необычной смены ключей не обнаружилось. Недопустимых обращений к защищённым когнитивным каналам тоже.
Граница, которую он привык охранять, оставалась целой.
Он запустил ещё одно сравнение — с иной обработкой остатков и поправкой на число проверенных вариантов.
Результат ослаб.
Не исчез.
При некоторых изменениях модели статистическая уверенность становилась недостаточной для отдельного вывода. Другие варианты обработки сохраняли общую составляющую.
Этого хватало для регистрации воспроизводимой аномалии.
Не для полного объяснения.
Сергей записал ограничения.
Существование закономерности не делало её сообщением.
Предполагаемая связь с циклом не доказывала ответа.
Даже обнаружение внешнего источника само по себе не означало бы, что за ним стоит чьё-то намерение.
Он развернул рабочую модель нейроконтура и отметил участки, для которых существовали данные.
Небольшая область калибровочного слоя.
Несколько проверенных путей обмена.
За ними — системы, которые он сегодня не исследовал.
Нельзя было честно написать: «Ничто не воздействует на сеть».
Можно было написать: «В проверенной области не выявлены признаки несанкционированного проникновения».
Сергей выбрал вторую формулировку.
Она была точнее.
И всё же именно отсутствие признаков проникновения приносило ему облегчение.
Он знал, что делать с чужой командой.
С подменой согласия.
С ключом, пережившим срок разрешения.
Здесь не было ни одного из этих признаков.
Только повторяемость и сокращающаяся задержка.
Сергей посмотрел на график.
Около суток.
Меньше.
Ещё меньше.
Около девяти часов на последнем участке.
Тенденция зависела от способа оценки, но сохранялась при нескольких разных способах обработки.
Елена сказала: ей кажется, оно ждёт.
Сергей включил её звуковое представление.
Рабочий интерфейс воспроизвёл три тихих удара.
Тук.
Тук.
Тук.
Он выключил звук.
Метафора делала наблюдение ближе.
И могла сделать его убедительнее, чем позволяли данные.
Сергей вызвал систему предварительной классификации.
Она предложила рабочие направления:
ОБЩАЯ ОШИБКА ОБРАБОТКИ.
НЕУЧТЁННЫЙ ФИЗИЧЕСКИЙ ПРОЦЕСС.
ИСТОЧНИК ВНЕ ПРОВЕРЕННОГО КОНТУРА.
Рядом оставалось поле для иной гипотезы.
Система не запрещала ему вписать «обращение».
Но это слово пока не указывало, какую именно проверку проводить следующей.
Сергей оставил поле пустым.
Он мог запросить срочное междисциплинарное расследование.
Мог рекомендовать ограничение полных циклов, не останавливая наблюдения.
Мог предложить временно отделить получение данных от применения новых общих поправок.
Ни один из этих вариантов не требовал заранее доказать, что неизвестное разумно.
Но каждый нуждался в обосновании.
Полное прекращение сверки означало бы переход связанных систем на резервные калибровки. Они продолжили бы работу, однако часть режимов пришлось бы ограничить. Некоторые измерения потеряли бы точность, операции — скорость. Медицинские интерфейсы продолжили бы работу в более узких разрешённых пределах.
Мир не рухнул бы.
Цена всё равно была реальной.
Ограниченный эксперимент стоил меньше. Но и он требовал согласования с другими отделами: нельзя было произвольно менять общую процедуру только ради того, чтобы посмотреть, что получится.
Сергей понимал это лучше многих.
Он сам участвовал в разработке таких требований.
Перед ним не было только двух вариантов — выключить всё или забыть.
Были разные степени вмешательства.
Разные сроки.
Разная цена неопределённости.
Он снова посмотрел на последовательность целиком.
На мгновение внимание перестало двигаться от проверки к проверке.
Возникло простое направление:
разделить наблюдение и полный цикл;
не повторять пока всю процедуру без изменения;
посмотреть, сохранится ли зависимость.
Не объяснение.
Не знание об опасности.
Следующий опыт.
Сергей задержался на этой мысли.
Елена подводила его примерно к тому же, когда говорила о цене ожидания.
Он открыл форму запроса на ограниченную проверку.
Поля потребовали указать затрагиваемые системы, основания срочности и ожидаемый результат.
Ожидаемый результат он мог описать.
Срочность — хуже.
Подтверждённого повреждения не было.
Проникновения — тоже.
Нарушения согласия не обнаружено.
Сергей поймал себя на том, что опять перечисляет признаки знакомой угрозы.
Остановился.
Вернулся к сокращению задержки.
Оно требовало внимания. Но из него ещё не следовало, что следующий цикл причинит вред.
Если из-за каждой необъяснённой корреляции немедленно вводить ограничения, сама защита может стать способом остановить инфраструктуру. Достаточно создать несколько убедительных ложных совпадений.
Этот риск тоже существовал.
Неизвестное не обязательно опасно.
Странное — не обязательно враждебно.
Сергей верил в этот принцип.
На транспортном ярусе Елена спрашивала, почему молчание человека становится показателем риска. Он отвечал, что значение имеет сочетание признаков.
Теперь признаки тоже сочетались.
Но не относились к тем угрозам, которые он умел уверенно обосновать.
Отклонения в поведении человека система научилась замечать быстро.
Для новой аномалии ещё предстояло найти место в порядке работ.
Сергей закрыл незавершённый запрос.
Решил сначала дождаться следующего участка наблюдений.
Он не называл это отказом от проверки.
Только выбором последовательности.
В форме заключения появилась первая строка:
АНОМАЛИЯ ВОСПРОИЗВЕДЕНА В НЕЗАВИСИМОЙ ОБРАБОТКЕ.
Сергей добавил:
В ПРЕДЕЛАХ ПРОВЕРЕННЫХ МОДЕЛЕЙ.
Следующая:
ИСТОЧНИК НЕ УСТАНОВЛЕН.
Оставил.
Далее:
ПРИЗНАКИ НЕСАНКЦИОНИРОВАННОГО ПРОНИКНОВЕНИЯ В ПРОВЕРЕННОЙ ОБЛАСТИ НЕ ВЫЯВЛЕНЫ.
Подтвердил.
Оценку дальнейшего риска система не смогла обосновать с достаточной уверенностью.
Сергей не заменил её нулём.
Вписал:
ДАННЫХ ДЛЯ ОЦЕНКИ НЕДОСТАТОЧНО.
Затем раскрыл режимы дальнейшей работы.
Срочное расследование.
Ограниченная проверка с изменением циклов.
Продолжение наблюдения.
Он выбрал последнее.



