10 Таинств

Горячая работа
NC-17
Завершён
20
автор
Серия:
Фэндом:
Размер:
21 страница, 10 312 слов, 11 частей
Описание:
Публикация на других ресурсах:
Запрещено в любом виде
20 Нравится 8 Отзывы 6 В сборник

ГЛАВА 5. ЦИФРОВАЯ КРЕПОСТЬ

Настройки
MicroSD карта лежала на моём столе, словно маленькая чёрная бомба. Я смотрел на неё уже несколько минут, не решаясь прикоснуться. Как она оказалась у Али, это другой вопрос, который сейчас меня волновал меньше всего – может просто валялась на полу генераторной в особняке, как ещё одна подсказка оставленная нашем мучителем? Прошло четырнадцать часов с момента встречи с Северцевой и Ледниковым. Четырнадцать часов из сорока восьми. Мы успели покинуть особняк — полиция всё-таки прорвалась внутрь к рассвету, взломав одну из решёток служебного входа газовым резаком. Нас допросили, записали показания, пообещали связаться «в случае необходимости». Юристы корпорации присутствовали при каждом разговоре с правоохранительными органами. Разумеется, не случайно. Теперь я сидел в своём домашнем кабинете — маленькой комнате на втором этаже с видом на задний двор. Али был внизу; я слышал, как он ходит по кухне, открывает и закрывает дверцы шкафов. София уехала к родственникам. Карла исчезла в неизвестном направлении сразу после допроса. Соловьёвы заперлись в своём городском особняке. Бена увезли в частную клинику — Артём лично об этом позаботился. А я сидел и смотрел на карту памяти. Корпоративный телефон лежал в другом конце комнаты, накрытый плотной тканью. Паранойя? Возможно. Но если они действительно мониторят устройство, то встроенный микрофон способен улавливать звуки даже в режиме ожидания. Я знал это, потому что мы сами внедряли эту функцию в прошивку два года назад. «Для экстренной связи в случае угрозы жизни пользователя», — так это было сформулировано в технической документации. Но утверждать наверняка не брался. Я надел латексные перчатки — те самые, которые остались после прошлогоднего ремонта, — и осторожно вставил карту в адаптер, подключённый к моему личному ноутбуку. Машина была не подключена к сети; я физически выдернул Ethernet-кабель и отключил Wi-Fi модуль через BIOS ещё вчера вечером. Может быть, избыточная предосторожность. Но после того, что я видел в том зале, избыточной предосторожности не существовало. Карта содержала семнадцать файлов. Все с расширением .log и .bin. Первые пять файлов оказались стандартными системными логами — теми самыми, которые генерирует любое устройство под управлением нашей операционной системы. Временные метки охватывали период с шестнадцати ноль-ноль до девятнадцати двадцати трёх того вечера. Последняя запись в последнем логе обрывалась на полуслове: «SYS_EVENT: DEVICE_FAULT_CRITICAL_BAT...» Батарея. Или то, что мы все привыкли считать батареей. Я открыл следующий файл — бинарный. Шестнадцатеричный дамп. Размер — четыреста двенадцать килобайт. Слишком маленький для полноценного обновления прошивки, но достаточный для патча или модуля расширения. Я загрузил его в дизассемблер и принялся изучать структуру. Спустя сорок минут я откинулся на спинку стула и потёр глаза. Голова гудела от напряжения, но кое-что начинало вырисовываться. Файл содержал исполняемый код. Скомпилированный, обфусцированный, но всё же узнаваемый. Это был модуль управления питанием — один из критических компонентов нашей операционной системы. Тот самый модуль, который отвечает за контроль температуры аккумулятора, распределение нагрузки между ядрами процессора и экстренное отключение в случае перегрева. Но этот модуль отличался от того, что хранился в нашем репозитории. Я вывел на экран две колонки — справа оригинальный код из официального репозитория, слева содержимое бинарника с карты. Различия были минимальными, но существенными. Кто-то добавил обработчик внешнего сигнала — триггер, который активировался при получении определённой последовательности байтов через Bluetooth-модуль. Когда триггер срабатывал, модуль отключал все предохранители и направлял максимальный ток на элемент питания. Литий-ионные батареи при таком сценарии ведут себя предсказуемо. Перегрев. Тепловой разгон. Возгорание или взрыв — в зависимости от конструкции корпуса и окружающих материалов. Убийство по Bluetooth. Я записал хеш-сумму модифицированного файла и сравнил её с эталонной. Они не совпадали. Это было очевидно. Но меня интересовало другое — цифровая подпись. Каждое обновление, каждый модуль, который устанавливается на устройства корпорации «N», должен быть подписан корпоративным сертификатом. Без этой подписи система откажется принимать код. Я извлёк подпись из бинарника и прогнал её через верификатор. Подпись была действительной. Я перечитал результат трижды. Действительная подпись. Это означало, что либо злоумышленник имел доступ к нашему закрытому ключу, либо кто-то внутри корпорации — кто-то с правом подписи — намеренно заверил этот код. Круг людей с таким доступом был ограничен. Я, Карла, Джон, Барклай, трое Соловьёвых и технический директор Марков, который не присутствовал на презентации. Восемь человек. Двое из них уже мертвы. Один — в отпуске на другом конце мира. Оставались пятеро. Включая меня. Я посмотрел на метаданные сертификата. Дата выпуска — три месяца назад. Срок действия — до конца года. Идентификатор... Я замер. Идентификатор указывал на сертификат, выданный отделу специальных проектов. Подразделению, о существовании которого я знал, но с которым никогда напрямую не работал. Официально они занимались «перспективными разработками». Неофициально — их бюджет был засекречен даже от меня, главы отдела кибербезопасности. Я вернулся к логам и начал искать временную привязку. Когда модифицированный модуль был загружен на устройства? Ответ нашёлся в системном журнале презентационного смартфона — того самого, который взорвался в руках Джона. OTA_UPDATE_RECEIVED: 00:12:07. OTA_MODULE_INSTALLED: 00:12:34. SOURCE_SERVER: INT_UPDATE_SRV_03. Ноль часов двенадцать минут. За семь минут до того, как Джон вышел на сцену. За семь минут до первого взрыва. Обновление пришло с внутреннего сервера. Нашего сервера. Не через публичный канал дистрибуции, который проходит многоступенчатую проверку, а напрямую — через служебный интерфейс, предназначенный для тестирования. Я откинулся назад и уставился в потолок. Кто-то — кто-то с высоким уровнем доступа, кто-то изнутри — загрузил убийственный код на устройства за считаные минуты до презентации. Это было не случайностью. Не внешней атакой. Это было внутренней операцией. Но зачем? И почему именно эти люди? Я снова посмотрел на список «ДЕСЯТЬ ТАИНСТВ», сфотографированный в вертолёте. Джон, Барклай, Стивен — первые три, четвёртое моё... Инженеры и дворецкий. Какая связь? Что их объединяло, кроме присутствия на презентации? Мне нужно было больше данных. Полные логи сервера обновлений. Журналы доступа к системе подписей. Внутренняя переписка отдела специальных проектов. Всё это хранилось в корпоративной сети — за семью уровнями защиты, половину из которых проектировал я сам. И теперь мне предстояло взломать собственную систему. Дверь кабинета скрипнула. Я инстинктивно свернул окно с кодом и обернулся. — Тук-тук, — Али стоял в дверях с двумя кружками чая. Его лицо было серым от недосыпа, под глазами залегли тёмные круги. — Ты тут уже четыре часа безвылазно. Нашёл что-нибудь? Я помедлил секунду. Стоит ли ему говорить? Слышат ли нас в корпорации через телефон? Он не инженер, не программист. Он мой брат, но он оказался втянут во всё это случайно. С другой стороны — его имя может быть в том списке. Или имя кого-то, кого он знает. — Да, — я принял кружку и сделал глоток. Чай был слишком горячим; он обжёг язык. — Это не случайность. Это диверсия. Али поставил свою кружку на край стола и сел на гостевой стул. — Расскажи. — Устройства получили обновление за несколько минут до презентации. Модифицированный код, который превращал батарею в бомбу замедленного действия. Триггер активировался по внешнему сигналу — скорее всего, через Bluetooth. — То есть кто-то просто... нажал кнопку? — Упрощённо — да. Отправил команду на активацию с другого устройства. Возможно, был в том же зале. Возможно — в нескольких километрах, используя ретранслятор. Али нахмурился. — Но зачем такие сложности? Если хотели убить Джона или кого-то другого — есть способы попроще. Он был прав. Яд, пуля, подстроенный несчастный случай — всё это требовало меньше технических знаний и оставляло меньше следов. Зачем городить сложную схему со взломом прошивки и дистанционным подрывом? Если только... — Это было не просто убийство, — произнёс я вслух, формулируя мысль по ходу. — Это было послание. Демонстрация возможностей. Тот, кто это сделал, хотел показать, что он может добраться до любого. Через любое устройство. — Послание кому? Я не ответил. Я думал о списке. Десять имён. Десять таинств. Кто-то тщательно выбирал жертв. Кто-то знал всех этих людей достаточно хорошо, чтобы включить в свой перечень. Кто-то из тех, кто остался в живых. Или кто-то, кто наблюдает со стороны. В этот момент корпоративный телефон под тканью коротко завибрировал. Одно сообщение. Я не стал его доставать. Вместо этого достал свой личный смартфон — старую модель, купленную за наличные два года назад, не привязанную ни к какому аккаунту. Открыл браузер. Набрал адрес анонимного почтового сервиса. Создал новый аккаунт со случайно сгенерированными данными. Мне нужен был доступ к серверам корпорации. Но идти напрямую — значит оставить следы, которые юристы Соловьёвых непременно обнаружат. Значит, мне нужен был посредник. Кто-то, кто имеет легитимный доступ, но при этом не находится под их наблюдением. Я знал только одного такого человека. Человека, который работал в нашем отделе три года назад, а потом уволился и перешёл в конкурирующую фирму. Человека, у которого всё ещё могли сохраниться резервные ключи от старых систем — те самые, которые должны были быть отозваны, но которые в суматохе корпоративной реструктуризации могли остаться активными. Его звали Виктор. И он был мне должен. Я начал набирать письмо. «Виктор. Нам нужно поговорить. Срочно. Только не по обычным каналам. Помнишь наш разговор про питерский проект? Используй тот адрес. — Р.» Питерский проект — это был наш с ним кодовый термин со времён совместной работы. Он поймёт. Если прочитает. Если захочет ответить. Если не сдаст меня корпорации. Слишком много «если». Но других вариантов у меня не было. Я отправил письмо и удалил все следы в браузере. Потом посмотрел на Али. — Ты должен уехать отсюда. Он поднял брови. — Что? — Уехать. На время. К друзьям. К родственникам в другой город. Куда угодно, лишь бы подальше от меня. — Рум, ты сошёл с ума? Я не оставлю тебя одного после всего... — Твоё имя могло быть в том списке, — перебил я. — Или его нет, и тогда ты случайный свидетель, которого могут убрать для чистоты эксперимента. В любом случае — рядом со мной ты в опасности. Али встал. Его глаза потемнели — так бывало всегда, когда он злился по-настоящему. — Я не ребёнок, Румит. И не буду прятаться, пока кто-то охотится на мою семью. Мы смотрели друг на друга несколько секунд. Потом я опустил глаза. — Хорошо, — сказал я. — Тогда будь осторожен. Никаких контактов по корпоративной связи. Никаких визитов в офис. И держи при себе это. Я достал из ящика стола небольшой предмет и протянул ему. Портативный джаммер — глушилка радиосигналов, собранная мной пару лет назад для тестирования защищённости наших устройств. Она подавляла Bluetooth, Wi-Fi и большинство сотовых частот в радиусе пяти метров. — Если почувствуешь опасность — включай. Только помни: она глушит всё, включая возможность вызвать помощь. Али взял джаммер, повертел в руках и убрал в карман. — А ты? Я посмотрел на экран ноутбука, где всё ещё мерцал шестнадцатеричный код убийственного модуля. — А я буду искать того, кто это написал. Снизу донёсся звонок в дверь. Три коротких удара, пауза, ещё два. Не почтальон. Не соседи. Мы с Али переглянулись. — Жди здесь, — я встал и направился к лестнице. Но брат уже шёл следом. Спорить не было времени. Спустившись в прихожую, я посмотрел в глазок. На крыльце стояла женщина. Невысокая, в тёмном плаще, с папкой документов под мышкой. Её лицо показалось мне смутно знакомым, но я не мог вспомнить откуда. Она подняла руку и постучала снова. Те же три удара, пауза, два. — Господин Румит? — голос у неё был низкий, с лёгкой хрипотцой. — Меня зовут Константа. Я работаю с детективом Вертаненом. Нам нужно поговорить. Срочно. Вертанен. Это имя я слышал в новостях — что-то про расследование на окраине города. Какая-то лавка. Изуродованный труп. Событие, произошедшее в тот же вечер, что и наша презентация. Совпадение? После того, что я только что узнал, совпадений больше не существовало. Я отодвинул засов и открыл дверь.
20 Нравится 8 Отзывы 6 В сборник