Пять сторонних рисков, которые не видит ваш сканер уязвимостей
Cyber Threats & Attacks

Пять сторонних рисков, которые не видит ваш сканер уязвимостей

К Cyber Lad Team·

Сканеры уязвимостей хороши в своем деле. Они найдут непропатченный экземпляр Apache, открытую корзину S3, неправильно настроенный набор шифров TLS. Они сканируют вашу поверхность атаки, сопоставляют CVE, оценивают серьезность и регистрируют заявки.

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

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

Вот пять категорий сторонних рисков, которые полностью находятся за пределами поля зрения сканера.

Взлом DNS поставщика и захват поддомена

Ваш сканер проверяет ваши записи DNS. Возможно, он отмечает висячие CNAME, указывающие на отключенные облачные ресурсы. Хороший. Но DNS вашего платежного процессора? Субдомен вашего провайдера удостоверений? Исходный домен вашего CDN? Это не входит в сферу применения.

Взлом DNS п��ставщика, от которого вы зависите, не отключит ваш сканер, потому что домен не ваш. Злоумышленник захватывает auth.vendor.com, открывает страницу сбора учетных данных, и ваша интеграция SSO успешно перенаправляет на нее пользователей. С точки зрения вашей инфраструктуры ничего не изменилось. CNAME все еще разрешается. Подтверждение TLS завершено (злоумышленник предоставляет сертификат через запрос ACME в захваченном домене). В ваших журналах показаны успешные перенаправления.

Окно обнаружения здесь составляет минуты, а не дни. Если вы не отслеживаете цепочку разрешения DNS для критически важных сторонних конечных точек, включая цели CNAME, делегирование NS и записи SOA, вы полностью полагаетесь на то, что поставщик заметит это первым.

��то на самом деле работает: непрерывный мониторинг DNS-записей по заведомо исправному базовому состоянию для каждого стороннего домена, с которым интегрируется ваше приложение. Когда auth.vendor.com внезапно разрешает новый IP-адрес или меняются его записи NS, это сигнал, ради которого стоит кого-то разбудить. Наиболее важными типами записей являются A/AAAA, целевые объекты CNAME, делегирование NS и серийные номера SOA. Любое неожиданное изменение в них заслуживает внимания.

Истечение срока действия стороннего сертификата каскадируется в вашу цепочку аутентификации

Ваш сканер проверяет ваши сертификаты. Он знает, когда срок действия api.yourcompany.com истечет через 30 дней, и подает заявку на продление. Но сертификат на login.identityprovider.com? На api.paygateway.io? На пограничном узле CDN, обслуживающем ваш клиентский пакет JavaScript?

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

Это произошло с крупным поставщиком удостоверений в 2024 году. Срок действия их промежуточного сертификата истек в субботу. Каждое нижестоящее приложение SaaS, полагающееся на свой поток OIDC, начало возвращать 502-е конечным пользователям. Собственные сканеры поставщиков SaaS светились зеленым цветом. Их собственные сертификаты были в порядке. Сканеры не имели понятия о «сертификате на другом конце моего HTTPS-вызова к IDP». Группы реагирования на инциденты часами отслеживали 502-е номера через свои собственные балансировщики нагрузки и код приложения, прежде чем кто-то догадался проверить восходящую цепочку сертификатов.

Решение состоит в том, чтобы отслеживать срок действия сертификата для каждой конечной точки TLS в вашей цепочке зависимостей, а не только для вашей собственной. Контролируйте листовой сертификат, промежуточные соединения и корень. Оповещение за 14 дней, а не за 7. И отдельно отслеживайте срок действия промежуточного CA, потому что об этом забывают сами вендоры.

Деградация поставщика платежей и аутентификации, возвращающая 200 OK

Этот тонкий и дорогой.

Ваши проверки работоспособности отправляют запрос на адрес api.payprovider.com/v1/health. Они получают обратно 200. Зеленый. Но за этой конечной точкой работоспособности очередь обработки транзакций поставщика резервируется на 40 секунд. Реальные обвинения истекают. Технически ваш процесс оформления заказа работает: он отправляет запрос, получает ответ (в конечном итоге), и в ответе говорится «в ожидании». Ваш сканер видит 200. Ваш синтетический монитор видит 200. Ваши пользователи видят вращающееся колесо в течение 45 секунд и отказываются от покупки.

Сканеры уязвимостей принципиально не могут это смоделировать. Они проверяют бинарную достижимость: могу ли я подключиться, отвечает ли сервис кодом ошибки? Однако снижение производительности третьих сторон представляет собой риск для вашего бизнеса, который проявляется в виде потерь, а не нарушений. Потеря дохода, потеря доверия пользователей и нарушение SLA в отношении ваших собственных клиентов, которые ожидают оформления заказа менее чем за секунду.

Для обнаружения этого необходимо измерить время ответа и семантику тела ответа относительно сторонних конечных точек в реальных условиях. Не «работает ли он», а «работает ли он в пределах, предполагаемых моим приложением». Если ваш платежный API исторически отвечал через 400 мс, а сегодня это занимает 12 секунд, это эксплуатационный инцидент, независимо от того, равен ли код состояния 200.

