FrontSecOps – Telegram
FrontSecOps
780 subscribers
52 photos
7 videos
1 file
42 links
Безопасность и безопасная разработка frontend-приложений. Актуальные риски и методы защиты современных js-приложений.

По всем вопросам @mkparfenov
Download Telegram
РКН рассылает компаниям требование удалить с сайтов скрипт Google Analytics из-за незаконной трансграничной передачи персональных данных (ПД) пользователей

С 2023 года трансграничная передача ПД без уведомления Роскомнадзора запрещена⛔️

РКН использует риск-ориентированный подход 🏓 (ПП N1046 от 29.06.2021) при проведении контрольных мероприятий. На уровень риска влияют группы тяжести потенциальных негативных последствий от нарушений.

Что влияет на группу тяжести?
🆘Сбор ПД, с использованием БД, находящихся за пределами РФ.
🆘Сбор ПД, с использованием иностранных программ и сервисов.
🆘Трансграничная передача ПД на территорию иностранных государств.

Категория риска влияет на вероятность проведения/частоту контрольных мероприятий. К контрольным мероприятиям ☁️ относятся не только плановые/внеплановые проверки, но и "наблюдения за соблюдением требований", другими словами, мониторинг сайтов/frontend-приложений🔎

Как проверяют?

Сотрудник РКН открывает сайт компании 🖥, в браузере в DevTools смотрит, какие скрипты размещены на странице, на вкладке Network смотрит, на какие хосты / в какие страны отправляются сетевые запросы. Затем этим данные сверяются с Политикой конфиденциальности📄, размещенной на сайте и всплывающими уведомлениями-согласиями на передачу ПД третьим лицам, трансграничную передачу, перечнем третьих лиц и т.д.

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

Проблема не только в Google Analytics

Существует множество внешних сервисов/скриптов, используемых на сайтах (Google Tag Manager, Roistat, Criteo, Google Ads и другие), отправляющих данные на зарубежные серверы. По результатам наших аудитов и пилотов FAST-анализатора мы видим, что даже российские системы аналитики иногда передают данные🪪 за пределы РФ.

Это касается только личных кабинетов/интернет-магазинов?

Нет. Даже если на вашем сайте (frontend-приложении) нет ПД в явном виде (ФИО, телефон, данные паспорта и т.д.), цифровой отпечаток браузера, идентификаторы записанные в cookie 👍, профиль поведения пользователя являются сведениями, относящимися к определяемому физическому лицу, и регулятор признает их персональными данными 🪪

Для снижения регуляторных и реальных рисков утечки ПД в компании должны быть внедрены:
1️⃣ Политика безопасности frontend-приложений (сайтов, личных кабинетов и т.д.)
2️⃣ Связка этой политики с Политикой обработки ПД и поддержкой актуальности согласий/политик на сайтах компании.
3️⃣ Процесс управления изменениями (согласование добавления на сайт новых скриптов, систем аналитики, счетчиков и т.д., согласование хостов/стран/получателей данных, отражение их в согласиях, политиках на сайте).
4️⃣ Инструмент для контроля и уведомления об инцидентах. Любые политики бессмысленны без контроля. Ручной анализ frontend-приложений имеет низкую достоверность и является весьма трудозатратным. Для эффективного контроля можно использовать DPA FAST Analyzer.

FAST-анализатор:
Проводит глубокую инвентаризацию всех скриптов/систем аналитик в рантайме браузера 🟡
Отображает историю изменений скриптов для ретроспективного анализа
Обнаруживает все отправки данных на сторонние серверы (системы аналитики и другие)
Применяет к обнаруженным результатам политику по принципу белого списка (все, что не согласовано с ИБ, юристами, комплаенс - является инцидентом). Можно контролировать, на какие хосты/страны отправляются данные
Уведомляет об обнаруженных инцидентах 🆘
Может использоваться как в DevSecOps в качестве Security Gate, так и для сканирования frontend-приложения (сайта, личного кабинета, CRM, HRM и т.п.) в продакшене

