FR3057378A1 - SYSTEM FOR DETECTING FRAUD IN A DATA STREAM - Google Patents
SYSTEM FOR DETECTING FRAUD IN A DATA STREAM Download PDFInfo
- Publication number
- FR3057378A1 FR3057378A1 FR1659717A FR1659717A FR3057378A1 FR 3057378 A1 FR3057378 A1 FR 3057378A1 FR 1659717 A FR1659717 A FR 1659717A FR 1659717 A FR1659717 A FR 1659717A FR 3057378 A1 FR3057378 A1 FR 3057378A1
- Authority
- FR
- France
- Prior art keywords
- data
- fraud
- real time
- data flow
- processing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000004519 manufacturing process Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 25
- 238000011161 development Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 4
- 238000013499 data model Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims 1
- 238000005111 flow chemistry technique Methods 0.000 claims 1
- 238000013500 data storage Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000003066 decision tree Methods 0.000 description 6
- 238000007637 random forest analysis Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000000946 synaptic effect Effects 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
La présente invention concerne un système informatique de détection de fraude dans un flux de données comportant au moins un lac de données permettant de stocker de gros volumes de données, une plateforme contenant au moins un environnement de production comportant au moins une architecture matérielle et logicielle auto-adaptative comprenant une pluralité de modèles de contrôle de fraude mémorisés, au moins une mémoire pour le stockage de données, au moins un processeur, une couche de traitement en « temps réel » des données, un ensemble d'apprentissage en ligne et une couche de service reliés à la couche de traitement par un moyen de communication, l'ensemble ou chacune des couches comprenant au moins du matériel et du logiciel implémentant un micro-service exécuté sur le processeur de l'architecture matérielle informatique pour permettre respectivement de vérifier et/ou contrôler en temps réel le flux de données, de réentraîner et mettre à jour en temps réel les modèles de contrôle et de gérer les données traitées.The present invention relates to a computer system for detecting fraud in a data stream comprising at least one data lake for storing large volumes of data, a platform containing at least one production environment comprising at least one hardware and software architecture. -adaptative comprising a plurality of stored fraud control templates, at least one data storage memory, at least one processor, a "real time" data processing layer, an online training set and a layer of service connected to the processing layer by a communication means, the set or each of the layers comprising at least hardware and software implementing a micro-service executed on the processor of the hardware hardware architecture to respectively enable checking and / or control in real time the flow of data, re-train and update in time It's the real control models and manage the processed data.
Description
(57) La présente invention concerne un système informatique de détection de fraude dans un flux de données comportant au moins un lac de données permettant de stocker de gros volumes de données, une plateforme contenant au moins un environnement de production comportant au moins une architecture matérielle et logicielle auto-adaptative comprenant une pluralité de modèles de contrôle de fraude mémorisés, au moins une mémoire pour le stockage de données, au moins un processeur, une couche de traitement en « temps réel » des données, un ensemble d'apprentissage en ligne et une couche de service reliés à la couche de traitement par un moyen de communication, l'ensemble ou chacune des couches comprenant au moins du matériel et du logiciel implémentant un micro-service exécuté sur le processeur de l'architecture matérielle informatique pour permettre respectivement de vérifier et/ou contrôler en temps réel le flux de données, de réentraîner et mettre à jour en temps réel les modèles de contrôle et de gérer les données traitées.(57) The present invention relates to a computer system for detecting fraud in a data flow comprising at least one data lake making it possible to store large volumes of data, a platform containing at least one production environment comprising at least one hardware architecture. and self-adaptive software comprising a plurality of stored fraud control models, at least one memory for storing data, at least one processor, a layer of “real-time” data processing, an e-learning set and a service layer connected to the processing layer by means of communication, the set or each of the layers comprising at least hardware and software implementing a micro-service executed on the processor of the computer hardware architecture to allow respectively check and / or control the data flow in real time, re-train and update control models in real time role and manage the data processed.
ii
Système de détection de fraude dans un flux de donnéesFraud detection system in a data stream
DOMAINE TECHNIQUE DE L'INVENTIONTECHNICAL FIELD OF THE INVENTION
La présente invention se rapporte au domaine de la sécurité des transferts de données sensibles et en particulier la sécurisation des échanges bancaires. Plus spécifiquement la présente invention concerne un système pour la détection de fraude dans un flux de données.The present invention relates to the field of security of transfers of sensitive data and in particular the security of bank exchanges. More specifically, the present invention relates to a system for detecting fraud in a data flow.
ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTIONTECHNOLOGICAL BACKGROUND OF THE INVENTION
La sécurisation des données sensibles est un challenge majeur pour bon nombre de secteurs et en particulier dans le domaine bancaire où la sécurité des paiements/transactions est sans cesse éprouvée. Si l’évolution technologique des infrastructures informatiques fournit des moyens de lutte contre les fraudes ou piratages de données sensibles, elle permet également aux pirates informatiques de développer de nouvelles méthodes pour la récupération illégale ou frauduleuse de données.Securing sensitive data is a major challenge for many sectors and in particular in the banking sector where the security of payments / transactions is constantly tested. If the technological evolution of IT infrastructures provides means to fight against fraud or hacking of sensitive data, it also allows hackers to develop new methods for illegal or fraudulent recovery of data.
Plusieurs méthodes associant des techniques et modèles mathématiques complexes existent pour la détection de fraude dans un flux de données. Cependant, la portabilité ou l’application de ces modèles à des systèmes de données qui évoluent sans cesse et en temps réel est limitée, offrant par là un moyen aux pirates de récupérer des informations sensibles.Several methods combining complex mathematical techniques and models exist for the detection of fraud in a data flow. However, the portability or application of these models to constantly evolving data systems in real time is limited, thereby providing a means for hackers to recover sensitive information.
DESCRIPTION GENERALE DE L'INVENTIONGENERAL DESCRIPTION OF THE INVENTION
La présente invention a pour but de pallier certains inconvénients de l'art antérieur en proposant un système pour détecter des fraudes lors d’un échange de données au cours d’une transaction bancaire, en particulier.The present invention aims to overcome certain drawbacks of the prior art by proposing a system for detecting fraud during an exchange of data during a banking transaction, in particular.
Cet objectif est atteint par un système informatique de détection de fraude dans un flux de données comportant au moins un lac de données permettant de stocker de gros volumes de données à structures variables, sous forme d’une base de données distribuée, pour des utilisations et analyses diverses, une plateforme qui contient au moins un environnement de production comportant au moins une architecture matérielle et logicielle auto-adaptative comprenant une pluralité de modèles de contrôle de fraude mémorisés, un moteur de test et de mise à jour de modèles de contrôle de fraude, au moins une mémoire pour le stockage de données, au moins un îo processeur, une couche de traitement en « temps réel » du flux de données et une couche de service, lesdites couches étant reliées par un moyen de communication, chacune des couches comprenant au moins du matériel et du logiciel implémentant un micro-service exécuté sur le processeur de l’architecture matérielle informatique pour permettre respectivement de vérifier et/ou contrôler en temps réel le flux de données et de gérer dans la couche de service les données traitées, issues du traitement « temps réel », ladite architecture auto-adaptative étant caractérisée en ce qu’elle comprend également un ensemble d’apprentissage en ligne relié à la couche de traitement en « temps réel » pour réentraîner et mettre à jour en temps réel des modèles de contrôle de fraude mémorisés dans la couche de traitement en « temps réel ».This objective is achieved by a computer system for detecting fraud in a data flow comprising at least one data lake making it possible to store large volumes of data with variable structures, in the form of a distributed database, for uses and various analyzes, a platform which contains at least one production environment comprising at least one self-adaptive hardware and software architecture comprising a plurality of stored fraud control models, a test and update engine for fraud control models , at least one memory for storing data, at least one processor, a “real time” processing layer for the data flow and a service layer, said layers being connected by means of communication, each of the layers comprising at least hardware and software implementing a micro-service executed on the processor of the computer hardware architecture to allow respecti vement to check and / or control the data flow in real time and manage the processed data from the "real time" processing in the service layer, said self-adapting architecture being characterized in that it also includes a set online learning linked to the "real time" processing layer to re-train and update in real time fraud control models stored in the "real time" processing layer.
Selon une autre particularité, une sortie de la couche « temps réel » est connectée à l’entrée de l’ensemble d’apprentissage en ligne et la sortie de l’ensemble d’apprentissage est reliée à une entrée de la couche de traitement en « temps réel » pour former une structure d’apprentissage en boucle.According to another particular feature, an output of the “real time” layer is connected to the input of the online learning assembly and the output of the learning assembly is connected to an input of the processing layer in "Real time" to form a loop learning structure.
Selon une autre particularité, l’ensemble d’apprentissage en ligne comprend des micro-services, chacun en charge de réentraîner des modèles de contrôle de fraude déployés dans la couche de traitement en « temps réel », et un système de redéploiement pour redéployer automatiquement les modèles de contrôle de fraude réentraînés et mis à jour dans les microservices de la couche de traitement en « temps réel » en charge de leur utilisation.According to another particularity, the online learning set includes micro-services, each responsible for re-training fraud control models deployed in the processing layer in "real time", and a redeployment system for automatically redeploying the fraud control models re-trained and updated in the microservices of the “real-time” processing layer in charge of their use.
Selon une autre particularité, la couche de traitement en « temps réel » comprend un serveur de configuration pour mettre à jour en continu les paramètres des modèles de contrôle de fraude gérés par les micro-services de ladite couche de traitement en « temps réel ».According to another particular feature, the “real time” processing layer comprises a configuration server for continuously updating the parameters of the fraud control models managed by the micro-services of said “real time” processing layer.
îo Selon une autre particularité, le système de redéploiement de l’ensemble d’apprentissage en ligne comprend un service central apte à recevoir une notification en provenance d’un micro-service dudit ensemble d’apprentissage lorsqu’un modèle a été réentraîné, ledit service central notifiant à son tour les micro-services de la couche de traitement en « temps réel » qui sont concernés par la mise à jour des paramètres, via une API REST qui rechargera les paramètres dans le serveur de configuration de la couche de traitement en « temps réel », ledit serveur distribuant alors les paramètres aux micro-services concernés.îo According to another particular feature, the redeployment system of the online learning set includes a central service capable of receiving a notification from a micro-service of said learning set when a model has been re-trained, said central service in turn notifying the micro-services of the processing layer in “real time” which are concerned by the update of the parameters, via a REST API which will reload the parameters in the configuration server of the processing layer in "Real time", said server then distributing the parameters to the micro-services concerned.
Selon une autre particularité, la structuration de l’architecture autoadaptative en micro-services, communiquant entre eux par passage de messages, permet de découper la chaîne de traitement des flux de données, en un nombre N donné de micro-services, ledit nombre N correspondant au nombre de types de traitement à effectuer pour répondre à une requête donnée, et de multiplier le nombre d’instances d’un type de service donné pour permettre un passage à l’échelle et assurer la continuité de service dans le cas où une instance est interrompue pour effectuer une configuration donnée.According to another particularity, the structuring of the self-adapting architecture into micro-services, communicating with one another by passing messages, makes it possible to split the processing chain of the data flows, into a given number N of micro-services, said number N corresponding to the number of types of processing to be performed to respond to a given request, and to multiply the number of instances of a given type of service to allow scaling up and ensure continuity of service in the event that a instance is interrupted to perform a given configuration.
Selon une autre particularité, le système de détection de fraude comprend également un environnement de développement de nouveaux modèles de contrôle et/ou vérification de fraude du flux de données dans l’environnement de production.According to another particular feature, the fraud detection system also includes an environment for developing new models for controlling and / or verifying fraud of the data flow in the production environment.
Selon une autre particularité, que l’environnement de développement 5 comporte une architecture matérielle informatique et logicielle de déploiement composée d’au moins un moteur de modélisation pour développer et tester les modèles de contrôle, ledit moteur de modélisation étant relié à un moteur de calcul distribué « map/reduce » configuré pour charger des données de production dans l’environnement de développement îo et permettre l’évaluation en « temps réel » de nouveaux modèles de contrôle et, un déployeur de flux de données en charge du déploiement des modèles dans l’environnement de production.According to another particularity, that the development environment 5 includes a hardware and software deployment architecture composed of at least one modeling engine for developing and testing control models, said modeling engine being connected to a calculation engine. distributed "map / reduce" configured to load production data into the development environment îo and allow the evaluation in "real time" of new control models and, a data flow deployer in charge of deploying the models in the production environment.
Selon une autre particularité, le déployeur de flux de données utilise 15 un fichier descriptif des flux des données mémorisés dans le lac de données pour orchestrer les différents micro-services de la plateforme.According to another particular feature, the data flow deployor uses a file describing the data flows stored in the data lake to orchestrate the various micro-services of the platform.
Selon une autre particularité, le déploiement des modèles de données de contrôle de fraude est assuré par le biais d’un contrôleur de référentiel de codes qui interroge le moteur de modélisation par rapport à certains référentiels de code pour détecter les modifications apportées au flux.According to another particularity, the deployment of the fraud control data models is ensured by means of a code repository controller which interrogates the modeling engine with respect to certain code repositories to detect the modifications made to the flow.
Selon une autre particularité, tout déploiement en continu des modèles et algorithmes de contrôle, issus de l’environnement de développement, dans l’environnement de production est supervisé par une personne.According to another particular feature, any continuous deployment of control models and algorithms from the development environment in the production environment is supervised by a person.
Selon une autre particularité, le système de redéploiement de données comprend des moyens pour implémenter et configurer un ensemble d’apprentissage en ligne en fonction du modèle d’analyse de données.According to another particular feature, the data redeployment system includes means for implementing and configuring an e-learning set according to the data analysis model.
Selon une autre particularité, le système de détection de fraude comprend un dispositif de contrôle pour analyser des informations, émises par la couche de traitement « temps réel » et contenant des évènements datés relatifs à des cas de fraude, et activer un signal d’alarme en cas de détection de données frauduleuses afin d’alerter un administrateur ou un superviseur de la tentative de fraude.According to another particular feature, the fraud detection system comprises a control device for analyzing information, emitted by the “real time” processing layer and containing dated events relating to fraud cases, and activating an alarm signal in the event of fraudulent data being detected in order to alert an administrator or supervisor of the attempted fraud.
Selon une autre particularité, le système de détection de fraude est utilisé pour la sécurisation de données sensibles dans un système de îo services comprenant au moins une base de données et au moins une plateforme de traitement de requêtes associées aux données sensibles, ledit système de détection de fraude jouant le rôle d’interface sécurisée entre la base de données et la plateforme de traitement de requête.According to another particular feature, the fraud detection system is used for securing sensitive data in a system of services comprising at least one database and at least one platform for processing requests associated with sensitive data, said detection system. fraud acting as a secure interface between the database and the request processing platform.
DESCRIPTION DES FIGURES ILLUSTRATIVESDESCRIPTION OF ILLUSTRATIVE FIGURES
D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après, faite en référence aux dessins annexés, dans lesquels:Other features and advantages of the present invention will appear more clearly on reading the description below, given with reference to the appended drawings, in which:
- la figure 1 représente le schéma de la structure du système de détection de fraude dans un mode de réalisation;- Figure 1 shows the diagram of the structure of the fraud detection system in one embodiment;
- la figure 2 représente le schéma de l’utilisation de la structure du système de détection de fraude dans un système comprenant une base de données et une plateforme de traitement de requêtes associées à des données sensibles, selon un mode de réalisation;- Figure 2 shows the diagram of the use of the structure of the fraud detection system in a system comprising a database and a platform for processing requests associated with sensitive data, according to one embodiment;
- les figures 3a et 3b représentent respectivement les schémas de la structure de la plateforme du système de détection de fraude et de l’environnement de développement de la plateforme, selon un mode de réalisation;- Figures 3a and 3b respectively represent the diagrams of the structure of the platform of the fraud detection system and the development environment of the platform, according to one embodiment;
- les figures 4a et 4b représentent respectivement les schémas de la structure de l’environnement de production de la plateforme et, de la couche de traitement en « temps réel » et de l’ensemble d’apprentissage, selon un mode de réalisation;FIGS. 4a and 4b respectively represent the diagrams of the structure of the production environment of the platform and of the “real-time” processing layer and of the learning assembly, according to one embodiment;
DESCRIPTION DES MODES DE REALISATION PREFERES DEDESCRIPTION OF THE PREFERRED EMBODIMENTS OF
L'INVENTIONTHE INVENTION
La présente invention concerne un système (1, figure 1) pour détecter une action frauduleuse dans un flux de données.The present invention relates to a system (1, FIG. 1) for detecting a fraudulent action in a data stream.
Dans certains modes de réalisation, le système (1) de détection de fraude dans un flux de données comporte au moins un lac (4) de données permettant de stocker de gros volumes de données à structures variables, sous forme d’une base de données distribuée, pour des utilisations et analyses diverses, une plateforme (10) qui contient au moins un environnement (3, figure 4a) de production comportant au moins une architecture matérielle et logicielle auto-adaptative comprenant une pluralité de modèles de contrôle de fraude mémorisés, un moteur de test et de mise à jour de modèles de contrôle de fraude, au moins une mémoire pour le stockage de données, au moins un processeur, une couche (31, figures 1, 2 et 4a par exemple) de traitement en « temps réel » du flux de données et une couche (33) de service, lesdites couches étant reliées par un moyen de communication, chacune des couches comprenant au moins du matériel et du logiciel implémentant un micro-service exécuté sur le processeur de l’architecture matérielle informatique pour permettre respectivement de vérifier et/ou contrôler en temps réel le flux de données et de gérer dans la couche (33) de service les données traitées, issues du traitement « temps réel », ladite architecture auto-adaptative étant caractérisée en ce qu’elle comprend également un ensemble (32) d’apprentissage en ligne relié à la couche (31 ) de traitement en « temps réel » pour réentraîner et mettre à jour en temps réel des modèles de contrôle de fraude mémorisés dans la couche (31) de traitement en « temps réel ».In certain embodiments, the system (1) for detecting fraud in a data stream comprises at least one data lake (4) making it possible to store large volumes of data with variable structures, in the form of a database distributed, for various uses and analyzes, a platform (10) which contains at least one production environment (3, FIG. 4a) comprising at least one self-adaptive hardware and software architecture comprising a plurality of stored fraud control models, an engine for testing and updating fraud control models, at least one memory for storing data, at least one processor, a layer (31, FIGS. 1, 2 and 4a for example) of processing in "time" data flow and a service layer (33), said layers being connected by means of communication, each of the layers comprising at least hardware and software implementing a micro-service executed on the processor of the computer hardware architecture to allow respectively to verify and / or control in real time the data flow and to manage in the service layer (33) the processed data, resulting from the "real time" processing, said self-adapting architecture being characterized in which it also includes an online learning set (32) linked to the “real time” processing layer (31) for re-training and updating in real time fraud control models stored in the layer ( 31) “real time” processing.
Le lac (4) de données est le référentiel ou système où sont stockées des données en provenance, par exemple et de manière non limitative d’une base de données. Différentes sources, par exemple et de manière non limitative un téléphone, un terminal de paiement ou une banque émettent en continu un flux de données en direction de la plateforme (10) du système de détection de fraude qui procède alors au traitement, du flux de chaque source, pour vérifier si ledit flux contient des données frauduleuses ou non. Dans le cas où des données frauduleuses sont détectées, l’évènement est daté et contenu dans une information émise par la couche (31) de traitement îo en «temps réel». Ladite information est ensuite transférée dans un dispositif de contrôle qui active un signal d’alarme qui peut être, par exemple et de manière non limitative, un son ou un message, pour avertir un administrateur ou un superviseur d’une tentative de fraude. Dans le cas où aucune fraude n’est détectée dans le flux de données, les données sont transférées pour exploitation.The data lake (4) is the repository or system where data from, for example and without limitation from a database is stored. Different sources, for example and without limitation, a telephone, a payment terminal or a bank continuously transmit a data flow towards the platform (10) of the fraud detection system which then proceeds to process, the flow of each source, to check whether said flow contains fraudulent data or not. In the event that fraudulent data is detected, the event is dated and contained in information sent by the processing layer (31) îo in "real time". Said information is then transferred to a control device which activates an alarm signal which can be, for example and without limitation, a sound or a message, to warn an administrator or a supervisor of an attempted fraud. In the event that no fraud is detected in the data flow, the data is transferred for processing.
L’architecture matérielle informatique de l’architecture auto-adaptive comprend au moins un moteur de calcul distribué, de préférence un cluster de calcul. Le calcul distribué consiste à repartir un calcul ou un traitement sur plusieurs processeurs d’une architecture matérielle informatique, par exemple une unité centrale informatique. Des instructions indépendantes peuvent ainsi être traitées en parallèle par les différents microprocesseurs. Les données sont traitées en temps réel dans l’environnement (3) de production de l’architecture auto-adaptative et plus précisément dans la couche « temps réel ». Les micro-services (m) de ladite couche, voir par exemple figure 4b, sont des applications fonctionnelles autonomes de petites tailles avec un périmètre fonctionnel (c'est-à-dire la liste complète des fonctionnalités et leur description exhaustive) délimité. Les micro-services communiquent entre eux par échange de données ou messages via un système de file de messages, de préférence un intergiciel de messagerie de type MQ (pour « message queue » en anglais). L’intergiciel de messagerie peut être avec ou sans broker. Un intergiciel MQ avec broker permet de traduire un message du protocole de messagerie formel du micro-service expéditeur au protocole de messagerie formel du micro-service receveur dudit message. Dans le cas d’un MQ sans broker, le message est transmis d’un micro-service à un autre sans traduction dudit message. De préférence, le format des messages échangés entre les micro-services est indépendant des différents protocoles de messagerie formels des micro-services, afin de permettre l’interprétation desdits messages par les protocoles de messagerie desdits micro-services, et ce, quelque soit le langage utilisé par ces microservices. Par exemple et de manière non limitative, les formats JSON (Notation Objet issue de JavaScript) et/ou XML (langage de balisage îo extensible) peuvent être utilisés.The hardware hardware architecture of the self-adaptive architecture includes at least one distributed computing engine, preferably a computing cluster. Distributed computing consists of distributing a calculation or processing on several processors of a computer hardware architecture, for example a central computer unit. Independent instructions can thus be processed in parallel by the various microprocessors. Data is processed in real time in the production environment (3) of the self-adaptive architecture and more precisely in the "real time" layer. The micro-services (m) of said layer, see for example FIG. 4b, are small size autonomous functional applications with a functional perimeter (that is to say the complete list of functionalities and their exhaustive description) defined. The micro-services communicate with each other by exchanging data or messages via a message queue system, preferably a messaging middleware of the MQ type (for “message queue” in English). The messaging middleware can be with or without a broker. An MQ middleware with broker makes it possible to translate a message from the formal messaging protocol of the sending micro-service to the formal messaging protocol of the receiving micro-service of said message. In the case of an MQ without a broker, the message is transmitted from one micro-service to another without translation of said message. Preferably, the format of the messages exchanged between the micro-services is independent of the different formal messaging protocols of the micro-services, in order to allow the interpretation of said messages by the messaging protocols of said micro-services, and this, whatever the language used by these microservices. For example and in a nonlimiting manner, the formats JSON (Notation Object resulting from JavaScript) and / or XML (markup language îo extensible) can be used.
Une interface de programmation, par exemple et de manière non limitative une interface API REST, est utilisée dans l’architecture pour l’orchestration des micro-services et pour les fonctions supports. Les fonctions supports, qui sont également des micro-services, sont des fonctions mises en œuvre pour le bon fonctionnement de la plateforme (10) de contrôle, par exemple et de manière non limitative la mise à jour de configuration ou la mise à jour des paramètres des modèles de contrôle. Ces fonctions supports répondent aux besoins non fonctionnels de la plateforme et n’implémentent pas un périmètre fonctionnel donné.A programming interface, for example and without limitation a REST API interface, is used in the architecture for the orchestration of micro-services and for the support functions. The support functions, which are also micro-services, are functions implemented for the proper functioning of the control platform (10), for example and in a nonlimiting manner the configuration update or the update of the control model parameters. These support functions meet the non-functional needs of the platform and do not implement a given functional scope.
Par besoin non fonctionnel, on entend tout besoin relatif au bon fonctionnement de la plateforme.By non-functional need, we mean any need relating to the proper functioning of the platform.
L’interface de programmation d’applications (API REST) basée sur l’architecture REST (Representational State Transfer en anglais) est adaptée pour les systèmes de données distribués. L’architecture ou interface APIThe application programming interface (REST API) based on the REST architecture (Representational State Transfer in English) is suitable for distributed data systems. Architecture or API interface
REST:REST:
• est orienté client-serveur, c'est-à-dire que les responsabilités sont séparées entre un client et un serveur. Cela permet aux deux entités (client et serveur) d'évoluer indépendamment;• is client-server oriented, that is to say that responsibilities are separated between a client and a server. This allows the two entities (client and server) to evolve independently;
• est sans état, c'est-à-dire que chaque requête du client vers le serveur doit contenir toute l'information nécessaire pour permettre au serveur de comprendre la requête, sans avoir à dépendre d'un contexte conservé sur le serveur. Cela augmente les interactions d’un client avec le serveur, mais réduit l’adhérence du client par rapport à une instance de service;• is stateless, that is to say that each request from the client to the server must contain all the information necessary to allow the server to understand the request, without having to depend on a context stored on the server. This increases a client’s interactions with the server, but reduces the client’s adherence to a service instance;
• possède une mémoire cache: le serveur envoie une réponse qui donne l'information sur la propension de cette réponse à être mise en mémoire cache, comme la fraîcheur, sa date de création, si elle doit être conservée dans le futur. Cela permet aux clients de ne pas faire de requêtes inutiles et également d'améliorer l'extensibilité des serveurs;• has a cache memory: the server sends a response which gives information on the propensity of this response to be cached, such as freshness, its creation date, if it must be kept in the future. This allows clients not to make unnecessary requests and also improves the extensibility of the servers;
• est une interface uniforme, pour laquelle chaque donnée ou ressource est identifiée, chaque donnée ou ressource étant manipulé à travers une représentation définie qui lui est associée et chaque message transmis est auto-descriptif, c'està-dire qu’il possède les informations qui permettent de le décrire;• is a uniform interface, for which each data or resource is identified, each data or resource being manipulated through a defined representation which is associated with it and each message transmitted is self-descriptive, that is to say that it has the information that describe it;
• possède une structure en couche: les états d’une application sont identifiés par des ressources individuelles. Toute l'information n'est pas envoyée dans une seule ressource unique. Les requêtes/réponses entre le client et le serveur augmentent et donc peuvent faire baisser la performance d'où l'importance de la mise en cache. La structure en couche permet ainsi de rendre beaucoup plus flexible l'évolution du système;• has a layered structure: the states of an application are identified by individual resources. Not all information is sent to a single, unique resource. The requests / responses between the client and the server increase and therefore can decrease performance hence the importance of caching. The layered structure thus makes the evolution of the system much more flexible;
• peut être, en option, de type « code à la demande » (code-ondemand en anglais), c'est-à-dire que les clients ont la possibilité d’exécuter des scripts obtenus depuis le serveur. Cela permet d'éviter que le traitement ne se fasse que du côté serveur et permet donc de faire évoluer les fonctionnalités du client au cours du temps.• can be optional "code on demand" (code-ondemand in English), that is to say that clients have the possibility of executing scripts obtained from the server. This makes it possible to prevent processing being carried out only on the server side and therefore allows the functionality of the client to evolve over time.
La structuration de l’architecture auto-adaptative, et en particulier la couche de traitement (31) en «temps réel », en micro-services (m) permet de ίο découper la chaîne de traitement des flux de données en un nombre N donné de micro-services (m), ledit nombre N correspondant au nombre de types de traitement à effectuer pour répondre à une requête. Par exemple et de manière non limitative, si le type de traitement à réaliser concerne le calcul d’agrégats sur les transactions d’un porteur de carte sur les vingtquatre dernières heures chez un type de marchand, un seul micro-service (m) est mis à contribution pour effectuer le calcul. Si l’on souhaite calculer les agrégats sur les quarante-huit dernières heures, alors un second microservice est mis à contribution. Cette architecture de type micro-services (m), basée sur du passage de messages, permet de multiplier le nombre d’instances d’un type de service donné pour permettre notamment le passage à l’échelle, dans le cas où l’on souhaite interrompre une instance, c'est-à-dire l’interruption du flux de données en direction de ladite instance, pour effectuer une configuration donnée, par exemple pour recharger ses paramètres.The structuring of the self-adapting architecture, and in particular the “real time” processing layer (31) in micro-services (m) makes it possible to ίο cut the processing chain of data flows into a given number N micro-services (m), said number N corresponding to the number of types of processing to be carried out to respond to a request. For example and in a nonlimiting manner, if the type of processing to be carried out relates to the calculation of aggregates on the transactions of a card holder over the last twenty-four hours with a type of merchant, a single micro-service (m) is used to perform the calculation. If you want to calculate the aggregates over the last 48 hours, then a second microservice is called upon. This architecture of micro-service type (m), based on the passage of messages, makes it possible to multiply the number of instances of a given type of service to allow in particular the passage to scale, in the case where one wishes to interrupt an instance, that is to say the interruption of the data flow towards said instance, to perform a given configuration, for example to reload its parameters.
Par architecture de type micro-services, on entend une architecture logicielle à partir de laquelle un ensemble complexe d’applications est décomposé en plusieurs processus indépendants et faiblement couplés, dénommés micro-services (m) et communiquant entre eux via un système message, par exemple une API.By micro-service type architecture, we mean a software architecture from which a complex set of applications is broken down into several independent and weakly coupled processes, called micro-services (m) and communicating with each other via a message system, by example an API.
Par instance de service on entend un modèle de contrôle de fraude ou d’analyse de données ou de calcul.By service instance is meant a fraud control or data analysis or calculation model.
Chaque micro-service est particulièrement, au moins, en charge de la mise en route et du fonctionnement (par exemple les fonctions supports) d’au moins un modèle ou programme de contrôle de fraude.Each micro-service is particularly, at least, in charge of the start-up and operation (for example of the support functions) of at least one fraud control model or program.
L’apprentissage ou entraînement des modèles consiste à l’estimation des paramètres permettant de décrire correctement un processus en fonction des données d’entrée. Par exemple et de manière-non limitative, le paramètre à estimer peut être le poids ou coefficient des variables ou données d’entrées. Le poids d’une variable ou une donnée d’entrée, défini(e) par une valeur réelle, détermine l’importance de la variable ou donnée d’entrée: plus le poids de la variable ou donnée est importante plus la variable ou donnée d’entrée est influente dans la description du processus.Learning or training models consists of estimating the parameters enabling a process to be correctly described based on the input data. For example and in a nonlimiting manner, the parameter to be estimated can be the weight or coefficient of the variables or input data. The weight of a variable or input data, defined by a real value, determines the importance of the input variable or data: the greater the weight of the variable or data the more the variable or data input is influential in the description of the process.
Plusieurs modèles de contrôle de fraude existent, parmi lesquels ont trouve principalement, par exemple et de manière non limitative, le modèle des forêts aléatoires (Random Forest en anglais), le modèle des réseaux de neurones, le modèle des règles expertes ou le modèle d’exploration de graphe (graph mining en anglais). Dans un mode de réalisation, le modèle des forêts aléatoires peut être utilisé. Les forêts aléatoires sont des ensembles d’arbres de décisions, chaque arbre se distinguant des autres par le sous-échantillon de données, en provenance du flux de données issu par exemple d’un terminal bancaire ou toute autre source et, sur lequel il est entraîné. Un arbre de décision ou arbre décisionnel est une structure servant à prédire les valeurs prises par une variable en fonction d’un jeu de variables appelées variables ou données d’entrée. L’arbre décisionnel se présente sous la forme d’une hiérarchie dont chaque élément est appelé nœud, le nœud initial étant appelé racine. Chaque nœud correspond à une décision quant à la valeur de la variable à prédire, par exemple le poids d’une donnée dans la détection de la fraude, la décision étant prise en fonction de la valeur des données d’entrée. A l’issu de l’apprentissage, une estimation des paramètres importants pour la détection de fraudes dans le cas du modèle des forêts aléatoires consiste alors, par exemple, à moyenner les estimations en provenance des différents arbres de décisions.Several fraud control models exist, among which have mainly, for example and without limitation, found the Random Forest model, the model of neural networks, the model of expert rules or the model of 'graph mining (graph mining in English). In one embodiment, the random forest model can be used. Random forests are sets of decision trees, each tree being distinguished from the others by the sub-sample of data, coming from the data flow coming for example from a bank terminal or any other source and, on which it is trained. A decision tree or decision tree is a structure used to predict the values taken by a variable according to a set of variables called variables or input data. The decision tree is in the form of a hierarchy, each element of which is called a node, the initial node being called the root. Each node corresponds to a decision as to the value of the variable to be predicted, for example the weight of a data item in the detection of fraud, the decision being taken according to the value of the input data items. At the end of the training, an estimation of the parameters important for the detection of fraud in the case of the random forest model then consists, for example, in averaging the estimates from the different decision trees.
Dans un autre mode de réalisation le modèle du réseau de neurones peut être utilisé. Les réseaux de neurones, mettent en œuvre le principe d’induction, c'est-à-dire par l’expérience. Par confrontation avec des situations ponctuelles, un réseau de neurones va inférer un système de décision intégré dont le caractère générique est fonction du nombre de cas d’apprentissages rencontrés et de leur complexité par rapport à la complexité du problème rencontré. Les réseaux de neurones jouent un rôle important dans plusieurs domaines allant de la classification d’espèces animales ou de phénomènes physiques à l’amélioration des techniques d’enseignement en passant par la reconnaissance de motifs dans le traitement d’images. En particulier, les réseaux de neurones sont beaucoup utilisés dans le traitement de problèmes de nature statistiques, c'est-à-dire des problèmes faisant appel au traitement d’un très grand nombre de données. Par exemple et de manière non limitative les réseaux de neurones peuvent aider dans la prise de décision concernant un achat boursier. Le réseau de neurones est constitué de structure nommée neurone formel. Ledit neurone formel est conçu comme un automate doté d’au moins une entrée, d’une sortie et d’une fonction de transfert qui transforme les données en entrée en données en sortie selon des règles précises. Par exemple et de manière non limitative, îo un neurone peut sommer les données en entrées, comparer la somme résultante à une valeur seuil, et répondre en émettant un signal si cette somme est supérieure ou égale à ce seuil. Les données d’entrée, issues par exemple des terminaux, sont considérées comme des variables d’entrée et arrivent au nœud, chacune avec un poids donné appelé poids de connexion ou coefficient synaptique. Ledit coefficient est un paramètre important dans la description de l’efficacité de la transmission des signaux d’un neurone à un autre. La phase d’apprentissage dans le cas d’un modèle basé sur les réseaux de neurones va consister, par exemple, à déterminer les poids synaptiques permettant d’obtenir une efficacité optimale. Une fois entraîné, le réseau de neurones est en mesure de détecter les fraudes en fonctions des règles définissant les critères de fraudes. Si le réseau de neurones fonctionne avec des nombres réels, la réponse traduit une probabilité de certitude. Par exemple et de manière non limitative, si le processus consiste à déterminer si une donnée rentrée par un utilisateur est frauduleuse, le résultat du réseau de neurones peut être: 1 pour « la donnée rentrée par l’utilisateur est frauduleuse », 0 pour « la donnée n’est pas frauduleuse » ou 0.7 pour « la donnée est presque sûrement frauduleuse », auquel cas le modèle peut être réentraîné pour être plus précis.In another embodiment the neural network model can be used. Neural networks implement the principle of induction, that is to say by experience. By confrontation with specific situations, a neural network will infer an integrated decision system whose generic character is a function of the number of learning cases encountered and their complexity compared to the complexity of the problem encountered. Neural networks play an important role in several areas ranging from the classification of animal species or physical phenomena to the improvement of teaching techniques through the recognition of patterns in image processing. In particular, neural networks are widely used in the treatment of problems of a statistical nature, that is to say problems involving the processing of a very large amount of data. For example, and without limitation, neural networks can help in the decision regarding a stock purchase. The neural network is made up of a structure called formal neuron. Said formal neuron is designed as an automaton with at least one input, one output and one transfer function which transforms data into input into data into output according to precise rules. For example and in a nonlimiting manner, a neuron can sum the input data, compare the resulting sum with a threshold value, and respond by emitting a signal if this sum is greater than or equal to this threshold. The input data, for example from the terminals, are considered as input variables and arrive at the node, each with a given weight called the connection weight or synaptic coefficient. Said coefficient is an important parameter in describing the efficiency of signal transmission from one neuron to another. The learning phase in the case of a model based on neural networks will consist, for example, in determining the synaptic weights making it possible to obtain optimal efficiency. Once trained, the neural network is able to detect fraud according to the rules defining the criteria for fraud. If the neural network operates with real numbers, the response reflects a probability of certainty. For example and in a nonlimiting manner, if the process consists in determining whether a piece of data entered by a user is fraudulent, the result of the neural network can be: 1 for "the piece of data entered by the user is fraudulent", 0 for " the data is not fraudulent ”or 0.7 for“ the data is almost certainly fraudulent ”, in which case the model can be re-trained to be more precise.
Dans un autre mode de réalisation, le modèle de règles expertes peut être utilisé pour la détection de fraudes. Dans ce cas, le modèle utilise une base de données de faits, essentiellement constituée d’évènements relatifs à des cas de fraude déjà rencontrés par exemple, et une base de règles pour effectuer un raisonnement afin de produire de nouveaux faits ou évènements jusqu’à la détection de la fraude.In another embodiment, the expert rules model can be used for the detection of fraud. In this case, the model uses a facts database, essentially made up of events relating to fraud cases already encountered, for example, and a base of rules for reasoning in order to produce new facts or events up to fraud detection.
Dans un autre mode de réalisation, le modèle utilisé pour la détection de fraude est le modèle d’exploration de graphe. Un graphe est un réseau ou ensemble de noeuds, appelés sommets, reliés entre eux par au moins un segment (appelé arête) ou une flèche (appelée arc). Un arbre décisionnel est par exemple un cas particulier d’un graphe. Le flux de données en entrée est distribué sur l’ensemble des noeuds du graphe. L’exploration du graphe consiste alors à faire traverser le graphe par les données en appliquant le to poids de chaque arête ou arc ainsi que les fonctions d’activation, par exemple les fonctions sigmoïdes, associées à chaque nœud. La fonction d’activation du nœud fait la somme pondérée des données en entrée et retourne le résultat en sortie. L’exploration des nœuds se fait de proche en proche à partir d’un nœud initial au moyen d’un algorithme afin de trouver des motifs ou caractéristiques selon des critères fixés au préalable et d’en extraire le maximum de connaissances permettant de détecter les fraudes.In another embodiment, the model used for fraud detection is the graph exploration model. A graph is a network or set of nodes, called vertices, linked together by at least one segment (called edge) or an arrow (called arc). A decision tree is for example a special case of a graph. The input data flow is distributed over all the nodes of the graph. Exploring the graph then involves passing the data through the graph by applying the to weight of each edge or arc as well as the activation functions, for example the sigmoid functions, associated with each node. The node activation function does the weighted sum of the input data and returns the output result. The exploration of the nodes is done step by step from an initial node by means of an algorithm in order to find patterns or characteristics according to criteria set beforehand and to extract the maximum amount of knowledge from which to detect the fraud.
Les données traitées et qui ne contiennent pas d’informations frauduleuses sont ensuite stockées dans au moins une mémoire de la couche de service (33) avant d’être transférées pour exploitation.The processed data which does not contain fraudulent information is then stored in at least one memory of the service layer (33) before being transferred for exploitation.
Dans certains modes de réalisation, une sortie de la couche (31) « temps réel » est connectée à l’entrée de l’ensemble (32) d’apprentissage en ligne et la sortie de l’ensemble (32) d’apprentissage est reliée à une entrée de la couche (31) de traitement en « temps réel » pour former une structure d’apprentissage en boucle, comme représenté sur les figures 1, 2 ou 4a par exemple.In some embodiments, an output of the "real time" layer (31) is connected to the input of the online learning assembly (32) and the output of the learning assembly (32) is connected to an input of the “real time” processing layer (31) to form a loop learning structure, as shown in FIGS. 1, 2 or 4a for example.
L’utilisation d’une structure en boucle dans l’architecture autoadaptative permet une adaptation des modèles de contrôles aux flux de données émis en temps réel et réduit de manière efficace le risque qu’un modèle géré par un micro-service (m) donné ne soit pas adapté pour contrôler les données contenues dans ledit flux. Une telle situation peut rendre, en effet, le système (1) plus vulnérable aux fraudes. L’architecture auto-adaptative offre ainsi un avantage en comparaison à une architecture de type « lambda-architecture ». En effet une « lambda-architecture », tout comme l’architecture auto-adaptative, permet de traitement de données massives et est constituée de trois couches. Ladite architecture comprend une couche de traitement en « temps réel », une couche de service et une couche de « traitement par lot » (batch Processing en anglais). La couche de « traitement par lot », en général connectée à un lac de données et à la couche de service, joue le même rôle que l’ensemble (32) d’apprentissage îo de modèles de contrôles à la différence que l’apprentissage des modèles ne se fait pas en temps réel. Les modèles sont, en effet, reparamétrés ou remplacés une fois pendant une période définie, par exemple et de manière non limitative une fois par jour ou une fois par mois en fonction des besoins. Les données sur lesquels ces modèles ont été paramétrés ne sont donc pas actualisées en continu. Ce qui est un inconvénient lorsque l’on veut, en temps réel, adapter les modèles de contrôle aux changements des informations contenus dans le flux de données, pour empêcher une action frauduleuse.The use of a loop structure in the self-adaptive architecture allows adaptation of control models to data flows transmitted in real time and effectively reduces the risk that a model managed by a given micro-service (m) is not suitable for controlling the data contained in said flow. Such a situation can indeed make the system (1) more vulnerable to fraud. The self-adaptive architecture thus offers an advantage in comparison to an architecture of the "lambda-architecture" type. Indeed, a "lambda-architecture", like self-adaptive architecture, allows processing of massive data and is made up of three layers. Said architecture includes a "real time" processing layer, a service layer and a "batch processing" layer. The “batch processing” layer, in general connected to a data lake and to the service layer, plays the same role as the set (32) of learning îo control models, unlike learning of models is not done in real time. The models are, in fact, reconfigured or replaced once during a defined period, for example and without limitation once a day or once a month depending on requirements. The data on which these models have been configured is therefore not continuously updated. This is a disadvantage when we want, in real time, to adapt the control models to changes in the information contained in the data flow, to prevent fraudulent action.
Dans certains modes de réalisation, l’ensemble (32) d’apprentissage en ligne comprend des micro-services (m), comme représenté sur la figure 4b, chacun en charge de réentraîner des modèles de contrôle de fraude déployés dans la couche (31) de traitement en « temps réel », et un système (320) de redéploiement pour redéployer automatiquement les modèles de contrôle de fraude réentraînés et mis à jour dans les micro-services (m) de la couche (31) de traitement en « temps réel » en charge de leur utilisation.In certain embodiments, the set (32) of e-learning comprises micro-services (m), as shown in FIG. 4b, each in charge of re-training fraud control models deployed in the layer (31 ) of processing in "real time", and a redeployment system (320) for automatically redeploying the fraud control models re-trained and updated in the micro-services (m) of the layer (31) of processing in "time real "in charge of their use.
Lorsque les paramètres d’un modèle de contrôle de fraude, pris en charge par un micro-service donné de la couche de traitement (31) « temps réel », doivent être mis à jour, le système (320) de redéploiement en temps réel est utilisé plutôt que l’arrêt du micro-service afin de pouvoir assurer un traitement dans les délais impartis. Le système (320) de redéploiement comprend un service central qui reçoit une notification en provenance du d’un micro-service, compris dans l’ensemble (32) d’apprentissage et en charge de l’entraînement d’un modèle de contrôle, lorsque ledit modèle a été réentraîné. Le service central du système (320) de redéploiement notifie à son tour les micro-services (m) de la couche (32) de traitement en « temps réel » qui sont concernés, par la mise à jour des paramètres, via une API REST, qui rechargera les paramètres dans un serveur (310) de configuration, compris dans la couche de traitement en « temps réel ». Ledit serveur (310) distribuera alors les paramètres aux micro-services (m) concernés. Les paramètres des modèles de contrôle de fraude gérés par les micro-services (m) de la couche de traitement « temps réel » (31) sont, ainsi, mis à jour en continu par le serveur (310) de configuration.When the parameters of a fraud control model, supported by a given micro-service of the “real time” processing layer (31), have to be updated, the real time redeployment system (320) is used rather than stopping the micro-service in order to be able to ensure processing within the time allowed. The redeployment system (320) comprises a central service which receives a notification from the micro-service, included in the training unit (32) and in charge of training a control model, when said model has been re-trained. The central service of the redeployment system (320) in turn notifies the micro-services (m) of the processing layer (32) in “real time” which are concerned, by updating the parameters, via a REST API. , which will reload the parameters in a configuration server (310), included in the "real time" processing layer. Said server (310) will then distribute the parameters to the micro-services (m) concerned. The parameters of the fraud control models managed by the micro-services (m) of the "real-time" processing layer (31) are thus continuously updated by the configuration server (310).
Ainsi, à l’aide du système (320) de redéploiement, l’indisponibilité d’une instance de service due à la mise à jour d’un modèle dans un microservice en cours d’exécution, passe de quelques secondes à quelques millisecondes, permettant ainsi d’optimiser la gestion des messages. Le système (320) de redéploiement de données comprend, en outre, des moyens pour implémenter et configurer un ensemble d’apprentissage (32) en ligne en fonction du modèle d’analyse de données. Par exemple et de manière non limitative, si un ou plusieurs modèles de contrôle de fraude sont utilisés, par exemple les modèles de forêts aléatoires et de réseau de neurones, le système (320) active un programme dont l’implémentation sur un processeur de l’architecture matérielle informatique permet de découper et configurer deux sous-ensembles d’apprentissage, composée chacune des micro-services (m) de l’ensemble d’apprentissage principale, les microservices (m) étant en charge soit de l’apprentissage du modèle de forêts aléatoires soit de l’apprentissage du modèle du réseau de neurones.Thus, using the redeployment system (320), the unavailability of a service instance due to the updating of a model in a running microservice, goes from a few seconds to a few milliseconds, thus optimizing the management of messages. The data redeployment system (320) further includes means for implementing and configuring an online learning set (32) based on the data analysis model. For example and in a nonlimiting manner, if one or more fraud control models are used, for example the random forest and neural network models, the system (320) activates a program whose implementation on a processor of the hardware architecture allows you to split and configure two learning subsets, each consisting of the micro-services (m) of the main learning set, the microservices (m) being in charge of either learning the model of random forests or from learning the neural network model.
Dans certains modes de réalisation, le système (1) de détection de fraude comprend également un environnement (2) de développement en temps réel de nouveaux modèles de contrôle et/ou vérification de fraude du flux de données dans l’environnement (3) de production.In certain embodiments, the fraud detection system (1) also comprises an environment (2) for real-time development of new models for controlling and / or verifying fraud of the data flow in the environment (3). production.
En général l’environnement de développement est séparé de l’environnement de production. Cette configuration, même si elle permet de sécuriser le système, manque de réactivité. En effet les données qui servent à tester les modèles de contrôle de fraude ne sont pas mises à jour en continu, il n’est alors pas exclu qu’au moins un modèle, développé dans l’environnement (2) de ne parvienne pas à prend en compte certains critères pour détecter une fraude quelconque, une fois qu’il est utilisé dans l’environnement (3) de production. L’environnement (2) de développement de la présente invention permet, ainsi, d’avoir un système sécurisé et réactif aux îo changements du flux de données, comme nous le verrons dans la suite de la description.In general, the development environment is separate from the production environment. This configuration, even if it secures the system, lacks responsiveness. Indeed, the data used to test the fraud control models are not continuously updated, it is therefore not excluded that at least one model, developed in the environment (2) of failing to takes into account certain criteria to detect any fraud, once it is used in the production environment (3). The development environment (2) of the present invention thus makes it possible to have a secure system that is reactive to changes in the data flow, as we will see in the following description.
Dans certains modes de réalisation, l’environnement (2) de développement comporte une architecture matérielle informatique et logicielle de déploiement composée d’au moins un moteur (21) de modélisation pour développer et tester les modèles de contrôle, ledit moteur (21) de modélisation étant relié à un moteur (20) de calcul distribué « map/reduce » configuré pour charger des données de production dans l’environnement (2) de développement et permettre l’évaluation en temps réel de nouveaux modèles de contrôle et, un déployeur (22) de flux de données en charge du déploiement des modèles dans le flux de données pris en charge dans l’environnement (3) de production.In certain embodiments, the development environment (2) comprises a hardware and software deployment architecture composed of at least one modeling engine (21) for developing and testing control models, said engine (21) modeling being connected to a distributed “map / reduce” calculation engine (20) configured to load production data into the development environment (2) and allow real-time evaluation of new control models and, a deployer (22) of data flow in charge of deploying models in the data flow supported in the production environment (3).
Le moteur de calcul distribué « map/reduce » comprend au moins une unité matérielle informatique de découpage pour découper le flux de données lues en entrée en petits volumes et à les distribuer dans une première série d’unités matérielles informatiques aptes à effectuer des calculs parallèles. Chaque unité de calcul de la première série, met en oeuvre une fonction dite « map » qui consiste à émettre les données lues en entrée sous forme de paires (clé, valeur). Une clé, est un élément compris dans la donnée. Par exemple et de manière non limitative, si la donnée consiste en une phrase, les mots qui composent la phrase peuvent être définis comme des clés. La valeur, quant à elle, est un chiffre, par exemple 1 ou 2. Elle peut servir à définir la quantité d’élément qui compose une clé, par exemple. Lorsque les paires (clé, valeur) ont été émises, elles sont transférées en direction d’une seconde série d’unités matérielles informatiques de calcul parallèle. Les unités de calcul de cette seconde série mettent alors en œuvre une fonction dite « reduce » qui consiste à regrouper les paires ayant des clés identiques et à les stocker dans une mémoire. Les données sont alors chargées à partir de ladite mémoire dans le moteur de modélisation, pour le développement de modèles de calcul en fonctions des paires (clé, valeur).The distributed “map / reduce” calculation engine comprises at least one computer hardware cutting unit for cutting the flow of data read as input into small volumes and distributing them in a first series of computer hardware units capable of performing parallel calculations. . Each calculation unit of the first series implements a so-called “map” function which consists in transmitting the data read as input in the form of pairs (key, value). A key is an element included in the data. For example and without limitation, if the data item consists of a sentence, the words which make up the sentence can be defined as keys. The value is a number, for example 1 or 2. It can be used to define the quantity of element that makes up a key, for example. When the pairs (key, value) have been issued, they are transferred to a second series of parallel computing hardware units. The calculation units of this second series then implement a so-called “reduce” function which consists in grouping the pairs having identical keys and in storing them in a memory. The data are then loaded from said memory into the modeling engine, for the development of calculation models as a function of pairs (key, value).
Dans certains modes de réalisation, le déployeur (22) de flux de données utilise un fichier descriptif des flux des données, mémorisé dans le lac de données, pour orchestrer les différents micros-services de la plateforme (10). Lorsqu’un flux de données est chargé dans le lac de données, à partir d’une base de données par exemple, les informations relatives au flux de données sont automatiquement inscrits dans le fichier descriptif dudit flux de données ainsi que leur adresse, c'est-à-dire la couche de traitement où lesdites données doivent être acheminées. Le déployeur (22) lit les différentes adresses inscrites dans le fichier descriptif et transfère les données dans les micro-services correspondant.In certain embodiments, the data flow deployor (22) uses a file describing the data flows, stored in the data lake, to orchestrate the various microservices of the platform (10). When a data flow is loaded into the data lake, for example from a database, the information relating to the data flow is automatically entered in the descriptive file of said data flow as well as their address, it that is to say the processing layer where said data is to be routed. The deployer (22) reads the various addresses entered in the description file and transfers the data to the corresponding micro-services.
Dans certains modes de réalisation, le déploiement des modèles de données de contrôle de fraude est assuré par le biais d’un contrôleur de référentiel de codes qui interroge le moteur (21) de modélisation par rapport à certains référentiels de code pour détecter les modifications apportées au flux.In certain embodiments, the deployment of fraud control data models is ensured by means of a code repository controller which interrogates the modeling engine (21) with respect to certain code repositories to detect the modifications made to the flow.
Dans certains modes de réalisation, tout déploiement en continu de modèles et algorithmes de contrôle, issus de l’environnement (2) de développement, dans l’environnement (3) de production peut être supervisé par une personne selon le cas d’usage du système (1) de détection. Cette action peut être effectuée pour éviter qu’un modèle ou code malicieux soit introduit dans l’environnement (3) de production. Par exemple et de manière non limitative, lorsque le système (1) de détection est utilisé pour le contrôle d’informations relatives à une carte bancaire et à son utilisateur, le processus de contrôle peut se dérouler dans le cadre d’une norme de sécurité telle que le standard PCI DSS (norme de sécurité de l’industrie des cartes de paiement). Ce standard permet d’augmenter le contrôle des informations du titulaire de la carte dans le but de réduire l’utilisation frauduleuse des instruments de paiement. Un superviseur peut, dans ce cadre, effectuer une vérification des modèles ou codes de contrôle afin de détecter toute tentative de modification des informations relatives à un utilisateur particulier, par îo exemple.In some embodiments, any continuous deployment of control models and algorithms from the development environment (2) in the production environment (3) can be supervised by a person depending on the use case of the detection system (1). This action can be performed to prevent a malicious model or code from being introduced into the production environment (3). For example and in a nonlimiting manner, when the detection system (1) is used for the control of information relating to a bank card and to its user, the control process can take place within the framework of a security standard such as the PCI DSS standard (security standard for the payment card industry). This standard increases the control of cardholder information in order to reduce the fraudulent use of payment instruments. In this context, a supervisor can carry out a check of the control models or codes in order to detect any attempt to modify the information relating to a particular user, for example.
Dans certains modes de réalisation, le système (1) de détection de fraude pour la sécurisation de données sensibles dans un système de services (5) comprenant au moins une base (52) de données et au moins une plateforme (53) de traitement de requêtes associées aux données sensibles, ledit système (1) de détection de fraude jouant le rôle d’interface sécurisée entre la base (52) de données et la plateforme (53) de traitement de requête. Par exemple et de manière non limitative, le système (5) de services (figure 2), peut comprendre une interface client (50) au moyen duquel un client entre des données pour avoir accès à un service particulier compris dans une plateforme (51) de services. Les données entrées par le client sont enregistrées dans une base (52) de données puis transférées vers le lac (4) de données du système (1) de détection de fraude. Les données sont ensuite acheminées vers la couche (31) de traitement en « temps réel » pour analyse. Si les données contiennent des éléments frauduleux le dispositif d’alarme du système (1) de détection envoie un signal à un superviseur pour l’informer de la tentative de fraude. Si au contraire les données ne sont pas frauduleuses le résultat de la requête est transféré dans la couche (33) de service. La plateforme (53) de traitement de requête du système (5) de services effectue un appel du résultat et procède au traitement de la requête du client.In certain embodiments, the fraud detection system (1) for securing sensitive data in a service system (5) comprising at least one database (52) and at least one platform (53) for processing requests associated with sensitive data, said fraud detection system (1) acting as a secure interface between the database (52) and the request processing platform (53). For example and without limitation, the service system (5) (Figure 2), may include a client interface (50) by means of which a client enters data to gain access to a particular service included in a platform (51) Services. The data entered by the customer are recorded in a database (52) and then transferred to the data lake (4) of the fraud detection system (1). The data is then routed to the "real time" processing layer (31) for analysis. If the data contain fraudulent elements, the alarm system of the detection system (1) sends a signal to a supervisor to inform him of the attempted fraud. If, on the contrary, the data is not fraudulent, the result of the request is transferred to the service layer (33). The request processing platform (53) of the service system (5) makes a call to the result and proceeds to process the request from the client.
La présente demande décrit diverses caractéristiques techniques et avantages en référence aux figures et/ou à divers modes de réalisation. L’homme de métier comprendra que les caractéristiques techniques d’un mode de réalisation donné peuvent en fait être combinées avec des caractéristiques d’un autre mode de réalisation à moins que l’inverse ne soit explicitement mentionné ou qu’il ne soit évident que ces caractéristiques sont incompatibles ou que la combinaison ne fournisse pas une solution à au moins un des problèmes techniques mentionnés dans la présente demande, îo De plus, les caractéristiques techniques décrites dans un mode de réalisation donné peuvent être isolées des autres caractéristiques de ce mode à moins que l’inverse ne soit explicitement mentionné.The present application describes various technical characteristics and advantages with reference to the figures and / or to various embodiments. Those skilled in the art will understand that the technical characteristics of a given embodiment can in fact be combined with characteristics of another embodiment unless the reverse is explicitly mentioned or it is obvious that these characteristics are incompatible or the combination does not provide a solution to at least one of the technical problems mentioned in the present application, îo Furthermore, the technical characteristics described in a given embodiment can be isolated from the other characteristics of this mode. unless the reverse is explicitly mentioned.
Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes, et l'invention ne doit pas être limitée aux détails donnés ci-dessus.It should be obvious to those skilled in the art that the present invention allows embodiments in many other specific forms without departing from the scope of the invention as claimed. Therefore, the present embodiments should be considered by way of illustration, but may be modified in the field defined by the scope of the appended claims, and the invention should not be limited to the details given above.
ii
Claims (16)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1659717A FR3057378B1 (en) | 2016-10-07 | 2016-10-07 | FRAUD DETECTION SYSTEM IN A DATA FLOW |
EP17791591.5A EP3523772A1 (en) | 2016-10-07 | 2017-10-09 | System for detecting fraud in a data flow |
PCT/EP2017/075688 WO2018065629A1 (en) | 2016-10-07 | 2017-10-09 | System for detecting fraud in a data flow |
CN201780074761.3A CN110036404A (en) | 2016-10-07 | 2017-10-09 | System for the fraud in detection data stream |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1659717A FR3057378B1 (en) | 2016-10-07 | 2016-10-07 | FRAUD DETECTION SYSTEM IN A DATA FLOW |
FR1659717 | 2016-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3057378A1 true FR3057378A1 (en) | 2018-04-13 |
FR3057378B1 FR3057378B1 (en) | 2022-03-18 |
Family
ID=57796512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1659717A Active FR3057378B1 (en) | 2016-10-07 | 2016-10-07 | FRAUD DETECTION SYSTEM IN A DATA FLOW |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3523772A1 (en) |
CN (1) | CN110036404A (en) |
FR (1) | FR3057378B1 (en) |
WO (1) | WO2018065629A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3888023A4 (en) * | 2019-05-13 | 2022-08-31 | Feedzai - Consultadoria e Inovação Tecnológica, S.A. | Automatic model monitoring for data streams |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11062315B2 (en) | 2018-04-25 | 2021-07-13 | At&T Intellectual Property I, L.P. | Fraud as a service |
FR3099614B1 (en) * | 2019-08-01 | 2021-10-01 | Worldline | Fraud detection mechanism in an adversarial environment |
FR3104866B1 (en) * | 2019-12-13 | 2023-11-24 | Accumulateurs Fixes | Service platform for industrial control systems and its method of use. |
CN111813721B (en) * | 2020-07-15 | 2022-09-09 | 深圳鲲云信息科技有限公司 | Neural network data processing method, device, equipment and storage medium |
CN112422576A (en) * | 2020-11-24 | 2021-02-26 | 北京数美时代科技有限公司 | Layered online architecture device and equipment supporting real-time anti-fraud service |
CN114035887A (en) * | 2021-10-13 | 2022-02-11 | 北京能科瑞元数字技术有限公司 | Micro-service one-stop type management and control platform based on container technology |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133721A1 (en) * | 2001-03-15 | 2002-09-19 | Akli Adjaoute | Systems and methods for dynamic detection and prevention of electronic fraud and network intrusion |
US20120173465A1 (en) * | 2010-12-30 | 2012-07-05 | Fair Isaac Corporation | Automatic Variable Creation For Adaptive Analytical Models |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001073652A1 (en) * | 2000-03-24 | 2001-10-04 | Access Business Group International Llc | System and method for detecting fraudulent transactions |
CN103714479A (en) * | 2012-10-09 | 2014-04-09 | 四川欧润特软件科技有限公司 | Intelligent centralized monitor method and system for bank personal business fraudulent conducts |
RU2599943C2 (en) * | 2015-02-20 | 2016-10-20 | Закрытое акционерное общество "Лаборатория Касперского" | Method of fraudulent transactions detecting system optimizing |
-
2016
- 2016-10-07 FR FR1659717A patent/FR3057378B1/en active Active
-
2017
- 2017-10-09 WO PCT/EP2017/075688 patent/WO2018065629A1/en unknown
- 2017-10-09 CN CN201780074761.3A patent/CN110036404A/en active Pending
- 2017-10-09 EP EP17791591.5A patent/EP3523772A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133721A1 (en) * | 2001-03-15 | 2002-09-19 | Akli Adjaoute | Systems and methods for dynamic detection and prevention of electronic fraud and network intrusion |
US20120173465A1 (en) * | 2010-12-30 | 2012-07-05 | Fair Isaac Corporation | Automatic Variable Creation For Adaptive Analytical Models |
Non-Patent Citations (2)
Title |
---|
CHRIS RICHARDSON: "Introduction to Microservices | NGINX", 19 May 2015 (2015-05-19), XP055275708, Retrieved from the Internet <URL:http://web.archive.org/web/20150930124659/https://www.nginx.com/blog/introduction-to-microservices/> [retrieved on 20160526] * |
JAMES LEWIS ET AL: "Microservices", 25 March 2014 (2014-03-25), XP055377310, Retrieved from the Internet <URL:https://martinfowler.com/articles/microservices.html> [retrieved on 20170531] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3888023A4 (en) * | 2019-05-13 | 2022-08-31 | Feedzai - Consultadoria e Inovação Tecnológica, S.A. | Automatic model monitoring for data streams |
Also Published As
Publication number | Publication date |
---|---|
WO2018065629A1 (en) | 2018-04-12 |
EP3523772A1 (en) | 2019-08-14 |
FR3057378B1 (en) | 2022-03-18 |
CN110036404A (en) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3057378A1 (en) | SYSTEM FOR DETECTING FRAUD IN A DATA STREAM | |
US11237897B2 (en) | Detecting and responding to an anomaly in an event log | |
US11468446B2 (en) | Method for adjusting risk parameter, and method and device for risk identification | |
US20210158147A1 (en) | Training approach determination for large deep learning models | |
US11176508B2 (en) | Minimizing compliance risk using machine learning techniques | |
CN110663030A (en) | Edge device, system and method for processing extreme data | |
US20190340615A1 (en) | Cognitive methodology for sequence of events patterns in fraud detection using event sequence vector clustering | |
US20220414661A1 (en) | Privacy-preserving collaborative machine learning training using distributed executable file packages in an untrusted environment | |
US20230185912A1 (en) | Defending deep generative models against adversarial attacks | |
FR3106914A1 (en) | Method for monitoring data exchanged over a network and intrusion detection device | |
US11508480B2 (en) | Online partially rewarded learning | |
Gilbert | Artificial intelligence for autonomous networks | |
US11487650B2 (en) | Diagnosing anomalies detected by black-box machine learning models | |
US11538063B2 (en) | Online fraud prevention and detection based on distributed system | |
US20230388343A1 (en) | Systems and methods for aida based exploit selection | |
FR3103039A1 (en) | Detecting attacks using hardware performance counters | |
US11675582B2 (en) | Neural networks to identify source code | |
US11295177B2 (en) | Ensemble weak support vector machines | |
WO2022251369A1 (en) | Dynamic node insertion of secondary services for high-availability during main decision failure at runtime | |
AU2021218217A1 (en) | Systems and methods for preventative monitoring using AI learning of outcomes and responses from previous experience. | |
Karthikeyan et al. | Retracted: An efficient stacking model with SRPF classifier technique for intrusion detection system | |
Perwej | A Potent Technique for Identifying Fake Accounts on Social Platforms | |
US12021895B2 (en) | Malware detection with multi-level, ensemble artificial intelligence using bidirectional long short-term memory recurrent neural networks and natural language processing | |
US20230315842A1 (en) | Dynamically blocking credential attacks using identity intelligence | |
US20240028726A1 (en) | Methods, Devices, and Systems for Sanitizing a Neural Network to Remove Potential Malicious Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180413 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |