具体实施方式
本申请实施例提供一种风险事件确定方法及装置。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请一种风险事件确定方法一个实施例的流程图。如图1所示,所述风险事件确定方法可以包括:
S101:接收系统产生的事件,根据所述事件的事件信息计算所述事件的第一风险值,根据所述第一风险值确定出所述事件中的风险事件和可疑事件。
风险事件确定装置可以接收系统产生的事件。所述事件的事件信息可以包括:事件标识、事件的操作类型、事件的操作对象、事件的操作内容、事件的操作时间、事件的操作用户信息等内容。所述事件的事件类型可以是用户登录事件、用户访问事件等。
根据所述事件信息,可以根据预设的第一规则计算所述事件的第一风险值。具体可以包括:确定计算第一风险值的第一计算参数,根据所述第一计算参数计算所述事件的第一风险值,所述第一风险值分别与第一预设值、第二预设值比较得到比较结果,根据所述比较结果得到风险事件、安全事件和可疑事件。若第一风险值越大表示事件的风险越大,则第一风险值大于或等于第一预设值的,可以确定第一风险值对应的事件为风险事件,第一风险值小于或等于第二预设值的,可以确定第一风险值对应的事件为安全事件,第一风险值位于两个预设值之间的,可确定第一风险值对应的事件为可疑事件。其中第一预设值可以大于第二预设值。所述参数可以是风险信息的一种量化表现方式。例如,风险信息“最近10分钟内用户B被限权的账户数”可以量化表现为参数“B的限权账户数”。
第一预设规则中根据第一计算参数计算第一风险值采用的算法可以是:逻辑回归算法、神经网络算法、决策树算法或其他可以计算事件风险概率的算法。所述第一预设规则可以与事件类型建立对应关系,例如每一事件类型可以设置第一预设规则中的最优计算方法,本申请对此并不作出限定。
计算第一风险值过程中所需的第一计算参数可以根据具体的事件类型进行确定。例如,对于事件类型为转账的事件,计算第一风险值的第一计算参数所对应的风险信息可以包括:用户当前客户端IP地址与用户常用客户端IP地址的匹配程度、用户输入确认密码的错误次数、转出账户与转入账户是否存在关联关系等。相应地,该事件的第一计算参数可以包括:IP地址匹配参数、密码错误参数、关联关系参数等。
计算所得的第一风险值可以是概率形式的值,例如,所述第一风险值可以是0-1之间的值。假设第一预设值为0.8、第二预设值为0.4,那么,若计算所得的第一风险值大于或等于0.8,可以确定该事件为风险事件;若计算所得的第一风险值小于或等于0.4,可以确定该事件为安全事件;若计算所得的第一风险值位于0.4和0.8之间,可以确定该事件为可疑事件。
例如,系统产生用户A从账户A1转账一定金额至账户B1的事件,所述事件的事件信息可以包括:
事件标识:001;
用户ID:A;
操作时间:2014年01月01日上午9点;
客户端IP地址:XXX.XXX.XXX.XXX;
客户端MAC地址:AA-AA-AA-AA-AA-AA;
服务器IP地址:YYY.YYY.YYY.YYY;
操作类型:转账;
操作对象:账户A1、账户B1;
操作内容:1000元。
对上述事件进行第一次风险判断,可以根据预设的第一规则计算所述事件的第一风险值。假设所得的第一风险值计算结果为0.6,则可以确定该事件为可疑事件。
S102:确定所述可疑事件的延迟时间间隔,在所述延迟时间间隔内接收与所述可疑事件具有关联关系的操作请求。
确定所述可疑事件的延迟时间间隔。所述延迟时间间隔可以用于表示所述可疑事件从第一次风险判断结束时的第一时间至所述可疑事件进行下一步操作时的第二时间之间所间隔的时间。所述延迟时间间隔可以由所述可疑事件自动生成,也可以在所述风险事件确定装置中预先设置。
例如,用户确认付款的事件,所述事件进行的下一步具有关联关系的操作可以是在锁定资金一周后对锁定的资金进行确认付款操作。那么可以确定该事件的延迟事件间隔为第一次风险判断结果产生时开始的一周。该可疑事件的延迟时间间隔由所述可疑事件自动生成。
再例如,用户将账户A的资金转入账户B的事件,所述事件进行的下一步具有关联关系的操作可以是对账户B的资金进行转出、提现或消费的操作。由于对账户B的资金进行转出、提现或消费的操作的时间未知,可以预先设置该类型可疑事件的延迟时间间隔为第一次风险判断结果产生时开始的一个月。
在所述延迟时间间隔内,可以接收与所述可疑事件具有关联关系的操作请求。所述与可疑事件具有关联关系的操作请求可以包括:与所述可疑事件的事件信息具有关联关系的操作请求。例如,与所述可疑事件的用户ID相同的操作请求、与所述可疑事件的客户端IP地址相同的操作请求以及与所述可疑事件的操作对象相同的操作请求等。
例如,与S101中的例子所述的事件“系统产生用户A从账户A1转账一定金额至账户B1”具有关联关系的操作请求可以包括满足下述条件中的任意一个或多个的操作请求:
用户ID为A发出的操作请求;
操作请求的客户端IP地址为XXX.XXX.XXX.XXX;
操作请求的客户端MAC地址为AA-AA-AA-AA-AA-AA;
操作请求的操作对象为账户A1或账户B1。
S103:比较所述操作请求与预设的触发操作,所述操作请求属于预设的触发操作的,触发对所述可疑事件的第二次风险判断。
接收与所述可疑事件具有关联关系的操作请求后,可以判断在所述延迟时间间隔内接收到的操作请求是否属于预设的触发操作。所述触发操作可以是预先存储于风险事件确定装置中的,所述触发操作可以包括:资源损耗生成类的操作,例如:资源支出操作、资源使用操作等。
若在所述延迟时间间隔内接收到的操作请求属于预设的触发操作,可以触发对所述可疑事件的第二次风险判断。若在所述延迟时间间隔内没有接收到属于预设的触发操作的操作请求,可以在所述延迟时间间隔的末端时间自动触发对所述可疑事件的第二次风险判断。
例如,接收到与S101中的例子所述的事件“系统产生用户A从账户A1转账一定金额至账户B1”具有关联关系的操作请求:从账户B1中提取现金。所述提取现金的操作属于预设的触发操作,则可以触发对所述事件“系统产生用户A从账户A1转账一定金额至账户B1”的第二次风险判断。
S104:计算所述触发了第二次风险判断的可疑事件的第二风险值,根据所述第二风险值确定出所述可疑事件中的风险事件。
可以根据预设的第二规则对所述触发了第二次风险判断的可疑事件进行第二次风险判断。具体可以包括:确定用于计算第二风险值的第二计算参数,根据所述第二计算参数计算所述可疑事件的第二风险值,根据所述第二风险值与第三预设值比较得到比较结果确定所述可疑事件是否为风险事件。具体地,若第二风险值越大表示所述可疑事件的风险越大,则第二风险值大于或等于第三预设值的,可以确定第二风险值对应的可疑事件为风险事件,否则为安全事件。所述第二风险值可以是概率形式的值,所述第三预设值可以根据实际试验结果预先设定,例如取值0.5。
所述第二计算参数可以包括第一时间间隔内新增的风险信息所对应的参数。
所述第一时间间隔可以用于表示触发第二次风险判断的时间与第一次风险判断结果产生的时间之间的时间间隔。
在所述第一时间间隔内,可能有新增加的相同类型事件的风险判断信息,所述新增加的风险判断信息可以为所述可疑事件的第二次风险判断提供新的参数。所述新增的风险信息可以包括:相同类型事件的风险判断结果、所述事件的用户异常行为次数、所述事件的用户新增的用户行为习惯或所述事件的用户更新后的用户常用地理位置等信息。相应地,所述新增的计算参数可以包括:同类型判断结果参数、用户异常行为参数、用户习惯参数以及用户位置信息参数等。
第二预设规则中根据第二计算参数计算第二风险值采用的算法可以是:逻辑回归算法、神经网络算法、决策树算法或其他可以计算事件风险概率的算法。所述第二预设规则可以与事件类型建立对应关系,例如每一事件类型可以设置第二预设规则中的最优计算方法,本申请对此并不作出限定。
例如,接收到与S101中的例子所述的事件“系统产生用户A从账户A1转账一定金额至账户B1”具有关联关系的操作请求:从账户B1中提取现金。触发了对所述事件“系统产生用户A从账户A1转账一定金额至账户B1”的第二次风险判断。
在第一次风险判断结果产生后至触发第二次风险判断的第一时间间隔内,可以新增加风险信息“用户A的异常行为次数”所对应的参数:用户异常行为参数。根据第二预设规则计算所述可疑事件的第二风险值。假设计算得到的第二风险值为0.8,第三预设值为0.5,则可以确定该可疑事件为风险事件。
根据第二次风险判断的结果和第二次风险判断的结果可以确定风险事件。具体地,可以将第一次风险判断的结果中的风险事件和第二次风险判断结果中的风险事件确定为风险事件。
上述实施例提供的确定风险事件的方法,在进行第一次风险事件判断时,将判断结果分为三类,即安全事件、风险事件和可疑事件,对可疑事件可以在风险事件未造成损失的延迟时间间隔内,根据新增的风险信息进行第二次风险事件判断。第二次风险事件判断的计算参数更完整、更准确,可以提高确定风险事件的准确性。
作为一种优选的实施方式,所述方法还可以包括,记录所述系统产生的事件的风险判断结果信息。所述事件的风险判断结果信息可以包括:事件标识、事件类型、事件内容以及事件判断结果等。所述事件的风险判断结果信息可以为相同类型的事件进行风险判断时提供新的参数样本值,从而可以进一步提高确定其他风险事件的准确性。
下面介绍本申请一种风险事件确定装置的实施例。
图2和图3分别示出了本申请的风险事件确定装置的安装位置示意图。所述分析事件确定装置可以如图2所示集成在业务系统的服务器上,也可以如图3所示独立存在并与业务系统进行数据传输。
图4是本申请一种风险事件确定装置实施例的模块图。如图4所示,所述装置可以包括:第一风险判断模块100、操作请求接收模块200、第二风险判断触发模块300和第二风险判断模块400。其中,
所述第一风险判断模块100,可以用于接收系统产生的事件,根据所述事件的事件信息计算所述事件的第一风险值,根据所述第一风险值确定出所述事件中的风险事件和可疑事件。
所述操作请求接收模块200,可以用于确定所述第一风险判断模块100得到的可疑事件的延迟时间间隔,在所述延迟时间间隔内接收与所述可疑事件具有关联关系的操作请求。
所述第二风险判断触发模块300,可以用于判断所述操作请求接收模块200接收的操作请求是否属于预设的触发操作时,触发对所述可疑事件的第二次风险判断。
所述第二风险判断模块400,可以用于计算所述第二风险判断触发模块300中所述触发了第二次风险判断的可疑事件的第二风险值,根据所述第二风险值确定出所述可疑事件中的风险事件。
图5示出了本申请风险事件确定装置实施例中第一风险判断模块的组成示意图。如图5所示,所述第一风险判断模块100,可以包括:事件接收模块110、第一预设规则模块120、第一风险值计算模块130、第一比较模块140和第一判断结果模块150。其中,
所述事件接收模块110,可以用于接收系统产生的事件以及所述事件的事件信息。
所述第一预设规则模块120,可以用于存储计算第一风险值所需的第一预设规则。所述第一预设规则可以与事件类型建立对应关系。可以设置每一事件类型对应第一预设规则的一个最优计算方法。
所述第一风险值计算模块130,可以用于根据所述第一预设规则模块120中的第一预设规则来计算所述事件接收110中事件的第一风险值。
所述第一比较模块140,可以用于存储第一预设值和第二预设值,将搜索第一风险值计算模块130得到的第一风险值分别与第一预设值、第二预设值进行比较,得到比较结果。
所述第一判断结果模块150,可以用于根据所述第一比较模块140的比较结果,确定出风险事件、安全事件以及可疑事件。
图6示出了本申请风险事件确定装置实施例中第二风险判断触发模块的组成示意图。如图6所示,所述第二风险判断触发模块300,可以包括:第二比较模块310和触发模块320。其中,
所述第二比较模块310,可以用于存储预设的触发操作,比较所述操作请求接收模块200中接收的操作请求与所述预设的触发操作请求,确定所述接收的操作请求是否属于所述预设的触发操作。
所述触发模块320,可以用于触发对所述第二比较模块310中的比较结果为属于预设的触发操作的可疑事件的第二次风险判断。
图7示出了本申请风险事件确定装置实施例中第二风险判断模块的组成示意图。如图7所示,所述第二风险判断模块400,可以包括:第二预设规则模块410、第二风险值计算模块420、第三比较模块430和第二判断结果模块440。其中,
所述第二预设规则模块410,可以用于存储计算第二风险值所需的第二预设规则。所述第二预设规则可以与事件类型建立对应关系。可以设置每二事件类型对应第二预设规则的一个最优计算方法。
所述第二风险值计算模块420,可以用于根据所述第二预设规则模块410中的第二预设规则,计算所述触发模块320中触发了第二次风险判断的可疑事件的第二风险值。
所述第三比较模块430,可以用于存储第三预设值,并比较所述第二风险值计算模块420所得的第二风险值与所述第三预设值。
所述第二判断结果模块440,可以用于根据所述第三比较模块430的比较结果,确定出可疑事件中的风险事件。
上述实施例公开的风险事件确定装置,与本申请的风险事件确定方法相对应,可以实现本申请方法实施例的技术方案,在进行第一次风险事件判断时,将判断结果分为三类,即安全事件、风险事件和可疑事件,对可疑事件可以在风险事件未造成损失的延迟时间间隔内,根据新增的风险信息进行第二次风险事件判断。第二次风险事件判断的计算参数更完整、更准确,可以提高确定风险事件的准确性。
作为一种优选的实施方式,所述风险事件确定装置还可以包括:判断结果记录模块。所述判断结果记录模块,可以用于记录所述系统产生的事件的风险判断结果信息。所述判断结果记录模块记录的风险判断结果信息可以为相同类型的事件进行风险判断时提供新的参数样本值,从而可以进一步提高确定其他风险事件的准确性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogicDevice,PLD)(例如现场可编程门阵列(FieldProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBooleanExpressionLanguage)、AHDL(AlteraHardwareDescriptionLanguage)、Confluence、CUPL(CornellUniversityProgrammingLanguage)、HDCal、JHDL(JavaHardwareDescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、AtmelAT91SAM、MicrochipPIC18F26K20以及SiliconeLabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。