JetBrains сделал из доказательств пересборки TeamCity проверку подотчётности инфраструктуры, потому что доступный из интернета CI-сервер — это не обычный хост приложения. На нём могут храниться доступ к исходному коду, инструкции сборки, учётные данные, агенты и пути к артефактам. Если его идентичность и рабочее состояние скомпрометированы, установка патча необходима, но её может быть недостаточно, чтобы доверять ПО, которое было собрано с его помощью.
Сервер TeamCity был сетевым контуром управления
Обновление JetBrains за октябрь 2023 годасообщало, что CVE-2023-42793 затрагивала TeamCity On-Premises, что версия 2023.05.4 устраняет проблему и что TeamCity Cloud не затронут. JetBrains также предупредил операторов публично доступных серверов: если патч нельзя установить немедленно, сервер нужно сделать недоступным.
Это различие имеет операционное значение. Имя хоста TeamCity, строка в инвентаризации или запись о лицензии не доказывают, какой инстанс доступен, какая версия запущена, какой путь аутентификации активен и какие агенты ему доверяют. Операторам нужна актуальная сетевая идентичность каждого сервера: адрес и имя хоста, владелец, путь доступа извне, версия, принимаемые учётные данные, подключённые агенты, а также репозитории или системы развёртывания, к которым он может обращаться.
Запатченный сервер может оставаться недоверенным
JetBrains сообщил, что Microsoft наблюдала эксплуатацию уязвимости субъектами, связанными с государственными структурами Северной Кореи, и предупредил, что после применения обновления TeamCity или плагина-патча в системе могли остаться бэкдоры.Отчёт Microsoft об инцидентеописывал эксплуатацию уязвимых серверов TeamCity и инструменты, использовавшиеся после компрометации, которые могли обеспечить постоянный доступ.
Это граница исполняемого кода. Номер версии может показать, что уязвимый код заменён. Но он не доказывает, что созданные атакующими учётные записи, службы, запланированные задачи, изменённые плагины, похищенные секреты или изменённые шаги сборки исчезли. Приемлемое состояние восстановления должно подтверждаться расследованием и доказательствами пересборки, а не только наличием пропатченного бинарного файла.
Радиус поражения определяется доверительными связями
CI-сервер обычно имеет доступ к репозиториям исходного кода, реестрам пакетов, агентам сборки, системам подписи или развёртывания и облачным аккаунтам. Это не значит, что каждая инсталляция TeamCity обладает всеми этими привилегиями. Это значит, что запись о восстановлении должна перечислять привилегии конкретной инсталляции, а не опираться на общее описание продукта.
Совместная консультация CISAописывала эксплуатацию подключённых к интернету серверов TeamCity и использование полученной точки опоры внутри сетей жертв. Для оператора это меняет единицу восстановления. Единица — не только процесс сервера. Это сервер плюс связанные с ним идентичности, агенты, секреты, артефакты и нижестоящие системы, которые доверяли его результатам.
Что должны содержать доказательства пересборки
Защитимая запись начинается с сохранённого снимка затронутого хоста и журналов. Затем она фиксирует последнюю известную доверенную сборку, версии сервера и агентов, активные учётные записи и токены, плагины, конфигурации сборок, хеши артефактов и сетевые соединения. Секреты, доступные с сервера, должны ротироваться на основании доказательств, а не просто потому, что в чек-листе отмечено, что ротация произошла.
Если хост пересобирается, запись должна показывать доверенный источник установки, восстановленную конфигурацию, повторно внедрённые плагины, заменённые учётные данные, повторно подключённых агентов и проверенные контрольные сборки. Если артефакты, созданные в период воздействия, сохраняются, оператор должен задокументировать, почему они остаются приемлемыми. Если они пересобираются, новые результаты должны быть привязаны к записям об исходном коде, инструментарии и окружении, которые можно проверить независимо.
Публичная доступность требует приёмочного теста
Временное удаление уязвимого сервера из интернета — это изменение состояния, а не лозунг. Операторы должны извне намеченной границы проверить, что старый маршрут закрыт, убедиться, что разрешённый административный доступ по-прежнему работает, и зафиксировать, когда новый путь становится активным. Те же доказательства должны пережить последующие изменения DNS, межсетевых экранов, прокси или хостинга, чтобы сервер незаметно не вернулся в состояние непреднамеренной доступности.
Вывод
Восстановление TeamCity завершено только тогда, когда сетевая идентичность сервера, исполняемый код и доверительные связи согласуются с проверенной записью о восстановлении. Статус патча — одно из полей такой записи. Более строгая проверка — могут ли операторы показать, какое окружение сейчас работает, какие идентичности оно принимает, какие артефакты оно создало и почему нижестоящие системы снова могут ему доверять. Это подотчётность инфраструктуры, а не утверждение, что любой CI/CD-продукт свободен от рисков.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
