Когда машина начинает верить чужому — Никита Кузнецов о настоящей цене цифровой безопасности
Никита Кузнецов — о цифровом доверии, ключах и правилах, по которым одна система принимает команды другой.
IT-инженер Никита Кузнецов не любит разговоры о безопасности в жанре страшилок, где обязательно есть злоумышленник, щит на экране и программа, которую достаточно установить, чтобы считать проблему решённой. Для него безопасность начинается гораздо раньше — с устройства доверия внутри самой системы. Кто кому верит, по какому ключу, почему одна машина принимает команду другой и что произойдёт, если основание этого доверия окажется поддельным.
Начинать здесь нужно даже не с пароля сотрудника. Пароль можно сменить. Намного опаснее ситуация, когда доверяют уже не люди, а целые технологические контуры: сервис — сервису, система обновлений — издателю, платёжный шлюз — банку, браузер — центру сертификации.
Пока эта конструкция работает, её почти никто не замечает.
«Антивирус ищут, когда уже страшно. Устройство мира видно раньше: кто кому верит и что будет, если эта вера окажется поддельной».
Компьютеры не узнают «своих» в человеческом смысле. Они проверяют ключи, цифровые подписи и цепочки доверия. В конце такой цепочки находится корень — точка, которой система уже должна доверять, иначе вся конструкция проверки потеряет смысл.
Браузеры доверяют определённому набору корневых центров сертификации. Серверы проверяют подписи токенов. Системы распространения программного обеспечения доверяют издателям пакетов. Платёжная инфраструктура работает по собственным правилам авторизации и подтверждения операций.
Поэтому компрометация корня значительно опаснее кражи одного пароля. Украденную учётную запись можно заблокировать. Если скомпрометировано основание доверия, проблема распространяется на всех, кто считал его надёжным.
«Самый дорогой взлом — не тот, где украли базу. А тот, где вам начали верить поддельную подпись. После этого система честно открывает двери не тому».
История DigiNotar в 2011 году показала это на практике. После компрометации голландского центра сертификации злоумышленники получили возможность выпускать поддельные сертификаты для чужих доменов. Проблемой оказался уже не отдельный украденный пароль, а доверие к самому центру, из-за чего его корневые сертификаты пришлось исключать из доверенных хранилищ браузеров и операционных систем.
Особенность таких атак в том, что система может формально работать совершенно правильно. Сертификат предъявлен. Подпись проверена. Цепочка доверия сошлась. В журнале может появиться успешная операция.
Ошибка находится глубже: система честно выполнила правила, основанные на ложном доверии.
Именно поэтому Кузнецов считает цифровую подпись не технической формальностью, а правом говорить от имени системы. Потерянный ключ означает не просто утечку файла. Кто-то другой получает возможность предъявлять команды, обновления или данные как легитимные.

Никита Кузнецов о цепочках доверия и цифровых подписях: компрометация корня способна затронуть всех, кто считал его надёжным.
Та же проблема давно вышла за пределы сертификатов. Современный цифровой продукт почти никогда не состоит исключительно из собственного кода компании. Внутри находятся сторонние библиотеки, пакеты, базовые контейнерные образы, системы сборки, репозитории, внешние сервисы и автоматические обновления.
Каждый такой компонент приносит с собой ещё одну точку доверия.
«Вам сломали не сервер. Вам сломали деталь, которую вкрутили все. Поэтому расследование начинается с вопроса не “кто к нам вошёл”, а “кому мы сами открыли ворота по инструкции”».
SolarWinds в 2020 году стал одним из самых известных примеров такой атаки. Вредоносный компонент попал в легитимное обновление программного обеспечения и затем распространялся через нормальный канал поставки. Организациям не требовалось открывать подозрительный файл — они устанавливали обновление продукта, которому уже доверяли.
Log4j в 2021 году показал другую сторону проблемы. Уязвимость обнаружилась в библиотеке, которая использовалась настолько широко, что многие компании сначала были вынуждены выяснять не как её исправить, а присутствует ли она вообще в их инфраструктуре.
История с xz Utilities в 2024 году продемонстрировала ещё более неприятный сценарий. Попытка внедрения бэкдора развивалась через длительное участие в open-source-проекте и получение доверия внутри процесса разработки. Атака была направлена не на конкретный сайт или сервер, а на компонент, который потенциально мог попасть в огромное количество систем обычным путём обновления.
Во всех трёх случаях механизм различался, но проблема была общей: атакующий пытался использовать уже существующее доверие индустрии.

