Способ и система для динамической глобальной идентификации окружения пользователя



Способ и система для динамической глобальной идентификации окружения пользователя
Способ и система для динамической глобальной идентификации окружения пользователя
Способ и система для динамической глобальной идентификации окружения пользователя
Способ и система для динамической глобальной идентификации окружения пользователя
Способ и система для динамической глобальной идентификации окружения пользователя

Владельцы патента RU 2751436:

Общество с ограниченной ответственностью "Группа АйБи" (RU)

Изобретение относится к области информационной безопасности. Технический результат заключается в обеспечении динамической глобальной идентификации окружения пользователя. Раскрыт способ динамической глобальной идентификации окружения пользователя, содержащий этапы, на которых: производят инициализацию аналитического модуля при загрузке веб-приложения на пользовательском устройстве, посредством аналитического модуля производят динамическую загрузку контейнера (iframe) на страницу веб-сервиса; через контейнер (iframe) обращаются к по меньшей мере одному серверу идентификации и передают ему куки; обрабатывают и перешифровывают полученную куку на по меньшей мере одном сервере идентификации, а также возвращают куку в контейнер (iframe) на страницу веб-сервиса, полученную контейнером (iframe) куку передают в аналитический модуль, который передает куки на по меньшей мере один сервер анализа данных, где идентифицируют устройство пользователя и его окружение, при этом глобальная идентификация происходит на домене третьего уровня, при этом домен четвертого уровня используется для локальной идентификации внутри региона; выносят вердикт об устройстве пользователя по меньшей мере одним сервером анализа данных, а также передают его на сервер контента. 2 н. и 10 з.п. ф-лы, 5 ил.

 

Область техники

[0001] Настоящее техническое решение относится к области вычислительной техники, в частности к способу и системе для децентрализованной глобальной идентификации окружения пользователя.

Уровень техники

[0002] Данные международных исследований показывают, что в состав наиболее подверженных атакам отраслям IT относятся финтех (FinTech) отрасли, т.к. в них преступникам легче всего извлечь материальную выгоду.

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

[0004] Одним из подходов к решению описанных выше проблем является устранение недостоверности и необъективности данных о клиентском устройстве и его окружении, на основании которых принимаются решения по предоставлению финансовых услуг клиентам.

[0005] В уровне технике известны решения, которые направлены на идентификацию устройства клиента в целях безопасности компьютерных систем.

[0006] Так в патентном документе US 9154388 В2 (J. Savage et al., опубл. 06.10.2015), описан механизм передачи данных о клиенте, который основан на аналитике данных, связанных с посещениями пользователей и ссылками на веб-сайт, то есть, сборе данных отслеживания (маяков отслеживания), таких как идентификатор учетной записи, идентификатор посетителя и статистики событий (был ли посетитель на веб-сайте ранее, отметка времени текущего посещения и т.д.). Решение проблемы недостаточности данных отслеживания пользователей в указанном патенте основано на использовании HTTP POST, отправленного как часть HTML-формы для получения доступа к методам и свойствам из другого домена, посредством совместного использования ресурсов между источниками (CORS), которое позволяет отправлять пост-запрос AJAX через границу домена.

[0007] Таким образом, в описываемом патентном документе предложен механизм передачи аналитических данных о пользователе, собранных со страниц анализируемого портала, на сервер аналитики через <iframe>. Важными отличиями технологии, описанной в патентном документе US 915438 В2, является то, что, в этом документе задается контейнер <iframe>, который используется для обмена (получения и отправки) аналитических данных о пользователе и его предпочтениях из основной страницы, тогда как в предлагаемой в настоящем документе технологии поток информации обратный - то есть контейнер <iframe>, расположенный на основной странице, которая не содержит каких-либо персональных данных о пользователе (например, стартовая страница банка), получает глобальный идентификатор веб приложения (например, ДБО) от сервера, который хранит «цифровой отпечаток» клиентского устройства, а не личную информацию пользователя.

[0008] В другом патентном документе JP 2011257810 A (A. Matsuo et al., 22.12.2011) описывает способ управления куки и устройством ретрансляции.

[0009] При этом несмотря на то, что в указанном патенте приведено использование <iframe>, postMessage и междоменной синхронизации куки, описанный алгоритм описывает именно механизм обеспечения синхронизации куки для поддоменов с общим доменом при использовании relay-сервера, который путем подмены доменных имен обходит стандартные встроенные механизмы браузера для переиспользования кук в рамках одного родительского домена, что не дает возможности решать проблему, связанную с безопасностью системы и идентификацией клиентских устройств.

[0010] В другом патентном документе US 8510820 В2 (A. Goodman et al., 13.08.2013) описана аутентификация токена транзакции с веб-сайта хоста с помощью создания и передачи подписанного токена аутентификации, который содержит подписанный файл куки, с сервера аутентификации на встраиваемый интерфейс, который содержит фрейм внутри веб-страницы.

[00011] При этом указанный документ раскрывает только аутентификацию пользователя, но при этом не раскрывает идентификацию клиентского устройства и его окружения. Кроме того, описанный подход подразумевает двунаправленный обмен информации между основной страницей и <iframe> и не описывает работу при условии разных доменов, принадлежащих одному и тому же поставщику услуг.

[0012] Таким образом, недостатком описанного выше уровня техники является невозможность систем одновременно идентифицировать конкретное устройство пользователя, а именно связку "устройство-браузер-окружение", что может быть использовано мошенниками в качестве уязвимости для проникновения, например, в банковскую систему. Кроме того, ни одна из описанных систем не предоставляет информацию о клиентском устройстве, если данное устройство уже когда-то ранее "попадалось на глаза", даже если дистанционное банковское обслуживание (ДБО) конкретного банка на устройстве запущена впервые. Например, одна из решаемых проблем лежит в области идентификации клиентского окружения в финтех системах, при которой их веб серверу может быть предоставлена информация о том, что данное устройство скомпрометировано либо принадлежит мошеннику.

[0013] Настоящие изобретение создано для решения части выявленных при анализе выше проблем предшествующего уровня техники.

Сущность изобретения

[0014] Задача предлагаемого изобретения заключается в разработке системы и способа динамичной глобальной идентификации окружения пользователя.

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

[0016] Данный технический результат достигается за счет предложенного способа динамической глобальной идентификации окружения пользователя, содержащего этапы, на которых: производят инициализацию аналитического модуля при загрузке веб-приложения на пользовательском устройстве, посредством аналитического модуля производят динамическую загрузку контейнера (iframe) на страницу веб-сервиса; через контейнер (iframe) производят обращение к серверу идентификации; обрабатывают и перешифровывают полученную куку на сервере идентификации, а также возвращают в контейнер (iframe) на страницу веб-сервиса; полученную контейнером (iframe) куку передает в аналитический модуль, который передает куки на сервер анализа данных, где идентифицируют устройство пользователя и его окружение; при этом глобальная идентификация происходит на домене третьего уровня, при этом домен четвертого уровня используется для локальной идентификации внутри региона; выносят вердикт об устройстве пользователя сервером анализа данных, а также передают его на сервер контента.

[0017] В одном дополнительном варианте осуществления описываемой технологии перешифровывают куку с помощью добавления метки времени.

[0018] В одном дополнительном варианте осуществления описываемой технологии контейнер (iframe) встраивают вне авторизованной зоны веб-сервиса.

[0019] В одном дополнительном варианте осуществления описываемой технологии для обмена куками используется кросс-доменный обмен через контейнер (iframe).

[0020] В одном дополнительном варианте осуществления описываемой технологии на глобальном сервере анализа данных дополнительно анализируют принятые куки и составляют глобальный идентификационный профиль окружения пользователя.

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

[0022] В одном дополнительном варианте осуществления описываемой технологии цифровые отпечатки веб-сервиса по меньшей мере включают в себя информацию о: юзер агенте (User-Agent), времени на системных часах часов, о CPU и GPU, разрешении монитора и размере окна веб-сервиса, списке установленных в системе шрифтов, списке всех установленных плагинов, установленных расширениях веб приложения и другом ПО.

[0023] В одном дополнительном варианте осуществления описываемой технологии дополнительно получают информацию о сетевых особенностях архитектуры локальной сети и настройки сетевых протоколов.

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

[0025] В одном дополнительном варианте осуществления описываемой технологии аналитический модуль представляет собой Java Script-модуль.

[0026] В одном дополнительном варианте осуществления описываемой технологии сервер контента выполнен с возможностью защиты веб-сервиса на основе полученных вердиктов.

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

Краткое описание чертежей

[0028] Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:

[0029] На фиг. 1 проиллюстрирован примерный вариант осуществления системы динамической глобальной идентификации окружения пользователя.

[0030] На фиг. 2А-2В проиллюстрированы варианты осуществления сервера анализа данных и сервера идентификации в системе динамической глобальной идентификации окружения пользователя.

[0031] На фиг. 3 проиллюстрированы шаги выполнения способа динамической глобальной идентификации окружения пользователя.

[0032] На фиг. 4 проиллюстрирован пример выполнения способа динамической глобальной идентификации окружения пользователя.

Детальное описание изобретения

[0033] Следующее далее подробное описание представлено, чтобы дать возможность любому специалисту в данной области для осуществления и использования настоящего изобретения. Для целей описания, конкретные детали приводятся, чтобы дать глубокое понимание настоящего изобретения. Однако специалисту в данной области будет ясно, что эти конкретные детали не являются необходимыми для осуществления настоящего изобретения. Описания конкретных применений приводятся только как репрезентативные примеры. Различные модификации предпочтительных вариантов осуществления будут очевидны специалистам в данной области, и общие принципы, определенные в настоящем документе, могут применяться к другим вариантам осуществления и применениям без отклонения от рамок настоящего изобретения.

