RU2801674C2 - Method and system for user identification by sequence of opened windows of the user interface - Google Patents
Method and system for user identification by sequence of opened windows of the user interface Download PDFInfo
- Publication number
- RU2801674C2 RU2801674C2 RU2019111675A RU2019111675A RU2801674C2 RU 2801674 C2 RU2801674 C2 RU 2801674C2 RU 2019111675 A RU2019111675 A RU 2019111675A RU 2019111675 A RU2019111675 A RU 2019111675A RU 2801674 C2 RU2801674 C2 RU 2801674C2
- Authority
- RU
- Russia
- Prior art keywords
- user
- window
- user interface
- classifier
- patterns
- Prior art date
Links
Images
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.The present technical solution relates to the field of computer technology, in particular, to a method and system for identifying a user by a sequence of opened windows of the user interface.
УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION
Задача защиты информации от несанкционированного доступа становится все более актуальной. Один из механизмов несанкционированного доступа к чужим денежным средствам, активно используемый злоумышленниками, подразумевает получение ими учетных данных пользователя (обычно это логин и пароль) и последующее подключение к защищенному ресурсу с использованием этих учетных данных. При этом, вне зависимости от использованного сценария получения доступа к учетным данным (применение кейлоггеров, удаленное подключение к компьютеру, кража не защищенного паролем мобильного устройства, а также другие методы, как и различные их комбинаций) с точки зрения системы разграничения доступа, действия злоумышленника неотличимы от действий легитимного пользователя, под чьими учетными данными в систему вошел злоумышленник.The task of protecting information from unauthorized access is becoming increasingly important. One of the mechanisms for unauthorized access to other people's funds, actively used by attackers, involves obtaining user credentials (usually a login and password) and then connecting to a protected resource using these credentials. At the same time, regardless of the scenario used to gain access to credentials (use of keyloggers, remote connection to a computer, theft of a mobile device not protected by a password, as well as other methods, as well as various combinations of them), from the point of view of the access control system, the actions of an attacker are indistinguishable from the actions of a legitimate user, under whose credentials the attacker entered the system.
Из уровня техники известны решения, описывающие идентификации пользователя по поведенческому анализу: US2017032250A1, опубл. 02.02.2017; CN106355450A, опубл. 25.01.2017; CN106202482A, опубл. 07.12.2016.The prior art solutions describing user identification by behavioral analysis: US2017032250A1, publ. 02/02/2017; CN106355450A, publ. 01/25/2017; CN106202482A, publ. 12/07/2016.
Кроме того, из уровня техники известно решение, RU2649793C1, описывающее способ обнаружения удаленного подключения злоумышленника к компьютеру легитимного пользователя на базе анализа интервалов времени, соответствующих движениям курсора мыши.In addition, a solution is known from the prior art, RU2649793C1, which describes a method for detecting a remote connection of an intruder to a computer of a legitimate user based on the analysis of time intervals corresponding to mouse cursor movements.
Однако, известные из уровня техники решения имеют ограниченную функциональность. В частности, решение, описанное в RU2649793C1, не способно обнаружить злоумышленника, который не пользуется программой удаленного доступа. Многие другие известные решения для реализации требуют значительного количества данных, предварительно размеченных человеком.However, prior art solutions have limited functionality. In particular, the solution described in RU2649793C1 is unable to detect an intruder who does not use the remote access program. Many other well-known implementation solutions require a significant amount of human-labeled data.
Предлагаемый способ выявления злоумышленника, пользующегося чужими учетными данными для доступа к сервису, предусматривающему авторизацию и разграничение доступа, не имеет ограничений по использованному злоумышленником сценарию получения доступа к легитимной учетной записи и не требует ручной разметки данных, используемых для предварительного обучения системы.The proposed method for detecting an attacker who uses someone else's credentials to access a service that provides authorization and access control has no restrictions on the scenario used by the attacker to gain access to a legitimate account and does not require manual markup of the data used for preliminary training of the system.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по последовательности открываемых окон пользовательского интерфейса, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.The technical problem to be solved by the claimed technical solution is the creation of a computer-implemented method and system for identifying a user by a sequence of user interface windows that are opened, which are described in independent claims. Additional embodiments of the present invention are presented in dependent claims.
Технический результат заключается в автоматической идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.The technical result consists in the automatic identification of the user by the sequence of opened user interface windows.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:In a preferred embodiment, a computer-implemented method for identifying a user by a sequence of opened user interface windows is claimed, which consists in performing the steps at which, using a computing device:
- регистрируют учетные данные пользователя в системе;registering user credentials in the system;
- присваивают соответствующий учетным данным идентификатор пользователя;assigning a user ID corresponding to the credentials;
- каждому открываемому пользователем окну пользовательского интерфейса присваивают идентификатор;- each window of the user interface opened by the user is assigned an identifier;
- на протяжении всего сеанса работы идентифицированного пользователя фиксируют последовательность открываемых окон пользовательского интерфейса, при этом:- throughout the entire session of the identified user, the sequence of opened windows of the user interface is fixed, while:
• сохраняют идентификатор окна, которое в данный момент открыто пользователем, и время открытия данного окна;• store the identifier of the window that is currently open by the user, and the opening time of this window;
• при каждом переходе к новому окну пользовательского интерфейса сохраняют идентификатор этого окна и время, когда оно было открыто;• at each transition to a new window of the user interface, the identifier of this window and the time when it was opened are saved;
- накапливают заранее заданное количество сеансов работы данного пользователя;- accumulate a predetermined number of sessions of this user;
- анализируют накопленные данные, а именно выявляют повторяющиеся последовательности посещаемых окон пользовательского интерфейса (паттерны);- analyze the accumulated data, namely, identify repeating sequences of visited windows of the user interface (patterns);
- для каждого выявленного паттерна вычисляют набор параметров, характеризующих время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса;- for each detected pattern, a set of parameters is calculated that characterizes the time elapsed between transitions of a given user from window to window of the user interface;
- сохраняют заданное количество паттернов данного пользователя и на основе вычисленных для каждого паттерна набора параметров обучают по меньшей мере один классификатор идентифицировать данного пользователя по последовательности посещаемых страниц;- storing a given number of patterns of the given user and, based on the set of parameters calculated for each pattern, at least one classifier is trained to identify the given user by the sequence of visited pages;
- применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор.- the trained at least one classifier is used for subsequent confirmation of the identity of the user, during the sessions of which at least one classifier was trained.
В частном варианте окна пользовательского интерфейса являются веб-страницами.In a particular variant, the user interface windows are web pages.
В другом частном варианте из выявленных паттернов дополнительно отбирают такие, длина и количество которых удовлетворяют заранее заданным критериям, и наборы параметров вычисляют только для отобранных паттернов.In another particular variant, from the identified patterns, those are additionally selected, the length and number of which satisfy predetermined criteria, and the parameter sets are calculated only for the selected patterns.
В другом частном варианте отбирают паттерны, имеющие максимально возможную длину, причем их количество должно быть не больше и не меньше заранее заданных значений.In another particular variant, patterns are selected that have the maximum possible length, and their number should be no more and no less than predetermined values.
В другом частном варианте паттернам, содержащим заранее определенные окна пользовательского интерфейса, могут быть присвоены априорные веса, которые учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы соответствующие паттерны оказывали пропорционально большее или меньшее влияние на итоговое решение по меньшей мере одного классификатора.In another particular embodiment, patterns containing predefined user interface windows can be assigned a priori weights that are taken into account when selecting or training at least one classifier so that the corresponding patterns have a proportionally greater or lesser influence on the final decision of at least one classifier. .
В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, входит время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса, и усредненное по всем сеансам работы данного пользователя, в которых встречается данный паттерн.In another particular variant, the set of parameters calculated for each pattern includes the time elapsed between the given user's transitions from window to window of the user interface, and averaged over all sessions of the given user in which the given pattern occurs.
В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, дополнительно входит дисперсия, вычисленная как дисперсия случайной величины, для временных интервалов между переходами данного пользователя от окна к окну пользовательского интерфейса.In another particular variant, the set of parameters calculated for each pattern additionally includes a variance, calculated as a variance of a random variable, for the time intervals between transitions of a given user from window to window of the user interface.
В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, дополнительно входит частотность данного паттерна в сеансах работы данного пользователя.In another particular variant, the set of parameters calculated for each pattern additionally includes the frequency of this pattern in sessions of the given user.
В другом частном варианте частотность учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы паттерны с большей частотностью оказывали пропорционально большее влияние на итоговое решение по меньшей мере одного классификатора.In another particular embodiment, frequency is taken into account when selecting or training at least one classifier so that patterns with higher frequency have a proportionally greater influence on the final decision of at least one classifier.
В другом частном варианте классификатор обучают методом машинного обучения.In another particular variant, the classifier is trained by machine learning.
В другом частном варианте классификатор может быть реализован как графовая вероятностная модель или как SVM-классификатор.In another particular variant, the classifier can be implemented as a graph probabilistic model or as an SVM classifier.
Заявленное решение также осуществляется за счет системы идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса, содержащая:The claimed solution is also implemented through a user identification system based on the sequence of visited user interface windows, which contains:
- блок регистрации учетных данных пользователя в системе;- a block for registering user credentials in the system;
- системные часы, выполненные с возможностью фиксации времени- system clock, made with the possibility of fixing the time
- блок идентификации текущего окна пользовательского интерфейса;- identification block of the current window of the user interface;
- долговременную память, выполненную с возможностью хранения базы данных;- long-term memory configured to store the database;
- вычислительное устройство, выполненное с возможностью выполнения вышеописанного способа.- a computing device configured to perform the above described method.
В одном из возможных вариантов реализации заявленное решение является составной частью дистанционной системы банковского обслуживания.In one of the possible implementation options, the claimed solution is an integral part of the remote banking system.
В другом из возможных вариантов реализации заявленное решение является составной частью веб-сайта, подразумевающего авторизацию пользователей.In another of the possible implementation options, the claimed solution is an integral part of a website that implies user authorization.
В другом из возможных вариантов реализации система идентификации пользователя является составной частью многопользовательской компьютерной игры, подразумевающей авторизацию пользователей.In another possible implementation, the user identification system is an integral part of a multiplayer computer game that involves user authorization.
В другом из возможных вариантов реализации система идентификации пользователя является составной частью программно-аппаратного комплекса для совместной работы, подразумевающего авторизацию пользователей.In another of the possible implementation options, the user identification system is an integral part of the software and hardware complex for collaboration, which implies user authorization.
ОПИСАНИЕ ЧЕРТЕЖЕЙDESCRIPTION OF THE DRAWINGS
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:The implementation of the invention will be described hereinafter in accordance with the accompanying drawings, which are presented to explain the essence of the invention and in no way limit the scope of the invention. The following drawings are attached to the application:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса;Fig. 1 illustrates a computer-implemented method for identifying a user from a sequence of user interface windows that open;
Фиг. 2 иллюстрирует пример общей схемы компьютерного устройства.Fig. 2 illustrates an example general layout of a computing device.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения.In the following detailed description of the implementation of the invention, numerous implementation details are provided to provide a clear understanding of the present invention. However, one skilled in the art will appreciate how the present invention can be used, both with and without these implementation details. In other cases, well-known methods, procedures and components have not been described in detail so as not to obscure the features of the present invention.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.Furthermore, it will be clear from the foregoing that the invention is not limited to the present implementation. Numerous possible modifications, changes, variations and substitutions that retain the spirit and form of the present invention will be apparent to those skilled in the subject area.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.The present invention is directed to providing a computer-implemented method and system for identifying a user from a sequence of user interface windows that are opened.
Способ будет описан на примере системы дистанционного банковского обслуживания (ДБО), однако, этот пример не является ограничивающим. Помимо системы ДБО, на примере которой будет описан способ, описываемый способ может также быть реализован в компьютерных онлайн-играх, программном обеспечении для совместной работы, программном обеспечении интернет-магазинов и т.д.The method will be described using the example of a remote banking system (RBS), however, this example is not limiting. In addition to the RBS system, on the example of which the method will be described, the described method can also be implemented in online computer games, collaboration software, online shopping software, etc.
Как представлено на Фиг. 1, заявленный компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса (100) реализован следующим образом:As shown in FIG. 1, the claimed computer-implemented method for identifying a user by a sequence of opened user interface windows (100) is implemented as follows:
На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности.In step (101), the user's credentials are pre-registered in the system. The user credentials are the username and password. It is an important component of network security.
Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователя.Next, at step (102), a user ID corresponding to the credentials is assigned.
На этапе (103) каждому открываемому пользователем окну пользовательского интерфейса присваивают идентификатор.In step (103), each user interface window opened by the user is assigned an identifier.
На этапе (104) на протяжении всего сеанса работы идентифицированного пользователя фиксируют последовательность открываемых окон пользовательского интерфейса, при этом:At step (104), throughout the entire session of the identified user, the sequence of opened windows of the user interface is fixed, while:
• сохраняют идентификатор окна, которое в данный момент открыто пользователем, и время открытия данного окна;• store the identifier of the window that is currently open by the user, and the opening time of this window;
• при каждом переходе к новому окну пользовательского интерфейса сохраняют идентификатор этого окна и время, когда оно было открыто.• each time you switch to a new user interface window, save the identifier of this window and the time when it was opened.
На этапе (106) накапливают заранее заданное количество сеансов работы данного пользователя, а на этапе (107) анализируют накопленные данные, а именно выявляют повторяющиеся последовательности посещаемых окон пользовательского интерфейса (паттерны).At step (106), a predetermined number of sessions of a given user is accumulated, and at step (107), the accumulated data is analyzed, namely, repeated sequences of visited user interface windows (patterns) are identified.
При этом, на этапе (108) для каждого выявленного паттерна вычисляют набор параметров, характеризующих время, проходящее между переходами данного пользователя от Окна к окну пользовательского интерфейса.At the same time, at step (108), for each detected pattern, a set of parameters is calculated that characterizes the time elapsed between transitions of a given user from Window to window of the user interface.
После чего, на этапе (109) сохраняют заданное количество паттернов данного пользователя и на основе вычисленных для каждого паттерна набора параметров обучают по меньшей мере один классификатор идентифицировать данного пользователя по последовательности посещаемых страниц.After that, at step (109), the given number of patterns of the given user is saved and, based on the set of parameters calculated for each pattern, at least one classifier is trained to identify the given user by the sequence of visited pages.
И на этапе (110) применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор.And at step (110), the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
Описываемый способ может быть реализован в любом варианте сервиса авторизованного удаленного доступа, который подразумевает наличие нескольких окон пользовательского интерфейса либо наличие нескольких рабочих зон в одном сложном окне пользовательского интерфейса и различных возможных путей переключения между ними (как окнами, так и зонами).The described method can be implemented in any variant of the authorized remote access service, which implies the presence of several user interface windows or the presence of several work areas in one complex user interface window and various possible ways to switch between them (both windows and zones).
Нижеперечисленные варианты технической реализации даны для примера и также не являются ограничивающими.The following technical implementation options are given by way of example and are also non-limiting.
В одном варианте технической реализации способ может быть реализован в виде интернет-программы (скрипта), функционирующей на интернет-сайте банка, предоставляющего услугу ДБО.In one variant of the technical implementation, the method can be implemented in the form of an Internet program (script) that operates on the website of the bank providing the RBS service.
В другом варианте технической реализации способ может быть реализован в виде подсистемы «тонкого клиента» ДБО, например, интернет-приложения, функционирующего на мобильном устройстве пользователя: смартфоне, мобильном телефоне и т.д., и ведущего обмен данными по каналам беспроводной связи с сервером банка, на котором установлена и работает собственно система ДБО.In another variant of the technical implementation, the method can be implemented as a “thin client” RBS subsystem, for example, an Internet application that operates on the user’s mobile device: smartphone, mobile phone, etc., and communicates via wireless communication channels with the server bank where the RB system itself is installed and operates.
Еще в одном варианте технической реализации способ может быть реализован в виде подсистемы программно-аппаратного комплекса, функционирующего в «облаке» и обменивающегося данными по беспроводным и проводным каналам с «тонкими клиентами», банкоматами и с процессинговым центром банка.In yet another embodiment of the technical implementation, the method can be implemented as a subsystem of a hardware-software complex operating in the "cloud" and exchanging data via wireless and wired channels with "thin clients", ATMs and with the bank's processing center.
Возможна также реализация описываемого способа в виде распределенной программно-аппаратной системы, находящейся на различных интернет-серверах, например, с целью распределения нагрузки, и обслуживающей одновременно множество каналов ДБО, принадлежащих разным банкам.It is also possible to implement the described method in the form of a distributed hardware and software system located on various Internet servers, for example, for the purpose of load distribution, and serving simultaneously a plurality of RBS channels belonging to different banks.
Еще в одном варианте способ может быть реализован как часть программы или сервиса для совместной работы, где подразумевается авторизованный доступ пользователей (о таких программах или сервисах см. https://ru.wikipedia.org/w/index.php?title=%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D0%B9%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B&oldid=80620207). Еще в одном возможном варианте описываемый способ может быть реализован как часть многопользовательской компьютерной игры, подразумевающей авторизацию пользователей.In yet another embodiment, the method may be implemented as part of a collaboration program or service, where authorized user access is implied (for such programs or services, see https://ru.wikipedia.org/w/index.php?title=%D0 %9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5%D0%BE%D0%B1 %D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D1%81%D0%BE%D0%B2%D0 %BC%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D0%B9%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B&oldid =80620207). In yet another possible embodiment, the described method can be implemented as part of a multiplayer computer game that involves user authorization.
Вне зависимости от варианта технического выполнения описываемого способа, для его реализации необходимо получение двух идентификаторов: идентификатора пользователя и идентификатора текущего окна пользовательского интерфейса.Regardless of the technical implementation of the described method, for its implementation it is necessary to obtain two identifiers: the user identifier and the identifier of the current user interface window.
Идентификатор пользователя - это минимум одно сочетание символов, уникальным образом характеризующее конкретного пользователя. Например, идентификатором может быть хэш-функция от телефонного номера мобильного устройства, с которого осуществляется доступ к системе ДБО. В другом случае это может быть agent id (внутренний идентификатор клиента, используемый в банковской системе). Еще в одном случае это может быть номер банковской карты, считанный банкоматом, либо результат биометрической идентификации владельца карты или хэш-функция от такого результата.A user identifier is at least one combination of characters that uniquely characterizes a particular user. For example, the identifier can be a hash function from the phone number of the mobile device from which access to the RBS system is performed. In another case, it may be an agent id (internal client identifier used in the banking system). In another case, this may be a bank card number read by an ATM, or the result of a biometric identification of the cardholder or a hash function from such a result.
Возможен случай, когда идентификатор является функцией от набора сведений о программно-аппаратной конфигурации персонального компьютера, с которого осуществляется доступ к системе ДБОIt is possible that the identifier is a function of a set of information about the hardware and software configuration of a personal computer from which access to the RB system is performed.
Возможен также вариант реализации описываемого способа, при котором идентификатор пользователя генерируется системой, реализующей способ, на основе одного или нескольких идентификаторов аналогичного назначения, поступающих от банковской системы. Генерация такого уникального идентификатора может быть выполнена любым общеизвестным способом, например, хешированием символьной строки, полученной путем конкатенации идентификаторов, полученных из банковской системы.It is also possible to implement the described method, in which the user identifier is generated by the system implementing the method, based on one or more identifiers of a similar purpose coming from the banking system. The generation of such a unique identifier can be performed in any well-known manner, for example, by hashing a character string obtained by concatenating identifiers received from the banking system.
Как правило, идентификатор пользователя так или иначе зашифрован на стороне банка; его расшифровка не требуется для реализации описываемого способа, несущественно и то, каким конкретно образом он был сгенерирован. Достаточно, чтобы этот идентификатор был уникальным и стабильно воспроизводимым при каждом сеансе доступа к системе ДБО под учетными данными (логином и паролем) конкретной учетной записи.As a rule, the user ID is somehow encrypted on the side of the bank; its decryption is not required for the implementation of the described method, and the specific way in which it was generated is also immaterial. It is sufficient that this identifier be unique and stably reproducible during each session of access to the RBS system under the credentials (login and password) of a particular account.
В дальнейшем для простоты будем обозначать идентификатор пользователя как USER(i), где различное значение i указывает на разных пользователей.In the following, for simplicity, we will denote the user identifier as USER(i), where a different value of i indicates different users.
Идентификатор текущего окна пользовательского интерфейса - это минимум одно сочетание символов, которое однозначно соответствует тому окну пользовательского интерфейса, которое в данный момент открыто пользователем.The ID of the current user interface window is at least one combination of characters that uniquely matches the user interface window currently open by the user.
Это окно может представлять собой страницу интернет-сайта, и тогда идентификатор может представлять собой, например, хэш от URL данной страницы или от ее заголовка (последовательности символов, помещенной под тэгом <title>). В другом случае это окно может представлять собой элемент интерфейса программы, работающей на мобильном устройстве или в банкомате, и тогда идентификатором может быть хэш названия данного элемента интерфейса либо иное его обозначение, используемое в программе.This window may be a page of an Internet site, and then the identifier may be, for example, a hash from the URL of this page or from its title (a sequence of characters placed under the <title> tag). In another case, this window may be an interface element of a program running on a mobile device or at an ATM, and then the identifier may be a hash of the name of this interface element or its other designation used in the program.
Для целей реализации описываемого способа достаточно, чтобы этот идентификатор был уникальным в рамках данной системы ДБО и стабильно воспроизводимым при каждом удачном акте доступа к конкретному окну интерфейса.For the purposes of implementing the described method, it is sufficient that this identifier be unique within the given RBS system and stably reproducible upon each successful access to a specific interface window.
Возможен также вариант реализации описываемого способа, при котором идентификатор текущего окна генерируется системой, реализующей способ, на основе одного или нескольких идентификаторов окна, поступающих от банковской системы. Генерация такого уникального идентификатора может быть выполнена любым общеизвестным способом, например, хешированием символьной строки, полученной путем конкатенации идентификаторов, принятых от банковской системы.It is also possible to implement the described method, in which the identifier of the current window is generated by the system implementing the method, based on one or more window identifiers received from the banking system. The generation of such a unique identifier can be performed by any well-known method, for example, by hashing a character string obtained by concatenating identifiers received from the banking system.
В варианте реализации способа, подразумевающем наличие одного сложного окна интерфейса пользователя, имеющего несколько рабочих зон, в роли «идентификатора текущего окна» может выступать фокус ввода,In a variant of the implementation of the method, which implies the presence of one complex user interface window with several work areas, the input focus can act as the "identifier of the current window",
https://ru.wikipedia.org/w/index.php?title=%D0%A4%D0%BE%D0%BA%D1%83%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%Dl%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B3%D0%B9%D1%81)&stable=1, т.е. некоторая последовательность служебных символов, порождаемая программой, которой принадлежит сложное окно, и несущая информацию о том, какой из многочисленных элементов интерфейса программы (кнопок, всплывающих списков, радиокнопок, окон ввода текста, и т.д.) в настоящий момент активен и готов к восприятию команд пользователя.https://ru.wikipedia.org/w/index.php?title=%D0%A4%D0%BE%D0%BA%D1%83%D1%81%D0%BF%D0%BE%D0%BB %D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%Dl%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0 %B9%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B3%D0%B9%D1%81)&stable=1, i.e. some sequence of service characters generated by the program that owns the complex window and carrying information about which of the numerous elements of the program interface (buttons, pop-up lists, radio buttons, text entry windows, etc.) is currently active and ready for accepting user commands.
Преобразование такой последовательности в унифицированный идентификатор места в пользовательском интерфейсе ДБО может быть выполнено, например, взятием хэш-функции от самой этой последовательности символов или любым другим общеизвестным способом.The transformation of such a sequence into a uniform place identifier in the RBS user interface can be performed, for example, by taking a hash function from this character sequence itself or by any other well-known method.
Ниже по описанию будем обозначать идентификатор текущего окна как PAGE(j), где различное значение j указывает на разные окна пользовательского интерфейса или разные элементы пользовательского интерфейса в однооконном варианте.Below, the description will denote the identifier of the current window as PAGE(j), where a different value of j indicates different user interface windows or different user interface elements in a single-window version.
Для реализации описываемого способа в виде распределенной программно-аппаратной системы, находящейся на различных интернет-серверах и обслуживающей одновременно множество каналов ДБО, принадлежащих разным банкам, потребуется также сбор и обработка дополнительного идентификатора, указывающего, из системы какого банка поступили те или иные идентификаторы USER(i); PAGE(j).To implement the described method in the form of a distributed software and hardware system located on various Internet servers and serving simultaneously many RBS channels belonging to different banks, it will also be necessary to collect and process an additional identifier indicating which bank system received certain USER identifiers ( i); PAGE(j).
Этот дополнительный идентификатор - обозначим его как BANK(q) - является статическим, он создается один раз при настройке и запуске системы ДБО данного банка. Технически он может представлять собой, например, SSL-сертификат, которым подписаны сайты данного банка, или отдельную символьную строку, например, BANK(q)=SBERBANK, передаваемую ДБО каждого банка. Идентификатор BANK(q) используется для первичной сортировки поступающих в систему сведений и адресации ответных сигналов системы - банковскому антифрод-департаменту.This additional identifier - let's designate it as BANK(q) - is static, it is created once when setting up and starting the RBS system of a given bank. Technically, it can be, for example, an SSL certificate signed by the sites of a given bank, or a separate character string, for example, BANK(q)=SBERBANK, transmitted by the RBS of each bank. The BANK(q) identifier is used for primary sorting of information entering the system and addressing the system's response signals - to the banking anti-fraud department.
Других функций, помимо этих, очевидных и допускающих реализацию любым общеизвестным способом, идентификатор банка BANK(q) не выполняет, поэтому в дальнейшем описании этот идентификатор для простоты изложения опускаем.Other than these functions, which are obvious and can be implemented in any well-known way, the bank identifier BANK(q) does not perform, therefore, in the further description, this identifier is omitted for simplicity.
Идентификаторы USER(i); PAGE(j) поступают от системы ДБО всегда попарно и одновременно, каждый сопровождается временной меткой (timestamp). Фактически между поступлением первого и второго идентификаторов может проходить какое-то время, обусловленное задержками сигнала в физических линиях связи, используемых системой ДБО, но этим временем в рамках реализации описываемого способа пренебрегаем, считая временем поступления идентификаторов время поступления последнего из них.Identifiers USER(i); PAGE(j) are always received from the RBS system in pairs and simultaneously, each is accompanied by a timestamp. In fact, some time may elapse between the arrival of the first and second identifiers, due to signal delays in the physical communication lines used by the RBS system, but this time, in the framework of the implementation of the described method, is neglected, considering the time of receipt of identifiers the time of arrival of the last of them.
Термином сессия (S) или, что-то же самое, сеанс работы данного пользователя, в рамках этого описания будем называть последовательность данных, имеющую вид:The term session (S) or, something the same, the session of a given user, within the framework of this description, will be called a data sequence that looks like:
где t1 - временная метка, соответствующая времени открытия пользователем USER(i) окна PAGE(1), t2 - временная метка, соответствующая времени открытия тем же пользователем окна PAGE(2), и так далее.where t 1 is the timestamp corresponding to the time USER(i) opened the PAGE(1) window, t 2 is the timestamp corresponding to the time the same user opened the PAGE(2) window, and so on.
Важно, что сессия - это последовательность пар идентификаторов, в которой идентификатор пользователя в каждой паре один и тот же, т.е. сессия всегда ассоциирована с конкретным пользователем и полностью описывает один сеанс его работы с системой ДБО.It is important that a session is a sequence of pairs of identifiers, in which the user identifier in each pair is the same, i.e. a session is always associated with a specific user and fully describes one session of his work with the RB system.
В общем случае, в системе ДБО одновременно существует значительное количество сессий, поскольку одновременно с системой ДБО может работать множество разных пользователей. Общепринятой практикой в банках является запись (сохранение) всех сессий и хранение этих сведений в течение значительного времени (от нескольких месяцев до нескольких лет). В одном из возможных вариантов реализации описываемого способа этот массив информации может быть получен от банка и использован для предварительного обучения системы, реализующей способ.In the general case, there are a significant number of sessions in the RB system at the same time, since many different users can work with the RB system at the same time. A common practice in banks is to record (save) all sessions and store this information for a significant time (from several months to several years). In one of the possible options for implementing the described method, this array of information can be obtained from the bank and used for preliminary training of the system that implements the method.
Очевидно, в массиве данных, охватывающих достаточно длительный временной период (например, месяц), наряду с сессиями легитимных пользователей обязательно будут присутствовать и сессии злоумышленников. Однако, известно, что частотность доступа злоумышленников к системе ДБО крайне незначительна. Легитимные сессии составляют абсолютное большинство сессий, сохраненных за продолжительный период времени.Obviously, in a data array covering a sufficiently long time period (for example, a month), along with sessions of legitimate users, there will certainly be sessions of intruders. However, it is known that the frequency of intruder access to the RBS system is extremely low. Legitimate sessions make up the vast majority of sessions saved over a long period of time.
Поскольку обучение системы по существу представляет собой накопление и статистический анализ информации, наличие небольшого количества нелегитимных сессий не скажется на качестве и результатах обучения.Since the training of the system is essentially the accumulation and statistical analysis of information, the presence of a small number of illegitimate sessions will not affect the quality and results of training.
Система, реализующая способ, сортирует данные, поступающие от системы ДБО либо из обучающего массива информации, по USER(i), и формирует пользовательские сессии. Каждая пара идентификаторов USER(i); PAGE(j), как показано в (1), характеризуется временем поступления, зафиксированным посредством сохранения временной метки t. Поэтому для каждой пары, кроме самой первой пары в каждой сессии, может быть рассчитан временной интервал Т между моментом поступления данной пары и моментом поступления предыдущей пары. Этот интервал может быть рассчитан как разность временных меток (timestamps) t, вычисляемая с заданной точностью, например, с точностью до 0.01 секунды. Например, интервал между первой и второй парами идентификаторов в каждом сеансе работы данного пользователя рассчитывается как Т=t2-t1, и т.д.The system that implements the method sorts the data coming from the RBS system or from the training array of information by USER(i) and forms user sessions. Each pair of USER(i); PAGE(j), as shown in (1), is characterized by an arrival time fixed by storing a timestamp t. Therefore, for each pair, except for the very first pair in each session, the time interval T between the moment of arrival of this pair and the moment of arrival of the previous pair can be calculated. This interval can be calculated as the difference between timestamps (timestamps) t, calculated with a given precision, for example, with an accuracy of 0.01 seconds. For example, the interval between the first and second pairs of identifiers in each session of a given user is calculated as T=t 2 -t 1 , and so on.
Рассчитанные интервалы сохраняют для использования в дальнейших вычислениях.The calculated intervals are saved for use in further calculations.
Последовательность данных (1), записанная для одного конкретного пользователя USER(i), после расчета временных интервалов Т примет вид:The data sequence (1) recorded for one specific user USER(i), after calculating the time intervals T, will take the form:
где T(j) - выраженное в секундах и долях секунды (не обязательно целочисленное) время, прошедшее между моментом, когда данный пользователь открыл окно PAGE(j), и моментом, когда этот же пользователь открыл окно PAGE(j+1).where T(j) is the time, expressed in seconds and fractions of a second (not necessarily an integer), between the time a given user opened the PAGE(j) window and the time that same user opened the PAGE(j+1) window.
Необходимо отметить, что между самими по себе окнами (например, веб-страницами) PAGE(j), PAGE(j+1) в системе ДБО может не существовать вообще никакой связи, ни логической, например, выраженной в текстовом сообщении просьбы перейти на определенную страницу, ни физической, т.е. гиперссылки, ведущей с одной страницы на другую. Подобные переходы образуются в сессиях ботов, т.е. программ, имитирующих ту или иную активность пользователей ДБО.It should be noted that between the windows themselves (for example, web pages) PAGE(j), PAGE(j+1) in the RBS system, there may be no connection at all, nor a logical one, for example, a request expressed in a text message to switch to a certain page, nor physical, i.e. hyperlinks leading from one page to another. Such transitions are formed in bot sessions, i.e. programs imitating one or another activity of RBS users.
Притом для работы системы, реализующей данный способ, не имеет никакого значения, что именно представляют собой окна пользовательского интерфейса PAGE(j) и PAGE(j+1). Они необходимы только в контексте того факта, что пользователь, авторизованный под учетной записью USER(i), сначала открыл окно PAGE(j), а через некоторое рассчитанное время - окно PAGE(j+1).Moreover, for the operation of the system that implements this method, it does not matter what exactly the windows of the user interface PAGE(j) and PAGE(j+1) are. They are only needed in the context of the fact that the user logged in as USER(i) first opened a PAGE(j) window, and after some calculated time, a PAGE(j+1) window.
Таким образом, для каждого USER(i) образуется коллекция сессий (сеансов работы данного пользователя), имеющая следующий вид (номера окон и длительности интервалов между ними в этом примере выбраны произвольно):Thus, for each USER(i), a collection of sessions (sessions of a given user) is formed, which has the following form (the numbers of windows and the duration of the intervals between them are chosen arbitrarily in this example):
Когда общее количество сессий Sk превышает заранее заданный порог (например, становится больше 20), коллекцию сессий анализируют, выявляя паттерны. Термином паттерн в данном случае будем называть повторяющуюся последовательность страниц, наподобие выделенной в (3) последовательности PAGE(6) - PAGE(33) - PAGE(21). Временные интервалы T(j) на этапе выявления паттернов не учитываются.When the total number of sessions Sk exceeds a predetermined threshold (for example, becomes more than 20), the collection of sessions is analyzed to identify patterns. The term pattern in this case is a repeating sequence of pages, like the sequence PAGE(6) - PAGE(33) - PAGE(21) highlighted in (3). Time intervals T(j) at the stage of pattern detection are not taken into account.
Важно, что как все описанные, так и последующие преобразования данных всегда выполняются именно для данного конкретного пользователя. Сессии из коллекций разных пользователей никогда не анализируют совместно.It is important that both all the described and subsequent data transformations are always performed for this particular user. Sessions from collections of different users are never parsed together.
Длина паттерна, т.е. то, какое именно количество страниц, открытых последовательно, будет считаться паттерном, выбирается заранее. В одном возможном варианте реализации описываемого способа длина паттерна может быть задана интервалом. Например, если задана длина паттерна от 3 до 6, то показанный выше паттерн PAGE(6) - PAGE(33) - PAGE(21), имеющий длину 3, подходит под заданный критерий, а паттерн PAGE(5) - PAGE(9), имеющий длину 2, не подходит. В другом варианте реализации длина паттерна может быть заранее задана фиксированной величиной, например, 4.Pattern length, i.e. the exact number of pages opened sequentially will be considered a pattern is chosen in advance. In one possible implementation of the described method, the length of the pattern may be given by an interval. For example, if the pattern length is from 3 to 6, then the pattern PAGE(6) - PAGE(33) - PAGE(21) shown above, which has a length of 3, matches the specified criterion, and the pattern PAGE(5) - PAGE(9) , which has length 2, does not fit. In another implementation, the length of the pattern may be pre-set to a fixed value, such as 4.
Еще в одном возможном варианте реализации длина паттерна может выбираться автоматически в зависимости от количества паттернов, выявляемых для данного пользователя. В этом варианте поиск паттернов начинается, например, при заданной длине 3. Если и когда количество выявленных паттернов для данного пользователя превышает установленный при настройке системы порог (например, паттернов найдено более 10), длину паттерна увеличивают на единицу и повторяют поиск, отбросив ранее найденные короткие паттерны. Такой цикл выполняется до тех пор, пока не будет найдено меньшее пороговой величины количество паттернов, имеющих максимально возможную длину.In yet another possible implementation, the length of the pattern may be selected automatically depending on the number of patterns detected for a given user. In this variant, the search for patterns starts, for example, at a given length of 3. If and when the number of detected patterns for a given user exceeds the threshold set during system configuration (for example, more than 10 patterns were found), the pattern length is increased by one and the search is repeated, discarding the previously found short patches. Such a cycle is performed until the number of patterns with the maximum possible length less than the threshold value is found.
Возможен такой вариант реализации, при котором проводится предварительная модификация некоторых найденных паттернов. В ходе модификации некоторым паттернам присваивают дополнительные априорные веса, связанные с назначением окон интерфейса, входящих в состав этих паттернов.Such an implementation option is possible, in which a preliminary modification of some of the found patterns is carried out. In the course of modification, some patterns are assigned additional a priori weights associated with the assignment of interface windows that are part of these patterns.
Говоря о «весе паттерна», в данном случае подразумеваем некое наперед заданное число, ассоциированное с данным паттерном и хранящееся в системе, реализующей описываемый способ.Speaking of the “pattern weight”, in this case we mean a certain predetermined number associated with the given pattern and stored in the system that implements the described method.
Например, паттернам, содержащим окно PAGE(m), которое в интерфейсе системы ДБО служит для запроса перевода средств на банковский счет или на кошелек безналичной платежной системы, может быть присвоен повышенный вес, например, в 3 раза, превышающий вес других паттернов.For example, patterns containing the PAGE(m) window, which in the RB system interface serves to request the transfer of funds to a bank account or to a wallet of a non-cash payment system, can be assigned an increased weight, for example, 3 times higher than the weight of other patterns.
Этот вес будет присваиваться любым паттернам, содержащим окно PAGE(m), вне зависимости от того, в сессиях какого именно пользователя USER(i) найдены данные паттерны.This weight will be assigned to any patterns containing a PAGE(m) window, regardless of the session of which user USER(i) found these patterns.
Аналогично, паттернам, содержащим окно PAGE(x), которое в интерфейсе системы ДБО служит для уплаты коммунальных платежей или налогов, может быть присвоен пониженный вес, например, в 0.3 от веса не модифицированных паттернов.Similarly, patterns containing a PAGE(x) window, which in the RBS system interface serves to pay utility bills or taxes, can be assigned a reduced weight, for example, 0.3 of the weight of unmodified patterns.
Указанный вес может использоваться системой, реализующей способ, как на описанном ниже этапе обучения классификаторов, так и на этапе контроля идентичности пользователя. Такой вес имеет смысл чувствительности системы к событию определенного вида. В данном примере нетипичное поведение любого пользователя в высоко рискованном, содержащем окно PAGE(m), сценарии будет значительно больше "настораживать" систему, чем нетипичное поведение в сценарии уплаты налогов, где вероятность появления злоумышленника, завладевшего чужими учетными данными, стремится к нулю.The specified weight can be used by the system that implements the method, both at the stage of training classifiers described below, and at the stage of user identity control. Such a weight has the meaning of the sensitivity of the system to an event of a certain kind. In this example, the atypical behavior of any user in a high-risk scenario containing a PAGE(m) window would be much more "alarming" to the system than the atypical behavior in a tax-paying scenario, where the probability of an attacker getting hold of someone else's credentials tends to zero.
Для каждого выявленного паттерна вычисляется набор параметров, характеризующих манеру поведения данного пользователя при работе с системой ДБО. Все параметры вычисляются на основании той же коллекции сессий.For each identified pattern, a set of parameters is calculated that characterizes the behavior of a given user when working with the RBS system. All parameters are calculated based on the same collection of sessions.
Первый параметр представляет собой вектор, который будем называть вектором времени V. Это вектор, размерность которого соответствует количеству временных интервалов внутри данного паттерна. Например, для паттерна PAGE(6) - PAGE(33) - PAGE(21) вектор времени будет двумерным: V=(Tcp1, Тср2), где Tcp1 - рассчитанное по заранее определенному алгоритму характерное для данного пользователя время между открытием окон PAGE(6) и PAGE(33), а Тср2 - между открытием окон PAGE(33) и PAGE(21).The first parameter is a vector, which we will call the time vector V. This is a vector whose dimension corresponds to the number of time intervals within the given pattern. For example, for the PAGE(6) - PAGE(33) - PAGE(21) pattern, the time vector will be two-dimensional: V=(Tcp1, Тср2), where Tcp1 is the time between PAGE(6 ) and PAGE(33), and Tcp2 between opening the PAGE(33) and PAGE(21) windows.
Для вычисления Tcp1 и Тср2 берут все вхождения данного паттерна, найденные во всех сеансах работы данного пользователя, и вычисляют эти усредненные значения по ранее вычисленным значениям временных интервалов T(j) между страницами PAGE(6) и PAGE(33), а также между страницами PAGE(33) и PAGE(21).To calculate Tcp1 and Tcp2, they take all occurrences of a given pattern found in all sessions of a given user, and calculate these average values using the previously calculated values of the time intervals T(j) between PAGE(6) and PAGE(33) pages, as well as between pages PAGE(33) and PAGE(21).
Под усреднением времени, например, Tcp1, здесь может пониматься среднее арифметическое от всех времен Т1 для всех вхождений данного паттерна в коллекцию сессий данного пользователя. В другом варианте реализации может вычисляться среднее геометрическое от всех вхождений данного паттерна. Возможен вариант, при котором вычисляется среднее взвешенное, где в роли веса для каждого временного времени Ti берется количество страниц, отделяющих данный интервал от начального интервала Т1 или от конечного интервала данного паттерна. Смысл последнего варианта в том, чтобы наибольшее влияние на Тер оказали интервалы при начале или при окончании сессии данного пользователя.Time averaging, for example, Tcp1, here can be understood as the arithmetic average of all T1 times for all occurrences of a given pattern in the collection of sessions of a given user. In another implementation, the geometric mean of all occurrences of a given pattern may be calculated. A variant is possible in which the weighted average is calculated, where the number of pages separating the given interval from the initial interval T1 or from the final interval of the given pattern is taken as the weight for each time Ti. The meaning of the last option is that the intervals at the beginning or at the end of the session of a given user have the greatest influence on Ter.
В другой возможной реализации вектор времени V имеет размерность 2*n, где n количество временных интервалов внутри данного паттерна. В таком случае вектор времени хранит как рассчитанное значение временного интервала Тср, так и дисперсию D. Дисперсия здесь является показателем того, насколько сильно может варьировать длительность конкретного временного интервала Тср у данного пользователя. Подобный вектор размерности 2*n может выглядеть следующим образом: V=(Tcp1, D1, Тср2, D2).In another possible implementation, the time vector V has dimension 2*n, where n is the number of time intervals within the given pattern. In this case, the time vector stores both the calculated value of the time interval Tav and the variance D. The dispersion here is an indicator of how much the duration of a particular time interval Tav can vary for a given user. A similar vector of dimension 2*n may look like this: V=(Tcp1, D1, Тср2, D2).
Дисперсия временных интервалов D1 может быть вычислена на основании собранной коллекции сессий данного пользователя как дисперсия случайной величины Tcp1, либо любым другим общеизвестным способом. Аналогично, дисперсия D2 может быть вычислена как дисперсия случайной величины Тср2.The variance of time intervals D1 can be calculated based on the collected collection of sessions of a given user as a variance of the random variable Tcp1, or in any other well-known way. Similarly, the variance D2 can be calculated as the variance of the random variable Tav2.
Помимо вектора времени для каждого паттерна может также вычисляться частотность, показывающая, насколько часто данный паттерн встречается в сессиях данного пользователя. Частотность равна отношению количества вхождений данного паттерна L к количеству сессий данного пользователя K.In addition to the time vector, a frequency can also be calculated for each pattern, showing how often this pattern occurs in the sessions of a given user. The frequency is equal to the ratio of the number of occurrences of a given pattern L to the number of sessions of a given user K.
Этот параметр может быть, как меньше единицы, если паттерн встречается не в каждой сессии, так и больше, если паттерн встречается несколько раз на протяжении каждой сессии.This parameter can be either less than one if the pattern does not occur in every session, or greater if the pattern occurs several times during each session.
Найденные паттерны и вычисленные для каждого из них параметры сохраняют для использования в дальнейших вычислениях.The found patterns and the parameters calculated for each of them are stored for use in further calculations.
Затем для каждого пользователя, используя его коллекцию данных, в первую очередь, набор векторов времени V, обучают одно или несколько решающих правил (классификаторов). Техническая реализация классификатора или классификаторов может быть любой общеизвестной; они могут быть реализованы, например, как графовая вероятностная модель (Random Forest) или как SVM-классификатор.Then, for each user, using his data collection, primarily a set of time vectors V, one or more decision rules (classifiers) are trained. The technical implementation of the classifier or classifiers can be any well-known; they can be implemented, for example, as a graph probabilistic model (Random Forest) or as an SVM classifier.
Если каким-то паттернам при составлении коллекции паттернов были присвоены повышенные и\или пониженные веса, связанные с назначением одной или нескольких входящих в паттерн окон интерфейса системы ДБО, то эти веса могут учитываться при выборе или обучении классификатора или классификаторов таким образом, чтобы соответствующие паттерны оказывали пропорционально большее или меньшее влияние на итоговое решение. Аналогичным образом, в роли повышающего или понижающего коэффициента, на данном этапе может использоваться также частотность.If some patterns were assigned higher and/or lower weights when compiling a collection of patterns, associated with the assignment of one or more windows of the RB system interface included in the pattern, then these weights can be taken into account when choosing or training a classifier or classifiers in such a way that the corresponding patterns had a proportionally greater or lesser influence on the final decision. Likewise, frequency can also be used as a boost or step down factor at this stage.
В одной из возможных реализаций описываемого метода один классификатор может обучаться на рассчитанных значениях усредненных временных интервалов, а второй - на рассчитанных значениях дисперсии временных интервалов.In one of the possible implementations of the described method, one classifier can be trained on the calculated values of the averaged time intervals, and the second - on the calculated values of the dispersion of the time intervals.
Все вышеописанные действия, начиная с сохранения пар идентификаторов {USER(i), PAGE(j)} и соответствующих им отметок времени t, и заканчивая обучением классификаторов для данного пользователя, могут выполняться в режиме онлайн, непосредственно в ходе функционирования сервиса ДБО.All of the above actions, starting with saving pairs of identifiers {USER(i), PAGE(j)} and their corresponding timestamps t, and ending with training classifiers for a given user, can be performed online, directly during the operation of the RBS service.
В другом возможном варианте реализации система, реализующая описываемый способ, может проходить предварительное обучение в режиме офлайн. В этом варианте реализации система получает для анализа заранее сохраненный сервисом ДБО массив данных, выполняет, как было описано выше, анализ данных, обучает классификаторы для всех пользователей, идентификаторы которых были в поступившем массиве данных. Когда анализ завершен, и классификаторы обучены, система, реализующая данный способ, переводится в режим онлайн и далее функционирует совместно с сервисом ДБО.In another possible implementation, the system implementing the described method can be pre-trained offline. In this embodiment, the system receives for analysis a data array previously saved by the RBS service, performs, as described above, data analysis, trains classifiers for all users whose identifiers were in the received data array. When the analysis is completed and the classifiers are trained, the system that implements this method is transferred to online mode and then functions in conjunction with the RBS service.
Применение обученного классификатора или классификаторов может выглядеть следующим образом. Система, реализующая способ, сортирует данные, поступающие от сервиса ДБО, по USER(i) и формирует пользовательские сессии (сеансы работы конкретных пользователей). С самого начала сессии, как только получен самый первый USER(i), выбирается и запускается классификатор или классификаторы, обученные на коллекции паттернов соответствующего этому USER(i) пользователя. На вход классификатора или классификаторов подаются все данные текущего сеанса работы данного пользователя. Таким образом, система, реализующая описываемый способ, ведет анализ идентичности пользователя непосредственно в ходе работы этого пользователя с сервисом ДБО.Applying a trained classifier or classifiers might look like this. The system that implements the method sorts the data coming from the RBS service by USER(i) and forms user sessions (work sessions of specific users). From the very beginning of the session, as soon as the very first USER(i) is received, the classifier or classifiers trained on the collection of patterns of the user corresponding to this USER(i) is selected and launched. The input of the classifier or classifiers is all data of the current session of the given user. Thus, the system that implements the described method analyzes the user's identity directly in the course of this user's work with the RBS service.
Решение классификатора или классификаторов представляет собой численную оценку вероятности того, что под данным USER(i) вход в систему ДБО совершил именно тот пользователь, на коллекции паттернов которого были обучены классификатор или классификаторы. Это решение постоянно обновляется в ходе сеанса работы данного пользователя, т.е. решение классификатора или классификаторов пересматривается при поступлении каждой очередной пары {USER(i), PAGE(j)}.The decision of the classifier or classifiers is a numerical estimate of the probability that, under the given USER(i), the entry into the RBS system was made by the user on whose collection of patterns the classifier or classifiers were trained. This solution is constantly updated during a given user's session, i.e. the decision of the classifier or classifiers is reviewed upon receipt of each next pair {USER(i), PAGE(j)}.
Решения каждого классификатора поступают в антифрод-систему банка, где могут использоваться для генерации тревожных оповещений, имеющих смысл предупреждения о нетипичном поведении конкретного пользователя USER(i), или других сигналов аналогичного назначения.The solutions of each classifier are sent to the bank's anti-fraud system, where they can be used to generate alerts that have the meaning of a warning about the atypical behavior of a particular user USER(i), or other signals of a similar purpose.
В тех вариантах реализации описанного способа, которые не подразумевают наличия антифрод-системы (например, интернет-магазин, веб-сервис для коллективной работы, многопользовательская компьютерная игра) решения обученных классификаторов могут поступать в систему разграничения доступа, используемую данным сервисом или сайтом, на рабочую панель модератора сервиса или специалиста по информационной безопасности, либо использоваться программным обеспечением системы для совершения действий, предупреждающих нелегитимный доступ к системе. Например, для инициирования прямой связи с данным пользователем и запроса дополнительной идентифицирующей информации (контрольного вопроса, номера телефона и так далее).In those embodiments of the described method that do not imply the presence of an anti-fraud system (for example, an online store, a web service for teamwork, a multi-user computer game), the solutions of trained classifiers can enter the access control system used by this service or site, to the working panel of the service moderator or information security specialist, or used by the system software to perform actions that prevent illegal access to the system. For example, to initiate a direct connection with a given user and request additional identifying information (security question, phone number, and so on).
В одном из возможных вариантов реализации данного способа такой сигнал может формироваться при условии отсутствия типичных паттернов на протяжении наперед заданного количества открытых пользователем страниц, т.е. когда данный пользователь достаточно долго ведет себя нетипично.In one of the possible implementations of this method, such a signal can be generated under the condition that there are no typical patterns for a predetermined number of pages opened by the user, i.e. when a given user behaves atypically long enough.
Возможен также вариант реализации системы, при котором условием формирования тревожного сигнала является отсутствие на протяжении наперед заданного времени по меньшей мере одного паттерна, имеющего наибольшую частотность из всех паттернов данного пользователя.It is also possible to implement the system, in which the condition for generating an alarm signal is the absence of at least one pattern having the highest frequency of all patterns of a given user for a predetermined time.
Описываемый способ может быть реализован в любом варианте сервиса авторизованного удаленного доступа, который подразумевает наличие нескольких окон пользовательского интерфейса либо наличие нескольких рабочих зон в одном сложном окне пользовательского интерфейса и различных возможных путей переключения между ними (как окнами, так и зонами).The described method can be implemented in any variant of the authorized remote access service, which implies the presence of several user interface windows or the presence of several work areas in one complex user interface window and various possible ways to switch between them (both windows and zones).
На Фиг. 2 далее будет представлена общая схема компьютерного устройства (200), обеспечивающего обработку данных, необходимую для реализации заявленного решения.On FIG. 2 will now present a general diagram of a computer device (200) that provides the data processing necessary to implement the claimed solution.
В общем случае устройство (200) содержит такие компоненты, как; один или более процессоров (201), по меньшей мере одну память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средство В/В (205), средства сетевого взаимодействия (206).In General, the device (200) contains components such as; one or more processors (201), at least one memory (202), data storage means (203), input/output interfaces (204), I/O means (205), networking means (206).
Процессор (201) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (200) или функциональности одного или более его компонентов. Процессор (201) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (202).The processor (201) of the device performs the basic computing operations necessary for the operation of the device (200) or the functionality of one or more of its components. The processor (201) executes the necessary machine-readable instructions contained in the main memory (202).
Память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.The memory (202) is typically in the form of RAM and contains the necessary software logic to provide the desired functionality.
Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (203) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.The data storage means (203) can be in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means (203) allows long-term storage of various types of information, for example, the above-mentioned files with user data sets, a database containing records of time intervals measured for each user, user identifiers, etc.
Интерфейсы (204) представляют собой стандартные средства для подключения и работы с компьютерным устройством, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п.Interfaces (204) are standard means for connecting and working with a computer device, such as USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire, etc.
Выбор интерфейсов (204) зависит от конкретного исполнения устройства (200), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук, быть частью банковского терминала, банкомата и т.п.The choice of interfaces (204) depends on the specific design of the device (200), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, part of a banking terminal, ATM, etc.
В качестве средств В/В данных (205) могут использоваться мышь, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, клавиатура, трекбол, световое перо, динамики, микрофон и т.п.The data I/O means (205) may be a mouse, a joystick, a display (touchscreen), a projector, a touchpad, a keyboard, a trackball, a light pen, speakers, a microphone, and the like.
Средства сетевого взаимодействия (206) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (206) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.Means of network interaction (206) are selected from a device that provides network data reception and transmission, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. With the help of means (206) the organization of data exchange over a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM, is provided.
Компоненты устройства (200) сопряжены посредством общей шины передачи данных (210).The components of the device (200) are connected via a common data bus (210).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.In these application materials, a preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, private embodiments of its implementation, which do not go beyond the scope of the requested legal protection and are obvious to specialists in the relevant field of technology.
Claims (29)
Publications (2)
Publication Number | Publication Date |
---|---|
RU2019111675A RU2019111675A (en) | 2023-05-11 |
RU2801674C2 true RU2801674C2 (en) | 2023-08-14 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2825109C1 (en) * | 2023-09-26 | 2024-08-20 | ООО "Ф.А.К.К.Т Антифрод" | Method and system for behavioral user profiling based on analysis of sensor signals of mobile device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112048A1 (en) * | 2000-12-11 | 2002-08-15 | Francois Gruyer | System and method for providing behavioral information of a user accessing on-line resources |
US20070101155A1 (en) * | 2005-01-11 | 2007-05-03 | Sig-Tec | Multiple user desktop graphical identification and authentication |
US20080222712A1 (en) * | 2006-04-10 | 2008-09-11 | O'connell Brian M | User-Browser Interaction Analysis Authentication System |
US7631362B2 (en) * | 2005-09-20 | 2009-12-08 | International Business Machines Corporation | Method and system for adaptive identity analysis, behavioral comparison, compliance, and application protection using usage information |
US9185095B1 (en) * | 2012-03-20 | 2015-11-10 | United Services Automobile Association (Usaa) | Behavioral profiling method and system to authenticate a user |
US20170221064A1 (en) * | 2010-11-29 | 2017-08-03 | Biocatch Ltd. | System, device, and method of differentiating among users based on user-specific page navigation sequence |
RU2670030C2 (en) * | 2017-04-05 | 2018-10-17 | Общество С Ограниченной Ответственностью "Яндекс" | Methods and systems for determining non-standard user activity |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112048A1 (en) * | 2000-12-11 | 2002-08-15 | Francois Gruyer | System and method for providing behavioral information of a user accessing on-line resources |
US20070101155A1 (en) * | 2005-01-11 | 2007-05-03 | Sig-Tec | Multiple user desktop graphical identification and authentication |
US7631362B2 (en) * | 2005-09-20 | 2009-12-08 | International Business Machines Corporation | Method and system for adaptive identity analysis, behavioral comparison, compliance, and application protection using usage information |
US20080222712A1 (en) * | 2006-04-10 | 2008-09-11 | O'connell Brian M | User-Browser Interaction Analysis Authentication System |
US20170221064A1 (en) * | 2010-11-29 | 2017-08-03 | Biocatch Ltd. | System, device, and method of differentiating among users based on user-specific page navigation sequence |
US9185095B1 (en) * | 2012-03-20 | 2015-11-10 | United Services Automobile Association (Usaa) | Behavioral profiling method and system to authenticate a user |
RU2670030C2 (en) * | 2017-04-05 | 2018-10-17 | Общество С Ограниченной Ответственностью "Яндекс" | Methods and systems for determining non-standard user activity |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2825109C1 (en) * | 2023-09-26 | 2024-08-20 | ООО "Ф.А.К.К.Т Антифрод" | Method and system for behavioral user profiling based on analysis of sensor signals of mobile device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11877152B2 (en) | Method, device, and system of differentiating between a cyber-attacker and a legitimate user | |
US11947651B2 (en) | Biometric identification platform | |
CN108780475B (en) | Personalized inference authentication for virtual assistance | |
US11797657B1 (en) | Behavioral profiling method and system to authenticate a user | |
EP3345099B1 (en) | Systems and methods for matching and scoring sameness | |
US10091180B1 (en) | Behavioral profiling method and system to authenticate a user | |
Moskovitch et al. | Identity theft, computers and behavioral biometrics | |
RU2635275C1 (en) | System and method of identifying user's suspicious activity in user's interaction with various banking services | |
US7631362B2 (en) | Method and system for adaptive identity analysis, behavioral comparison, compliance, and application protection using usage information | |
US8875267B1 (en) | Active learning-based fraud detection in adaptive authentication systems | |
US11269978B2 (en) | Detection of slow brute force attacks based on user-level time series analysis | |
CN110442712B (en) | Risk determination method, risk determination device, server and text examination system | |
US9160726B1 (en) | Authentication system with selective authentication method based on risk reasoning | |
US9122866B1 (en) | User authentication | |
US20180068098A1 (en) | Continuous User Authentication | |
CN105590055A (en) | Method and apparatus for identifying trustworthy user behavior in network interaction system | |
CN108229963A (en) | The Risk Identification Method and device of user's operation behavior | |
US9639689B1 (en) | User authentication | |
RU2767710C2 (en) | System and method for detecting remote control by remote administration tool using signatures | |
US20200234310A1 (en) | Identity proofing for online accounts | |
US9998486B2 (en) | System for utilizing one or more databases to identify a point of compromise | |
US11606353B2 (en) | System, device, and method of generating and utilizing one-time passwords | |
US20210182710A1 (en) | Method and system of user identification by a sequence of opened user interface windows | |
RU2801674C2 (en) | Method and system for user identification by sequence of opened windows of the user interface | |
RU2758359C1 (en) | System and method for detecting mass fraudulent activities in the interaction of users with banking services |