Поддомены как оружие в руках хакеров: что это, Cookie Tossing

Поддомены как оружие в руках хакеров: что это, Cookie Tossing

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

Перехват DNS, подстановка учетных данных, DDoS-атака — это только наиболее распространенные и популярные технологии, которые активно используют хакеры для получения доступа к пользовательским устройствам, конфиденциальной информации. Но вот, наряду с ними существует еще очень и очень много других видов направленных действий, которые в руках умельцев превращаются в чрезвычайно грозное оружие, таящее в себе серьезные последствия для отдельно взятых пользователей и бизнеса в целом.

На одной из таких малоизвестных, но очень опасных хакерских атак мы и остановимся сегодня более подробно. В частности, в сегодняшнем обзоре речь пойдет о Cookie Tossing или как ее еще часто называют Cookie Dropping. Ее суть состоит в том, что интернет-злоумышленники изначально получают доступ к одному из ваших поддоменов, предположим, к блогу. Изначально можно подумать, что ущерб от такой атаки не будет слишком серьезным, ведь все ограничивается получением доступа к страницам с информационными материалами. Но это мнение — ошибочное. Дело в том, что хакеры отлично понимают, как в браузерах работают куки-файлы. И если они получают доступ к подмену, то через них смогут воздействовать и на основной домен вашего сайта. И это не нечто из разряда фантастики, а четко продуманная и отработанная методика, основанная на глубоком понимании работы веб-технологии в целом.

Так как работает Cookie Tossing и как с ее помощью хакером удается обмануть браузеры с их многоуровневой системой защиты? Какие технические моменты лежат в основе подобной атаки? Какие действия хакеры могут проделывать с вашими куки-файлами? Какие факторы усиливают подобную уязвимость? Одинаковая ли ситуация складывается во всех браузерах? Какие на сегодня стратегии защиты от подобных атак существуют? Как выстроить действительно безопасную систему и какие инструменты фреймворки помогут в этом? Сейчас попробуем найти ответы на все эти вопросы. Представленная информация позволит вам по-другому взглянуть на обеспечение безопасности собственного сайта, оценить его уязвимости к атаке Cookie Tossing и предпринять ряд мер, направленных на повышение стойкости.

Что это, Cookie Tossing: как хакерам удается обманывать браузеры

Cookie Tossing – это достаточно современный инструмент в распоряжении интернет-злоумышленников, использующий базовую и можно даже сказать фундаментальную особенность обработки браузером cookie-файлов. В том случае, когда поддомен будет создавать куки, он обязательно укажет при этом в своем атрибуте родительский домен – Domain. И здесь браузеру не остается ничего иного как просто принять данные файлы, а в последующем эти куки-файлы будут применяться ко всему родительскому домену. А что будет, если у вас уже есть несколько подобных файлов с одинаковыми именами для одного и того же домена? И здесь возникает серьезная путаница и можно даже сказать, проблема, что и становится тем самым слабым звеном, на которое и будут направлены действия интернет-злоумышленника.

Если не слишком вникать в технические нюансы подобной атаки, а взглянуть непосредственно на ее суть, то можно увидеть, что механизм подобного воздействия достаточно простой. Предположим, что у вас есть сайт «site.com», а также куки-файлы к нему под названием «session». Параллельно с этим также есть и поддомен, пускай «eval.site.com», который также устанавливает собственные cookie-файлы с тем же самым именем, но для домена «.site.com».

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

Особая опасность и сложность здесь состоит в том, что большая часть онлайн-приложений просто не способны обрабатывать дублирующиеся cookie-файлы. Далеко не всегда об этом задумываются и сами разработчики. Они считают, что сессионный куки всегда будет уникальным. Это для них своего рода аксиома, не требующая доказательств. И как они поступают в такой ситуации? Просто берут за основу первое из попавшихся им значений. А что будет, если это окажутся не реальные куки, которые идут с вашего сайта, а поддельные, то есть те, что запустил интернет-злоумышленник? Какие последствия для вашего ресурса могут быть от подобного? Наверняка, ничего хорошего от этого ждать не приходится. И сейчас важно понять, что если ваше PHP-приложение запросит «$_COOKIE['session_id']», то оно вполне может получить несколько HTTP-заголовков и взять из них первое попавшееся. И очень высока вероятность того, что оно может оказаться поддельным.