[0034] Описанное в данном документе решение, как предполагается, не является ограниченным указанными вариантами осуществления, но должно соответствовать самым широким возможным рамкам, совместимым с принципами и признаками, описанными в настоящем документе.

[0035] Настоящее изобретение направлено на обеспечение системы и компьютерно-реализуемого способа динамической глобальной идентификации окружения пользователя.

[0036] Со ссылкой на фиг. 1 ниже описан примерный вариант реализации клиент-серверной архитектуры системы для динамической глобальной идентификации окружения пользователя 100.

[0037] Предполагаемое клиент-серверное решение по фиг. 1 содержит следующие функциональные блоки.

[0038] Инфраструктуру поставщика веб-сервиса 110, которая включает в себя по меньшей мере следующие функциональные единицы: сервер контента 120, балансировщик трафика 130, веб-приложение 140.

[0039] Система динамической глобальной идентификации окружения пользователя 100 также взаимодействует с по меньшей мере одним веб-сервером контента 120, на котором может располагаться по меньшей мере одно веб-приложение 140 (например, сервис дистанционного банковского обслуживания, ДБО).

[0040] По меньшей мере один веб-сервер контента (120) содержит или имеет доступ к по меньшей мере одному хранилищу элементов контента или другой информации, необходимой для предоставления контента веб-сайта пользователям, или служит для обработки данных веб-сайта. Стоит отметить, что веб-сервер контента (120) может обслуживать миллионы пользовательских подключений/сеансов одновременно.

[0041] Кроме того система 100 включает пользователей веб-сайта и/или приложений/служб, подключающихся к системе через клиентские устройства (150), которые могут представлять собой стационарные устройства (например, настольный компьютер, рабочая станция, или устройство IoT) и/или мобильные устройства (например, смартфон, планшетный компьютер, ноутбук), для взаимодействия с клиентскими веб-приложениями 140, такими как браузер или приложение, разработанное для доступа к какой-нибудь системе/услуге.

[0042] Клиентские устройства (150) подключаются к системе через прямые каналы и/или одну или несколько сетей, или других общих каналов, которые могут включать в себя Интернет, интрасети и/или другие сети, и могут включать в себя проводные и/или беспроводные линии связи.

[0043] Кроме того, по меньшей мере один сервер контента (120) выполнен с возможностью взаимодействовать с сервером анализа данных (160), представляющим собой по меньшей мере один бэкенд сервер.

[0044] В одном из вариантов осуществления система 100 содержит по меньшей мере один сервер идентификации (170), который используется только веб приложением, например, браузером клиентского устройства 150. Стоит отметить, что идентификатор клиентского устройства (150), полученный с сервера 170 при помощи функции window.postMessage передается на основную страницу веб приложения и уже оттуда отправляется основным JSM модулем (180) на сервер анализа данных (160). То есть, глобально устройства идентифицируются на домене третьего уровня, например, id.group-ib.com, при этом домен четвертого уровня *.id.group-ib.com, например, sg.id.group-ib.com, используется для локальной идентификации пользователей внутри конкретного региона. Серверы, которые соответствуют доменам вида *.id.group-ib.com, могут находиться в определенной стране или принадлежать конкретному веб-сервису.

[0045] Каждое из серверных устройств системы динамической глобальной идентификации окружения пользователя 100, не ограничиваясь, включают в себя один или несколько процессоров, память и интерфейс связи, которые соединены вместе шиной или другим каналом связи, хотя могут быть использованы другие типы сетевых устройств. Серверные устройства обрабатывают запросы, принятые от клиентских устройств через сеть связи, например, в соответствии с протоколом RFC приложения на основе HTTP. Различные приложения 140 могут работать на серверных устройствах и передавать данные (например, файлы или веб-страницы) в ответ на запросы от клиентских устройств (150). Дополнительно в вариантах реализации настоящей системы веб-сервер контента 120 может быть соединен с балансировщиком нагрузки (130), который принимает входящий сетевой трафик от пользовательских устройств (150) и, основываясь на определенных критериях этого трафика, отправляет эти сообщения на один из нескольких бэкенд-серверов (120). Также данные серверные устройства могут быть аппаратными или программными, или могут представлять систему с несколькими серверами в пуле, которая может включать в себя внутренние или внешние сети.

[0046] Кроме того, в частных вариантах реализации на сервере анализа данных 160 может храниться аналитический модуль (JSM модуль) 180, который может быть загружен на устройство пользователя 150 при начале работы с веб-приложением 140. В качестве неограничивающего примера аналитический модуль представляет собой Java-Script-модуль (JSM модуль).

[0047] Таким образом, после выполнения аналитического модуля 180 (JSM-модуля) в веб-приложении 140 (например, браузере) клиентского устройства (150) сервер анализа данных (160) может принимать информацию о возможностях клиентского окружения пользователя (150) и генерировать на основе принятой информации вердикт.

[0048] Стоит также отметить, что любой компонент системы обнаружения может быть альтернативно реализован или назван службой, платформой, или каким-либо другим типом контента.

[0049] Хотя серверные устройства показаны как отдельные устройства, одно или несколько действий каждого из серверных устройств могут быть распределены по одному или нескольким различным сетевым вычислительным устройствам, которые вместе составляют одно или несколько серверных устройств. Кроме того, серверные устройства не ограничены конкретной конфигурацией. Таким образом, серверные устройства могут содержать множество сетевых вычислительных устройств, которые работают с использованием подхода «главный/подчиненный», посредством чего одно из сетевых вычислительных устройств серверных устройств управлять и/или иным образом координировать операции других сетевых вычислительных устройств. Серверные устройства могут работать, например, как множество сетевых вычислительных устройств в кластерной архитектуре, одноранговой архитектуре, виртуальных машинах или в облачной архитектуре. Дополнительно со ссылкой на фиг. 2 проиллюстрировано, что сервер анализа данных 160 и сервер идентификации 170 могут представлять собой по меньшей мере одно единое устройство (фиг. 2В) или же несколько распределенных серверов, взаимодействующих по сети связи (фиг. 2А).

[0050] Функциональные возможности, приписываемые в данном документе системе 100, могут распределяться между ее компонентами альтернативным способом, например, путем слияния или дальнейшего разделения функций одного или нескольких компонентов, или могут распределяться среди другой совокупности компонентов. Таким образом, хотя только один вариант конкретного компонента системы может быть проиллюстрирован на фиг. 1, следует понимать, что могут быть использованы другие комбинации компонентов, входящих в систему.

[0051] Как уже упоминалось, одна из главных задач, возникающих в случае обеспечения безопасности взаимодействия пользователей с сервисами, заключается в том, чтобы идентифицировать сервером анализа данных 160 для веб-приложения 140 конкретное устройство пользователя 150, а именно связку "устройство-браузер-окружение" в целях определения легитимности запроса.

[0052] Кроме того, в случае, если какое-либо пользовательское устройство 150 уже когда-то ранее было идентифицировано устройством анализа данных 160, необходимо учитывать то, что именно известно о устройстве 150, даже если конкретное веб-приложение 140, например, приложение ДБО конкретного банка (140) на устройстве 150 запущено впервые. Например, полезна будет информация о том, что данное устройство скомпрометировано либо принадлежит мошеннику.

[0053] Таким образом, со ссылкой на фиг. 3 проиллюстрирован пример последовательности операций, демонстрирующий способ динамической глобальной идентификации окружения пользователя (200). Причем в других вариантах осуществления одна или несколько проиллюстрированных операций могут быть опущены, повторены и/или выполнены в другом порядке. Соответственно, конкретное расположение этапов, показанное на фиг. 3 не следует истолковывать как ограничение объема вариантов осуществления.

ШАГ 210: ИНИЦИАЛИЗАЦИЯ АНАЛИТИЧЕСКОГО МОДУЛЯ ПРИ ЗАГРУЗКЕ ВЕБ-ПРИЛОЖЕНИЯ НА ПОЛЬЗОВАТЕЛЬСКОМ УСТРОЙСТВЕ

[0054] Так, для выполнения способа 200 на пользовательском устройстве 150 выполняется процедура встраивания библиотеки аналитического модуля 180 (JSM) в веб-приложение 140 и последующая его инициализация. Стоит отметить, что логика работы собственно веб-приложения в данном случае не рассматривается; она может быть любой. Кроме того, никакой явной дополнительной установки программного обеспечения (ПО) на устройстве пользователя 150 не выполняется.

[0055] В процессе взаимодействия пользователя с интерфейсом веб-приложения инициализированный аналитический модуль 180 независимо устанавливает соединение с сервером анализа данных 160, причем в неограниченных вариантах осуществления настоящей технологии взаимодействие может происходить как напрямую с устройством анализа данных 160, так и через инфраструктуру поставщика веб-сервиса (110).

[0056] В качестве неограничивающего примера на фиг. 4 схематично показано как пользователь запускает веб-приложение 140, например, посредством ввода URL-адреса https://www.Bank.A.ru/ в браузере. Далее приложение 140 посылает GET запрос к веб-сервису 110, представленному на данной схеме устройствами 120 и 130. В ответ на запрос сервер контента 120 отдает веб-страницу, содержащую аналитический модуль 180. После чего аналитический модуль инициализируется в веб-приложении 140 на устройстве пользователя 150.

[0057] Далее способ 200 переходит к шагу 220.

ШАГ 220: ДИНАМИЧЕСКАЯ ЗАГРУЗКА АНАЛИТИЧЕСКИМ МОДУЛЕМ КОНТЕЙНЕРА (IFRAME) НА СТРАНИЦУ ВЕБ СЕРВИСА

[0058] Так, инициализированный аналитический модуль (JSM) динамически подгружает контейнер (iframe) на веб-страницу.

