В последнее время меня много спрашивают о политике безопасности контента (CSP) как о возможном решении для Magecart и других атак с использованием веб-скимминга. Компании, в основном сайты электронной коммерции, активно ищут способ справиться с этой новой угрозой. CSP, которое не является дорогостоящим решением, стало неотъемлемой частью многих наборов инструментов безопасности.

Но действительно ли это решение, которое вам действительно нужно для борьбы с Magecart?

Конкурс сторонних приложений

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

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

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

За последние годы было выявлено множество атак Magecart. Например, в сентябре 2020 года было атаковано более 10 000 онлайн-покупателей, что было идентифицировано как эксплойт нулевого дня Magento (продается на рынках даркнета). Почти 2000 веб-сайтов электронной коммерции (в основном страницы оформления заказа) были нацелены на скиммер платежных карт.

По сути, эта методология представляет собой вредоносный код JavaScript (JS), который обнаруживает конфиденциальную активность пользователя, такую ​​как ввод номеров кредитных карт, паролей или любой информации, позволяющей установить личность (PII). Оформление покупок в корзине является наиболее желанной целью из-за задействования платежных реквизитов и личной информации.

Эти атаки развиваются быстрыми темпами. Это вооруженная битва между развивающимися вредоносными атаками и защитниками, пытающимися заблокировать их с помощью таких инструментов, как CSP.

Политика безопасности контента (CSP)

Политика безопасности контента (CSP) - это стандарт компьютерной безопасности, представленный в 2004 году для борьбы со злонамеренными действиями, такими как межсайтовые сценарии (XSS), кликджекинг и другие инъекции кода на стороне клиента в результате выполнения вредоносного кода на доверенных веб-страницах.

Приведение в действие CSP требует добавления HTTP-заголовка Content-Security-Policy на веб-страницу и назначения требуемых значений для полного управления ресурсами, которые конечные пользователи могут загружать, и местами назначения, в которые они могут переходить. Этими элементами могут быть скрипты, изображения, видео, формы и многое другое. Таким образом, становится сложнее проводить атаки Magecart.

Теоретически, если злоумышленник хочет загрузить вредоносный сценарий с www.malicious.com, а CSP настроен так, чтобы не загружать сценарии внешних ресурсов, атака будет полностью заблокирована. Однако для эффективной работы CSP требуется написать хорошо спланированную политику. Это предопределенный набор директив, которые определяют, какие ресурсы (шрифты, изображения, мультимедиа и, самое главное, сценарии) будут необходимы и использоваться для безопасной и надежной среды просмотра. Пожалуйста, посетите статью Маниши Сангван для получения дополнительной информации.

CSP провела множество сетевых сражений с момента своего создания в 2004 году, когда это называлось ограничением контента. CSP был создан для борьбы с очень часто выполняемыми XSS-атаками. Я не буду подробно останавливаться на XSS в этой статье, но, пожалуйста, ознакомьтесь со статьей MRunal Что такое межсайтовый скриптинг, чтобы узнать больше.

К сожалению, из-за роста этих рисков CSP не может быть отдельным решением, которое все ищут. Как мы увидим в следующем разделе, Magecart и другие атаки с веб-скиммингом сейчас берут верх.

Почему CSP недостаточно?

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

Подход с использованием черного и белого списков

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

Эта проблема может создать три разных типа векторов атаки:

  1. Взлом стороннего приложения не будет заблокирован CSP. Это потому, что владелец сайта уже одобрил сторонний домен. Если злоумышленник может получить доступ к стороннему домену, CSP позволит ему работать без какого-либо вмешательства. Я согласен с тем, что хорошие директивы CSP могут создать дополнительные усилия для злоумышленника для извлечения данных за пределы второго неавторизованного домена, но атака все равно будет иметь место, оставляя злоумышленнику достаточно площадки, чтобы обойти ее и завершить атаку, как показано Статья Бхавеша Тхакура о методах обхода CSP.
  2. Взломать серверы на сайте. Большинство известных атак Magecart нацелены на внутренние незащищенные серверы и сценарии в организации и внедряют туда вредоносный код. Это обычная практика, позволяющая загружать скрипты с внутренних доменов веб-сайта и полностью игнорировать идею CSP. Управлять всеми локальными скриптами с помощью CSP практически невозможно.
  3. Используйте общий глобальный сервис для извлечения личных данных. Например, это исследование Hacker-One, проведенное Аароном Костелло показывает, что API Google Analytics можно использовать для взлома веб-сайтов электронной коммерции и других онлайн-предприятий. Поскольку Google Analytics может собирать любые данные, определенные в панели управления, злоумышленники могут просто внедрить на сайт свои собственные скрипты Google Analytics. Он будет внесен в белый список CSP, и данные будут пропущены. Удачи вам в отслеживании всех входных данных, собираемых десятками сторонних разработчиков с помощью CSP.

CSP: решение, требующее особого обслуживания

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

Но вторая проблема, возможно, более сложная.

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

Допустим, у вас есть 50 сторонних разработчиков на одном веб-сайте, каждый из которых использует несколько скриптов и доменов. Что теперь? Вы обнаружите, что усердно работаете, чтобы все это обновлялось и работало. У некоторых компаний могут быть необходимые ресурсы для этого, но для большинства это непосильная задача. В любом случае это создаст большую головную боль, поскольку каждое изменение сценария будет заблокировано в производственной среде и защитит ваш сайт, но то же самое может относиться к важным действиям, которые необходимы цифровой или маркетинговой команде. Если мы выйдем за рамки, CSP также может повредить повседневной производительности веб-сайта.

Средний веб-сайт электронной коммерции использует от 50 до 60 сторонних приложений. Могут ли службы безопасности постоянно справляться с рисками, создаваемыми каждой третьей стороной?

Последние мысли

CSP по-прежнему является эффективным оружием, но его трудно рекомендовать как отдельное решение. В идеале он должен сочетаться с дополнительными мерами, такими как инструменты обнаружения, проверочные тесты и строгая политика сценариев, чтобы обеспечить разумную стоимость ресурсов.

Еще одно интересное решение, которое может работать лучше, чем CSP, против подобных атак - Целостность субресурсов (SRI). Если все будет сделано правильно, это может быть более выгодное решение для битвы с Magecart. Подробнее о НИИ мы поговорим в следующей статье. А пока давайте позаботимся о безопасности веб-сайтов!

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