Техническая сторона Cookie Tossing

В основе технической реализации атаки Cookie Tossing лежит получение полного контроля над поддоменом вашего сайта. Здесь реализовать подобное можно путем взлома того сервера, где размещен этот поддомен, при помощи DNS-угон либо же XSS-уязвимости. После этого он внимательно изучает поддомен, в частности то, какие cookie-файлы используют ваш основной домен. Получить соответствующую информацию можно непосредственно в браузере при помощи встроенных инструментов разработчика (Developer Tools). При необходимости также можно будет подключить и любые другие специальные программы, способные перехватывать трафик. На основании полученной информации создаются собственные поддельные куки-файлы. Здесь имена остаются точно такие же, как были на вашем сайте, но вот их значение уже меняется. И понятно, что оно уже будет нести в себе определенную опасность для вашей площадки.

После этого хакер переходит к ответственному этапу — устанавливает зловредный куки-файл с правильным атрибутом Domain. В итоге на скомпрометированном поддомене JavaScript-код может выглядеть следующим образом: «document.cookie = "sessionid=malicious_attacker_session_id; Domain=.site.com; Path=/; Secure; HttpOnly; SameSite=Lax"». Чтобы сделать свои cookie максимально идентичными настоящим, интернет-злоумышленник может добавить флаги «Secure» и «HttpOnly». К слову, если ваши оригинальные куки-файлы имеют метку «HttpOnly», то JavaScript даже при огромном желании не сможет прочитать их значение. Но при этом не будет проблемой установить новый cookie с точно таким же именем.

То есть, если на практике хакер не знает реального значения ваших настоящих куки, то он просто запускает ранее созданный им сессионный идентификатор. Что мы получаем в итоге: браузер того устройства, на который идет атака Cookie Tossing будет отправлять оба варианта cookie-файла, ваш настоящий и поддельный каждый раз при формировании запроса к основному домену. Невозможно предугадать то, как сервер обработает несколько одновременно полученных куки-файлов с одинаковыми именами. Он может выбрать первый вариант или тот, который придет последним, тот, что, по его мнению, окажется более правильным. То есть в данном случае мы получаем 50% вероятность того, что будут обработаны куки интернет-злоумышленника, а не ваши настоящие. Это и есть та лазейка, которую хакеры используют на практике при осуществлении подобной атаки.

Возможные варианты использования куки-файлов

В настоящее время безопасность в интернете — это больше миф, чем реальность. В частности, тот же Cookie Tossing открывает массу возможностей хакерам для развертывания их неправомерной деятельности. На практике чаще всего реализуется сценарий, предполагающий подмену сессионных cookie-файлов. В этом случае интернет-злоумышленник создает свою собственную сессию в рамках вашей системы, что позволяет ему узнать ее идентификатор. Далее ему просто останется создать поддельный куки и подбросить его вам с использованием Cookie Tossing. В итоге устройство «жертвы» неосознанно начинает использовать хакерскую сессию, что автоматически приведет к Session Hijacking, то есть к угону аккаунта.

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

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

Пример Cookie Tossing

Чтобы было более понятно, как работает атака Cookie Tossing, рассмотрим гипотетический пример. Предположим, интернет-злоумышленник решил совершить атаку на систему онлайн-банкинга. У данной компании есть официальное онлайн представительство «bank.com», а также его версия, адаптированная под работу на мобильных устройствах «mobile.bank.com», а также отдельный раздел, предназначенный для партнеров «https://www.google.com/search?q=partners.bank.com». Для входа в систему в данном случае используется куки-файл, который получил название «auth_token».