[0059] Контейнер <iframe> создает невидимый фрейм, который находится внутри обычного HTML-документа, что позволяет загружать в данную область заданных размеров и незаметную для обычного пользователя любые другие независимые документы. Кроме того, стоит отметить, что главным преимуществом настоящей технологии является то, что контейнер (iframe) служит для внедрения описываемой технологии на устройства пользователей.

[0060] Так в составе веб-приложения 140 присутствует контейнер (iframe), и если веб приложение 140 получает контент с сервера контента 120, то динамически загруженный контейнер (iframe) получает контент с устройства анализа данных 170.

[0061] То есть, со ссылкой на фиг. 4, JSM-модуль вставляет контейнер <iframe> в DOM (в HTML) посредством INSERT frame и способ 200 переходит к шагу 230.

[0062] Кроме того, стоит отметить что в предпочтительном варианте реализации настоящей технологии контейнер (iframe) располагается вне авторизованной зоны веб-сайта, где отсутствуют конфиденциальные и персональные данные, что гарантирует пользователю отсутствие их передачи на сторонний ресурс.

[0063] Дополнительно стоит отметить, что с точки зрения устройства системы 100 сессия начинает анализироваться с момента входа пользователя на страницу веб-приложения и заканчивается только после того, как все его вкладки будут закрыты, что является важным отличием от «взгляда», например, типичной платежной системы на понятие сессии: для нее сессия начинается с момента входа пользователя в интернет-банк и завершается по команде "выход", что является неэффективным с точки зрения выявления мошеннических транзакций.

ШАГ 230: КОНТЕЙНЕР IFRAME ОБРАЩАЕТСЯ К СЕРВЕРУ ИДЕНТИФИКАЦИИ И ПЕРЕДАЕТ ЕМУ КУКИ

[0064] На описываемом шаге контейнер (iframe) обращается к серверу идентификации (например, но не ограничиваясь им, вида *.id.group-ib.com) и передает ему значение куки (gcfids), если оно было ранее получено в ходе предыдущей сессии работы этого браузера с ресурсом, использующим описанный здесь механизм. Так в одном из вариантов осуществления настоящей технологии в случае исходного состояния, то есть когда устройство пользователя 150 ранее не взаимодействовало с инфраструктурой веб-сервиса 110, значение куки отсутствует и не передается.

[0065] Дополнительно стоит отметить, что осуществление настоящей технологии позволяет однозначно идентифицировать клиентские устройства 150 в глобальном масштабе и полностью соответствовать локальному законодательству отдельных стран и макрорегионов, так как глобально устройства идентифицируются на домене третьего уровня (например, id.group-ib.com), при этом домен четвертого уровня (например, sg.id.group-ib.com) используется для локальной идентификации пользователей внутри региона. Серверы, которые соответствуют доменам вида *.id.group-ib.com, могут находиться в определенной стране или принадлежать конкретному веб-сервису. Кроме того, настоящая технология служит для снятия ограничения на сохранение куки по умолчанию некоторых браузеров (например, Chrome, Mozilla Firefox).

[0066] В качестве примера, но не ограничиваясь им: сервер ru.id.group-ib.com физически находится в России, сервер us.id.group-ib.com физически находится в США. Но на нижнем уровне, id.group-ib.com, это один домен, что и помогает реализовывать настоящий механизм посредством кросс-доменного обмена куками через контейнер iframe.

ШАГ 240: СЕРВЕР ИДЕНТИФИКАЦИИ ОБРАБАТЫВАЕТ ПОЛУЧЕННУЮ КУКУ И ПЕРЕШИФРОВЫВАЕТ ЕЕ И ВОЗВРАЩАЕТ В КОНТЕЙНЕР (IFRAME) НА СТРАНИЦУ ВЕБ СЕРВИСА

[0067] Так, сервер идентификации 170 (например, *.id.group-ib.com) расшифровывает куки, получает кортеж из ранее выданного идентификатора пользовательского устройства 150 и метки времени генерации предыдущего значения куки, а также формирует новый кортеж с прежним идентификатором устройств и новой меткой времени и шифрует их, таким образом получая новое значение куки (gcfids).

[0068] То есть, что перед тем, как сервер идентификации (170), например, *.id.group-ib.com, со ссылкой на фиг. 4, передает куки (gcfids) обратно в контейнер iframe, он их обновляет посредством шифрования полученной куки с добавлением метки времени. Такой механизм обновления куки позволяет сделать ее устойчивой к перехвату и использованию извне. Данный процесс может быть описан например, как gcfids(n+1)=encrypt(decrypt(gcfids(n), timestamp)), где gcfids(n) - кроссессионная кука пользовательского устройства 150, encrypt/decrypt - функция шифрования/дешифрования, timestamp - метка времени. В качестве метода шифрования/дешифрования может использоваться любой известный в уровне техники алгоритм, например, такой как AES.

[0069] В одном из вариантов осуществления настоящей технологии каждому пользовательскому устройству 150 на сервере идентификации 170 ставится в соответствие индивидуальный UUID, который далее может быть использован в логике работы по меньшей мере одного сервера анализа данных 160.

