WO2020209744A1 - Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса - Google Patents

Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса Download PDF

Info

Publication number
WO2020209744A1
WO2020209744A1 PCT/RU2019/000232 RU2019000232W WO2020209744A1 WO 2020209744 A1 WO2020209744 A1 WO 2020209744A1 RU 2019000232 W RU2019000232 W RU 2019000232W WO 2020209744 A1 WO2020209744 A1 WO 2020209744A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
user interface
window
windows
classifier
Prior art date
Application number
PCT/RU2019/000232
Other languages
English (en)
French (fr)
Inventor
Павел Владимирович СЛИПЕНЧУК
Original Assignee
Общество Ограниченной Ответственностью "Группа Айби"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество Ограниченной Ответственностью "Группа Айби" filed Critical Общество Ограниченной Ответственностью "Группа Айби"
Priority to PCT/RU2019/000232 priority Critical patent/WO2020209744A1/ru
Priority to SG11202101658UA priority patent/SG11202101658UA/en
Priority to EP19924312.2A priority patent/EP3842966A4/en
Publication of WO2020209744A1 publication Critical patent/WO2020209744A1/ru
Priority to US17/171,087 priority patent/US20210182710A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the present technical solution relates to the field of computing, in particular, to a method and system for identifying a user by the sequence of opened windows of the user interface.
  • RU2649793C1 which describes a method for detecting a remote connection of an intruder to a legitimate user's computer based on the analysis of time intervals corresponding to the movements of the mouse cursor.
  • the technical problem to be solved by the claimed technical solution is the creation of a computer-implemented method and system for user identification according to the sequence of opened windows of the user interface, which are characterized in independent claims. Additional embodiments of the present invention are presented in the dependent claims.
  • the technical result consists in automatic user identification according to the sequence of opened user interface windows.
  • a computer-implemented method for identifying a user by a sequence of opening windows of a user interface which consists in performing the steps at which, using a computing device:
  • each user interface window opened by the user is assigned an identifier
  • - accumulate a predetermined number of sessions of a given user; analyze the accumulated data, namely, identify repeating sequences of visited user interface windows (patterns); - for each identified pattern, a set of parameters is calculated that characterize the time elapsed between the transitions of a given user from a window to a user interface window;
  • 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 user interface windows are web pages.
  • those are additionally selected whose length and number satisfy predetermined criteria, and the sets of parameters are calculated only for the selected patterns.
  • patterns are selected that have the maximum possible length, and their number should be no more and no less than predetermined values.
  • a priori weights can be assigned to patterns containing predefined user interface windows, which are taken into account when choosing or training at least one classifier so that the corresponding patterns have a proportionally greater or lesser impact on the final decision of at least one classifier.
  • the set of parameters calculated for each pattern includes the time elapsed between the transitions of a given user from a window to a user interface window, and averaged over all sessions of a given user in which this pattern occurs.
  • the set of parameters calculated for each pattern additionally includes the variance calculated as the variance of a random variable for the time intervals between the transitions of a given user from a window to a user interface window.
  • the set of parameters calculated for each pattern additionally includes the frequency of this pattern in the sessions of the given user.
  • the frequency is taken into account when choosing or training at least one classifier in such a way that patterns with a higher frequency have a proportionally greater influence on the final decision of at least one classifier.
  • the classifier is trained using machine learning.
  • the classifier can be implemented as a graph probabilistic model or as an SVM classifier.
  • the claimed solution is also carried out due to the user identification system by the sequence of visited windows of the user interface, containing:
  • the claimed solution is an integral part of the remote banking system.
  • the claimed solution is an integral part of the website, implying user authorization.
  • the user identification system is an integral part of a multiplayer computer game, implying user authorization.
  • the user identification system is an integral part of the software and hardware complex for collaboration, implying user authorization.
  • FIG. 1 illustrates a computer-implemented method for identifying a user by a sequence of opened user interface windows
  • FIG. 2 illustrates an example of a general arrangement of a computing device.
  • the present invention is directed to providing a computer-implemented method and system for identifying a user by a sequence of opening windows of a user interface.
  • the method will be described using the example of a remote banking system (RBS), however, this example is not limiting.
  • RBS remote banking system
  • the described method can also be implemented in computer online games, software for collaboration, software for online stores, etc.
  • the claimed computer-implemented method for identifying a user by the sequence of opened windows of the user interface (100) is implemented as follows:
  • the user's credentials are pre-registered with the system.
  • User credentials are username and password. It is an essential component of network security.
  • step (102) a user ID corresponding to the credentials is assigned.
  • step (103) each user interface window opened by the user is assigned an identifier.
  • step (104) throughout the entire session of the identified user, the sequence of opened user interface windows is recorded, while:
  • a predetermined number of sessions of a given user is accumulated, and at step (107) the accumulated data is analyzed, namely, repeating sequences of visited user interface windows (patterns) are detected.
  • step (108) for each identified pattern, a set of parameters characterizing the time elapsed between the transitions of a given user from a window to a user interface window is calculated.
  • step (109) a predetermined number of patterns of a given user is saved and, based on the set of parameters calculated for each pattern, at least one classifier is trained to identify this user by the sequence of visited pages.
  • 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 version 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 window user interface and the various possible ways to switch between them (both windows and zones).
  • the method can be implemented in the form of an Internet program (script) operating on the Internet site of the bank providing the RBS service.
  • script an Internet program operating on the Internet site of the bank providing the RBS service.
  • the method can be implemented in the form of a subsystem of a "thin client" RBS, for example, an Internet application operating on a user's mobile device: a smartphone, a mobile phone, etc., and exchanging data via wireless communication channels with a server the bank on which the RBS system itself is installed and operates.
  • a "thin client” RBS for example, an Internet application operating on a user's mobile device: a smartphone, a mobile phone, etc.
  • the method can be implemented in the form of a subsystem of a hardware and 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.
  • the described method can be implemented as part of a multiplayer computer game, implying user authorization. Regardless of the variant 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.
  • User ID is at least one combination of characters that uniquely characterizes a specific user.
  • the identifier can be a hash function from the phone number of the mobile device from which the RB System is accessed. Otherwise, it can be an agent id (internal client identifier used in the banking system). In another case, it can be the bank card number read by the ATM, or the result of the biometric identification of the cardholder or the hash function from such a result.
  • the identifier is a function of the set of information about the software and hardware configuration of the personal computer from which the RB system is accessed
  • the user identifier is generated by the system that implements the method, based on one or more identifiers of a similar purpose coming from the banking system.
  • Generation of such a unique identifier can be performed in any generally known way, for example, by hashing a character string obtained by concatenating identifiers obtained from the banking system.
  • the user ID is encrypted in one way or another on the bank's side; its decryption is not required for the implementation of the described method; it is also unimportant how it was generated. It is enough for this identifier to be unique and stably reproducible during each session of access to the RB System under the credentials (login and password) of a specific account.
  • the identifier of the current user interface window is at least one combination of symbols that uniquely corresponds to the user interface window that is currently open by the user.
  • This window can represent a page of an Internet site, and then the identifier can be, for example, a hash from the URL of this page or from its title (a sequence of characters placed under the ⁇ title> tag). Otherwise this window can be an element of the interface of a program running on a mobile device or in an ATM, and then the identifier can be a hash of the name of this interface element or its other designation used in the program.
  • this identifier is unique within the framework of a given RBS system and is stably reproducible with each successful act of accessing a specific interface window.
  • the identifier of the current window is generated by the system implementing the method based on one or more window identifiers coming from the banking system.
  • Generation of such a unique identifier can be performed in any generally known way, for example, by hashing a character string obtained by concatenating identifiers received from the banking system.
  • the transformation of such a sequence into a unified identifier of a place in the user interface of the RBS can be performed, for example, by taking a hash function from this sequence of characters itself or by any other well-known method.
  • This additional identifier - let us denote it as BANK (q) - is static, it is created once when configuring and starting the RB system of this bank.
  • the BANK identifier (q) is used for the primary sorting of information coming into the system and for addressing the system's response signals to the banking anti-fraud department.
  • the bank identifier BANK (q) does not perform any other functions besides these obvious ones that can be implemented in any well-known way, therefore, in the further description, this identifier is omitted for simplicity.
  • USER identifiers (i); PAGE (j) comes from the RB system always in pairs and simultaneously, each 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 RB system, but this time is neglected in the implementation of the described method, considering the arrival time of identifiers, the arrival time of the last of them.
  • session or, equivalently, the session of a given user, within the framework of this description, we will call a sequence of data that looks like:
  • 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.
  • a significant number of sessions exist simultaneously in the RB System, since many different users can work simultaneously with the RB System. It is a common practice in banks to record (save) all sessions and store this information for a significant time (from several months to several years). In one of the possible embodiments of the described method, this information array can be obtained from the bank and used for preliminary training of the system that implements the method.
  • the system that implements the method sorts the data coming from the RB system or from the training array of information by USER (i) and generates user sessions.
  • Each pair of USER identifiers (i); PAGE (j), as shown in (1), is characterized by the arrival time fixed by storing the time stamp t Therefore, for each pair, except for the very first pair in each session, the time interval T can be calculated between the moment of arrival of this pair and the moment of arrival of the previous one. couples.
  • This interval can be calculated as the difference in timestamps t, calculated with a given precision, for example, with an accuracy of 0.01 seconds.
  • the calculated intervals are saved for use in later calculations.
  • the data sequence (1), recorded for one specific user USER (i), after calculating the time intervals T will take the form:
  • the collection of sessions is analyzed to identify patterns.
  • the term pattern is a repeating sequence of pages, similar to the sequence PAGE (6) - PAGE (33) - PAGE (21) highlighted in (3). Time intervals T (j) are not taken into account at the pattern detection stage.
  • the length of the pattern i.e. the exact number of pages opened sequentially will be considered a pattern is pre-selected.
  • the length of the pattern can be specified by an interval. For example, if the pattern length is set from 3 to 6, then the above pattern PAGE (6) - PAGE (33) - A PAGE (21) with a length of 3 fits the given criterion, while a PAGE (5) - PAGE (9) pattern with a length of 2 does not.
  • the length of the pattern can be predetermined by a fixed value, such as 4.
  • the length of the pattern can be selected automatically depending on the number of patterns detected for a given user.
  • the search for patterns begins, for example, at a given length of 3. If and when the number of detected patterns for a given user exceeds the threshold set when setting up the system (for example, more than 10 patterns were found), the length of the pattern is increased by one and the search is repeated, discarding the previously found short patterns. Such a cycle is performed until a smaller threshold value is found for the number of patterns with the maximum possible length.
  • Such a variant of implementation is possible in which a preliminary modification of some of the found patterns is carried out. During the modification, some of the patterns are assigned additional a priori weights associated with the designation of the interface windows that are part of these patterns.
  • patterns containing the PAGE (m) window which in the RBS system interface serves to request a transfer of funds to a bank account or wallet of a cashless payment system, can be assigned an increased weight, for example, 3 times the weight of other patterns.
  • This weight will be assigned to any patterns containing the PAGE (m) window, regardless of the session of which user USER (i) these patterns were found.
  • the patterns containing the PAGE (x) window which in the RBS system interface is used to pay utility bills or taxes, can be assigned a reduced weight, for example, 0.3 of the weight of unmodified patterns.
  • the specified weight can be used by the system that implements the method, both at the stage of training the classifiers described below, and at the stage of controlling the user's identity. This weight makes sense of the system's sensitivity to an event of a certain type.
  • the atypical behavior of any user in a highly risky, containing a PAGE (m) window the scenario will “alert” the system much more than the atypical behavior in a tax payment scenario, where the likelihood of an attacker taking over someone else's credentials tends to zero.
  • a set of parameters is calculated that characterize the behavior of this user when working with the RB System. All parameters are calculated based on the same collection of sessions.
  • 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.
  • Tcpl and Tcp2 To calculate Tcpl and Tcp2, they take all occurrences of this pattern found in all sessions of a given user, and calculate these averaged values over the previously calculated values of time intervals T (j) between pages PAGE (6) and PAGE (33), as well as between pages PAGE (33) and PAGE (21).
  • Time averaging for example, Tcpl
  • Tcpl can be understood here as the arithmetic mean of all times T1 for all occurrences of this pattern in the collection of sessions of a given user.
  • the geometric mean of all occurrences of a given pattern may be computed.
  • 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 latter option is that the intervals at the beginning or at the end of the session of a given user have the greatest impact on Tcp.
  • the time vector V has the dimension 2 * n, where n is the number of time intervals within the given pattern.
  • the time vector stores both the calculated value of the time interval Tcp and the variance D.
  • the variance is an indicator of how much the duration of a particular time interval Tcp can vary for a given user.
  • the variance of time intervals D1 can be calculated based on the collected collection of sessions of a given user as the variance of the random variable Tcpl, or in any other well-known way.
  • the variance D2 can be calculated as the variance of the random variable Tav2.
  • a frequency can also be calculated for each pattern, showing how often a given pattern occurs in a given user's sessions.
  • 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.
  • classifiers For each user, using his data collection, first of all, 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 generally known; they can be implemented, for example, as a graph probabilistic model (Random Forest) or as an SVM classifier.
  • weights can be taken into account when choosing or training a classifier or classifiers in such a way that the corresponding patterns had proportionally more or less influence on the final decision.
  • frequency can also be used at this stage as a boost or buck factor.
  • one classifier can be trained on the calculated values of the averaged time intervals, and the second - on the calculated values of the variance of the time intervals.
  • a system implementing the described method can be pre-trained offline.
  • 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.
  • the system that implements this method is put online and then operates in conjunction with the RBS service.
  • the system that implements the method sorts the data coming from the RBS service by USER (i) and generates user sessions (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 corresponding USER (i) user are selected and run. All data of the current session of the given user are fed to the input of the classifier or classifiers.
  • the system that implements the described method analyzes the user's identity directly during the work of this user with the RB service.
  • the decision of the classifier or classifiers is a numerical estimate of the probability that under the given USER (i) the user entered the RBS system on whose collection of patterns the classifier or classifiers were trained. This solution is constantly updated during the user's session, i.e. the decision of the classifier or classifiers is revised upon receipt of each next pair ⁇ USER (i), PAGE (j) ⁇ .
  • each classifier is sent to the anti-fraud system of the bank, where they can be used to generate alarm notifications that have the meaning of warning about the atypical behavior of a specific user USER (i), or other signals of a similar purpose.
  • the solutions of trained classifiers can enter the access control system used by this service or site, to the work panel of a service moderator or an information security specialist, or used by the system software to perform actions that prevent illegal access to the system. For example, to initiate direct communication with a given user and request additional identifying information (security question, phone number, and so on).
  • an anti-fraud system for example, an online store, a web service for teamwork, a multiplayer computer game
  • the solutions of trained classifiers can enter the access control system used by this service or site, to the work panel of a service moderator or an information security specialist, or used by the system software to perform actions that prevent illegal access to the system. For example, to initiate direct communication with a given user and request additional identifying information (security question, phone number, and so on).
  • such a signal can be generated provided 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.
  • a variant of the system implementation is also possible, in which the condition for the formation of an alarm signal is the absence, for a predetermined time, of at least one pattern having the highest frequency of all patterns of a given user.
  • the described method can be implemented in any version of the authorized remote access service, which implies the presence of several user interface windows or the presence of several work zones in one complex user interface window and various possible ways of switching between them (both windows and zones).
  • FIG. 2 a general diagram of a computer device (200) that provides data processing necessary for the implementation of the claimed solution will be presented.
  • 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 tools (206).
  • processors 201
  • memory 202
  • data storage means 203
  • input / output interfaces 204
  • I / O means 205
  • networking tools 206
  • the device processor (201) performs the basic computational operations required for the operation of the device (200) or the functionality of one or more of its components.
  • the processor (201) executes the necessary computer-readable instructions contained in the main memory (202).
  • Memory (202) is made in the form of RAM and contains the necessary software logic that provides the required functionality.
  • the data storage medium (203) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray discs), etc.
  • the means (203) allows performing long-term storage of various types of information, for example, the aforementioned files with user data sets, a database containing records of time intervals measured for each user, user identifiers, etc.
  • Interfaces (204) are standard means for connecting and working with a computer device, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, FireWire, etc.
  • interfaces (204) depends on the specific implementation of the device (200), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, be part of a bank terminal, ATM, etc.
  • the I / O means (205) can be a mouse, joystick, display (touchscreen), projector, touchpad, keyboard, trackball, light pen, speakers, microphone, etc.
  • Networking tools are selected from a device that provides network reception and transmission of data, for example, Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc.
  • N05 the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM, is provided.
  • the components of the device (200) are linked via a common data bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

ИДЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЯ ПО ПОСЛЕДОВАТЕЛЬНОСТИ ОТКРЫВАЕМЫХ ОКОН
ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.
УРОВЕНЬ ТЕХНИКИ
Задача защиты информации от несанкционированного доступа становится всё более актуальной. Один из механизмов несанкционированного доступа к чужим денежным средствам, активно используемый злоумышленниками, подразумевает получение ими учётных данных пользователя (обычно это логин и пароль) и последующее подключение к защищённому ресурсу с использованием этих учётных данных. При этом, вне зависимости от использованного сценария получения доступа к учётным данным (применение кейлоггеров, удалённое подключение к компьютеру, кража не защищённого паролем мобильного устройства, а также другие методы, как и различные их комбинации) с точки зрения системы разграничения доступа, действия злоумышленника неотличимы от действий легитимного пользователя, под чьими учётными данными в систему вошёл злоумышленник .
Из уровня техники известны решения, описывающие идентификации пользователя по поведенческому анализу: US2017032250A1, опубл. 02.02.2017; CN106355450A, опубл. 25.01.2017; CN106202482A, опубл. 07.12.2016.
Кроме того, из уровня техники известно решение, RU2649793C1, описывающее способ обнаружения удалённого подключения злоумышленника к компьютеру легитимного пользователя на базе анализа интервалов времени, соответствующих движениям курсора мыши.
Однако, известные из уровня техники решения имеют ограниченную функциональность. В частности, решение, описанное в RU2649793C1, не способно обнаружить злоумышленника, который не пользуется программой удалённого доступа. Многие другие известные решения для реализации требуют значительного количества данных, предварительно размеченных человеком. Предлагаемый способ выявления злоумышленника, пользующегося чужими учётными данными для доступа к сервису, предусматривающему авторизацию и разграничение доступа, не имеет ограничений по использованному злоумышленником сценарию получения доступа к легитимной учётной записи и не требует ручной разметки данных, используемых для предварительного обучения системы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по последовательности открываемых окон пользовательского интерфейса, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат заключается в автоматической идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:
- регистрируют учетные данные пользователя в системе;
- присваивают соответствующий учетным данным идентификатор пользователя;
- каждому открываемому пользователем окну пользовательского интерфейса присваивают идентификатор;
- на протяжении всего сеанса работы идентифицированного пользователя фиксируют последовательность открываемых окон пользовательского интерфейса, при этом:
• сохраняют идентификатор окна, которое в данный момент открыто пользователем, и время открытия данного окна;
• при каждом переходе к новому окну пользовательского интерфейса сохраняют идентификатор этого окна и время, когда оно было открыто;
- накапливают заранее заданное количество сеансов работы данного пользователя; анализируют накопленные данные, а именно выявляют повторяющиеся последовательности посещаемых окон пользовательского интерфейса (паттерны); - для каждого выявленного паттерна вычисляют набор параметров, характеризующих время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса;
- сохраняют заданное количество паттернов данного пользователя и на основе вычисленных для каждого паттерна набора параметров обучают по меньшей мере один классификатор идентифицировать данного пользователя по последовательности посещаемых страниц;
- применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор.
В частном варианте окна пользовательского интерфейса являются веб-страницами.
В другом частном варианте из выявленных паттернов дополнительно отбирают такие, длина и количество которых удовлетворяют заранее заданным критериям, и наборы параметров вычисляют только для отобранных паттернов.
В другом частном варианте отбирают паттерны, имеющие максимально возможную длину, причём их количество должно быть не больше и не меньше заранее заданных значений.
В другом частном варианте паттернам, содержащим заранее определённые окна пользовательского интерфейса, могут быть присвоены априорные веса, которые учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы соответствующие паттерны оказывали пропорционально большее или меньшее влияние на итоговое решение по меньшей мере одного классификатора.
В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, входит время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса, и усреднённое по всем сеансам работы данного пользователя, в которых встречается данный паттерн.
В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, дополнительно входит дисперсия, вычисленная как дисперсия случайной величины, для временных интервалов между переходами данного пользователя от окна к окну пользовательского интерфейса. В другом частном варианте в набор параметров, вычисляемых для каждого паттерна, дополнительно входит частотность данного паттерна в сеансах работы данного пользователя.
В другом частном варианте частотность учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы паттерны с большей частотностью оказывали пропорционально большее влияние на итоговое решение по меньшей мере одного классификатора.
В другом частном варианте классификатор обучают методом машинного обучения.
В другом частном варианте классификатор может быть реализован как графовая вероятностная модель или как SVM-классификатор.
Заявленное решение также осуществляется за счет системы идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса, содержащая:
- блок регистрации учетных данных пользователя в системе;
- системные часы, выполненные с возможностью фиксации времени
- блок идентификации текущего окна пользовательского интерфейса;
- долговременную память, выполненную с возможностью хранения базы данных;
- вычислительное устройство, выполненное с возможностью выполнения вышеописанного способа.
В одном из возможных вариантов реализации заявленное решение является составной частью дистанционной системы банковского обслуживания.
В другом из возможных вариантов реализации заявленное решение является составной частью веб-сайта, подразумевающего авторизацию пользователей.
В другом из возможных вариантов реализации система идентификации пользователя является составной частью многопользовательской компьютерной игры, подразумевающей авторизацию пользователей.
В другом из возможных вариантов реализации система идентификации пользователя является составной частью программно-аппаратного комплекса для совместной работы, подразумевающего авторизацию пользователей. ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса;
Фиг. 2 иллюстрирует пример общей схемы компьютерного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по последовательности открываемых окон пользовательского интерфейса.
Способ будет описан на примере системы дистанционного банковского обслуживания (ДБО), однако, этот пример не является ограничивающим. Помимо системы ДБО, на примере которой будет описан способ, описываемый способ может также быть реализован в компьютерных онлайн-играх, программном обеспечении для совместной работы, программном обеспечении интернет-магазинов и т.д.
Как представлено на Фиг. 1 , заявленный компьютерно-реализуемый способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса (100) реализован следующим образом: На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности.
Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователя.
На этапе (103) каждому открываемому пользователем окну пользовательского интерфейса присваивают идентификатор.
На этапе (104) на протяжении всего сеанса работы идентифицированного пользователя фиксируют последовательность открываемых окон пользовательского интерфейса, при этом:
• сохраняют идентификатор окна, которое в данный момент открыто пользователем, и время открытия данного окна;
• при каждом переходе к новому окну пользовательского интерфейса сохраняют идентификатор этого окна и время, когда оно было открыто.
На этапе (106) накапливают заранее заданное количество сеансов работы данного пользователя, а на этапе (107) анализируют накопленные данные, а именно выявляют повторяющиеся последовательности посещаемых окон пользовательского интерфейса (паттерны).
При этом, на этапе (108) для каждого выявленного паттерна вычисляют набор параметров, характеризующих время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса.
После чего, на этапе (109) сохраняют заданное количество паттернов данного пользователя и на основе вычисленных для каждого паттерна набора параметров обучают по меньшей мере один классификатор идентифицировать данного пользователя по последовательности посещаемых страниц.
И на этапе (110) применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор.
Описываемый способ может быть реализован в любом варианте сервиса авторизованного удалённого доступа, который подразумевает наличие нескольких окон пользовательского интерфейса либо наличие нескольких рабочих зон в одном сложном окне пользовательского интерфейса и различных возможных путей переключения между ними (как окнами, так и зонами).
Нижеперечисленные варианты технической реализации даны для примера и также не являются ограничивающими.
В одном варианте технической реализации способ может быть реализован в виде интернет- программы (скрипта), функционирующей на интернет-сайте банка, предоставляющего услугу ДБО.
В другом варианте технической реализации способ может быть реализован в виде подсистемы «тонкого клиента» ДБО, например, интернет-приложения, функционирующего на мобильном устройстве пользователя: смартфоне, мобильном телефоне и т.д., и ведущего обмен данными по каналам беспроводной связи с сервером банка, на котором установлена и работает собственно система ДБО.
Ещё в одном варианте технической реализации способ может быть реализован в виде подсистемы программно-аппаратного комплекса, функционирующего в «облаке» и обменивающегося данными по беспроводным и проводным каналам с «тонкими клиентами», банкоматами и с процессинговым центром банка.
Возможна также реализация описываемого способа в виде распределённой программно- аппаратной системы, находящейся на различных интернет-серверах, например, с целью распределения нагрузки, и обслуживающей одновременно множество каналов ДБО, принадлежащих разным банкам.
Ещё в одном варианте способ может быть реализован как часть программы или сервиса для совместной работы, где подразумевается авторизованный доступ пользователей (о таких программах или сервисах см. https://m.wikipedia.org/w/mdex.php?title=%D0%9F%Dl%80%D0%BE%D0%B3%Dl%80%D
0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5 %D0%BE%D0%B 1 %D0%B5%D 1
%81 %D0%BF%D0%B5%D 1 %87%D0%B5%D0%BD%D0%B8%D0%B5 %D1%81%D0%BE
%D0%B2%D0%BC%D0%B5%D 1 %81 %D 1 %82%D0%BD%D0%BE%D0%B9 %D 1 %80%D
0%B0%D0%B 1 %D0%BE%D 1 %82%D 1 %8B&oldid=80620207 ). Ещё в одном возможном варианте описываемый способ может быть реализован как часть многопользовательской компьютерной игры, подразумевающей авторизацию пользователей. Вне зависимости от варианта технического выполнения описываемого способа, для его реализации необходимо получение двух идентификаторов: идентификатора пользователя и идентификатора текущего окна пользовательского интерфейса.
Идентификатор пользователя — это минимум одно сочетание символов, уникальным образом характеризующее конкретного пользователя. Например, идентификатором может быть хэш-функция от телефонного номера мобильного устройства, с которого осуществляется доступ к системе ДБО. В другом случае это может быть agent id (внутренний идентификатор клиента, используемый в банковской системе). Ещё в одном случае это может быть номер банковской карты, считанный банкоматом, либо результат биометрической идентификации владельца карты или хэш-функция от такого результата.
Возможен случай, когда идентификатор является функцией от набора сведений о программно-аппаратной конфигурации персонального компьютера, с которого осуществляется доступ к системе ДБО
Возможен также вариант реализации описываемого способа, при котором идентификатор пользователя генерируется системой, реализующей способ, на основе одного или нескольких идентификаторов аналогичного назначения, поступающих от банковской системы. Генерация такого уникального идентификатора может быть выполнена любым общеизвестным способом, например, хешированием символьной строки, полученной путём конкатенации идентификаторов, полученных из банковской системы.
Как правило, идентификатор пользователя так или иначе зашифрован на стороне банка; его расшифровка не требуется для реализации описываемого способа, несущественно и то, каким конкретно образом он был сгенерирован. Достаточно, чтобы этот идентификатор был уникальным и стабильно воспроизводимым при каждом сеансе доступа к системе ДБО под учётными данными (логином и паролем) конкретной учётной записи.
В дальнейшем для простоты будем обозначать идентификатор пользователя как USER(i), где различное значение i указывает на разных пользователей.
Идентификатор текущего окна пользовательского интерфейса — это минимум одно сочетание символов, которое однозначно соответствует тому окну пользовательского интерфейса, которое в данный момент открыто пользователем.
Это окно может представлять собой страницу интернет-сайта, и тогда идентификатор может представлять собой, например, хэш от URL данной страницы или от её заголовка (последовательности символов, помещённой под тэгом <title>). В другом случае это окно может представлять собой элемент интерфейса программы, работающей на мобильном устройстве или в банкомате, и тогда идентификатором может быть хэш названия данного элемента интерфейса либо иное его обозначение, используемое в программе.
Для целей реализации описываемого способа достаточно, чтобы этот идентификатор был уникальным в рамках данной системы ДБО и стабильно воспроизводимым при каждом удачном акте доступа к конкретному окну интерфейса.
Возможен также вариант реализации описываемого способа, при котором идентификатор текущего окна генерируется системой, реализующей способ, на основе одного или нескольких идентификаторов окна, поступающих от банковской системы. Генерация такого уникального идентификатора может быть выполнена любым общеизвестным способом, например, хешированием символьной строки, полученной путём конкатенации идентификаторов, принятых от банковской системы.
В варианте реализации способа, подразумевающем наличие одного сложного окна интерфейса пользователя, имеющего несколько рабочих зон, в роли «идентификатора текущего окна» может выступать фокус ввода, htps://ru.wikipedia.Org/w/index.php ?title=%D0%A4%D0%BE%D0%BA%D 1 %83%D 1 %81 ( %D0%BF%D0%BE%D0%BB%D 1 %8C%D0%B7%D0%BE%D0%B2%D0%B0%D 1 %82%D0 %B5%D0%BB%D 1 %8C%D 1 %81 %D0%B A%D0%B8%D0%B9 %D0%B8%D0%BD%D 1 %8 2%D0%B5%D 1 %80%D 1 %84%D0%B5%D0%B9%D 1 %81 )&stable= 1 , т.е. некоторая последовательность служебных символов, порождаемая программой, которой принадлежит сложное окно, и несущая информацию о том, какой из многочисленных элементов интерфейса программы (кнопок, всплывающих списков, радиокнопок, окон ввода текста, и т.д.) в настоящий момент активен и готов к восприятию команд пользователя.
Преобразование такой последовательности в унифицированный идентификатор места в пользовательском интерфейсе ДБО может быть выполнено, например, взятием хэш- функции от самой этой последовательности символов или любым другим общеизвестным способом.
Ниже по описанию будем обозначать идентификатор текущего окна как PAGE(j), где различное значение j указывает на разные окна пользовательского интерфейса или разные элементы пользовательского интерфейса в однооконном варианте. Для реализации описываемого способа в виде распределённой программно-аппаратной системы, находящейся на различных интернет-серверах и обслуживающей одновременно множество каналов ДБО, принадлежащих разным банкам, потребуется также сбор и обработка дополнительного идентификатора, указывающего, из системы какого банка поступили те или иные идентификаторы USER(i); PAGE(j).
Этот дополнительный идентификатор — обозначим его как BANK(q) — является статическим, он создаётся один раз при настройке и запуске системы ДБО данного банка. Технически он может представлять собой, например, SSL-сертификат, которым подписаны сайты данного банка, или отдельную символьную строку, например, BANK(q)=SBERBANK, передаваемую ДБО каждого банка. Идентификатор BANK(q) используется для первичной сортировки поступающих в систему сведений и адресации ответных сигналов системы— банковскому антифрод- департаменту.
Других функций, помимо этих, очевидных и допускающих реализацию любым общеизвестным способом, идентификатор банка BANK(q) не выполняет, поэтому в дальнейшем описании этот идентификатор для простоты изложения опускаем.
Идентификаторы USER(i); PAGE(j) поступают от системы ДБО всегда попарно и одновременно, каждый сопровождается временной меткой (timestamp). Фактически между поступлением первого и второго идентификаторов может проходить какое-то время, обусловленное задержками сигнала в физических линиях связи, используемых системой ДБО, но этим временем в рамках реализации описываемого способа пренебрегаем, считая временем поступления идентификаторов время поступления последнего из них.
Термином сессия (S) или, что-то же самое, сеанс работы данного пользователя, в рамках этого описания будем называть последовательность данных, имеющую вид:
S={USER(i); PAGE(l); ti}, (USER(i); PAGE(2), t2}, ... {USER(i); PAGE(N), tN) (1) где ti - временная метка, соответствующая времени открытия пользователем USER(i) окна PAGE(l), t2— временная метка, соответствующая времени открытия тем же пользователем окна PAGE(2), и так далее.
Важно, что сессия — это последовательность пар идентификаторов, в которой идентификатор пользователя в каждой паре один и тот же, т.е. сессия всегда ассоциирована с конкретным пользователем и полностью описывает один сеанс его работы с системой ДБО. В общем случае, в системе ДБО одновременно существует значительное количество сессий, поскольку одновременно с системой ДБО может работать множество разных пользователей. Общепринятой практикой в банках является запись (сохранение) всех сессий и хранение этих сведений в течение значительного времени (от нескольких месяцев до нескольких лет). В одном из возможных вариантов реализации описываемого способа этот массив информации может быть получен от банка и использован для предварительного обучения системы, реализующей способ.
Очевидно, в массиве данных, охватывающих достаточно длительный временной период (например, месяц), наряду с сессиями легитимных пользователей обязательно будут присутствовать и сессии злоумышленников. Однако, известно, что частотность доступа злоумышленников к системе ДБО крайне незначительна. Легитимные сессии составляют абсолютное большинство сессий, сохранённых за продолжительный период времени.
Поскольку обучение системы по существу представляет собой накопление и статистический анализ информации, наличие небольшого количества нелегитимных сессий не скажется на качестве и результатах обучения.
Система, реализующая способ, сортирует данные, поступающие от системы ДБО либо из обучающего массива информации, по USER(i), и формирует пользовательские сессии. Каждая пара идентификаторов USER(i); PAGE(j), как показано в (1), характеризуется временем поступления, зафиксированным посредством сохранения временной метки t Поэтому для каждой пары, кроме самой первой пары в каждой сессии, может быть рассчитан временной интервал Т между моментом поступления данной пары и моментом поступления предыдущей пары. Этот интервал может быть рассчитан как разность временных меток (timestamps) t, вычисляемая с заданной точностью, например, с точностью до 0.01 секунды. Например, интервал между первой и второй парами идентификаторов в каждом сеансе работы данного пользователя рассчитывается как Т= t2 -ti, и т.д.
Рассчитанные интервалы сохраняют для использования в дальнейших вычислениях.
Последовательность данных (1), записанная для одного конкретного пользователя USER(i), после расчёта временных интервалов Т примет вид:
PAGE(j) - ТО) - PAGE(j+l) - TG+1) - PAGEG+2) - TG+2) - ... - Tn-1 - PAGEG+N); (2) где TG) - выраженное в секундах и долях секунды (не обязательно целочисленное) время, прошедшее между моментом, когда данный пользователь открыл окно PAGEG), и моментом, когда этот же пользователь открыл окно PAGEG+1)· Необходимо отметить, что между самими по себе окнами (например, веб-страницами) PAGE(j), PAGE(j+l) в системе ДБО может не существовать вообще никакой связи, ни логической, например, выраженной в текстовом сообщении просьбы перейти на определённую страницу, ни физической, т.е. гиперссылки, ведущей с одной страницы на другую. Подобные переходы образуются в сессиях ботов, т.е. программ, имитирующих ту или иную активность пользователей ДБО.
Притом для работы системы, реализующей данный способ, не имеет никакого значения, что именно представляют собой окна пользовательского интерфейса PAGE(j) и PAGE(j+l). Они необходимы только в контексте того факта, что пользователь, авторизованный под учётной записью USER(i), сначала открыл окно PAGE(j), а через некоторое рассчитанное время - окно PAGE(j+l).
Таким образом, для каждого USER(i) образуется коллекция сессий (сеансов работы данного пользователя), имеющая следующий вид (номера окон и длительности интервалов между ними в этом примере выбраны произвольно):
Sl = PAGE(5) - 8 - PAGE(9) - 51- ... - PAGE(2) -6- PAGE(6) - 4 - PAGE(33) - 12 - PAGE(21) S2= PAGE(8) - 88 - PAGE(35) - ... - PAGE(61 - 5 - PAGEP31 - 10 - PAGE(21) -31- PAGEf21 S3= PAGE(61 - 4 - PAGEQ31 - 18 - PAGE/21 ) - ... - PAGE(54) - 93 - PAGE(5) -11 - PAGE(9)
Sk= PAGE(94) - 11 - PAGE(62) - 52- ... - PAGE(5) - 42 - PAGE(9) - 30 - PAGE(72) (3)
Когда общее количество сессий Sk превышает заранее заданный порог (например, становится больше 20), коллекцию сессий анализируют, выявляя паттерны. Термином паттерн в данном случае будем называть повторяющуюся последовательность страниц, наподобие выделенной в (3) последовательности PAGE(6) - PAGE(33) - PAGE(21). Временные интервалы T(j) на этапе выявления паттернов не учитываются.
Важно, что как все описанные, так и последующие преобразования данных всегда выполняются именно для данного конкретного пользователя. Сессии из коллекций разных пользователей никогда не анализируют совместно.
Длина паттерна, т.е. то, какое именно количество страниц, открытых последовательно, будет считаться паттерном, выбирается заранее. В одном возможном варианте реализации описываемого способа длина паттерна может быть задана интервалом. Например, если задана длина паттерна от 3 до 6, то показанный выше паттерн PAGE(6) - PAGE(33) - PAGE(21), имеющий длину 3, подходит под заданный критерий, а паттерн PAGE(5) - PAGE(9), имеющий длину 2, не подходит. В другом варианте реализации длина паттерна может быть заранее задана фиксированной величиной, например, 4.
Ещё в одном возможном варианте реализации длина паттерна может выбираться автоматически в зависимости от количества паттернов, выявляемых для данного пользователя. В этом варианте поиск паттернов начинается, например, при заданной длине 3. Если и когда количество выявленных паттернов для данного пользователя превышает установленный при настройке системы порог (например, паттернов найдено более 10), длину паттерна увеличивают на единицу и повторяют поиск, отбросив ранее найденные короткие паттерны. Такой цикл выполняется до тех пор, пока не будет найдено меньшее пороговой величины количество паттернов, имеющих максимально возможную длину.
Возможен такой вариант реализации, при котором проводится предварительная модификация некоторых найденных паттернов. В ходе модификации некоторым паттернам присваивают дополнительные априорные веса, связанные с назначением окон интерфейса, входящих в состав этих паттернов.
Говоря о «весе паттерна», в данном случае подразумеваем некое наперёд заданное число, ассоциированное с данным паттерном и хранящееся в системе, реализующей описываемый способ.
Например, паттернам, содержащим окно PAGE(m), которое в интерфейсе системы ДБО служит для запроса перевода средств на банковский счёт или на кошелёк безналичной платёжной системы, может быть присвоен повышенный вес, например, в 3 раза, превышающий вес других паттернов.
Этот вес будет присваиваться любым паттернам, содержащим окно PAGE(m), вне зависимости от того, в сессиях какого именно пользователя USER(i) найдены данные паттерны.
Аналогично, паттернам, содержащим окно PAGE(x), которое в интерфейсе системы ДБО служит для уплаты коммунальных платежей или налогов, может быть присвоен пониженный вес, например, в 0.3 от веса не модифицированных паттернов.
Указанный вес может использоваться системой, реализующей способ, как на описанном ниже этапе обучения классификаторов, так и на этапе контроля идентичности пользователя. Такой вес имеет смысл чувствительности системы к событию определённого вида. В данном примере нетипичное поведение любого пользователя в высоко рискованном, содержащем окно PAGE(m), сценарии будет значительно больше“настораживать” систему, чем нетипичное поведение в сценарии уплаты налогов, где вероятность появления злоумышленника, завладевшего чужими учётными данными, стремится к нулю.
Для каждого выявленного паттерна вычисляется набор параметров, характеризующих манеру поведения данного пользователя при работе с системой ДБО. Все параметры вычисляются на основании той же коллекции сессий.
Первый параметр представляет собой вектор, который будем называть вектором времени V. Это вектор, размерность которого соответствует количеству временных интервалов внутри данного паттерна. Например, для паттерна PAGE(6) - PAGE(33) - PAGE(21) вектор времени будет двумерным: Y = (Tcpl, Тср2), где Tcpl — рассчитанное по заранее определённому алгоритму характерное для данного пользователя время между открытием окон PAGE(6) и PAGE(33), а Тср2— между открытием окон PAGE(33) и PAGE(21).
Для вычисления Tcpl и Тср2 берут все вхождения данного паттерна, найденные во всех сеансах работы данного пользователя, и вычисляют эти усреднённые значения по ранее вычисленным значениям временных интервалов T(j) между страницами PAGE(6) и PAGE(33), а также между страницами PAGE(33) и PAGE(21).
Под усреднением времени, например, Tcpl, здесь может пониматься среднее арифметическое от всех времён Т1 для всех вхождений данного паттерна в коллекцию сессий данного пользователя. В другом варианте реализации может вычисляться среднее геометрическое от всех вхождений данного паттерна. Возможен вариант, при котором вычисляется среднее взвешенное, где в роли веса для каждого временного времени Ti берётся количество страниц, отделяющих данный интервал от начального интервала Т1 или от конечного интервала данного паттерна. Смысл последнего варианта в том, чтобы наибольшее влияние на Тср оказали интервалы при начале или при окончании сессии данного пользователя.
В другой возможной реализации вектор времени V имеет размерность 2*п, где п количество временных интервалов внутри данного паттерна. В таком случае вектор времени хранит как рассчитанное значение временного интервала Тср, так и дисперсию D. Дисперсия здесь является показателем того, насколько сильно может варьировать длительность конкретного временного интервала Тср у данного пользователя. Подобный вектор размерности 2*п может выглядеть следующим образом: V = (Tcpl, Dl, Тср2, D2). Дисперсия временных интервалов D1 может быть вычислена на основании собранной коллекции сессий данного пользователя как дисперсия случайной величины Tcpl, либо любым другим общеизвестным способом. Аналогично, дисперсия D2 может быть вычислена как дисперсия случайной величины Тср2.
Помимо вектора времени для каждого паттерна может также вычисляться частотность, показывающая, насколько часто данный паттерн встречается в сессиях данного пользователя. Частотность равна отношению количества вхождений данного паттерна L к количеству сессий данного пользователя К.
Этот параметр может быть, как меньше единицы, если паттерн встречается не в каждой сессии, так и больше, если паттерн встречается несколько раз на протяжении каждой сессии. l = L/K (4)
Найденные паттерны и вычисленные для каждого из них параметры сохраняют для использования в дальнейших вычислениях.
Затем для каждого пользователя, используя его коллекцию данных, в первую очередь, набор векторов времени V, обучают одно или несколько решающих правил (классификаторов). Техническая реализация классификатора или классификаторов может быть любой общеизвестной; они могут быть реализованы, например, как графовая вероятностная модель (Random Forest) или как SVM-классификатор.
Если каким-то паттернам при составлении коллекции паттернов были присвоены повышенные и\или пониженные веса, связанные с назначением одной или нескольких входящих в паттерн окон интерфейса системы ДБО, то эти веса могут учитываться при выборе или обучении классификатора или классификаторов таким образом, чтобы соответствующие паттерны оказывали пропорционально большее или меньшее влияние на итоговое решение. Аналогичным образом, в роли повышающего или понижающего коэффициента, на данном этапе может использоваться также частотность.
В одной из возможных реализаций описываемого метода один классификатор может обучаться на рассчитанных значениях усреднённых временных интервалов, а второй— на рассчитанных значениях дисперсии временных интервалов.
Все вышеописанные действия, начиная с сохранения пар идентификаторов (USER(i), PAGE(j)} и соответствующих им отметок времени t, и заканчивая обучением классификаторов для данного пользователя, могут выполняться в режиме онлайн, непосредственно в ходе функционирования сервиса ДБО.
В другом возможном варианте реализации система, реализующая описываемый способ, может проходить предварительное обучение в режиме офлайн. В этом варианте реализации система получает для анализа заранее сохранённый сервисом ДБО массив данных, выполняет, как было описано выше, анализ данных, обучает классификаторы для всех пользователей, идентификаторы которых были в поступившем массиве данных. Когда анализ завершён, и классификаторы обучены, система, реализующая данный способ, переводится в режим онлайн и далее функционирует совместно с сервисом ДБО.
Применение обученного классификатора или классификаторов может выглядеть следующим образом. Система, реализующая способ, сортирует данные, поступающие от сервиса ДБО, по USER(i) и формирует пользовательские сессии (сеансы работы конкретных пользователей). С самого начала сессии, как только получен самый первый USER(i), выбирается и запускается классификатор или классификаторы, обученные на коллекции паттернов соответствующего этому USER(i) пользователя. На вход классификатора или классификаторов подаются все данные текущего сеанса работы данного пользователя. Таким образом, система, реализующая описываемый способ, ведёт анализ идентичности пользователя непосредственно в ходе работы этого пользователя с сервисом ДБО.
Решение классификатора или классификаторов представляет собой численную оценку вероятности того, что под данным USER(i) вход в систему ДБО совершил именно тот пользователь, на коллекции паттернов которого были обучены классификатор или классификаторы. Это решение постоянно обновляется в ходе сеанса работы данного пользователя, т.е. решение классификатора или классификаторов пересматривается при поступлении каждой очередной пары {USER(i), PAGE(j)}.
Решения каждого классификатора поступают в антифрод-систему банка, где могут использоваться для генерации тревожных оповещений, имеющих смысл предупреждения о нетипичном поведении конкретного пользователя USER(i), или других сигналов аналогичного назначения.
В тех вариантах реализации описанного способа, которые не подразумевают наличия антифрод-системы (например, интернет-магазин, веб-сервис для коллективной работы, многопользовательская компьютерная игра) решения обученных классификаторов могут поступать в систему разграничения доступа, используемую данным сервисом или сайтом, на рабочую панель модератора сервиса или специалиста по информационной безопасности, либо использоваться программным обеспечением системы для совершения действий, предупреждающих нелегитимный доступ к системе. Например, для инициирования прямой связи с данным пользователем и запроса дополнительной идентифицирующей информации (контрольного вопроса, номера телефона и так далее).
В одном из возможных вариантов реализации данного способа такой сигнал может формироваться при условии отсутствия типичных паттернов на протяжении наперёд заданного количества открытых пользователем страниц, т.е. когда данный пользователь достаточно долго ведёт себя нетипично.
Возможен также вариант реализации системы, при котором условием формирования тревожного сигнала является отсутствие на протяжении наперёд заданного времени по меньшей мере одного паттерна, имеющего наибольшую частотность из всех паттернов данного пользователя.
Описываемый способ может быть реализован в любом варианте сервиса авторизованного удалённого доступа, который подразумевает наличие нескольких окон пользовательского интерфейса либо наличие нескольких рабочих зон в одном сложном окне пользовательского интерфейса и различных возможных путей переключения между ними (как окнами, так и зонами).
На Фиг. 2 далее будет представлена общая схема компьютерного устройства (200), обеспечивающего обработку данных, необходимую для реализации заявленного решения.
В общем случае устройство (200) содержит такие компоненты, как: один или более процессоров (201), по меньшей мере одну память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средство В/В (205), средства сетевого взаимодействия (206).
Процессор (201) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (200) или функциональности одного или более его компонентов. Процессор (201) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (202).
Память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (203) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
Интерфейсы (204) представляют собой стандартные средства для подключения и работы с компьютерным устройством, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п.
Выбор интерфейсов (204) зависит от конкретного исполнения устройства (200), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук, быть частью банковского терминала, банкомата и т.п.
В качестве средств В/В данных (205) могут использоваться мышь, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, клавиатура, трекбол, световое перо, динамики, микрофон и т.п.
Средства сетевого взаимодействия (N06) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (N05) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
Компоненты устройства (200) сопряжены посредством общей шины передачи данных
(210).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.

Claims

Формула изобретения
1. Способ идентификации пользователя по последовательности открываемых окон пользовательского интерфейса, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:
- регистрируют учетные данные пользователя в системе;
- присваивают соответствующий учетным данным идентификатор пользователя;
- каждому открываемому пользователем окну пользовательского интерфейса присваивают идентификатор;
- на протяжении всего сеанса работы идентифицированного пользователя фиксируют последовательность открываемых окон пользовательского интерфейса, при этом:
• сохраняют идентификатор окна, которое в данный момент открыто пользователем, и время открытия данного окна;
• при каждом переходе к новому окну пользовательского интерфейса сохраняют идентификатор этого окна и время, когда оно было открыто;
- накапливают заранее заданное количество сеансов работы данного пользователя; анализируют накопленные данные, а именно выявляют повторяющиеся последовательности посещаемых окон пользовательского интерфейса (паттерны);
- для каждого выявленного паттерна вычисляют набор параметров, характеризующих время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса;
- сохраняют заданное количество паттернов данного пользователя и на основе вычисленных для каждого паттерна набора параметров обучают по меньшей мере один классификатор идентифицировать данного пользователя по последовательности посещаемых страниц;
- применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор.
2. Способ по п.1, характеризующийся тем, что окна пользовательского интерфейса являются веб-страницами.
3. Способ по п.1, характеризующийся тем, что из выявленных паттернов дополнительно отбирают такие, длина и количество которых удовлетворяют заранее заданным критериям, и наборы параметров вычисляют только для отобранных паттернов.
4. Способ по п.З, характеризующийся тем, что отбирают паттерны, имеющие максимально возможную длину, причём их количество должно быть не больше и не меньше заранее заданных значений.
5. Способ по п. 1, характеризующийся тем, что паттернам, содержащим заранее определённые окна пользовательского интерфейса, могут быть присвоены априорные веса, которые веса учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы соответствующие паттерны оказывали пропорционально большее или меньшее влияние на итоговое решение по меньшей мере одного классификатора.
6. Способ по п. 1, характеризующийся тем, что в набор параметров, вычисляемых для каждого паттерна, входит время, проходящее между переходами данного пользователя от окна к окну пользовательского интерфейса, и усреднённое по всем сеансам работы данного пользователя, в которых встречается данный паттерн.
7. Способ по п. 6, характеризующийся тем, что в набор параметров, вычисляемых для каждого паттерна, дополнительно входит дисперсия, вычисленная как дисперсия случайной величины, для временных интервалов между переходами данного пользователя от окна к окну пользовательского интерфейса.
8. Способ по п.6, характеризующийся тем, что в набор параметров, вычисляемых для каждого паттерна, дополнительно входит частотность данного паттерна в сеансах работы данного пользователя.
9. Способ по п. 8, характеризующийся тем, что частотность учитывают при выборе или обучении по меньше мере одного классификатора таким образом, чтобы паттерны с большей частотностью оказывали пропорционально большее влияние на итоговое решение по меньшей мере одного классификатора.
10. Способ по п. 1, характеризующийся тем, что классификатор обучают методом машинного обучения.
11. Способ по п. 10, характеризующийся тем, что классификатор может быть реализован как графовая вероятностная модель или как SVM-классификатор.
12. Система идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса, содержащая:
- блок регистрации учетных данных пользователя в системе;
- системные часы, выполненные с возможностью фиксации времени
- блок идентификации текущего окна пользовательского интерфейса;
- долговременную память, выполненную с возможностью хранения базы данных;
- вычислительное устройство, выполненное с возможностью выполнения способа по любому из пп. 1-11.
13. Система по п. 12, характеризующаяся тем, что система идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса является составной частью дистанционной системы банковского обслуживания.
14. Система по п. 12, характеризующаяся тем, что система идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса является составной частью веб-сайта, подразумевающего авторизацию пользователей.
15. Система по п. 12, характеризующаяся тем, что система идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса является составной частью многопользовательской компьютерной игры, подразумевающей авторизацию пользователей.
16. Система по п. 12, характеризующаяся тем, что система идентификации пользователя по последовательности посещаемых окон пользовательского интерфейса является составной частью программно-аппаратного комплекса для совместной работы, подразумевающего авторизацию пользователей.
PCT/RU2019/000232 2019-04-10 2019-04-10 Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса WO2020209744A1 (ru)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/RU2019/000232 WO2020209744A1 (ru) 2019-04-10 2019-04-10 Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса
SG11202101658UA SG11202101658UA (en) 2019-04-10 2019-04-10 Method and system of user identification by a sequence of opened user interface windows
EP19924312.2A EP3842966A4 (en) 2019-04-10 2019-04-10 IDENTIFICATION OF A USER BASED ON A SEQUENCE OF OPENED WINDOWS OF A USER INTERFACE
US17/171,087 US20210182710A1 (en) 2019-04-10 2021-02-09 Method and system of user identification by a sequence of opened user interface windows

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2019/000232 WO2020209744A1 (ru) 2019-04-10 2019-04-10 Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/171,087 Continuation US20210182710A1 (en) 2019-04-10 2021-02-09 Method and system of user identification by a sequence of opened user interface windows

Publications (1)

Publication Number Publication Date
WO2020209744A1 true WO2020209744A1 (ru) 2020-10-15

Family

ID=72751162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2019/000232 WO2020209744A1 (ru) 2019-04-10 2019-04-10 Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса

Country Status (4)

Country Link
US (1) US20210182710A1 (ru)
EP (1) EP3842966A4 (ru)
SG (1) SG11202101658UA (ru)
WO (1) WO2020209744A1 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE2050610A1 (en) * 2020-05-27 2021-09-28 Telia Co Ab Methods and an apparatus for routing data packets in a network topology

Citations (6)

* Cited by examiner, † Cited by third party
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
US20080222712A1 (en) * 2006-04-10 2008-09-11 O'connell Brian M User-Browser Interaction Analysis Authentication System
CN106202482A (zh) 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于用户行为分析的网站优化方法及系统
CN106355450A (zh) 2016-08-31 2017-01-25 深圳市精准分众传媒有限公司 用户行为分析系统和方法
US20170032250A1 (en) 2015-07-29 2017-02-02 Ching-Ping Chang Machine Status And User Behavior Analysis System
RU2649793C2 (ru) 2016-08-03 2018-04-04 ООО "Группа АйБи" Способ и система выявления удаленного подключения при работе на страницах веб-ресурса

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262324B2 (en) * 2010-11-29 2019-04-16 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
CN108510280B (zh) * 2018-03-23 2020-07-31 上海氪信信息技术有限公司 一种基于移动设备行为数据的金融欺诈行为预测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
US20080222712A1 (en) * 2006-04-10 2008-09-11 O'connell Brian M User-Browser Interaction Analysis Authentication System
US20170032250A1 (en) 2015-07-29 2017-02-02 Ching-Ping Chang Machine Status And User Behavior Analysis System
CN106202482A (zh) 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于用户行为分析的网站优化方法及系统
RU2649793C2 (ru) 2016-08-03 2018-04-04 ООО "Группа АйБи" Способ и система выявления удаленного подключения при работе на страницах веб-ресурса
CN106355450A (zh) 2016-08-31 2017-01-25 深圳市精准分众传媒有限公司 用户行为分析系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3842966A4

Also Published As

Publication number Publication date
EP3842966A4 (en) 2022-03-23
SG11202101658UA (en) 2021-03-30
EP3842966A1 (en) 2021-06-30
US20210182710A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
US11797657B1 (en) Behavioral profiling method and system to authenticate a user
US11947651B2 (en) Biometric identification platform
US10091180B1 (en) Behavioral profiling method and system to authenticate a user
US11575678B1 (en) Adaptive authentication
AU2019271891B2 (en) Systems and methods for matching and scoring sameness
CN108780475B (zh) 用于虚拟辅助的个性化推论认证
US8875267B1 (en) Active learning-based fraud detection in adaptive authentication systems
CN104796857B (zh) 用于便携式电子设备的基于位置的安全系统
RU2635275C1 (ru) Система и способ выявления подозрительной активности пользователя при взаимодействии пользователя с различными банковскими сервисами
TWI767879B (zh) 基於電腦系統的網路交易風險識別方法及其裝置
US10366217B2 (en) Continuous user authentication
US20200234310A1 (en) Identity proofing for online accounts
CN110930161A (zh) 业务操作的操作时间的确定方法和自助业务操作设备
RU2767710C2 (ru) Система и способ обнаружения удаленного управления средством удаленного администрирования с использованием сигнатур
WO2020209744A1 (ru) Идентификация пользователя по последовательности открываемых окон пользовательского интерфейса
WO2021118399A1 (ru) Способ и система динамической аутентификации и оценки риска пользователя
US11606353B2 (en) System, device, and method of generating and utilizing one-time passwords
RU2801674C2 (ru) Способ и система идентификации пользователя по последовательности открываемых окон пользовательского интерфейса
CN111339829B (zh) 用户身份鉴定方法、装置、计算机设备和存储介质
JP5454166B2 (ja) アクセス判別プログラム、装置、及び方法
Neal et al. Mobile biometrics, replay attacks, and behavior profiling: An empirical analysis of impostor detection
RU2769651C2 (ru) Способ формирования сигнатуры для обнаружения неправомерного доступа к компьютеру, получаемого с помощью средств удаленного администрирования, и реализующая его система

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19924312

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019924312

Country of ref document: EP

Effective date: 20210322

NENP Non-entry into the national phase

Ref country code: DE