Инциденты со страницей статуса поставщика, которую ваш SOC никогда не читает

Каждый крупный поставщик SaaS публикует страницу статуса. У AWS есть такой. У Окты есть такой. Cloudflare, Stripe, Datadog, PagerDuty. Они публикуют сообщения об инцидентах, отмечают, что компоненты вышли из строя, и (в конечном итоге) публикуют результаты вскрытий.

Почти ни один SOC не имеет их в своем цикле мониторинга.

Информация является общедоступной, машиночитаемой (большинство из них предоставляет каналы JSON или RSS) и напрямую связана с риском вашей среды. Если поставщик вашего поставщика журналов сообщает: «Конвейер приема ухудшился на востоке США», это объясняет пробел в вашей SIEM. Если ваш провайдер аутентификации сообщает «Повышенное количество ошибок на конечной точке /authorize», это основная причина всплеска 4xx, о котором только что сработало ваше собственное оповещение.

Разрыв организационный, а не технический. Службы безопасности не просматривают страницы статуса, потому что это похоже на операционную проблему. Оперативные команды могут следить за их 2-3 ведущими поставщиками, но не за «длинным хвостом». Результат: ваш SOC тратит 30 минут на исследование пробела в журнале, о котором поставщик объявил 20 минутами ранее, когда вы его заметили.

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

Запланированные задания безопасности, которые автоматически терпят неудачу на конечной точке поставщика

Ваш агент резервного копирования отправляет зашифрованные снимки в конечную точку облачного хранилища каждые 6 часов. Ваш отправитель журналов пересылает их в API приема вашего поставщика SIEM. Ваш сканер уязвимостей сам сообщает о результатах на центральную консоль SaaS. Ваш бот для продления сертификата вызывает API поставщика ACME.

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

Последствия для безопасности со временем усугубляются. Пропустите одно окно резервного копирования, и все, вероятно, будет в порядке. Пропустить неделю из-за того, что поставщик хранилища незаметно объявил устаревшую версию API, а запросы вашего агента начали возвращать 403? Теперь ваш RPO потерян, и никто не знает об этом до теста восстановления (если вы запускаете тесты восстановления). Ваша позиция по соблюдению требований предполагает непрерывное резервное копирование. Реальность — это недельный разрыв, который проявляется только во время аудита или, что еще хуже, во время реального сценария восстановления.

Для обнаружения скрытого сбоя задания необходимо отслеживать артефакты вывода задания, а не только процесс задания. Действительно ли снимок приземлился? Подтвердил ли пункт назначения отправителя бревен получение? Создало ли обновл��ние сертификата новый файл сертификата с обновленным сроком действия? Если ответ «мы проверяем код завершения задания», этого недостаточно. Задание может выйти из 0 и при этом ничего не выполнить, если удаленная конечная точка отклонила полезную нагрузку с ответом уровня 200 и телом ошибки.

Внедрение стороннего мониторинга рисков

Схема для всех пяти рисков одинакова: ваш сканер не может найти то, чего он не может достичь, и он не может добраться до систем, которыми вы не владеете.

Для устранения этих пробелов требуется инструментарий другого класса. Не сканирование, а постоянный внешний мониторинг сервисов, от которых вы зависите. Цепочки разрешения DNS, сертификаты TLS на вышестоящих конечных точках, задержка ответа и проверка тела по сторонним API, каналы страниц состояния и с��нтетические проверки, подтверждающие, что запланированные задания дали ожидаемый результат.

Вы можете собрать это самостоятельно, используя комбинацию проверок по сценарию, заданий cron и маршрутизации предупреждений. Некоторые команды так и делают. Сложность не в какой-то одной проверке. Речь идет о поддержании покрытия по мере роста вашего списка поставщиков и корреляции сигналов между поставщиками.

Такие инструменты, какДевХелмотноситесь к этому как к первоклассной проблеме: отслеживайте внешние сервисы, от которых зависит ваше приложение, предупреждайте, когда их поведение меняется, и дайте вашему SOC корреляцию между «поставщик X ухудшился» и «наши собственные оповещения сработали через 3 минуты». Но независимо от того, строите вы или покупаете, архитектурная точка одна и та же: сторонний мониторинг рисков — это отличная возможность от сканирования уязвимостей. Он принадлежит вашей программе безопасности, но не будет исходить от вашего сканера.

Разрыв структурный, а не случайный

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

Но ваша фактическая поверхность риска включает в себя каждую внешнюю систему, которой доверяет ваше приложение. Каждое делегирование DNS, каждый восходящий сертификат TLS, каждый платежный API, каждая страница статуса, каждая конечная точка облака, от которой зависят ваши задания cron. Это доверительные отношения, а их деградация не приводит к CVE.

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

Готовы защититься?

Начните свой путь в области безопасности сегодня

Получите бесплатную консультацию у наших экспертов по кибербезопасности. Никаких обязательств не требуется.