Для получения доступа к целевому ресурсу интернет-злоумышленник изначально нацеливается на менее защищенные версии сайта, а именно на мобильную, а также ту, которая предназначена для партнеров банковского учреждения. Он выявляет XSS-уязвимость, пускай в форме обратной связи, где недостаточно было уделено внимания очистке вводимой информации. Теперь у него появляется возможность прописать вредоносный JavaScript-код с использованием поддельных куки-файлов «auth_token» и далее использовать его для всего домена «.bank.com». В данном случае значение такого файла будет содержать заранее созданный токен, принадлежащий аккаунту самого интернет злоумышленника.

А теперь о том, что произойдет, когда вы зайдете на официальный сайт банка «bank.com». Ваш браузер отправляет серверу и настоящий, и поддельный куки-файл. Если произойдет так, что банковская система ввиду своих внутренних настроек изначально обработает поддельный файл, то вы, как пользователь, который не подозревает подвоха, введете свой логин и пароль доступа непосредственно в аккаунте интернет-злоумышленника. Благодаря этому абсолютно все ваши действия в системе онлайн банкинга станут видны хакеру. То есть он сможет просматривать ваш баланс, отслеживать переводы и даже введение платежных данных.

Только подумайте, как незначительная проблема, которой многие вовсе не уделили бы внимания, может привести к столь серьезным и непредвиденным последствиям. Именно в этом и скрыта ключевая опасность атаки Cookie Tossing: используя мельчайшие уязвимости хакерам удается получать доступ к чрезвычайно важной и чувствительной пользовательской информации.

Несколько реальных примеров атаки Cookie Tossing

Выше мы рассмотрели гипотетическую ситуацию на примере онлайн-банкинга, но, увы, на сегодня уже можно найти массу реальных примеров Cookie Tossing, наглядно указывающих на то, что мы имеем дело не с теорией, а с реальными уязвимостями, способными оказать крайне негативное влияние на работу бизнеса, а также на отдельно взятых пользователей. Сейчас приведем 2 примера из реальной жизни, демонстрирующие серьезность последствий атак Cookie Tossing:

  1. Взлом основного аккаунта швейцарской телекоммуникационной компании Swisscom, который сопровождался прямым переходом к двухфакторной аутентификации. В основе такой атаки лежала достаточно распространенная зависимость. В частности, функция входа в систему возлагалась на куки состояния ('session'), что и позволяла отслеживать пользовательский прогресс. Хакеры внедрили собственные куки состояние и смогли обойти этап введения логина и пароля в ходе аутентификации. Получается, что человек, пытавшийся подключиться к площадке данной телекоммуникационной компании сразу же переходили на этап запроса двухфакторной аутентификации (при условии, что она была у него активирована), а то и вовсе сразу к этапу ее настройки в случаях, когда двухфакторная аутентификация пользователем не использовалась вовсе. В последнем случае хакер мог элементарно установить абсолютно любой метод восстановления данных и получить актуальный сессионный token своей жертвы, что автоматически предоставляло ему полный доступ к учетной записи. Подобная проблема на практике оказалось чрезвычайно серьезной. И оказалось, что выявить все это на практике оказалось чрезвычайно сложно, настолько, что компания не смогла решить проблему собственными силами. В частности, было предложено вознаграждение в 4000 швейцарских франков к тому, кто сможет ее найти.
  2. «Отравление» поисковой системы на основе искусственного интеллекта Perplexity.ai. Этот случай на практике показал то, как атака Cookie Tossing может использоваться для целенаправленной дискредитации пользовательских действий. По своей сути Perplexity.ai представляет собой некое подобие поисковой системы, которая использует возможности искусственного интеллекта для краткого ответа на пользовательские вопросы. В данном случае суть атаки состояла в том, что хакерам удалось внедрить собственные cookie-сессии, нацеленные на конечные точки, имеющие прямое отношение к функции чата. То есть своего рода это было установление websocket-соединения. Все те пользователи, что начинали работать с данными инструментом даже не подозревали, что они оказались внутри сессии хакера. В итоге все их конфиденциальные запросы напрямую шли в аккаунт интернет-злоумышленника. В итоге атакующий изучал эти запросы, буквально «отравляя» действия людей без каких-либо следов вредоносного воздействия.

