Снова про MAX Сегодня с утра разлетелась новость о том, что Cloudflare повесили метку «Шпионское ПО» на Национальный Ме
Сегодня с утра разлетелась новость о том, что Cloudflare повесили метку «Шпионское ПО» на Национальный Мессенджер имени Ордена Красной Звезды «Мах». Подсуетились ребята быстро. Утром было четыре пункта нарушения безопасности, на момент написания поста уже два. Однако судя по очень свежим обновлениям сертификатов SSL/TLS недавняя судьба «Телеги» кого-то все-таки чему-то научила.
Сейчас же в красных маркерах висит откровенно унылое барахло. Какая-то CORS-ошибка при загрузке шрифта с st.max.ru. Сервер забыл прописать заголовок Access-Control-Allow-Origin. Это действительно не такое серьезное нарушение как у «Телеги», а скорее легкое недоразумение. Просто текст, возможно, будет чуть менее каллиграфичным. В целом ерунда, но показательная, незрелая CORS-политика может сигнализировать о бардаке в API.
Отдельно хочется заострить внимание на внешний домен sdk-api[.]apptracer[.]ru. Понятно, что вряд ли там что-то серьезное крутится, но вытаскивать такой трекер в отдельный домен это какое-то ненадежное решение для НацМессенджера. Вспоминаем все предыдущие сообщения про supply-chain.
Также фронт здесь выглядит как типичный современный SPA. То есть много крупных JS-файлов, логика почти целиком на стороне клиента. Это само по себе не ужасно, но резко повышает цену любой ошибки. Если где-то появляется XSS, злоумышленник получает тот же уровень доступа, что и сам пользователь, включая сессию, токены и потенциально переписку. Дополнительно не видно явных сигналов про защитные механизмы уровня браузера (CSP, ограничения на загрузку ресурсов и т.п.). Это конечно может просто не налаженная отчетность, но если этого действительно нет, то сценарий с XSS-атакой становится еще опасней. Куки не наблюдаются, то есть возможно используется токеновая модель (localStorage / in-memory), но это снова упрощает захват сессии по XSS. Да и вся сетевая схема довольно плоская – несколько доменов в рамках одной сети без явной сегментации, нет изоляции и единый периметр.
Можно, конечно, игнорировать забугорные отчеты и считать их нерелевантными. Но в таких деталях обычно и проявляется реальный уровень зрелости системы. Но мы лучше зажмуримся покрепче и будем верить в лучшее. Ведь не может же оказаться, что национальный мессенджер в реальности выглядит так нелепо. Скорее всего в реальности все хорошо. Багбаунти вот проводим. Белые хакеры вроде что-то находят, но это не уязвимости – а так места для улучшений.
@antiinfosec