Что такое распространение секретов?

Распространение секретов — это бесконтрольное распределение секретов, включая ключи API, пароли и ключи шифрования, по инфраструктуре организации, репозиториям кода и каналам связи. Вместо хранения в централизованной системе управления секретами эти учётные данные встраиваются непосредственно в исходный код, передаются через приложения для обмена сообщениями и хранятся на разных конечных точках. В результате образуется неполный и практически непрозрачный реестр секретов, которые специалисты по информационной безопасности не могут эффективно отслеживать, ротировать или отзывать.

По мере роста организации количество секретов быстро увеличивается, а вместе с ним возрастает риск атак с использованием учётных данных и возникновения уязвимостей в цепочке поставок.

Что такое секрет?

Секрет — это учётные данные нечеловеческой идентичности, используемые приложениями, службами и системами для взаимной аутентификации. К распространённым примерам относятся ключи API, строки подключения к базам данных, ключи шифрования, токены доступа, ключи SSH и цифровые сертификаты. Поскольку один секрет может предоставить доступ к конфиденциальным системам и данным, хранить и контролировать секреты необходимо гораздо строже, чем идентификаторы, например имена пользователей, которыми можно свободно обмениваться внутри команд.

Как происходит распространение секретов

Распространение секретов обычно происходит из-за создания и распространения конфиденциальных учетных данных без постоянного и последовательного контроля.

Создание и расширение учетных данных

Современные среды полагаются как на пользователей-людей, так и на нечеловеческие идентичности (NHI), включая аккаунты служб, ботов и рабочие нагрузки приложений, которые проходят аутентификацию с помощью секретных данных, таких как ключи API и токены. По мере того как организации переходят на облачные архитектуры, количество секретов быстро растет. Каждая новая система, рабочая нагрузка и интеграция требуют аутентификации, что расширяет поверхность атаки и увеличивает вероятность появления неуправляемых секретов. По мере масштабирования организаций и их адаптации к машинным идентичностям они неизбежно сталкиваются с риском распространения секретов.

Непоследовательная обработка и обмен секретами

Даже при наличии политик безопасности разработчики и команды обрабатывают учетные данные непоследовательно. Один разработчик может хранить учетные данные локально, а другой — прописывать их непосредственно в исходном коде или передавать через средства обмена сообщениями. Когда безопасные процессы менее удобны, чем копирование и вставка учетных данных, пользователи, как правило, будут отдавать приоритет скорости, а не безопасности. Если пользователи из разных команд со временем применяют такой подход к сотням служб, эта несогласованность приводит к повсеместному и неконтролируемому распространению секретов.

Отсутствие централизованного управления секретами

Без централизованного управления секретной информацией организации не могут точно отслеживать, где хранятся секреты, кто имеет к ним доступ и как они используются. Отсутствие полной видимости затрудняет ротацию или отзыв учётных данных после инцидента безопасности или увольнения сотрудника, вынуждая специалистов по безопасности реагировать постфактум вместо того, чтобы проактивно управлять секретами.

Неэффективное управление жизненным циклом

Во многих случаях секреты создаются для мгновенного использования, но не поддерживаются должным образом и не удаляются после завершения проекта. Неиспользуемые или дублированные учетные данные могут сохраняться в нескольких системах, что со временем увеличивает риск. Если старые или неиспользуемые секреты не обновляются или не удаляются, доступ к исходным кодам, репозиториям или давно забытым конфигурационным файлам может быть предоставлен на неопределенный срок. Без четко определенных политик жизненного цикла организации накапливают устаревшие секреты, которые остаются доступными, но неуправляемыми, что еще больше способствует распространению секретов по системам.

Предупреждения о распространении секретов

Вероятно, вы столкнулись с распространением секретов, если вам знакома хотя бы одна из следующих ситуаций:

  • Секреты хранятся в нескольких местах, и никто не знает, сколько существует их копий.
  • Учётные данные передаются через чаты и электронную почту или хранятся на общих дисках.
  • Секреты жёстко прописываются в исходном коде, файлах конфигурации или конвейерах CI/CD.
  • Лишь немногие сотрудники знают, где хранятся определённые учётные данные.
  • В старых проектах и у бывших сотрудников по-прежнему остаются активные учётные данные.
  • Никто не может по запросу предоставить полный актуальный реестр секретов организации.

Почему бесконтрольное распространение секретов опасно

Когда секреты бесконтрольно распределены по множеству мест, последствия затрагивают всю организацию. Компрометация учётных данных неизменно остаётся одной из наиболее распространённых причин утечек данных. Именно поэтому распределённые и неуправляемые секреты представляют такую серьёзную опасность. Основные риски ненадлежащего управления секретами:

  • Утечки данных: секреты, распределённые по разным системам и инструментам, с гораздо большей вероятностью могут быть раскрыты при утечке данных. Один раскрытый секрет может предоставить доступ к конфиденциальным данным и критически важным системам.
  • Взлом систем: плохо управляемые секреты могут быть скомпрометированы, а затем использованы для латерального перемещения по инфраструктуре и повышения привилегий.
  • Снижение производительности команды: специалисты по безопасности и DevOps тратят время на поиск мест хранения секретов и управление распределёнными учётными данными вместо более приоритетной работы.
  • Последствия для соответствия требованиям и финансовые последствия: ненадлежащее управление секретами, приведшее к взлому, может повлечь за собой штрафы регулирующих органов, расходы на реагирование на инцидент и юридическую ответственность. Согласно требованиям PCI DSS, HIPAA или SOC 2, неспособность подтвердить контролируемый доступ к учётным данным сама по себе считается нарушением требований независимо от того, произошёл взлом или нет.
  • Репутационный ущерб: взлом, вызванный ненадлежащим управлением секретами, может нанести долгосрочный ущерб, особенно если клиенты доверяют организации конфиденциальные данные. Утрата доверия и партнёрских отношений может ощущаться ещё долгие годы после инцидента.

Типичные примеры распространения секретов

Распространение секретов обычно проявляется следующим образом:

  • Секреты, жёстко прописанные в исходном коде: разработчики встраивают секреты в код, который затем сохраняется в репозитории. В общедоступных репозиториях секрет раскрывается немедленно и остаётся скомпрометированным до тех пор, пока не будет выполнена его ротация. В закрытых репозиториях это увеличивает масштаб последствий любой компрометации репозитория. Сканирование секретов позволяет выявить такие случаи раскрытия, однако секреты, уже проиндексированные поисковыми системами или сторонними сканерами, остаются под угрозой даже после удаления.
  • Ключи API хранятся в нескольких местах: когда команды копируют ключи API в файлы конфигурации вместо их передачи во время выполнения, один и тот же секрет оказывается в нескольких местах. При отсутствии системы управления секретами никто не знает, где находится каждая копия, поэтому невозможно выполнить ротацию секрета или отозвать доступ.
  • Раскрытые секреты в конвейерах CI/CD: секреты, встроенные в файлы конфигурации, журналы сборки или сторонние интеграции CI, могут быть видны всем, у кого есть права на выполнение конвейера, даже без прямого доступа к коду.
  • Забытые учетные данные: секреты старых проектов или бывших сотрудников часто остаются активными ещё долго после того, как перестают быть нужны. Они по-прежнему доступны, но уже не отслеживаются.
  • Дублирование секретов в разных системах: копирование одного и того же секрета между командами или средами делает последовательное управление доступом невозможным.
  • Небезопасные способы передачи: секреты, переданные через мессенджеры или электронную почту, невозможно надежно отслеживать; вы не можете знать, кто их видел, куда они были отправлены или как они хранились.

Как снизить риск распространения секретов

Чтобы сократить распространение секретов, необходимо централизовать их хранение, использование и управление ими. Менеджер секретов предоставляет организациям контроль над всем реестром секретов и полную информацию о нём.

Централизация секретов в защищенном хранилище

Вместо распределения учётных данных по файлам и репозиториям каждый секрет следует хранить в специализированном менеджере секретов. Централизованное зашифрованное хранилище становится единым достоверным источником для хранения, использования и предоставления учётных данных.

Доступ по принципу наименьших привилегий

Доступ ко всем секретам нужен не каждому. Доступ по принципу минимальных привилегий предоставляет каждой идентичности только необходимые секреты и только на необходимый срок, поэтому компрометация учётных данных причиняет значительно меньший ущерб.

Сканирование репозитория на наличие уже имеющихся секретов

Централизация работает только в том случае, если сначала устранить уже возникшее распространение секретов. Инструменты сканирования секретов обнаруживают учётные данные, уже хранящиеся в репозиториях, файлах конфигурации и артефактах сборки. Прежде чем считать секреты защищёнными, выполните первоначальное сканирование, а затем настройте непрерывное сканирование для выявления новых случаев раскрытия.

Автоматическая ротация учетных данных

Автоматическая ротация позволяет своевременно обновлять секреты без использования ручных процессов, которые невозможно эффективно масштабировать. Она сокращает периоды уязвимости и избавляет от необходимости отслеживать ротацию сотен учётных данных.

Улучшение видимости и аудит

Ведите обновляемый в режиме реального времени реестр секретов с указанием мест их хранения и способов использования. Такая прозрачность позволяет командам выявлять подозрительное поведение, находить бесхозные секреты и быстро реагировать на инциденты.

Определение и применение политик жизненного цикла

Установите чёткие правила создания, ротации и вывода секретов из эксплуатации и по возможности автоматизируйте их применение. Если секрет больше не нужен, его следует отозвать, а не оставлять без внимания.

Наиболее эффективный способ реализовать все это в масштабе — использовать специализированный менеджер секретов. Keeper Secrets Manager помогает организациям централизовать управление секретами, сохраняя все секреты в едином зашифрованном хранилище, чтобы команды могли отслеживать их и проводить аудит с использованием единого достоверного источника вместо поиска учётных данных, распределённых по всей инфраструктуре.

Отказаться от согласия с использованием cookie-файловМы ценим вашу конфиденциальность

Мы используем файлы cookie на нашем веб-сайте, чтобы предоставить вам наилучшие возможности при просмотре веб-страниц, предоставлять персонализированную рекламу наших продуктов и контента, а также анализировать трафик веб-сайта. Чтобы узнать больше, ознакомьтесь с нашей Политикой конфиденциальности.

Подпишитесь на бесплатный пробный период

Купить сейчас