[0070] Далее способ переходит к выполнению шага 250.

ШАГ 250: ПОЛУЧЕННАЯ КОНТЕЙНЕРОМ (IFRAME) КУКА ЗАГРУЖАЕТСЯ В АНАЛИТИЧЕСКИЙ МОДУЛЬ, КОТОРЫЙ ДАЛЕЕ ПЕРЕДАЕТ КУКИ НА СЕРВЕР АНАЛИЗА ДАННЫХ, ГДЕ УСТРОЙСТВО ПОЛЬЗОВАТЕЛЯ ИДЕНТИФИЦИРУЕТСЯ

[0071] Так, полученное контейнером (iframe) куки (gcfids) передается в аналитический модуль (JSM) и полученные данные используются для идентификации устройства пользователя 150 и его глобального окружения. Подобную операцию можно осуществить с помощью стандарта, в котором предусмотрена отсылка javascript-сообщения из одного окна в другое при помощи специального вызова window.postMessage(gcfids).

[0072] Далее аналитический модуль (JSM) 180 передает куки (gcfids) на сервер анализа данных. При этом сервер анализа данных 160 может быть расположен, например, как в облаке, так и в инфраструктуре веб-сервиса 110, при этом таких серверов, локализованных в разных странах или регионах может быть несколько, как и серверов идентификации 170 (*.id.group-ib.com).

[0073] Действия, выполняемые на описанном шаге, служат для того, чтобы однозначно осуществлять глобальную идентификацию пользовательских устройств 150 в глобальном масштабе.

[0074] Стоит отметить, что на сервере анализа данных 160 в процессе обработки полученной куки с устройства пользователя 150 составляется однозначный профиль клиентского окружения. В качестве примера, но не ограничиваясь им, в профиль может входить по меньшей мере следующее: цифровые отпечатки веб-приложения (например, браузера), сетевые особенности и поведенческие привычки пользователя.

[0075] Далее более подробно рассмотрим информацию, которая может составлять профиль пользователя, сформированный в процессе выполнения шага 240.

[0076] В качестве цифровых отпечатков веб-приложения получают по меньшей мере сведения о:

[0080] юзер агенте (User-Agent), который служит для определения версии браузера, версии ОС и некоторых из установленных аддонов. Дополнительно стоит отметить, что в случаях, когда юзер агент отсутствует или необходимо проверить его корректность, дополнительно определяется версия браузера проверкой на наличие определенных функций или фич, реализованных или измененных между релизами.

[0081] ходе времени системных часов, то есть если система не синхронизирует свои часы со сторонним сервером времени, то возможно появление разницы между реальным и системным временем, которая измеряется с точностью до микросекунды с помощью скриптов.

[0082] информации о CPU и GPU, которую получают как напрямую (с помощью функции GL_RENDERER), так и через бенчмарки и тесты, реализованные с помощью скриптов.

[0083] разрешении монитора и размере окна браузера, включая параметры второго монитора в случае мультимониторной системы.

[0084] список установленных в системе шрифтов, полученных, например, с помощью API.

[0085] список всех установленных плагинов, ActiveX-контролов, Browser Helper Object'ов, включая их версии, при этом стоит отметить, что некоторые плагины выдают свое присутствие в HTTP-заголовках.

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

[0087] Кроме описанных выше цифровых отпечатков дополнительно получают информацию о сетевых особенностях архитектуры локальной сети и настройки сетевых протоколов, например, такую как: внешний IP-адрес, номера портов для исходящих ТСР/IP-соединений, локальный IP-адрес для пользователей, находящихся за NAT'ом или НТТР-прокси, информация об используемых клиентом прокси-серверах, полученная из HTTP-заголовка. Стоит отметить, что подобные особенности характерны для всех веб-приложений, в частности браузеров, установленных на клиентском устройстве 150, и их нельзя скрыть с помощью настроек приватности или каких-то утилит.

[0088] Поведенческий анализ и привычки конкретных пользователей в качестве примера, но не ограничиваясь им, могут включать: предпочитаемый язык, дефолтная кодировка и часовой пояс, данные в кеше веб-приложения 140 на клиентском устройстве 150 и его история просмотра, жесты мышью, частота и продолжительность нажатия клавиш, данные с акселерометра, любые изменения стандартных шрифтов сайта и их размеров, уровень масштаба (zoom), использование специальных возможностей, таких как цвет текста, размер, состояние определенных функций или фич браузера, настраиваемых клиентом: блокировка сторонних куков, DNS prefetching, блокировка всплывающих окон, настройки безопасности Flash и так далее.

[0089] Таким образом, когда сервер анализа данных 160 на своей стороне получает сведения об устройстве пользователя 150 и окружении веб приложения, например, браузера, эти сведения проверяются, и при обнаружении факта компрометации устройства 150 или того, что оно помечено как мошенническое (например, ранее, при работе в другом веб-приложения в другой стране), об этом сообщается веб серверу контента 120, на котором, в свою очередь, оперативно принимаются меры по защите данных.