Напишите мне 📱, мы проведем для вас пилот DPA FAST Analyzer, покажем всё, что происходит на сайте/frontend-приложении, обнаружим трансграничные передачи данных для предотвращения утечек и штрафов РКН 🛡

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Kaspersky
⚡️Зиродей в Chrome: один клик – и все данные под угрозой

Эксперты Kaspersky GReAT обнаружили уязвимость нулевого дня в Google Chrome, которая позволяла атакующим обходить защиту браузера и заражать устройства буквально одним кликом. Всё, что нужно было жертве — просто открыть ссылку из письма.

📌 Уязвимость использовалась в реальных атаках на медиа и образовательные учреждения.
📌 Эксплойт отличался высокой степенью изощрённости — он обходил защиту песочницы Chrome как будто её вообще не существовало.

Наши исследователи передали всю информацию Google, и 25 марта вышел патч, закрывающий уязвимость. Но кто стоял за атакой, почему эта кампания получила название Operation ForumTroll и какие ещё детали мы нашли?

Больше подробностей – в разборе на SecureList ⬅️
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-фишинг с использованием JS Notification / Push API

Эти API предоставляют js-коду 📱 возможность показывать нативные уведомления браузера на устройстве пользователя. Push API (в отличии от Notification API) может показывать уведомления даже при закрытой вкладке браузера ⚠️, а на мобильных устройствах даже при закрытом браузере, поэтому рассмотрим именно его.

Исходные данные

Наше frontend-приложение уже запрашивало разрешение на показ уведомлений либо запросит, и пользователи согласятся (доверяют нашей компании).

В случае с мобильными устройствами пользователи добавили наше web-приложений на экран "Домой", что дает web-приложению права PWA (progressive web app), в том числе права на отправку push-уведомлений.

Предположим, что в ваш проект попал вредоносный js-код (с новыми версиями зависимостей, в результате компрометации сервера, сгенерирован "плохой" нейросетью и т.д.), а именно в код Service Worker (требование для вызова Push API, для Notification API в любое место в js-коде).

Злоумышленник получает возможность подключиться к своему серверу push-уведомлений и показывать пользователю нативные уведомления с любой картинкой/текстом/возможностью при клике редиректить пользователя на любой сайт⚠️. Это открывает безграничные возможности для фишинга 🤒

⚠️С вашего счета произведен перевод денег..
⚠️Заказ № 123456 оформлен, сумма 14 793 руб., дата доставки..
⚠️Обнаружен вирус на устройстве, выберите действие..
⚠️Ваш почтовый ящик заблокирован..
⚠️Кто-кто входит в ваш аккаунт..

Далее - кража учетных данных 🪪, загрузка вредоносного вложения с эксплойтом 💣 и т.п.

На Desktop и Android в push-уведомлении можно показать любую картинку (логотип банка, мессенджера, популярного приложения). В iOS всегда будет отображаться иконка нашего сайта.

Если неквалифицированные пользователи / люди в возрасте доверяют баннерам "про обновление антивируса" на сайтах с кулинарными рецептами, то нативным уведомлениям на мобильном устройстве могут поверить даже опытные пользователи.

Злоумышленники "хотят" наш frontend больше 💰, чем мы думаем… А уязвимости браузеров 📱 🌐 делают frontend-приложения идеальной точкой проникновения на устройства пользователей.

Как защититься?

🔹Контролировать использование WebAPI в frontend-приложении: Service Worker API, Push API, Notification API
🔹Контролировать целостность js-кода, включая код Service Worker
🔹Проводить инвентаризацию js-кода, включая динамически загружаемый, в runtime браузера при выполнении основных E2E-сценариев
🔹Контроль при каждом релизе и периодически в продакшене + реагирование

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня на Территории безопасности 2025 в Москве модерирую секцию "Атаки на вендоров ПО: Как контролировать цепочку поставок" и выступаю с докладом:

Браузер пользователя - идеальное место для кражи данных и атак. Как обнаружить утечки там, где WAF не видит? Или остановим Supply Chain атаки на фронтенде

Обсудим:

🔹Как вредоносный js-код может попасть в приложение 📱 ?
🔹Как обнаружить вредоносные действия в "слепой зоне" - браузере пользователя 📱
🔹Как предотвратить Supply Chain атаки в frontend-приложениях 🛡 ?

Кто тоже здесь, приходите в 16:10 в Зал 2 (PRO Безопасность подрядчиков)
Please open Telegram to view this post
VIEW IN TELEGRAM
31 марта 2025 перешли в статус обязательных требования PCI DSS 4.0.1 для frontend-приложений

Обязательность выполнения требований актуальной версии PCI DSS указана в Программе безопасности ПС «Мир» / НСПК.

🔹 6.4.3 Все скрипты платежных страниц, которые загружаются и выполняются в браузере пользователя, управляются следующим образом:
- Актуальная инвентаризация всех скриптов с письменным обоснованием бизнес-необходимости каждого из них.
- Реализован метод подтверждения авторизации и целостности каждого скрипта.

🔹 11.6.1 Обнаружение и реагирование на несанкционированное изменение платежных страниц:
- Контроль изменений на платежных страницах.
- Контроль изменений HTTP заголовков (в том числе Content Security Policy (CSP)).
- Оповещение персонала о несанкционированных изменениях.

🔹 Требования также применяются к web-страницам, на которых встроен сторонний iframe c формой оплаты TPSP/платежного процессора.

Использование CSP не может полноценно выполнить эти требования и обеспечить безопасность пользователей ⚠️

Точнее сказать выполнить требования для аудитора то может, по принципу "заголовок CSP с хэшами скриптов есть, бизнес-обоснования записываем в блокноте 📝, каждый день проверяем глазами 👁 ..." 😄 (наотъе .. кто здесь 😂? только для галочки аудитора ☑️).

Но мы ведь не из таких ... 😎 Мы знаем, что требования появляются не просто так, а для снижения рисков от реальных угроз: js-снифферов, frontend-фишинга, Supply Chain Attack и т.д.

Файл-бандл frontend-приложения 📱 включает все зависимости (десятки-сотни opensource-библиотек) и изменяется при каждом релизе приложения ➡️ изменяется хэш файла ➡️ меняем заголовок CSP. Бизнес-обоснование? "Это главный скрипт приложения". Кто-то проверял, что в новые версии зависимостей не был встроен js-сниффер? Нет. 🤨 Но формально требования PCI DSS выполнены ☑️

Кстати, НКЦКИ требует именно проверку скриптов на вредоносные действия после любых изменений, а не только контроль целостности.

Допустим разрешенные хэши скриптов в CSP указали, а вот запретить eval() забыли (формально, не требуется). Вредоносный код в зависимости хранит пейлоад в base64 ➡️ извлекает код сниффера ➡️ выполняет через eval() ➡️ данные карт клиентов 💳 похищаются прямо в браузере пользователя в "слепой зоне" для WAF, NGFW, DLP... 🤨

Даже при самой строгой CSP попавший на страницу вредоносный код может отправить данные на хост злоумышленника через механизм навигации.

В разъяснительной части PCI DSS 4.0.1, сказано: "Единственное место, где можно обнаружить изменения и признаки вредоносной активности — это браузер пользователя, где страница полностью собрана и выполнен весь JavaScript-код".

Без глубокого анализа поведения js-кода в реальном браузере 📱 / frontend-sandbox (например, DPA FAST Analyzer) невозможно провести достоверную инвентаризацию скриптов и обнаружить утечки данных в frontend-приложении.

PCI DSS 4.0.1 - первый стандарт, в явном виде зафиксировавший необходимость обеспечения безопасности frontend-ов и должен являться best practice для всех компаний

Давайте защищать🛡 наших пользователей, их данные и репутацию компании, а не делать что-то только для "галочки" аудитора ☑️

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Завтра (25 апреля) в 13:15-13:40 (МСК) на AppSecFest 2025 (Алматы, Казахстан) выступаю с докладом "Frontend Application Security Testing (FAST). Задачи подхода и место в DevSecOps/SSDLC". Приходите в зал Security или подключайтесь к бесплатной трансляции на сайте https://appsecfest.kz
👍1
Frontend SSDLC и уязвимости браузеров

29 апреля 2025 вышла версия (136.0.7103.59) Google Chrome с исправлением CVE-2025-4096 - ⚠️ high-уязвимости в Chrome 📱 и Chromium-based браузерах. Уязвимость класса Heap buffer overflow в движке HTML. Эксплуатация уязвимости (создание на веб-странице специального сформированного фрагмента) может привести к выполнению произвольного кода на устройстве пользователя. За обнаружение уязвимости исследователю было выплачено 5000$ 💰

Это уже не первая опасная уязвимость в Chromium в этом году.

Заражение устройств пользователей ⌨️ через эксплуатацию уязвимостей браузеров - один из способов монетизации злоумышленниками внедрения вредоносного js-кода в frontend-приложения. Вредоносный код может попасть в js-приложение со сторонними библиотеками (npm-зависимости ✈️ ) или через внешние js-сервисы 📱 (системы аналитики, счетчики, тег-менеджеры и т.п.).

Внедрение вредоносного js-кода в популярное приложение/сайт дает возможность заразить значительное количество устройств пользователей, а также проникать в корпоративные сети. Через frontend-приложения возможно заразить устройства даже во внутренних сетях без интернета ⚠️

Например, вы устанавливаете новую версию внутрисетевого приложения (ERP, CRM, SIEM, WAF, VM или любое другое ПО с браузерным UI, даже SAST, DAST, SCA, веб сейчас повсюду), а вендор ПО не проверяет frontend-часть на вредоносное поведение (ограничивается только проверкой версий зависимостей по базам известных уязвимостей).

Далее вредоносный js-код, при открытии пользователем страницы 🖥 :
1. эксплуатирует уязвимость браузера 🌐
2. имитирует скачивание файла (pdf, docx, ...) с эксплойтом для офисного ПО 💣
3. показывает фишинговые уведомления 🤒⌨️

В итоге: заражение устройства пользователя в корпоративной сети без интернета и дальнейшее развитие атаки 🤒

Анализируйте поведение ваших frontend-приложений 🔍 (целью являются ваши пользователи!) и требуйте этого от поставщиков используемого ПО. Даже внутрисетевого⚠️

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
RCE уязвимость в модулях CMS Bitrix (BDU:2025-03006) 🆘

Уязвимость в модулях «Экспорт/Импорт товаров в Excel» от стороннего разработчика. Злоумышленник может выполнять произвольные команды на сервере путём отправки специально сформированного POST-запроса. Данной уязвимости подвержены несколько тысяч web-приложений. Эксплуатируется с марта 2025 года.

⚠️ Критичность 8,8 по CVSS 3.0

https://www.pentestnotes.ru/notes/bitrix_excel_rce/
https://bdu.fstec.ru/vul/2025-03006
https://www.1c-bitrix.ru/vul_dev/

После устранения уязвимости рекомендую проверить целостность js-кода 🔍 и провести анализ поведения frontend-части Bitrix. Злоумышленники могли встроить в код js-сниффер, js-майнер и т.д.

Часто злоумышленники делают именно так: взлом производится через уязвимости бэкенда/CMS, а монетизация взлома через внедрение вредоносного кода в frontend-приложение, что позволяет увеличить время присутствия и максимизировать монетизацию 💰

Антивирусы неэффективны для проверки js-файлов, код может быть обфусцирован или динамически подгружаться со сторонних хостов при открытии страницы в браузере 🖥 (это не отличимо от нормального поведения приложения).

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
23 мая на PHDays Fest выступаю с докладом "Взгляд в темноту. Безопасность frontend-приложений от модели угроз до secure by design"

Покажу:

1️⃣ Результаты исследования безопасности > 3000 российских frontend-приложений, проведенного с помощью FAST-анализатора. Посмотрим, сколько приложений отправляют персональные данные за границу ⚠️; сколько используют CSP и насколько эффективно ее конфигурируют; какая российская система web-аналитики уютно хостится в Ирландии 🇮🇪, и многое другое...

2️⃣ Собственный фреймворк моделирования угроз для frontend-приложений с оценкой рисков и мерами митигации; почему существующие методики и каталоги угроз вредят frontend-безопасности, и что с этим делать.

3️⃣ Как автоматизированный анализ поведения frontend-приложения в DevSecOps нейтрализует актуальные угрозы, выводит frontend-приложения из "слепой" зоны и приводит нас к реальному Secure by Design 🛡

Приходите или подключайтесь к бесплатной трансляции на сайте

23 мая 2025 (пятница)
12:00–13:00 (МСК)

Зал 21 «Лавлейс»
Трек Development Security

Встречаемся на PHDays Fest!

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Выкладываю презентацию с PHDays Fest, доклад можно посмотреть в записи трансляции

@FrontSecOps
PHDays_2025_Parfenov_MN.pdf
7.1 MB
Media is too big
VIEW IN TELEGRAM
Запись доклада "Взгляд в темноту. Безопасность frontend-приложений от модели угроз до secure by design" с PHDays Fest 3. Презентация доступна здесь.

00:00 Вступление

Часть 1
01:24 Frontend - всегда в "слепой" зоне
03:10 Выгода злоумышленника от внедрения вредоносного кода в frontend-приложения
04:49 Вектора проникновения вредоносного кода в приложение
06:01 Обзор крупнейших инцидентов
09:53 Frontend - идеальный способ монетизации для злоумышленников, в т.ч. инсайдеров

Часть 2
10:30 Исследование безопасности российских frontend-приложений
11:32 Основные показатели
13:43 Наиболее интересные результаты по отраслям
14:22 Количество хостов, на которые frontend отправляет данные
14:37 Эффективность использования Content Security Policy (CSP)
17:00 Google Tag Manager - frontend-бэкдор, угрожающий данным наших пользователей
18:27 CMS Битрикс отправляет персональные данных ваших клиентов в Ирландию - риск штрафов РКН за трансграничную передачу ПД без согласия пользователей 🆘
20:20 Яндекс Метрика Вебвизор - может стать легитимным каналом утечки ПД из личных кабинетов в руках злоумышленника
21:28 Общий показатель безопасности

Часть 3
23:18 Моделирование угроз для frontend-приложений
24:10 Существующие каталоги угроз приводят к игнорированию frontend-безопасности
25:09 Фреймворк моделирования frontend-угроз DPA Analytics
27:40 Митигация рисков через Observability

Часть 4
29:20 Анализ поведения frontend-приложения в DevSecOps - путь к Secure by Design
29:32 OWASP: SAST, DAST, IAST имеют низкую достоверность при анализе frontend-приложения
30:02 FAST-анализатор - инструмент для достоверного анализа безопасности и оперативного реагирования без ложных срабатываний

Часть 5
31:46 Что делать? Как сделать frontend безопасным?

33:15 Ссылки
33:19 Telegram-канал @FrontSecOps : в июне опубликую бесплатный онлайн-сервис для моделирования frontend-угроз и полный отчет об исследовании безопасности российских frontend-приложений

📹 Запись на YT
@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
⚠️ CMS Битрикс отправляла данные ваших клиентов в Ирландию 🇮🇪

В мае мы провели исследование безопасности российских frontend-приложений. Были проверены приложения более 3000 крупнейших коммерческих компаний. Краткие результаты исследования я представил в своем докладе на PHDays 2025.

Было обнаружено, что:
🔹 64 % приложений загружают скрипты с хостов за пределами РФ.
🔹 71 % приложений отправляют сетевые запросы на зарубежные хосты.

После анализа наиболее часто встречающихся зарубежных хостов мы увидели хост bitrix.info, указывающий на сервер в подсети Amazon в Ирландии 🇮🇪

Изучаем подробнее. Действительно все эти приложения построены на CMS 1С-Битрикс. В коде веб-страниц размещен инлайн-скрипт 📱 , который загружает другой внешний скрипт, размещенный по адресу: https://bitrix.info/ba.js . Этот скрипт собирает данные о поведении пользователя, фрагменты веб-страниц (например, заголовки) и другие данные и отправляет на https://bitrix.info/bx_stat

Являются ли данные, собираемые системами веб-аналитики, персональными? 🪪

Можно долго спорить на эту тему, но предлагаю смотреть с т.з. рисков, а именно рисков проверок/штрафов регуляторов. 💰 В марте 2025 года Роскомнадзор направлял российским коммерческим компаниям требования об удалении с сайтов Google Analytics, т.к. «использование метрической программы Google Analytics может указывать на сбор ПД с использованием БД, находящихся за пределами РФ», а также тем, что с 2023 года трансграничная передача ПД без уведомления РКН запрещена ⚠️

Поэтому на мой взгляд данные, собираемые любой системой аналитики, следует считать персональными. Следовательно CMS Битрикс отправляет персональные данные пользователей/клиентов в Ирландию 🇮🇪

Сколько компаний в зоне риска?

По результатам исследования скрипт Битрикс Аналитики обнаружен в 21 % web-приложений, это более 650 крупнейших российских компаний.

Мы развернули актуальную версию 1С-Битрикс: Управление сайтом (версия 25.100.400). В документации на CMS отсутствует упоминание внешнего скрипта аналитики, размещенного в Ирландии. Скрипт внедряется по дефолту во все редакции CMS (вспоминаем про принцип Privacy by Default). В админ-панели нет опции для отключения внедрения скрипта. (см. как отключить)

Заключение

🔹 С точки зрения ИБ подобное поведение приложения - это «недекларированные возможности» (НДВ).
🔹 Трансграничная передача ПД без уведомления РКН запрещена, данная функциональность CMS повышает риск получения штрафов для компаний.
🔹 Вендоры ПО должны анализировать поведение своих frontend-приложений, чтобы не подвергать риску своих заказчиков/клиентов (утечки в frontend-приложениях не обнаруживаются WAF, NGWF и другими средствами защиты и анализаторами SAST, DAST, SCA/OSA, т.к. происходят в «слепой» зоне - прямо в браузере пользователя).
🔹 ИБ/AppSec-специалисты должны анализировать поведение frontend-приложений, чтобы обнаруживать и реагировать на подобное для снижения рисков утечки данных и атак на пользователей.

UPDATE 18.06.2025

Со мной связались коллеги из Битрикс, данная функция будет удалена в ближайших обновлениях CMS. Несколько дней назад (около 07.06.2025) сервис был перенесен на территорию РФ. В данный момент по адресу https://bitrix.info/ba.js отдается пустой скрипт, т.е. сбор данных не осуществляется. Спасибо коллегам из Битрикс за оперативное реагирование 👍🏽

P.S. Судя по истории изменения DNS записей, сервис размещался в Ирландии с 2014 года.

Даже при защищенном бэкенде Ваших web-приложений данные могут годами утекать прямо в браузере пользователя🖥, если регулярно не анализировать поведение frontend-приложений.

Спасибо команде DPA Analytics за проведенное исследование. Только по итогам данного кейса мы снизили риски получения санкций/штрафов регуляторов за трансграничную передачу данных для сотен российских компаний.

Если хотите увидеть, куда текут данных из Ваших frontend-приложений, и узнавать о вредоносных действиях скриптов сразу 🆘 (а не через несколько лет), Вы можете использовать FAST-анализатор от DPA Analytics.

Полная версия статьи - на Хабре

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!

Завтра (в пятницу, 27.06.2025) в 11:00 (МСК) принимаю участие в эфире AM Live. С коллегами будем говорить про безопасную разработку: культуру, регуляторику, моделирование угроз, технологии и инструменты: SAST, SCA, FAST, DAST, API Sec и т.д.

Трансляция бесплатная и будет доступна после регистрации

В понедельник (30.06) опубликую онлайн-сервис для моделирования угроз для frontend-приложений, о котором рассказывал на PHDays.
Please open Telegram to view this post
VIEW IN TELEGRAM