Сегодня практически каждое web-приложение имеет в своем составе JavaScript-модули, а в ряде технологий и вовсе состоят из js-кода. Скрипты имеют доступ ко всей информации на web-страницах, что критично в случаях личными кабинетами, а также к различным данным пользователя, несущим значительную ценность в рекламных целях.
Для быстрой работы web-приложений статические компоненты, такие как скрипты, js-фреймворки, таблицы стилей и изображения хранятся во внешних CDN (content delivery network) – географически распределенных высокопроизводительных серверах, обеспечивающих быструю загрузку контента пользователям в различных регионах.
Известны громкие инциденты, связанные со взломом CDN и модификацией злоумышленниками скриптов крупных компаний, что привело к утечкам данных пользователей web-приложений.
На первый взгляд от подобных атак должна защитить технология Content Security Policy (CSP), позволяющая предотвратить загрузку несанкционированно измененного контента, однако далеко не все даже крупные компании используют эту технологию, и ее правильное использование необходимо контролировать.
С другой стороны, при взломе самого приложения, злоумышленник получает возможность изменить не только код приложения, но и правила CSP. Также измененный вредоносный / уязвимый код может быть намеренно либо по ошибке внесен разработчиком – в этом случае CSP не может.
Для предотвращения утечек данных пользователей web-приложений, а также выполнения несанкционированных действий от имени пользователей, необходимо применять специальные дополнительные средства контроля и обеспечения безопасного использования контента и кода web-приложений.