[0090] Так, сервер контента 120 в вариантах осуществления настоящей технологии может быть реализован с возможностью осуществлять меры по защите данных на основе полученных вердиктов от сервера анализа данных 160. Кроме того, защита данных может быть выражена, например, в блокировании запросов и/или операций от скомпрометированного (мошеннического) пользовательского устройства 150.

[0091] Стоит дополнительно отметить, что точность идентификации клиентского окружения 150 повышается за счет обработки дополнительной информации, поступающей на сервер анализа данных 160. Это данные, хранящиеся в основной базе данных сервера 160, полученных в процессе работы локальных серверов идентификации 170, а также при возможном подключении внешних систем. Так в описываемых данных накапливается подобная информация и систематизируются данные о скомпрометированных в различных ИТ-системах разных организаций, учетных записях и устройствах, банковских картах, SIM-картах, текущей активности преступных группировок и характеристиках наиболее активных в данном регионе ВПО, признаках компьютерных атак и мошеннических схем и многое другое.

ШАГ 260: ВЫНЕСЕНИЕ ВЕРДИКТА О ПОЛЬЗОВАТЕЛЬСКОМ УСТРОЙСТВЕ И ЕГО ОКРУЖЕНИИ СЕРВЕРОМ АНАЛИЗА ДАННЫХ И ПЕРЕДАЧА ЕГО НА СЕРВЕР КОНТЕНТА

[0092] На данном шаге происходит вынесение вердикта о пользовательском устройстве и его окружении сервером анализа данных и последующая передача данного вердикта на сервер контента.

[0093] Так в вариантах осуществления описываемой технологии обработка поступающей информации об устройстве 150 и его окружении и принятие на ее основе вердикта сервером анализа данных 170, осуществляется в автоматическом режиме на основании заложенных в него правил принятия решений и алгоритмов машинного обучения. При этом под вердиктом понимается заключение устройства анализа данных 160 о безопасности данного устройства 150 для инфраструктуры веб-сервиса 110.

[0094] Кроме того, дополнительно стоит отметить, что сервер анализа данных 160 в дополнительном варианте осуществления настоящей технологии может быть интегрирован с системами безопасности, расположенными в инфраструктуре веб-сервиса 110. Например, если в инфраструктуре веб-сервиса банка А уже развернута какая-либо внутренняя система безопасности, то формируемые с помощью сервера анализа данных (160) и сервера идентификации (170) вердикты о пользовательских устройствах 150 могут направляться как напрямую в подобную систему для обогащения содержащихся в ней данных в режиме реального времени, так и в целом на сервер контента 120. В первом случае вердикты сервера анализа данных (170) будут служить основанием для формирования системой безопасности веб-сервиса 110, в частности, банка, решающих вердиктов с целью принятия решения по текущей транзакции с пользователем. Кроме того, для осуществления описанного выше функционала системой 100 поддерживается RESTful API, который может быть использован в режиме poll, а также механизм очередей, через которые вердикты могут доставляться в режиме push.

[0095] Среда, в которой выполняются один или несколько вариантов осуществления, описанных выше, может включать в себя компьютер общего назначения или устройство специального назначения, такое как портативный компьютер, планшет, ноутбук или устройство связи. Подробное описание таких общеизвестных устройств (например, процессор, память, хранилище данных, облачное хранилище данных, дисплей и т.д.) могут быть опущены для ясности. Компонент, такой как процессор или память, которому приписываются одна или несколько задач, или функций, может быть общим компонентом, временно сконфигурированным для выполнения указанной задачи или функции, или может быть конкретным компонентом, изготовленным для выполнения данной задачи или функции. Используемый здесь термин «процессор» относится к одной или нескольким электронным схемам, устройствам, микросхемам, ядрам обработки и/или другим компонентам, сконфигурированным для обработки данных и/или кода компьютерной программы.

[0096] Структуры данных и программный код, описанные в этом подробном описании, обычно хранятся на постоянном машиночитаемом носителе данных, которым может быть любое устройство или носитель, который может хранить код и/или данные для использования компьютерной системой. Постоянные машиночитаемые носители включают в себя, но не ограничиваются этим, энергозависимую память; энергонезависимая память; электрические, магнитные и оптические запоминающие устройства, такие как дисководы, магнитная лента, компакт-диски (компакт-диски) и DVD-диски (цифровые универсальные диски или цифровые видеодиски), твердотельные накопители и/или другие постоянные считываемые компьютером носители в настоящее время известный или разработанный позднее.

[0097] Способы и процессы, описанные в подробном описании, могут быть воплощены в виде кода и/или данных, которые могут храниться на постоянном машиночитаемом носителе данных, как описано выше. Когда процессор или компьютерная система считывает и выполняет код и манипулирует данными, хранящимися на носителе, процессор или компьютерная система выполняет методы и процессы, воплощенные в виде структур кода и данных и хранящиеся на носителе.

