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

Отвечает за развитие информационных технологий в IT-компании EdgeЦентр
Слабые места в CDN
Безопасность CDN — критически важна для защиты информации, обеспечения доступности услуг и поддержания доверия пользователей. Поэтому нужно знать, где в сети могут быть уязвимые места.
Динамические данные
Важно знать, что сеть CDN предназначена исключительно для хранения статического контента. Динамические данные, такие как рыночные котировки, погодные условия и свежие заголовки новостей, находятся в центре обработки данных клиента.
В реальной практике запросы к динамическому контенту зачастую обходят сеть CDN и поступают напрямую в ЦОД клиента. Это создает потенциальные риски для атак типа DoS, позволяя злоумышленникам миновать защитные системы и инфраструктуру CDN. Кроме того, злоумышленник может изменять параметры рекурсивных запросов, побуждая сеть CDN «раскрыть занавес» и направить запрос прямо в ЦОД.
Директивы системы кэширования данных
Директивы кэширования представляют собой специальные параметры HTTP-заголовка, которые указывают сети CDN, как поступать с запросами, — передавать их на сервер баз данных или же использовать кэш. Наблюдается множество случаев, когда злоумышленники манипулировали директивами кэширования, такими как «cache-control: no-cache» или аналогичными «Pragma: no cache». Используя эти директивы, они способны обходить защитные механизмы сети CDN, даже когда речь идет о статических данных.
Атака CPDoS (Cache-Poisoned Denial-of-Service)
Злоумышленник подключается к сайту до тех пор, пока его запрос не сгенерирует новую запись CDN. Запрос содержит искаженный или слишком большой HTTP-заголовок, который провоцирует на веб-сервере ошибку. Сервер генерирует страницу с ошибкой, которая кэшируется в CDN. Другие пользователи, обращающиеся к сайту, видят страницу с ошибкой вместо реального сайта. Кэшированная ошибка распространяется на другие узлы сети CDN, создавая ложное отключение на легитимном сайте.
Уязвимость в CDN Cloudflare
CDN кеширует контент на серверах, ближайших к пользователю. Это позволяет злоумышленнику определить, какой дата-центр используется для кеширования изображений, что дает возможность приблизительно установить местоположение пользователей.
Уязвимость в CDNJS
CDNJS служит хранилищем для множества библиотек JavaScript, CSS и других ресурсов, которые разработчики могут использовать в своих проектах. Публикация пакетов CDNJS с помощью GitHub и npm приводит к проблеме класса Path Traversal и удаленному выполнению кода. Сообщение о проблеме класса Path Traversal, уязвимости, которая позволяет злоумышленнику получить доступ к файловой системе сервера, обходя ограничения, установленные для доступа к файлам, и удаленном выполнении кода в контексте публикации пакетов на CDNJS через GitHub и npm указывает на потенциальные уязвимости в процессе загрузки и распространения файлов.
То есть, если на GitHub кто-то опубликует пакет, содержащий уязвимый код, и он будет загружен на CDNJS, то при использовании этого пакета в приложении может произойти выполнение вредоносного кода. Если система публикации пакетов допускает какие-либо непроверенные данные, то злоумышленник может воспользоваться этой уязвимостью.
Правила безопасности контента
Чтобы поднять уровень безопасности данных в CDN, можно воспользоваться протоколами шифрования, например TLS 1.3. Он служит для обмена данными между пользователем и CDN-сервером, а также между CDN-серверами и исходным источником данных. Протоколы шифрования обеспечивают конфиденциальность передаваемой информации, защищая ее от перехвата злоумышленниками, а также проверяют, чтобы содержимые данные не были изменены во время передачи. Еще они улучшают производительность за счет сокращения количества раунд-трипов для установления соединения и более эффективных алгоритмов шифрования.
Для обеспечения защиты контента необходимо регулярно обновлять сертификаты безопасности, контролировать права доступа в соответствии с принципом минимальных привилегий и использовать аппаратные модули безопасности (HSM) для безопасного хранения ключей.
Для анализа трафика и отслеживания ошибок можно задействовать искусственный интеллект и технологии машинного обучения, а также организовать автоматизированное реагирование на инциденты, например, путем интеграции CDN с системами управления событиями и инцидентами безопасности (SIEM).
Методы контроля доступа к контенту
Ради безопасности данных, защиты контента от несанкционированного использования и распространения, а также ради эффективного использования CDN, важно контролировать доступ к данным, хранящимся в сети доставки контента. Сделать это можно несколькими методами.
- Многофакторная аутентификация и ролевой контроль доступа. Ограничивают доступ только к авторизованному персоналу.
- Использование списков управления доступом (ACLs) — это механизм, который определяет, кто и какие действия может выполнять с ресурсами в системе, такими как файлы, папки, сетевые ресурсы и т.д. Главная цель ACL — обеспечить сохранность данных путем ограничения или разрешения доступа к отдельным компонентам.
- Настройка доступа с использованием ключа позволяет создавать временные ссылки на контент и ограничивать доступ на основе IP-адресов. Каждой ссылке на сайте присваивается уникальный токен, который содержит зашифрованные данные о ключе доступа, времени действия ссылки и допустимых IP-адресах. При переходе пользователя по такой ссылке CDN-сервера осуществляют проверку токена, содержащегося в запросе.
- Настройка политики доступа по доменам. Запрещает размещение ссылок на контент на других сайтах.
- Настройка политики доступа по клиентским приложениям. Позволяет предоставить или ограничить доступ к контенту из CDN по клиентским приложениям (User Agent), например, для определенного браузера, приставки, устройства.
Инструменты и сервисы для защиты CDN
Как и все сети, подверженные воздействию интернета, CDN должен быть защищен от различного рода атак, утечки данных и попыток «уронить» сеть целевого источника с помощью DDoS-атак. Если вы собираетесь арендовать виртуальный сервер и развивать на нем свой проект, важно тщательно подойти к вопросу безопасности.
CDN по умолчанию защищает от DDoS-атак на уровнях L3 и L4, они направлены на сетевую инфраструктуру и транспортный уровень. Наша компания занимается подключением базового WAF для защиты от угроз из списка OWASP Top 10 — самых распространенных уязвимостей веб-приложений.
Базовый WAF — это файрвол, защищает ресурс от атак, связанных со следующими уязвимостями:
- инъекционные атаки (Injections) — это внедрение вредоносного кода в уязвимую компьютерную программу для изменения ее хода выполнения;
- нарушенная аутентификация — уязвимость, возникающую в ходе процесса подтверждения личностей в веб-приложении, что может дать возможность злоумышленникам занять аккаунты пользователей. К примеру, это может происходить при использовании общеизвестных, слабых или легко угадываемых паролей;
- незащищенность критичных данных — это проблема, с которой сталкиваются многие веб-приложения, не обеспечивающие надлежащую защиту для конфиденциальной информации, включая данные кредитных карт и учетные записи для входа;
- внешние XML-объекты (XXE) представляют собой уязвимость в области безопасности веб-приложений, позволяющую злоумышленникам вмешиваться в процесс обработки XML-данных;
- нарушение контроля доступа — это «слабое место», за счет которого злоумышленник может получить несанкционированный доступ к ресурсам или выполнить действия, которые он не должен иметь возможности сделать;
- небезопасная конфигурация — это ситуация, когда настройки приложения, сервера, базы данных или других компонентов системы не являются безопасными;
- межсайтовый скриптинг (XSS) — распространенный тип веб-атаки, заключающийся во внедрении на страницу сайта или приложения вредоносного кода;
- небезопасная десериализация — это уязвимость, возникающая, когда приложение десериализует данные из ненадежного источника без надлежащей проверки или очистки;
- использование компонентов с известными уязвимостями — это использование устаревших или уязвимых компонентов;
- неэффективный мониторинг — относится к недостаточной записи и отслеживанию действий в системе, что затрудняет обнаружение и расследование инцидентов безопасности. Это может привести к тому, что злоумышленники смогут действовать незамеченными, а организация не сможет своевременно реагировать на угрозы;
- уязвимость нулевого дня в Log4j — уязвимость, которая включает выполнение произвольного кода. Итогом станет полный захват уязвимого приложения или сервера.
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Контакты
Социальные сети