Это только 2 примера, демонстрирующих серьезность и скрытность всех тех атак, которые выполняются на основании Cookie Tossing. Но если проанализировать ситуацию более подробно, то можно выявить еще множество таких атак, оказавшихся чрезвычайно успешными на практике. Но сейчас нет смысла рассматривать их все более детально. Гораздо важнее подумать над тем, почему так происходит и как этому можно противостоять.

Факторы, повышающие уязвимость к Cookie Tossing

Практика показывает, что эффективность атак Cookie Tossing напрямую зависит от ряда определенных моментов. И основная проблема здесь состоит в том, что такие «слабые места» присутствуют в большей части современных онлайн-приложений. В частности, мы говорим о следующих моментах:

  1. Архитектура приложения. Сложность здесь состоит в том, что в функциональные возможности системы не входит проверка целостности куки-файлов. Более того, здесь не используются дополнительные механизмы валидации, как вариант те же криптографические подписи. И здесь мы сталкиваемся с достаточно серьезной уязвимостью. Получается, что мы сами открываем дверь перед интернет-злоумышленниками, буквально приглашая их воспользоваться имеющимися возможностями для осуществления атаки.
  2. Использование большого количества поддоменов для различных сервисов. Чем выше окажется их количество, тем масштабнее будет площадь для осуществления атаки. Этим самым вы повышаете вероятность компрометации поддомена, что открывает хакерам больше возможностей для реализации своих задумок. Особую опасность несут себе поддомены, куда пользователи могут загружать собственный контент либо же те, где есть возможность создавать свои страницы, в том числе и блоги.
  3. Порядок обработки сервером cookie-файлов. Это действительно очень важный аспект. Получается, что если ваше аппаратное обеспечение будет обрабатывать куки-файлы в том порядке, в котором они поступают от браузера, что часто зависит от последовательности в HTTP-заголовке Cookie, то есть берет первое из попавшихся значений, то это открывает дополнительные возможности для хакера. В частности, интернет-злоумышленник может принудительно изменить этот порядок путем установки тайминга куки или же использования специфики браузера. На сегодня встречаются серверы либо же фреймворки, которые берут в обработку файлы хаотично, но и это небезопасно.

Во многом подверженность Cookie Tossing-атакам зависит также и от типа используемого браузера.

Специфика Chrome и Firefox: почему эти браузеры ведут себя по-разному?

Если проанализировать работу разных браузеров, то можно увидеть, что те или иные решения используют собственные алгоритмы в обработке повторяющихся куки-файлов. А это уже добавляет своего рода элемент непредсказуемости для интернет-злоумышленников. К примеру те же Chrome и Firefox способны управлять cookie-файлами в разной последовательности. Это значит, что хакерам необходимо адаптировать собственные методики под то, с какого браузера ведется работа.

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

Методики обнаружения Cookie Tossing атак

Один из наиболее эффективных и действенных способов обнаружения Cookie Tossing состоит в том, чтобы выявить действия интернет-злоумышленников как можно быстрее, то есть до того момента, пока результаты их деятельности не распространяться на ваш основной домен и не нанесут серьезного вреда. Но подобная идентификация — это достаточно сложная задача, справиться с которой можно будет только путем комплексного подхода. Необходимо составить последовательный план действий, который позволит вам выявить мельчайшее следы хакерского воздействия. На этом этапе существенную помощь вам смогут оказать следующее рекомендации:

  • Мониторинг на постоянной основе нескольких cookie-файлов. Одним из наиболее явных признаков, указывающих на атаку Cookie Tossing будет появление в запросах к вашему серверу нескольких куки-файлов, значение которых будет разным, а вот название — одинаковым. Чтобы выявить подобное, вам необходимо будет использовать хороший Web Application Firewall, настроив его на обнаружение подобных аномалий, а также автоматическую блокировку всех подозрительных запросов.
  • Мониторинг каждого из поддоменов, предусмотренных на вашем сайте. Это действительно критический момент в предотвращении хакерских атак целом. Вам необходимо реагировать на любые неожиданные изменения в DNS-записях, подозрительную активность на существующих поддоменах, а также появление новых. Все эти моменты вам необходимо постоянно отслеживать и максимально оперативно на них реагировать. Важно понимать, что подобное проявление достаточно часто указывает на хакерские действия, в частности на компрометацию одного из поддоменов.
  • Регулярный анализ серверных логов. Рекомендуем постоянно и внимательно изучать логи вашего сервера, что позволит выявить подозрительную активность. Вас должна насторожить подозрительная активность, резкие изменения в работе сессии, как вариант быстрая и непредвиденная смена ID сессии для одного из пользователей, нехарактерные переключения между разными пользователями, аномальные для вашей системы паттерны доступа, например поступление запросов с разными сессиями с одного и того же IP-адреса и пр. Это все то, что также может указывать на хакерскую атаку Cookie Tossing.
  • Интеграция с системами Security Information and Event Management (SIEM). Это то, что позволит вам связать события, имеющие отношение к области информационной безопасности, поступающие из разных источников. Как вариант, система может выявить то, что один из ваших поддоменов скомпрометирован и буквально сразу за этим идет установка подозрительных куки-файлов. Хорошая SIEM-система тут же выявит закономерность и сгенерирует высоко приоритетное тревожное уведомление. А это значит, что ваша команда информационной безопасности мгновенно получит соответствующую информацию и сможет предотвратить негативные последствия как можно быстрее.
  • Использование автоматизированных систем, в том числе на основании искусственного интеллекта. Это те технологии, которые на сегодня уже заняли достойное место в области информационной безопасности. Здесь уже предусмотрена возможность использования машинного обучения, в том числе и для идентификации Cookie Tossing-атак. Алгоритмы нейросетей в автоматическом режиме анализируют паттерны установки cookie-файлов, определяют продолжительность сессии, а также нехарактерные действия в поведении пользователей. Как вариант, будет обнаружено, если пользователь введет данные аутентификации с одного устройства, а далее его сессия непредвиденно переключиться на другое.

На практике все эти методики желательно комбинировать между собой, ведь только так вы сможете создать действительно целостную и комплексную систему мониторинга, что станет основой в последующей защите ваших ресурсов от атаки Cookie Tossing.

Современные методы защиты от Cookie Tossing-атаки

Как и в случае с обнаружением, защита от Cookie Tossing-атаки также требует комплексного подхода. Здесь необходимо будет реализовать несколько уровней, продумать до мелочей все те решения, что будут использоваться здесь на практике. В итоге у вас должно получиться 3 так называемые линии обороны:

  1. Корректная настройка cookie-файлов.
  2. Архитектурные решения.
  3. Валидация в приложении.

Рассмотрим все эти этапы более подробно, что позволит вам сориентироваться в их специфике и реализовать все максимально корректно на практике.

Выполняем корректную настройку cookie-файлов

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

  • Secure. Добавление такого флага будет указывать на то, что куки-файлы могут передаваться исключительно по HTTPS-протоколу, что уже само по себе значительно усложнит работу хакерам, а именно их перехват и анализ. То есть вам необходимо использовать данный флаг каждый раз абсолютно для всех аутентификационных и сессионных куки. Это правило необходимо взять себе за основу и ни в коем случае не упускать его в работе.
  • SameSite. Этот флаг предполагает возможность добавления дополнительного уровня защиты, что ограничит отправку cookie-файлов в кросс-сайтовых запросах. Здесь вы можете использовать несколько форматов атрибутов. Как вариант, «SameSite=Strict» способен максимально ограничить использование данных файлов. Он будет отправляться исключительно в случае прямого перехода на сайт, но вот в тех случаях, если пользователь заходит к вам по ссылке из почты или использует другие методы подключения, то работа ряда приложений здесь все же может быть нарушена. Применяют на практике для наиболее критических, сессионных куки, но при условии, что это не повредит функциональности. Второй возможный вариант — «SameSite=Lax». В этом случае куки-файлы будут отправляться при наличии навигационных запросов верхнего уровня, например по клику на ссылку. Но вот в том случае, если такой запрос будет инициирован сторонним сайтом, то он автоматически будет блокироваться. Такое решение по праву можно назвать оптимальным с точки зрения безопасности и стабильности работы и его можно использовать по умолчанию для большей части куки-файлов. Также можно использовать еще один вариант — «SameSite=None; Secure». Его применение актуально в случае работы с куки-файлами, которые будут отправляться в кросс-сайтовом контексте, что характерно при работе со сторонними виджетами.
  • HttpOnly. Использование этого флага гарантирует закрытие доступа к куки-файлам через JavaScript. Благодаря этому значительно снижаются возможности для реализации атаки Cookie Tossing, в которой применяются XSS-уязвимости. То есть даже в том случае, если интернет-злоумышленнику удастся внедрить вредоносный скрипт, то он не сможет ни прочитать, ни подменить в последующем ваши файлы. Но, к сожалению, этот метод остается неактивным, если хакер решит воспользоваться при реализации своей задумки серверными уязвимостями на ваших поддоменах.

Данные флаги вы можете комбинировать между собой на практике, обеспечивая тем самым более достойный уровень защиты от атаки Cookie Tossing.

Используем валидацию приложениях

Применение валидации в приложениях — это то, что поможет вашему серверу постоянно быть настороже и выявлять несоответствия максимально оперативно. В частности, здесь рекомендуется использовать такие решения как:

  • Серверная валидация. Все те приложения, которые вы планируете использовать в работе, должны не только проверять наличие куки-файла, но и следить за его целостностью. В частности, для критически важных cookie рекомендуется использовать Hash-based Message Authentication Code (HMAC), то есть криптографические подписи. Это то, что сделает подделку файлов невозможным. Как вариант, вы можете добавить к своим куки специальный хэш, сгенерировав его с использованием секретного ключа и иных сессионных параметров.
  • Временные метки. Их необходимо активировать в файлах cookie для отслеживания их жизненного цикла. Ввиду этого слишком старые или же наоборот те, которые были созданы недавно, но отличаются повышенной активностью. могут отклоняться автоматически системой как потенциально опасные.
  • Проверка дополнительных характеристик. Это необходимо выполнять в ходе каждой проверки сессии. В частности, рекомендуется сверять IP-адрес пользовательского устройства, User-Agent и ряд других параметров, имеющих отношение к запросу. Если произойдет так, что в рамках одной и той же сессии произойдет замена адреса или же браузера, то это будет сигнализировать о потенциальной угрозе атаки Cookie Tossing.

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

Применяем дополнительные архитектурные решения

Здесь также есть несколько решений, которые позволят повысить стойкость ваших поддоменов к хакерским атакам. В частности:

  • Используем изоляцию. Здесь речь идет о том, чтобы вместо поддоменов для разных сервисов использовать отдельно взятые домены. Благодаря этому исключается возможность проведения атаки Cookie Tossing в целом. В случае, когда реализовать такое решение не представляется возможным, то вам надо убедиться в том, что каждый из ваших поддоменов функционирует в отдельной максимально изолированной среде.
  • Использование вместо куки-файлов токенов. Такое решение будет эффективным для наиболее важных, можно даже сказать критических операций. Как вариант, вы можете использовать в заголовках JSON Web Tokens, то есть JWT. Такой токен гораздо сложнее поделать. Более того, они абсолютно не подвержены атакам типа Cookie Tossing, ведь не передаются браузером в автоматическом режиме, так как это делают куки-файлы.
  • CSP. Здесь мы говорим об использовании строгой Content Security Policy, которая будет ограничивать реализацию вредоносного кода на подменах. Благодаря этому исключается вероятность успешной реализации XSS-атак, лежащих в основе многих Cookie Tossing.

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

Дополнительные рекомендации для разработчиков

Вне зависимости от того, с какими именно продуктами ведется работа, каждый разработчик обязательно должен учитывать вероятность хакерской атаки Cookie Tossing. И делать это необходимо еще на этапе проектирования программного продукта. Здесь даже предусмотрен отдельный термин, получивший название Security by Design, то есть безопасность по дизайну. Для реализации такой задумки вам необходима выполнить следующие действия:

  1. Проверить программный код. Здесь особое внимание следует обратить на то, каким образом здесь обрабатываются куки-файлы, как проходит валидация сессии, насколько корректно приложение реагирует на подозрительные или повторяющиеся файлы.
  2. Регулярное проведение тестирование на проникновение, которое часто еще называют пентестами. Зачастую данные работы выполняются на стороне специалистами, которые досконально разбираются в специфике предстоящих работ. То есть они будут целенаправленно проверять устойчивость вашего программного продукта к подобным угрозам.
  3. Используйте те возможности, которые предоставляют вам автоматизированное тестирование безопасности. В частности, вы можете сымитировать атаку Cookie Tossing. В вашем распоряжении окажется достаточно широкий ассортимент инструментов Dynamic Application Security Testing, которые помогут выполнить предстоящие работы максимально корректно и выявить риск еще задолго до появления самой атаки.
  4. Уделите достойное внимания обучению команды. Вам важно сформировать на месте такие условия, в которых запуск Cookie Tossing не даст желаемых результатов. А это возможно только тогда, когда уровень осведомленности в данном вопросе будет находиться на высоком уровне. Только так можно будет избежать наиболее распространенных ошибок и создать действительно безопасный код. Регулярные тренинги по безопасности среди разработчиков окупят себя максимально быстро.

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

Инструменты и фреймворки для эффективной работы

На сегодня на рынке представлено чрезвычайно широкое разнообразие специализированных решений в сфере веб-разработки, которые уже по умолчанию включают в себя защиту от атаки Cookie Tossing, а также прочих действий интернет-злоумышленников непосредственно «из коробки». Здесь в качестве примера можно привести, Express.js, Ruby on Rails, Django, ASP.NET Core. В них уже предусмотрены встроенные механизмы для обработки сессии, предполагающие автоматическое использование защищенных куки файлов.

Также в вашем распоряжении будут специализированные библиотеки как вариант «js-cookie» для работы с данным файлами со стороны клиентов, а также «tough-cookie» специально для Node.js. Здесь также часто используются встроенные механизмы проверки безопасности. Это то, что способно значительно снизить вероятность появление ошибок с вашей стороны, что могут стать именно тем «узким местом», которым и воспользуются интернет-злоумышленник для реализации своей атаки.

Подводим итоги

Безопасность приложений — это чрезвычайно важный вопрос, требующий комплексного подхода и постоянного мониторинга. Только так вы сможете предотвратить серьезные угрозы для своих продуктов. О том, какие меры необходимо для этого предпринять, мы подробно рассказали в сегодняшнем обзоре. Используйте приведенные рекомендации, чтобы выпускать на рынок действительно безопасные и надежные программные продукты, а также уделить внимание регулярному обновлению собственных знаний в данном направлении и внедрению передовых инструментов в практическое использование.

Существенную помощь здесь вам окажут мобильные прокси от сервиса MobileProxy.Space. С их помощью вы сможете эффективно обходить любые региональные ограничения и блокировки доступа, получая доступ к актуальной информации относительно последних угроз и способов борьбы с ними. Еще гарантируется высокая конфиденциальность и безопасность работы в интернете в целом, возможность автоматизировать рутинные и однотипные работы. Более подробно с функциональными возможностями, актуальными ценами можно познакомиться по ссылке https://mobileproxy.space/user.html?buyproxy. Также вы сможете бесплатно воспользоваться тестированием мобильных прокси, а в случае возникновения сложностей в работе обратиться в службу технической поддержки. Специалисты на связи 24 часа в сутки.


Поделитесь статьёй: