Атаки по цепочке поставок: SolarWinds, трояны и как защититься

Быстрый обзор
- Цепочка поставок — это все подрядчики, ПО и оборудование, которые входят в вашу инфраструктуру.
- Троянское ПО маскируется под легитимные программы и распространяется через обновления.
- Взлом SolarWinds показал, что через один скомпрометированный продукт можно получить доступ к тысячам организаций.
- Оцените поставщиков по критичности, протестируйте обновления в изолированной среде и имейте план отката и реагирования.
Ключевые термины (в одну строку)
- Троян: вредоносная программа, замаскированная под полезное ПО.
- Цепочка поставок: сеть поставщиков и сервисов, необходимых для работы организации.
- APT: устойчивая угроза, часто спонсируемая государством, действующая скрытно длительное время.
Trojan Software
Троянское программное обеспечение содержит скрытый вредоносный код. Пользователь устанавливает одно приложение, а вместе с ним попадают «пассажиры», которые выполняют нежелательные или вредоносные действия. Либо само приложение было скомпрометировано и теперь содержит вредоносный код.
Один из недавних примеров — приложение для сканирования штрих‑кодов, удалённое из Google Play. Оно имело более 10 миллионов установок и принадлежало добросовестному разработчику. В конце 2020 года приложение было продано новой компании, после обновления пользователи столкнулись с навязчивой рекламой, принудительным открытием браузера и всплывающими окнами для загрузки других приложений. Новые владельцы модифицировали код и встроили туда вредоносные компоненты. Поскольку приложение уже было доверенным для миллионов пользователей, обновление прошло без подозрений и распространило вредоносный код.
Такой подход понятен: покупка популярного приложения обходится дешевле, чем массовая рассылка эксплойтов, а обновление доверенного продукта обеспечивает высокую вероятность успешной доставки трояна.
The SolarWinds Breach
SolarWinds разрабатывает ПО для мониторинга и управления корпоративными сетями. Чтобы собирать детальную информацию о состоянии инфраструктуры, такое ПО обычно работает с повышенными привилегиями.
Как и в примере с приложением для штрих‑кодов, SolarWinds стал не целью в контексте конечных организаций, а средством доставки. Модифицированная библиотека Dynamic Link Library была включена в релизы продукта SolarWinds Orion. Точная библиотека, изменённая злоумышленниками, была:
SolarWinds.Orion.Core.BusinessLayer.dllЗаражённые версии Orion попали в обновления, выпущенные с марта по июнь 2020 года (версии 2019.4–2020.2.1 HF1). Исследователи кибербезопасности из FireEye назвали вредоносную нагрузку SUNBURST.
Характер атак и уровень технической подготовки указывают на участие государственно‑спонсируемой Advanced Persistent Threat (APT) группы. Жертвами стали правительственные агентства США, операторы критической инфраструктуры, глобальные организации и частные компании. По оценкам, около 18 000 установок получили заражённые обновления.
После установки вредоносный модуль обычно «засыпал» примерно на две недели, затем начинал отправлять HTTP‑запросы на управляющие серверы злоумышленников для получения команд. Трафик маскировался под внутренний протокол Orion Improvement Program (OIP), что затрудняло обнаружение. Модуль также был нацелен на обход антивирусных и средств защиты конечных точек.
Выявление инцидента началось после того, как компания FireEye обнаружила кражу собственных инструментов и начала расследование, что в итоге привело к раскрытию связи с SolarWinds. Это классический пример атаки по цепочке поставок: вместо того чтобы атаковать все цели по отдельности, злоумышленники скомпрометировали общего поставщика и дождались обычного процесса обновления.
Assessing Your Supply chain
Чтобы оценить риск атаки по цепочке поставок, сначала нужно понять собственную цепочку поставок — полностью и детально. Это значит составить карту всех поставщиков, включая аппаратное и программное обеспечение, а также сервис‑провайдеров и сторонние сервисы.
Шаги оценки:
- Идентификация: перечислите всех поставщиков, программное обеспечение, сервисы и интеграторов, которые прямо или косвенно подключаются к вашей сети.
- Классификация: присвойте каждому элементу уровень критичности (высокий, средний, низкий) с учётом того, сможет ли компрометация привести к утечке данных, выводу из строя сервисов или доступу к инфраструктуре.
- Карта зависимостей: отметьте, какие поставщики обслуживают других поставщиков (второй и третий уровни). Проблема в одном субподрядчике может повлиять на несколько ваших поставщиков.
- Оценка риска: для каждого поставщика оцените вероятность компрометации и потенциальный ущерб.
- Контроль и проверка: запросите у поставщиков сведения о практике безопасности, сертификациях, инцидентах и результатах аудитов.
- Тестирование обновлений: создавайте песочницы или изолированные тестовые окружения, чтобы проверять обновления поставщиков до развертывания в продакшне.
Обратите внимание на следующие категории поставщиков:
- Производители сетевого оборудования и прошивок.
- Вендоры систем управления и мониторинга.
- Провайдеры управляемых сервисов (MSP) и облачные провайдеры.
- Провайдеры мобильных/модульных приложений и сторонние библиотекы.
- Поставщики услуг инсталляции и обслуживания на площадке.
Особая озабоченность должна быть связана с MSP: если злоумышленники получают доступ к MSP, они потенциально получают «ключи от королевства» для всех клиентов этого MSP.
Мини‑методология для оценки и уменьшения риска
- Составьте «карту доверия» — кто имеет физический и удалённый доступ к вашей сети.
- Введите процедуру предварительной проверки поставщика (due diligence) с обязательной формой для заполнения и приложением доказательств (сертификаты, отчёты обследований).
- Внедрите правило «минимальных привилегий» для внешних подключений и сервисов.
- Тестируйте все обновления в изолированной среде и проверяйте цифровые подписи и сертификаты обновлений.
- Сегментируйте сеть: критические системы отделяйте от периферийных сервисов и администрируйте доступ через bastion/Jump‑hosts с многофакторной аутентификацией.
- Практикуйте регулярное восстановление из резервных копий и проверяйте планы отката.
- Проводите ежегодные (минимум) ивнерсионные аудиты для ключевых поставщиков и выборочные проверки для остальных.
Роль‑ориентированные чек‑листы
CISO
- Иметь актуальную карту цепочки поставок и перечень критичных поставщиков.
- Включить требования по безопасности в договора и SLA (цифровые подписи, журналы изменений, уведомления о компрометации).
- Требовать отчетности о тестировании и аудите безопасности.
- Организовать регулярные учения по инцидентам с бизнес‑лидерами.
ИТ‑администратор
- Тестировать обновления в закрытой среде перед развёртыванием.
- Проверять подписи пакетов и целостность файлов.
- Ограничивать сетевой доступ для менеджеров ПО и сервисов мониторинга.
- Мониторить аномальную активность после обновлений.
Закупки/Юридический отдел
- Включать требования к безопасности в контракты с возможностью аудита.
- Получать гарантии о соблюдении стандартов и практик (ISO 27001, SOC 2, или эквиваленты).
- Запрашивать историю инцидентов и план реагирования поставщика.
Операционный персонал/Служба поддержки
- Иметь инструкции по изоляции заражённых систем и по откату обновлений.
- Уметь быстро переключиться на резервных поставщиков или альтернативные процессы.
План реагирования и отката (инцидент‑рукбук)
Обнаружение и подтверждение
- Определите источник компрометации (обновление, сервис, устройство).
- Соберите первичные логи и снимки памяти.
Ограничение и изоляция
- Изолируйте поражённые узлы от сети.
- Приостановите автоматическое распространение обновлений и отключите доступ внешних поставщиков, если надо.
Анализ и сбор артефактов
- Сохраните контрольные точки, дампы и лог‑файлы для форензики.
- Определите индикаторы компрометации (IoC).
Устранение и восстановление
- Удалите вредоносное ПО и проведите проверку целостности систем.
- Выполните откат до известной чистой сборки или восстановление из резервной копии.
- Поменяйте учетные данные и пересмотрите разрешения.
Коммуникация
- Сообщите заинтересованным сторонам (руководство, юридический отдел, регуляторы) согласно политике уведомления.
- При необходимости уведомьте клиентов и партнёров.
Пост‑инцидентный разбор
- Проведите ретроспективу, обновите политики и планы.
- Примите меры по снижению вероятности повторной компрометации.
Критерии приёмки
- Системы восстановлены в работоспособное состояние.
- Все индикаторы компрометации устранены или документированы с планом наблюдения.
- Проведена проверка целостности и возвращена работа бизнес‑критичных сервисов.
Матрица рисков и меры смягчения
| Уровень риска | Что может пойти не так | Меры смягчения |
|---|---|---|
| Высокий | Компрометация MSP, поставщика мониторинга или ключевого поставщика ПО | Регулярные аудиты, контракты с правом аудита, сегментация сети, MFA, тестирование обновлений в песочнице |
| Средний | Уязвимость в сторонней библиотеке или модуле | Патч‑менеджмент, проверка целостности, мониторинг поведения приложений |
| Низкий | Компрометация одноразового поставщика нерегулярных услуг | Диверсификация поставщиков, проверка бэкграунда поставщика |
Меры смягчения — практики с наибольшим эффектом: проверка подписей обновлений, сегментация сети, изоляция тестовой среды, регулярные резервные копии и тренировки по восстановлению.
Тесты и критерии приёмки для новых поставщиков
- Поставщик предоставляет отчёт о проникновении за последние 12 месяцев.
- Поставщик демонстрирует процедуры управления уязвимостями и патч‑менеджмента.
- Поставщик согласен на выборочный аудит и отвечает на форму по безопасности.
- Поставщик использует цифровые подписи для релизов и предоставляет список репозитариев и CI/CD‑практик.
Приёмка считается успешной, если эти условия соблюдены и поставщик подписывает обязательства по уведомлению о компрометации.
Технические рекомендации
- Проверяйте цифровые подписи и хеш‑контроль для бинарников и обновлений.
- Настройте IDS/IPS с детекцией аномалий и сигнатур по известным IoC.
- Отключайте неиспользуемые сервисы и снижайте права процессов до минимума.
- Используйте белые списки приложений (application allow‑listing) там, где это применимо.
- Внедряйте многофакторную аутентификацию плюс мониторинг привилегированных аккаунтов.
Уязвимости и когда перечисленные меры не сработают
- Если атака использует уязвимость нулевого дня в компоненте с высокими привилегиями, предварительная защита может не сработать. В таких случаях важны оперативное обнаружение и быстрый откат.
- Если злоумышленники уже получили доступ к системе обновлений поставщика, подписи могут выглядеть легитимными. Для защиты от этого нужен независимый контроль — аудит сборочной цепочки и проверка поведения ПО в изолированной среде.
Конфиденциальность и регуляторные соображения
Если ваш бизнес работает с персональными данными (например, ЕС/EEA граждане), к инцидентам по цепочке поставок применимы требования о сообщении о нарушениях данных. Оцените влияние на конфиденциальность и при необходимости подготовьте уведомления в соответствии с GDPR и локальными регуляциями.
Инструменты и сниппеты
- Проверка подписи пакета: используйте встроенные средства проверки цифровых подписей в вашей системе управления пакетами.
- Тестирование обновлений: разворачивайте обновления в изолированном виртуализованном окружении с имитацией трафика и мониторингом аномалий.
- Powershell: существует полезный скрипт от Trimarc Security для сканирования одно-доменного леса Active Directory на предмет слабых мест — используйте такие скрипты в контролируемой среде и с разрешения владельца инфраструктуры.
Важно: не запускать сторонние скрипты в продакшне без аудита и проверок.
Факты и числа
- Около 10 миллионов установок у приложения для штрих‑кодов, использованного как вектор.
- Промежуток заражённых обновлений SolarWinds: март–июнь 2020 года.
- Примерное число установок, затронутых обновлениями SolarWinds: ~18 000.
Эти числа иллюстрируют, почему атаки по цепочке поставок так эффективны: одна уязвимость или компрометация может сразу затронуть тысячи или миллионы конечных систем.
Краткое резюме
- Атаки по цепочке поставок опираются на доверие к поставщику и механизмы обновления. Они могут иметь массовые последствия.
- Основная защита — карта поставщиков, аудит, тестирование обновлений в изоляции, проверка подписей и строгая сегментация сети.
- Подготовьте план реагирования и регулярные учения, чтобы минимизировать время восстановления.
Важно
- Всегда проверяйте цифровые подписи и журналы поставщиков.
- Не полагайтесь только на один канал коммуникации или одного поставщика для критичных сервисов.
Дополнительные ресурсы
- Официальные уведомления SolarWinds и ведомств по кибербезопасности вашей страны следует читать и применять по мере появления обновлённой информации.
Сводка
- Карта цепочки поставок и периодические аудиты — базовые шаги.
- Тестирование обновлений и сегментация сети уменьшат вероятность масштабного распространения вреда.
- План реагирования и готовность к откату повышают устойчивость бизнеса.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента