用于检测数据流中的欺诈的系统的制作方法

文档序号:18219272发布日期:2019-07-19 22:52阅读:289来源:国知局
用于检测数据流中的欺诈的系统的制作方法

本发明涉及与敏感数据的传输有关的安全领域,并且尤其涉及银行交易的保护。更具体地,本发明涉及一种用于检测数据流(流动)中的欺诈的系统。



背景技术:

保护敏感数据是许多部门面临的主要挑战,并且特别是对持续测试支付/交易安全性的银行业领域而言。虽然计算基础设施的技术进步提供了打击欺诈和敏感数据黑客攻击的手段,但是它也允许黑客开发非法或欺诈性数据恢复的新方法。

确实存在组合技术和复杂数学模型的若干方法来检测数据流内的欺诈。然而,对于不断发展并且实时受限的数据系统,这些模型的可移植性或应用使黑客有机会恢复敏感信息。



技术实现要素:

本发明的目的是通过提出一种用于在数据交换正在进行时(特别是在银行交易期间)检测欺诈的系统来克服现有技术的某些缺点。

该目标通过一种用于检测数据流中的欺诈的计算系统来实现,该计算系统包括:至少一个数据湖,其能够以分布式数据库的形式存储具有可变结构的大量数据,用于各种用途和分析;平台,其包含至少一个生产环境,所述至少一个生产环境包括至少一个自适应硬件和软件架构,所述至少一个自适应硬件和软件架构包括多个存储的欺诈监测模型、用于测试和更新欺诈监测模型的引擎、用于数据存储的至少一个存储器、至少一个处理器、用于“实时”处理数据流的层、以及服务层,所述层通过通信装置连接,层中的每个层至少包括实现在计算硬件架构处理器上执行的微服务的硬件和软件,以分别实现对数据流的实时检查和/或监测,并且在服务层内管理来自“实时”处理的所处理的数据,所述自适应架构的特征在于它还包括连接到“实时”处理层的在线学习单元,用于重新训练和更新存储在“实时”处理层中的欺诈监测模型。

根据另一个特征,“实时”层的一个输出连接到在线学习单元的输入,并且学习单元的输出连接到“实时”处理层的输入,以便形成环路学习结构。

根据另一个特征,在线学习单元包括微服务,每个微服务负责重新训练部署在“实时”处理层中的欺诈监测模型;以及重新部署系统,其用于将重新训练和更新的欺诈监测模型自动地重新部署在负责其使用的“实时”处理层的微服务中。

根据另一个特征,“实时”处理层包括配置服务器,其用于连续更新由所述“实时”处理层的微服务所管理的欺诈监测模型的参数。

根据另一个特征,在线学习单元的重新部署系统包括能够在模型已被重新训练时接收源自学习单元的微服务的通知的中央服务,所述中央服务进而通知经由apirest通过参数更新被关注的“实时”处理层的微服务,所述apirest将重新加载“实时”处理层的配置服务器中的参数,所述服务器因此将参数分发给所关注的微服务。

根据另一个特征,将自适应架构结构化为通过消息传递彼此通信的微服务使得能够将数据流处理链修整为给定数量n的微服务,所述数量n对应于要执行的处理类型的数量,以便响应给定的查询,并且使一种类型的给定服务的实例的数量倍增,以便实现扩展并且在实例被中断以执行给定配置的情况下确保服务连续性。

根据另一个特征,欺诈检测系统还包括用于开发欺诈监测的新模型和/或检查在生产环境内的数据流的环境。

根据另一个特征,开发环境包括:由用于开发和测试监测模型的至少一个建模引擎组成的部署计算硬件和软件架构,所述建模引擎连接到映射/化简分布式计算引擎,所述映射/化简分布式计算引擎被配置为在开发环境中加载生产数据并且能够实时评估新的监测模型;以及数据流部署器,其负责在生产环境中部署模型。

根据另一个特征,数据流部署器使用存储在数据湖中的数据流的描述性文件来编排平台的不同的微服务。

根据另一个特征,借助于代码存储库控制器确保欺诈监测数据模型的部署,所述代码存储库控制器关于某些代码存储库询问建模引擎,以便检测对流引入的修改。

根据另一个特征,从开发环境到生产环境的模型和控制算法的任何连续部署受到人监督。

根据另一个特征,数据重新部署系统包括用于根据数据分析模型实现和配置在线学习单元的装置。

根据另一个特征,欺诈检测系统包括监测设备,用于分析由“实时”处理层发出的信息并且包含与欺诈案例有关的日期事件,以及在检测到欺诈性数据的情况下激活警报信号以警告管理员或监督员欺诈尝试。

根据另一个特征,欺诈检测系统用于保护服务系统中的敏感数据,所述服务系统包括与敏感数据相关联的至少一个数据库和至少一个查询处理平台,所述欺诈检测系统充当数据库和查询处理平台之间的安全接口。

附图说明

通过阅读参考附图进行的描述,本发明的其他特征和优点将变得明显,其中:

-图1表示实施例中的欺诈检测系统结构的图。

-图2表示根据实施例的在包括与敏感数据相关联的数据库和查询处理平台的系统中使用欺诈检测系统结构的图。

-图3a和图3b分别表示根据实施例的欺诈检测系统平台结构和平台开发环境的图。

-图4a和图4b分别表示根据实施例的平台生产环境结构和“实时”处理层和学习单元的图。

具体实施方式

本发明涉及一种用于检测数据流中的欺诈性行为的系统(1,图1)。

在某些实施例中,数据流中的欺诈检测系统(1)包括:至少一个数据湖(4),其能够以分布式数据库的形式存储具有可变结构的大量数据,用于各种用途和分析;平台(10),其包含至少一个生产环境(3,图4a),生产环境包括至少一个自适应硬件和软件架构,该至少一个自适应硬件和软件架构包括多个存储的欺诈监测模型、用于测试和更新欺诈监测模型的引擎、用于数据存储的至少一个存储器、至少一个处理器、用于“实时”处理数据流的层(31,例如图1、图2和图4a)、以及服务层(33),所述层通过通信装置连接,每个层至少包括实现在计算硬件架构处理器上执行的微服务的硬件和软件,以分别实时检查和/或监测数据流,并在服务层(33)中管理源自“实时”处理的所处理的数据,所述自适应架构的特征在于它还包括连接到“实时”处理层(31)的在线学习单元(32),用于实时重新训练和更新存储在“实时”处理层(31)中的欺诈监测模型。

因此将理解,由“实时”处理层(31)处理的数据被复制到在线学习单元(32)中,以执行管理“实时”处理层中的欺诈检测的监测模型的重新训练(或重新学习)。然后,由所述在线学习单元(32)在“实时”处理层(31)的层中在线复制这些重新训练的模型,以便更新“实时”处理层(31)中的监测模型,而不中断处理。实际上,值得注意的是,学习和更新是在线同时进行的,也就是说,实时进行。

因此,结构(32)或学习单元和“实时”处理层(31)以形成环路的方式连接。

由于微服务,有利地实现该环路关系。

还将理解,欺诈监测系统不仅限于银行欺诈的检测(银行欺诈仅是欺诈的一个特定情况),而是通常涉及数据流中的欺诈检测。数据可以例如但不限于相对于工业过程,例如用于监测机器或用于核反应堆。

欺诈是指在交易期间或在数据流内其转移期间窃取敏感信息或数据和/或伪造信息或数据的任何行为。

一般而言,交易是指两个实体(例如但不限于用户和服务(能源供应商等)或设备供应商、生产电动发动机的工厂和在他们的机器中使用所述发动机的工厂)之间的信息或数据的交换。

数据湖(4)是存储数据的存储库或系统,数据源自例如但不限于数据库。不同的来源(例如但不限于电话、支付终端或银行)在欺诈检测系统的平台(10)的方向上连续地发出数据流,欺诈检测系统从而继续处理每个来源的流,以便检查所述流是否包含欺诈性数据。在检测到欺诈性数据的情况下,事件被记录日期(dated)并被包含在由“实时”处理层(31)发出的信息内。然后将所述信息传送到监测设备,该监测设备激活警报信号,该警报信号可以是例如但不限于声音或消息,以警告管理员或监督员欺诈尝试。如果在数据流中没有检测到欺诈案例,则传送数据以便供使用。

自适应架构的计算硬件架构包括至少一个分布式计算引擎,优选地,计算集群。分布式计算包括在计算硬件架构(例如中央处理单元)的若干处理器上分配计算或处理。因此,独立指令可以由不同的微处理器同时处理。数据在自适应架构的生产环境(3)内并且更具体地在“实时”层中实时地被处理。所述层的微服务(m)(例如参见图4b)是具有定界功能边界(即,功能的完整列表及其完整描述)的小尺寸自主功能应用。微服务经由消息队列系统(优选为mq类型的消息传递中间件)通过交换数据或消息来相互通信。消息传递中间件使用代理或不使用代理。具有代理的mq中间件使得能够将消息从发送微服务的正式消息传递协议转换为接收所述消息的微服务的正式消息传递协议。在没有代理的mq的情况下,消息从一个微服务传输到另一个微服务而不转换所述消息。优选地,在微服务之间交换的消息的格式独立于不同的微服务的正式消息传递协议,以便允许通过所述微服务的消息传递协议解释所述消息,并且因此,不管这些微服务使用什么语言。例如但不限于,可以使用json(javascriptobjectnotation)和/或xml(可扩展标记语言)格式。

编程接口(例如但不限于apirest接口)用于在架构中编排(orchestrating)微服务和用于支持功能。支持功能(其也是微服务)是为监测平台(10)的良好运行而实现的功能,例如但不限于配置更新和监测模型参数更新。这些支持功能满足平台的非功能需求,并且不实现给定的功能边界。

关于非功能需求,我们指的是与平台的良好运行有关的任何需求。

基于rest架构(表述性状态转移(representationalstatetransfer))的应用编程接口(apirest)适用于分布式数据系统。架构或apirest接口:

·是面向客户端-服务器的,也就是说,责任在客户端和服务器之间共享。这允许两个实体(客户端和服务器)独立发展。

·是无状态的,也就是说,从客户端到服务器的每个查询都应包含服务器理解查询的所有必要信息,而不必依赖于服务器上保留的上下文。这增加了客户端与服务器的交互,但降低了客户端对服务实例的依从性。

·具有高速缓存存储器:服务器发送响应,该响应提供有关该响应被放置在高速缓存存储器中的倾向的信息,例如新鲜度、其创建日期、其在将来是否应该被保留。这使客户端不会进行无用的查询,并且还提高服务器的可扩展性。

·是一个统一的接口,针对该接口,每个数据或资源被识别,通过与其相关联的已定义表示来管理每个数据或资源,并且每个传输的消息都是自描述的,意味着它具有描述它的信息。

·具有分层结构:应用的状态由各个资源识别。整个信息不会在一个单个唯一(unique)的资源中发送。客户端和服务器之间的查询/响应增加,由此可能降低缓存重要性的性能。因此,分层结构使系统能够更灵活地发展。

·作为选项,可以是“按需代码”类型,也就是说,客户端可以执行从服务器获取的脚本。这防止处理仅由服务器执行,并使客户端功能随着时间的推移而发展。

将自适应架构并且特别是“实时”处理层(31)结构化为微服务(m),使得能够将数据流处理链修整为给定数量n的微服务(m),所述数量n对应于为响应查询而要执行的处理的类型的数量。例如但不限于,如果要执行的处理的类型涉及以一种类型的交易者在先前的二十四小时内的持卡人的交易的聚合的计算,则仅一个微服务(m)可用于计算它。如果希望计算在先前的48小时内的聚合,则可以使用第二微服务。这种基于消息传递的微服务(m)类型架构能够使给定类型服务的实例的数量倍增,以便在需要中断实例的情况下(也就是说,在所述实例的方向上中断数据流以执行给定的配置,例如以重新加载这些参数)尤其实现扩展。

关于微服务类型架构,我们指的是一种软件架构,根据该软件架构,应用的复杂组件被分解为几个独立且松散配对的过程(称为微服务(m)),并通过消息系统(例如api)相互通信。

关于服务实例,我们指的是欺诈监测模型或数据分析模型或计算模型。

每个微服务尤其至少负责至少一个欺诈监测模型或程序的启动和运行(例如支持功能)。

学习或训练模型包括估计允许根据输入数据正确地描述过程的参数。例如但不限于,要估计的参数可以是变量或输入数据的权重或系数。由实际值定义的变量或输入数据的权重确定变量或输入数据的重要性:变量或数据的权重越高,变量或输入数据在过程的描述中的影响将越大。

存在几种欺诈监测模型,其中主要可以找到,例如但不限于随机森林模型、神经网络模型、专家规则模型或图挖掘模型。在一个实施例中,可以使用随机森林模型。随机森林是决策树的集合,每个树通过数据子样本与其他树区分开,该数据子样本来自源自例如银行终端或任何其他来源的数据流,并且通过数据子样本来训练它。决策树是一种结构,其用于根据称为变量或输入数据的一组变量来预测变量所采用的值。决策树采用层次结构的形式,其中每个元素称为节点,初始节点称为根。每个节点对应于关于要预测的变量的值的决定,例如在检测欺诈中的数据的权重,根据输入数据的值来做出决定。在学习之后,在随机森林模型的情况下用于检测欺诈的重要参数的估计包括例如对源自不同决策树的估计求平均。

在另一个实施例中,可以使用神经网络模型。神经网络实现归纳(induction)原理,即通过经验。通过遇到准时(punctual)情况,神经元网络将推断出一个综合决策系统,其中通用特性是所遇到的学习案例的数量和由此它们相对于遇到的问题的复杂性的复杂的性质的函数。神经网络在从动物物种或物理现象的分类到包括图像处理中的模式识别的教学技术的改进的若干领域中发挥着重要作用。特别地,神经网络广泛用于解决统计性质的问题,即使用大量数据的问题。例如但不限于,神经网络可以帮助有关购买股票的决策制定。神经网络由称为人工神经元的结构构成。所述人工神经元被设计成具有至少一个入口、一个出口和一个传递函数的自动机,其根据精确的规则将输入数据转换成输出数据。例如但不限于,神经元可以召唤输入数据,将得到的总和与阈值进行比较,并且如果该总和高于或等于该阈值则通过发出信号进行响应。例如来自终端的输入数据被认为是到达节点的输入变量,每个节点具有称为连接权重或突触值的给定权重。所述值是描述从一个神经元到另一个神经元的信号传输效率的重要参数。在基于神经网络的模型的情况下的学习阶段将包括例如确定能够获得最佳效率的突触值。一旦神经网络已经被训练,它就能够基于定义欺诈标准的规则来检测欺诈。如果神经网络以实数运行,则响应转换确定性概率。例如但不限于,如果过程包括确定用户输入的数据是否是欺诈性的,则神经网络的结果可以是:1,表示“用户输入的数据是欺诈性的”;0,表示“数据不是欺诈性的”;或0.7,表示“数据几乎肯定是欺诈性的”,在这种情况下,模型可以被重新训练为更精确的。

在另一个实施例中,专家规则模型可以用于欺诈检测。在这种情况下,该模型使用事实数据库(其基本上由与例如已经遇到的欺诈案件有关的事件构成)和用于执行推理的规则的基础,以便在检测到欺诈之前生成新的事实或事件。

在另一个实施例中,用于欺诈检测的模型是图挖掘模型。图是节点的网络或集合,节点称为峰(peak),通过至少一个段(称为边)或箭头(称为弧)相互连接。例如决策树是图的特定情况。输入数据流分布在图的节点集合上。因此,探索图包括通过应用每个边或弧的权重以及与每个节点相关联的激活函数(例如,s形函数)使数据穿过图。节点激活函数计算输入数据的加权和,并在输出中返回结果。通过算法从初始节点一次一步地执行节点探索,以便基于预先设置的标准找到模式或特征,并从中提取使能欺诈检测的最大知识。

然后,在被传送以供使用之前,将不包含欺诈性信息的处理数据存储在服务层(33)的至少一个存储器中。

在某些实施例中,“实时”层输出(31)被连接到在线学习单元(32)的输入,并且学习单元(32)输出被连接到“实时”处理层(31)的输入以形成环路学习结构,例如,如图1、图2和图4a所示。

因此,将理解,部分地结构化为微服务(“实时”处理层,学习单元......)和由学习单元(32)和“实时“处理层(31)形成的环路结构的架构的关联将同时实现不同监测模型的实时学习和更新。这里,优点在于,处理被分配到微服务中,以便实时地执行模型修改,而不需要关于欺诈或流的监测的人工或计算干预。

事实上,在自适应架构中使用环路结构能够使监测模型适应实时发出的数据流,并有效降低由给定微服务(m)管理的模型不适合监测所述流中包含的数据的风险。事实上,此类情况可能使系统(1)在欺诈方面更加脆弱。因此,本领域技术人员将理解,由于缺少模型的训练和更新,在包括微服务的这种架构中缺少环路结构可能使得实时发出的数据流中的欺诈监测很脆弱。因此,与“λ(lambda)型架构”相比,自适应架构是有利的。实际上,“λ架构”就像自适应架构一样,实现海量数据处理,并且由三层组成。所述架构包括“实时”处理层、服务层和批处理层。通常连接到数据湖和服务层的批处理层具有与监测模型学习单元(32)相同的作用,不同之处在于模型学习不是实时执行的。事实上,模型在定义的时间段期间被重新参数化或更换一次,例如但不限于,每天一次或每月一次,无论何时需要。因此,这些模型已根据未连续刷新的数据进行参数化。当想要使监测模型适应实时数据流内的信息变化以防止欺诈行为时,这构成了一个缺点。

在某些实施例中,在线学习单元(32)包括:微服务(m),例如图4b所示,每个微服务负责重新训练在“实时”处理层(31)中部署的欺诈监测模型;以及重新部署系统(320),其用于将已被重新训练和更新的欺诈监测模型自动地重新部署在负责其使用的“实时”处理层(31)的微服务(m)中。

当应当更新由“实时”处理层(31)的给定微服务负责的欺诈监测模型的参数时,使用实时重新部署系统(320)而不是停止微服务,以便能够确保在分配的时间内进行处理。重新部署系统(320)包括中央服务,当所述模型已被重新训练时,该中央服务接收来自微服务的通知,该微服务包括在学习单元(32)中并负责监测模型的训练。重新部署系统(320)的中央服务进而经由apirest通过更新参数来通知“实时”处理层(32)的有关微服务(m),该apirest将参数重新加载到配置服务器(310),该配置服务器(310)被包括在“实时”处理层中。因此,所述服务器(310)将参数分发给有关的微服务(m)。由“实时”处理层(31)的微服务(m)管理的欺诈监测模型参数因此由配置服务器(310)连续地更新。

因此,在重新部署系统(320)的帮助下,由于已经运行的微服务中的模型的更新而导致的服务实例不可用性从几秒到几毫秒,从而优化了消息管理。数据重新部署系统(320)还包括用于根据数据分析模型实现和配置在线学习单元(32)的装置。例如但不限于,如果使用一个或多个欺诈监测模型,例如随机森林和神经网络模型,则系统(320)激活程序,其中在计算硬件架构的处理器上的实现允许修整和配置两个学习子组件,每个学习子组件由主学习单元的微服务(m)组成,微服务(m)负责随机森林模型学习或神经网络模型学习。

在某些实施例中,欺诈检测系统(1)还包括实时环境(2),用于开发用于监测和/或检查生产环境(3)中的数据流内的欺诈的新模型。

通常,开发环境与生产环境是分开的。虽然能够保护系统,但这种配置缺乏响应能力。事实上,用于测试欺诈监测模型的数据不会持续更新,因此,一旦环境(2)中开发的至少一个模型用于生产环境(3),则它可能无法注意到用于检测任何欺诈的某些标准。因此,本发明的开发环境(2)允许具有安全且响应于数据流改变的系统,如将在本说明书的其余部分中看到的。

在某些实施例中,开发环境(2)包括:部署计算硬件和软件架构,其由用于开发和测试监测模型的至少一个建模引擎(21)组成,所述建模引擎(21)连接到映射/化简(reduce)分布式计算引擎(20),该映射/化简分布式计算引擎(20)被配置为在开发环境(2)中加载生产数据并且允许实时评估新的监测模型;以及数据流部署器(22),其负责在生产环境(3)中负责采用的数据流中部署模型。

“映射/化简”分布式计算引擎包括至少一个修整计算硬件单元,用于修整在输入处以小体积读取的数据流,并将它们分布在能够执行并行计算的第一系列计算硬件单元中。第一系列的每个计算单元实现“映射”功能,其包括以对(键、值)的形式发出在输入处读取的数据。键是数据中包含的元素。例如但不限于,如果数据由句子组成,则构成句子的单词可以被定义为键。至于值,它是一个数字,例如1或2。例如,它可以用于定义组成键的元素的数量。当已经发出了对(键、值)时,它们沿第二系列并行计算硬件单元的方向传送。因此,该第二系列的计算单元实现了化简功能,该功能包括收集具有相同键的对并将它们存储在存储器中。因此,数据从所述存储器被加载到建模引擎中,以便基于对(键、值)开发计算模型。

在某些实施例中,数据流部署器(22)使用存储在数据湖中的数据流的描述性文件来编排平台(10)的不同微服务。当数据流例如从数据库被加载到数据湖中时,与数据流有关的信息(包括它们的地址,也就是所述数据应该被路由到的处理层)被自动地记录在所述数据流的描述性文件中。部署器(22)读取描述性文件中记录的不同地址,并将数据传送到相应的微服务。

在某些实施例中,借助于代码存储库控制器来确保欺诈监测数据模型的部署,该代码存储库控制器关于某些代码存储库询问建模引擎(21)以检测对流引入的修改。

在某些实施例中,取决于检测系统(1)的使用情况,可以由人监督来自生产环境(3)中的开发环境(2)的模型和控制算法的任何连续部署。可以执行该动作以防止模型或恶意代码进入生产环境(3)。例如但不限于,当检测系统(1)用于监测与银行卡及其用户有关的信息时,监测过程可以作为诸如pcidss标准(支付卡行业数据安全标准)等安全标准的一部分展开。该标准允许加强对持卡人信息的监测,以便限制欺诈性使用支付方法。在该上下文中,监督员可以执行模型和监测代码的检查,以便检测例如与特定用户有关的任何信息修改尝试。

在某些实施例中,欺诈检测系统(1)用于保护服务系统(5)中的敏感数据,该服务系统(5)包括至少一个数据库(52)和用于与敏感数据相关联的查询的至少一个查询处理平台(53),所述欺诈检测系统(1)充当数据库(52)和查询处理平台(53)之间的安全接口。例如但不限于,服务系统(5)(图2)可以包括客户端接口(interface)(50),客户端通过该客户端接口输入数据以获得对服务平台(51)的特定服务的访问。由客户端输入的数据被保存到数据库(52),然后被传送到欺诈检测系统(1)的数据湖(4)。然后数据被路由到“实时”处理层(31)以进行分析。如果数据包含欺诈性元素,则检测系统(1)的警报设备向监督员发送信号以便通知他/她欺诈尝试。相反,如果数据不是欺诈性的,则查询的结果在服务层(33)中被传送。服务系统(5)的查询处理平台(53)执行关于结果的调用并开始处理客户端查询。

本申请参考附图和/或替代实施例描述了各种技术特征和优点。本领域技术人员将理解,除非明确指出或者如果显然这些特征不兼容或者该组合对本申请中提到的技术问题中的至少任何一个技术问题不提供解决方案,否则给定实施例的技术特征可以与来自另一个实施例的特征组合。此外,除非明确指出,否则在给定实施例中描述的技术特征可以与该模式的其他特征隔离。

对于本领域技术人员来说显而易见的是,本发明允许具有许多其他特定形式的实施例而不脱离所要求保护的本发明的范围。结果,本发明的实施例应该以说明的方式考虑,但是可以在由所附权利要求的范围限定的领域中进行修改,并且本发明不应限于上述细节。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1