Никита Кузнецов — о цепочках поставки программного обеспечения, сторонних компонентах и рисках доверия к легитимным обновлениям.
Отсюда возникает ещё один вопрос — знает ли сама компания, из чего на самом деле состоит её продукт.
Какая библиотека подтягивает следующую зависимость? Из какого базового образа собирается контейнер? Где подписывается пакет? Какая версия находится в production? Какие системы получат компонент после обновления?
До инцидента эти вопросы легко считать бюрократией. После обнаружения критической уязвимости они превращаются в единственный способ быстро понять масштаб проблемы.
«Если вы не можете за час сказать, из чего собран боевой контур, у вас нет безопасности поставки. У вас есть надежда, что чужая деталь сегодня добрая».
Но безопасность для Кузнецова не заканчивается защитой данных. Иногда атакующему вообще ничего не требуется красть. Достаточно лишить систему возможности работать.
Интернет-магазин не обязательно взламывать ради клиентской базы — иногда больший ущерб принесёт остановка продаж в самый загруженный день. Банку не обязательно похищать деньги — достаточно сделать недоступными платежи. Логистической компании не обязательно уничтожать данные — можно лишить её возможности управлять движением грузов.
«Сервис не обязательно красть. Иногда достаточно не дать ему включиться. Для клиента это уже смерть продукта. Для бизнеса — смена режима с работы на тушение».
DDoS давно превратился из интернет-хулиганства в отдельный рынок атак, где используются арендуемые мощности, ботнеты, вымогательство и политически мотивированные кампании.
Атака на DNS-провайдера Dyn в 2016 году хорошо показала, насколько большой может быть зависимость от одного инфраструктурного слоя. Пользователям казалось, что одновременно перестало работать множество независимых сервисов, хотя значительная часть проблемы находилась в инфраструктуре разрешения доменных имён.
NotPetya в 2017 году продемонстрировал ещё более тяжёлый вариант. Для ряда компаний последствия измерялись не только повреждёнными компьютерами, но и остановкой реальных бизнес-процессов. У Maersk нарушение IT-инфраструктуры затронуло глобальную логистическую сеть и потребовало масштабного восстановления систем.
Поэтому доступность — не второстепенная характеристика после конфиденциальности данных. Для многих систем способность продолжать работу и есть главный актив.

Никита Кузнецов о доступности сервисов: серьёзный ущерб может возникнуть и без кражи данных, если система перестаёт выполнять свою работу.
«Когда контур не дышит, уже неважно, украли из него что-то или нет. Неработающая касса, стоящий рейс и молчащий реестр стоят дороже украденной таблицы».
Отсюда возникает ещё одна проблема — архитектура самой сети.
Пока всё работает, единый внутренний контур кажется удобным. Сервисы свободно взаимодействуют друг с другом, администраторам проще управлять инфраструктурой, меньше ограничений мешает разработчикам.
При атаке то же удобство превращается в готовый маршрут распространения.
Компрометация одной машины не должна автоматически давать путь к почте, платёжной инфраструктуре, административным панелям, резервным копиям и производственным системам. Именно для этого существует сегментация.
«Общая сеть экономит время в мирный день. В день удара она экономит злоумышленнику маршрут. Сегментация — это не паранойя. Это решение, какие стены должны остаться стоять, когда одна комната уже горит».
Смысл этих «стен» не в количестве сетевых схем. Разные части инфраструктуры имеют разную цену отказа.
Публичный сайт может быть временно недоступен, но это не должно автоматически означать потерю контроля над платёжными ключами. Компрометация почты не должна давать доступ к системе подписи. Тестовая среда может иметь менее строгий режим защиты, но тогда она не должна видеть production-секреты.
Административный контур особенно опасен именно потому, что через него выполняются действия, способные изменить состояние всей системы.
Если эти среды фактически соединены в одну, стоимость одной ошибки становится стоимостью всей инфраструктуры.

Никита Кузнецов — о сегментации сети и разделении контуров, которое ограничивает распространение инцидента внутри инфраструктуры.
На уровне критических систем масштаб проблемы становится ещё больше. Здесь слово «секрет» уже нельзя свести к паролю.
Пароль сотрудника можно сменить. API-ключ можно отозвать. Сертификат можно перевыпустить. Но в критической инфраструктуре безопасность определяется ещё и тем, кто вообще имеет право подписывать обновления, отзывать ключи, менять доверенные корни, управлять резервными площадками и принимать решение об отключении части системы.
«Пароль кончается там, где начинается режим. Режим — это уже не строчка, которую кто-то запомнил. Это правило, по которому система имеет право работать, останавливаться и никому не верить по умолчанию».
Именно поэтому секрет большого контура — это зачастую не конкретный файл. Это карта доверия.
Кто может подписать обновление. Кто имеет право изменить конфигурацию. Кто способен отозвать ключ. Где находится резерв. Какие системы могут взаимодействовать друг с другом. Как быстро один контур можно изолировать от другого.
Для платёжной системы, государственного реестра, оператора связи или крупной логистической платформы эти вопросы уже относятся не только к IT. Они определяют способность организации продолжать работу после серьёзного инцидента.
«В большом контуре секрет — это не прятки. Это право решить, кому система ещё верит. Потерять это право страшнее, чем потерять файл».

Никита Кузнецов о критических системах, где безопасность определяется не только паролями, но и правом менять ключи, конфигурацию и правила доверия.
Если убрать профессиональную терминологию, логика получается довольно простой. Машины доверяют ключам и подписям. Программные продукты доверяют цепочкам поставки. Сервисы зависят от инфраструктуры, которая может быть атакована даже без кражи данных. Сеть либо ограничивает распространение инцидента, либо помогает ему пройти через всю организацию. А критическая система должна заранее знать, кому разрешено менять правила доверия.
Поэтому безопасность невозможно купить одной программой и невозможно добавить последним этапом перед запуском продукта.
«Безопасность начинается не с вопроса, какой у нас антивирус. Она начинается с вопроса, кому наши машины согласны верить и что мы сделаем в ту минуту, когда эта вера окажется ложной».
Для Никиты Кузнецова разница между защищённой системой и системой, которая пока просто не столкнулась с серьёзным инцидентом, проходит именно здесь. Не в количестве защитных логотипов на панели администратора, а в понимании собственных зависимостей: кому доверяет инфраструктура, откуда получает код, где заканчиваются полномочия одного контура и начинаются полномочия другого, кто способен изменить корень доверия и какие части системы должны продолжить работу, даже когда соседние уже скомпрометированы.
Антивирус можно установить за несколько минут. Архитектуру доверия приходится проектировать заранее.