[0098] Кроме того, способы и процессы могут быть запрограммированы в аппаратные модули, такие как, но не ограничиваясь этим, микросхемы интегральных микросхем для конкретных приложений (ASIC), программируемые пользователем вентильные матрицы (FPGA) и другие программируемые логические устройства, известные в настоящее время или разработанные в дальнейшем, когда такой аппаратный модуль активирован, он выполняет методы и обработку, включенные в модуль.

[0099] Вышеупомянутые варианты осуществления были представлены только в целях иллюстрации и описания. Они не предназначены для того, чтобы быть исчерпывающими или ограничивать это раскрытие раскрытыми формами. Соответственно, многие модификации и варианты будут очевидны для специалистов в данной области техники. Объем определяется прилагаемой формулой изобретения, а не предшествующим раскрытием.

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

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

посредством аналитического модуля производят динамическую загрузку контейнера (iframe) на страницу веб-сервиса;

через контейнер (iframe) обращаются к по меньшей мере одному серверу идентификации и передают ему куки;

обрабатывают и перешифровывают полученную куку на по меньшей мере одном сервере идентификации, а также возвращают куку в контейнер (iframe) на страницу веб-сервиса,

полученную контейнером (iframe) куку передают в аналитический модуль, который передает куки на по меньшей мере один сервер анализа данных, где идентифицируют устройство пользователя и его окружение, при этом глобальная идентификация происходит на домене третьего уровня, при этом домен четвертого уровня используется для локальной идентификации внутри региона;

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

2. Способ по п. 1, в котором перешифровывают куку с помощью добавления метки времени.

3. Способ по п. 1, в котором контейнер (iframe) встраивают вне авторизованной зоны веб-сервиса.

4. Способ по п. 1, в котором для обмена куками используется кросс-доменный обмен через контейнер (iframe).

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

6. Способ по п. 5, в котором профиль окружения пользователя по меньшей мере включает: цифровые отпечатки веб-сервиса, сетевые особенности и поведенческие привычки пользователя.

7. Способ по п. 6, в котором цифровые отпечатки веб-сервиса по меньшей мере включают в себя информацию о: юзер агенте, времени на системных часах, о CPU и GPU, разрешении монитора и размере окна веб-сервиса, списке установленных в системе шрифтов, списке всех установленных плагинов, установленных расширениях веб приложения и другом ПО.

8. Способ по п. 6, в котором дополнительно получают информацию о сетевых особенностях архитектуры локальной сети и настройки сетевых протоколов.

9. Способ по п. 6, в котором поведенческие привычки пользователя включают: предпочитаемый язык интерфейса операционной системы, кодировку операционной системы и часовой пояс, данные в кеше веб-приложения на клиентском устройстве и его историю просмотра, жесты мышью, частота и продолжительность нажатия клавиш, данные с акселерометра устройства пользователя, любые изменения стандартных шрифтов сайта и их размеров, масштаб отображения приложения и/или его элементов, использование специальных возможностей: цвета текста, размер, состояние настроек приложения, настраиваемых клиентом: блокировка сторонних куков, префетчинг DNS, блокировка всплывающих окон, настройки безопасности Flash.

10. Способ по п. 1, в котором аналитический модуль представляет собой JavaScript-модуль.

11. Способ по п. 1, дополнительно в котором сервер контента выполнен с возможностью защиты веб-сервиса на основе полученных вердиктов.

12. Система динамической глобальной идентификации окружения пользователя, содержащая:

устройство пользователя, содержащее по меньшей мере процессор и память, а также выполненное с возможностью получать доступ к веб сервису,

и загружать аналитический модуль, который при выполнении на пользовательском устройстве заставляет устройство осуществлять способ динамической глобальной идентификации окружения пользователя по одному из пп. 1-11;

по меньшей мере один сервер контента, выполненный с возможностью предоставления контента на устройство пользователя, а также защиты веб-сервиса на основе полученных вердиктов;

по меньшей мере один сервер идентификации, выполненный с возможностью идентифицировать устройство пользователя и его окружение;

по меньшей мере один сервер анализа данных, выполненный с возможностью формирования вердиктов на основе принятой информации.



 

Похожие патенты:

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

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

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

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

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

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

Изобретение относится к области передачи данных. Техническим результатом является улучшение разнесения по частоте и повышение надежности передачи данных.

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

Изобретение относится к области беспроводной связи. Технический результат заключается в получении службы, имеющей более низкие требования к отсрочке передачи BSR, причем MAC PDU, содержащий BSR, может быть создан во время возможности передачи в восходящем направлении, соответствующей гранту UL для данной службы, так что BSR своевременно отправляют в базовую станцию во время возможности передачи в восходящем направлении, причем передача BSR отвечает требованиям к отсрочке указанной службы, а также обеспечивается эффективное функционирование этой службы.

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