The present invention relates to a system for detecting possible fraudulent activity during an access request process in an online environment, and in particular to a detection filter that can be used to detect a fraud condition or perform pre-processing on an access request.
Current systems for protection against fraud in online environments are deficient. Web server systems currently employ authentication systems to authenticate users when they request access to connect to and use server applications. The authentication systems seek to determine that an access request is being made by an authorised user, e.g. on the basis of a unique username and password combination or some other unique authentication data submitted (e.g. biometric data). However no attempt is made to determine if the data submitted indicates the authentication data has been compromised or another party is fraudulently using the authorised parties' data or access privileges before the connection to the server application is allowed.
Online banking systems, for example, authenticate users, establish a connection session and allow transactions with an Internet banking application to be completed during the session; fraud detection is only performed subsequently by back-end analytic systems. The analytic systems receive transaction data of the session and process the data for comparison with pattern data representing possible fraudulent conditions. This is clearly unsatisfactory as a user's account can be compromised before any fraud is detected. Suspicious activities or other undesirable conditions may not be detected until identified by the back-end analytic software, i.e. after the event has occurred.
One aspect of the invention addresses the above, or at least provides a useful alternative.
Another aspect of the present invention is a fraud detection filter installed in an application server including a secure application, the filter including a rules engine for receiving request data representing an access request for the secure application from a user, and applying at least one risk condition rule to the request data for generating a risk probability level, and detecting at least one fraud condition when the risk probability level exceeds a threshold level, before passing the access request to the secure application.
Another aspect of the present invention is a management server for generating an interface to adjust and set the at least one risk condition rule.
Another aspect of the present invention is a filter system including the filter and the management server.
Another aspect of the present invention is an application server including a secure application for access by a user and the fraud detection filter.
Another aspect oft he present invention is a process for detecting a fraud condition, performed by an application server, including:
Another aspect of the present invention is a filter installed in an application server including a application, the filter including a rules engine for receiving request data representing an access request for the application from a user, and applying at least one condition rule to the request data for generating a probability level, and detecting at least one condition when the probability level exceeds a threshold level, before passing the access request to the application.
Another aspect of the present invention is a process for detecting a condition, performed by
Embodiments of the invention are further described, by way of example only, with reference to the accompanying drawings.
A fraud detection system in the form of a filter system 100, as shown in
The pre-processing filter 202 provides a real-time decision engine which performs blocking and alerting process actions depending on a risk probability level determined from the access request. The access request is in accordance with standard communication protocols, such as the suite of IP protocols, and may be a HTTP Get request. The action taken by the pre-processing filter 202, and the treatment of data obtainable from the access request, is configurable via a management server 112. The management server 112 is controlled from a management console 114 securely in communication with the management server 112, which is operated by an administrator 116. The administrator 116 may be the owner of the application server 106 and secure application 204 (e.g. a bank owning an on-line banking application), or a third party security administrator providing security services to the owner of the secure application 204. The administrator 116 may conveniently configure and adapt the pre-processing filter 202 using the management console 114. The pre-processing filter 202 has access to an internal database 118 of the application server 106, for securely storing relevant filter data, and to a second data network 120 (e.g. an intranet or the Internet), by which one or more external databases 122, a client device 124 (of a person (i.e. client) 126 authorised by the owner to monitor performance of the filter 202) and the user devices 102 may be accessed.
The internal database 118 is used by the pre-processing filter 202 to keep a secure record of filter data, such as a history of past access requests and other data that may be deemed relevant by the administrator 116. By locating the filter 202 with the secure application 204 in the application server, the filter 202 is able to rely upon and use the same data and procedure calls as the secure application 204. The filter 202 can therefore access account data and access history data for individual user accounts on a per user level.
The pre-processing filter 202 may access the external database 122 to draw on third party information (such as published Internet Protocol address blacklists), or to deliver report data into a case management file. Report data may also be sent by the pre-processing filter 202 and the management server 112 to the client device 124 for real-time reporting by the filter system 100: for example, a person 126 may be alerted when the access request originates from a certain undesirable range of IP addresses.
The pre-processing filter 202 may access the user device 102 via the web server 110 and the first data network 108 to seek a second authentication factor. For example, the filter system 100 may request an additional user/password from the user 104, or submission of an encoded token sent by SMS to a mobile telephone, when certain access request characteristics, i.e. a fraud condition, is detected by processing of the access request by the pre-processing filter 202. In other words, a two factor authentication process can be invoked that needs to be satisfactorily completed before access is granted.
A filter process 300 performed by the pre-processing filter 202 commences with the pre-processing filter 202 receiving an access request sent by the user device 102 requesting access to the secure application 204 for the user 104 (step 302 in
Typical access request data, as analysed in step 302 of the filter process 300) may include one or more of the following characteristics of interest which may indicate a risk probability associated with the access request:
The rules applied in step 304 relate to the access request data. Typical rules may include:
In an example of the filter process 300, the access request data is received in step 402 (shown in
If the risk probability level generated by the browser change rule (in step 404) is medium or low, the pre-processing filter 202 continues with an annotation action command being generated in step 410. The annotation action command tags record data in the internal database 118 to indicate that the access request data is suspect or dangerous (i.e. has a corresponding risk probability level). If no browser downgrade was detected in step 404, a land speed rule (step 406) and a value comparer rule (step 408) are used by the pre-processing filter 202 to determine whether the present IP address is at a time and location which is greater than 400 km/h from the previous IP address and location (i.e. that a user 104 would have had to have travelled at least 400 km/h to move between the previous IP address location and the current IP address location). If the land speed is less than 400 km/h, a low fraud probability is generated, and the pre-processing filter 202 generates an action command indicating that the access request data is “ok”, and thus grants access to the secure application 204 (step 412). If, on the other hand, the user 104 appears to have travelled faster than 400 km/h, an action command is issued (at step 410) to annotate the relevant record in the internal database 118 indicating that the access request is suspect, but nonetheless allowing access to the secure application at step 414. This could also result in a case being created by generating and storing case record data in the management server as part of a case management system or two factor authentications can be requested.
If continuous occurrences of browser downgrades are found to be greater than 0.1% of all access requests received from all users over a period of time, an email alert action command (step 408) is executed to notify the administrator 116 that too many potential cases are being created and the pre-processing filter 202 executes an overload action command (step 416). This step allows the administrator to avoid overloading personnel that follow up fraud cases in the case management system. This can be an important step when new rules are being tested for the first time.
Each of the steps 404, 406, 408, 410 in the example process of
The filtering process 300 is performed by a rules engine 502 in the pre-processing filter 202 as shown in
The access request data is received in the pre-processing filter 202 by an input adaptor 504 which translates the access request data from a variety of formats into a format recognised by the rules engine 502. For example, the input adaptor 504 can accept access requests for Web services, http services and java APIs with the input being in a format corresponding to CSV, XML and/or a messaging system (e.g. IBM MQ Series).
The rules engine 502 accesses the internal database 118 via a data connector 506 thus providing access to historical access request data and also has the ability to access data on the internal network during a user session with the secure application or via the Internet using the second data network 120. The rules engine 502 accesses and writes to the external database 122 via the second data network 120 using the same data connector 506 or a different data connector.
The specific arrangement or configuration of the rules engine 502 (e.g. specific risk probability levels, and specific action commands) are selected by the administrator 116 using an editor 508 of the management server 112. The editor 508 is controlled by a user interface on the management console 114, a screen shot of which is shown in
The process blocks which are available to be used in the rules engine 502 are stored in a rules catalogue 510. New rules may conveniently be updated from a third party provider of data security products (e.g. over the Internet) or created ad-hoc by the administrator 116 using a process block creator in the editor 508. The set-up of the rules engine 502 is thus performed with an easy-to-use graphical interface and is highly flexible and adaptable to the needs of the owner 116 and the customer 126.
Example process blocks in the catalogue 510 include:
The process blocks fall into one of three categories:
The data analysis process blocks extract data from the data submitted by the user, and perform manipulations of the data. For example, the data analysis process blocks may concatenate string data, access white or black-list data, retrieve historical data from the internal database 118, access geo-spatial data relating to an Internet Protocol address of the access request, generate data representing calculations of land speed/deviations/amounts etc, and generate analytical data based on patterns in the data submitted by the user (e.g. click path, payment patterns).
The rule application process blocks control the process flow of the fraud detection filter. For example, a rule application process block may compare data drawn from submissions by the user 104 to a constant value, or to data drawn from other submissions. A rule application process block may also execute policies in a loop, or in a sequence, or may exit a sequence.
The action command process blocks generate command data to be transmitted to external systems. For example, an action command process blocks may log selected data or add a case to a case management system. An action command process blocks may also generate alerts (e.g. SMS, email) for the user 104 or the customer 126 or reject an access request.
A process block may also consist of a number of subsidiary process blocks linked so as to create a single process block.
When creating and/or editing a series of process blocks to control processing of the rules engine 502, the administrator 116 may also test the processing of the arrangement in an off-line environment (i.e. before running the new process in the rules engine 502) using a simulator 512. The simulator 512 allows the proposed filter process to be tested and observed in operation. The graphical user interface which displays the process blocks (e.g. as shown in
The pre-processing filter 202 may be implemented using software code written in a computer program language, such as Java, running on a server engine (e.g. JSP) and the application server 106 may be in the form of a server product such as J2EE. The management server 112 may be a J2EE server. Alternatively, the pre-processing filter 202 and management server 112 may be implemented at least in part by dedicated hardware circuits, such as ASICs and FPGAs, to further enhance processing speed, particularly if processing of the engine is not to be reconfigured regularly.
The logical implementation of the rules engine 502 is in the form of a multi-threaded design which provides high speed filtering. High speed filtering is used so that the user 104 does not notice an appreciable delay when accessing the secure application 204 via the pre-processing filter 202 (e.g. if the access request is granted).
The external database 122 includes corporate databases, geospatial data, web services and black lists (e.g. OFAC, SpamHaus, Hunter, Aristion, NetEconomy, and SearchSpace).
The pre-processing filter 202 and the management server 112 may be implemented on the same server as the secure application, or the management server 112 is separate as described above. The filter 202 is placed before the application 204 on the application server so as to provide access to the same session data and procedures as the secure application 204.
Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention as herein described with reference to the accompanying drawings.
Number | Date | Country | Kind |
---|---|---|---|
2007202119 | May 2007 | AU | national |
This application is a continuation, and claims the benefit under 35 U.S.C. §120 of U.S. patent application Ser. No. 12/616,660 filed on Nov. 11, 2009, which is hereby incorporated by reference. Application Ser. No. 12/616,660 is a continuation, and claims the benefit under 35 U.S.C. §§120 and 365 of PCT Application No. PCT/AU2007/001929, filed on Dec. 13, 2007, which is hereby incorporated by reference. The PCT application also claimed priority to and the benefit of Australian Patent Application No. 2007202119 filed on May 11, 2007 and U.S. patent application Ser. No. 11/747,705 filed on May 11, 2007, both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12616660 | Nov 2009 | US |
Child | 13414617 | US | |
Parent | PCT/AU2007/001929 | Dec 2007 | US |
Child | 12616660 | US | |
Parent | 11747705 | May 2007 | US |
Child | PCT/AU2007/001929 | US |