一种异常账户的检测方法及装置与流程

文档序号:19067859发布日期:2019-11-06 02:38阅读:182来源:国知局
一种异常账户的检测方法及装置与流程
本说明书一个或多个实施例涉及计算机
技术领域
,尤其涉及一种异常账户的检测方法及装置。
背景技术
:区块链技术是构建在点对点(pointtopoint,p2p)网络上,利用链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。由于其具有弱中心化、不可篡改、包容性等优势,被广泛应用于金融行业。用户访问区块链网络中的区块链节点的账户和密钥(比如公钥和私钥),通常以文本文件格式保存在用户终端中。当用户终端被黑客攻击时,极容易造成用户的账户和密钥发生泄漏。黑客窃取到用户的账户和密钥后,可以使用该用户的账户和密钥登录区块链节点,进行交易,从而造成该用户的经济损失。因此,亟待一种异常账户的检测方案。技术实现要素:本说明书一个或多个实施例描述了一种异常账户的检测方法及装置,能够实现对异常账户的检测。第一方面,提供了一种异常账户的检测方法,所述方法应用于区块链网络中的区块链节点,所述方法包括:当达到预设的采样周期时,根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块;从所述目标区块包含的交易日志中获取目标账户对应的交易日志集合,所述交易日志集合中包括与所述目标账户发起的多笔交易相关的多条交易日志,每条交易日志具有多个目标属性,所述目标属性为交易时间、互联网协议ip地址、交易状态或交易金额;针对所述交易日志集合中的每个目标属性,至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定所述交易日志集合中该目标属性的风险分数;根据所述交易日志集合中各目标属性的风险分数,确定所述交易日志集合的风险总分;如果所述风险总分大于预设分值阈值,则确定所述目标账户为异常账户。可选的,所述多个目标属性包括第一属性,所述至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定所述交易日志集合中该目标属性的风险分数,包括:如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,所述第一分数指示出所述第一属性为异常属性;如果所述各条交易日志中所述第一属性的属性值不满足所述第一异常条件,则将针对所述第一属性的风险分数确定为0。可选的,所述多个目标属性包括第二属性,所述至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定所述交易日志集合中该目标属性的风险分数,包括:确定所述各条交易日志中所述第二属性的属性值满足针对所述第二属性预设的第二异常条件的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并根据所述比例,确定所述第二属性的风险分数。可选的,所述第一属性为交易时间,所述如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,包括:根据所述各条交易日志的交易时间,确定所述交易日志集合中相邻的交易日志的时间间隔;如果所述交易日志集合中存在第一预设数目个小于预设的第一预设时长的时间间隔,则将针对交易时间的风险分数确定为针对所述交易时间预设的第一分数。可选的,所述第一属性为ip地址,所述如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,包括:如果所述交易日志集合中存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则将针对所述ip地址的风险分数确定为针对所述ip地址预设的第一分数。可选的,所述第一属性为交易状态,所述如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,包括:如果所述交易日志集合中存在连续的第二预设数目个交易日志的交易状态为交易失败,则将针对所述交易状态的风险分数确定为针对所述交易状态预设的第一分数。可选的,所述第一属性为交易金额,所述如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,包括:如果所述交易日志集合中存在交易金额大于预设的交易金额阈值的交易日志,则将针对所述交易金额的风险分数确定为针对所述交易金额预设的第一分数。可选的,所述第二属性为交易状态,所述确定所述各条交易日志中所述第二属性的属性值满足针对所述第二属性预设的第二异常条件的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并根据所述比例,确定所述第二属性的风险分数,包括:确定所述各条交易日志中所述交易状态为交易失败的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并将针对所述交易状态的风险分数确定为针对所述交易状态预设的第二分数与所述比例的乘积。可选的,所述第二属性为交易金额,所述确定所述各条交易日志中所述第二属性的属性值满足针对所述第二属性预设的第二异常条件的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并根据所述比例,确定所述第二属性的风险分数,包括:确定所述各条交易日志中所述交易金额大于预设的交易金额阈值的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并将针对所述交易金额的风险分数确定为所述比例。可选的,所述预设的交易金额阈值根据所述交易日志集合中各交易日志的交易金额的平均值确定。可选的,所述根据所述交易日志集合中各目标属性的风险分数,确定所述交易日志集合的风险总分,包括:根据针对各目标属性预设的权重系数,对所述各目标属性的风险分数加权求和,得到所述交易日志集合的风险总分。可选的,所述确定目标账户为异常账户之后,所述方法还包括:当检测到所述目标账户登录时,向登录所述目标账户的用户终端发送告警信息。第二方面,提供了一种异常账户的检测装置,所述装置应用于区块链网络中的区块链节点,所述装置包括:第一获取模块,用于当达到预设的采样周期时,根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块;第二获取模块,用于从所述目标区块包含的交易日志中获取目标账户对应的交易日志集合,所述交易日志集合中包括与所述目标账户发起的多笔交易相关的多条交易日志,每条交易日志具有多个目标属性,所述目标属性为交易时间、互联网协议ip地址、交易状态或交易金额;第一确定模块,用于针对所述交易日志集合中的每个目标属性,至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定所述交易日志集合中该目标属性的风险分数;第二确定模块,用于根据所述交易日志集合中各目标属性的风险分数,确定所述交易日志集合的风险总分;第三确定模块,用于如果所述风险总分大于预设分值阈值,则确定所述目标账户为异常账户。可选的,所述多个目标属性包括第一属性,所述第一确定模块,具体用于:如果所述各条交易日志中所述第一属性的属性值满足针对所述第一属性预设的第一异常条件,则将针对所述第一属性的风险分数确定为针对所述第一属性预设的第一分数,所述第一分数指示出所述第一属性为异常属性;如果所述各条交易日志中所述第一属性的属性值不满足所述第一异常条件,则将针对所述第一属性的风险分数确定为0。可选的,所述多个目标属性包括第二属性,所述第一确定模块,具体用于:确定所述各条交易日志中所述第二属性的属性值满足针对所述第二属性预设的第二异常条件的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并根据所述比例,确定所述第二属性的风险分数。可选的,所述第一属性为交易时间,所述第一确定模块,具体用于:根据所述各条交易日志的交易时间,确定所述交易日志集合中相邻的交易日志的时间间隔;如果所述交易日志集合中存在第一预设数目个小于预设的第一预设时长的时间间隔,则将针对交易时间的风险分数确定为针对所述交易时间预设的第一分数。可选的,所述第一属性为ip地址,所述第一确定模块,具体用于:如果所述交易日志集合中存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则将针对所述ip地址的风险分数确定为针对所述ip地址预设的第一分数。可选的,所述第一属性为交易状态,所述第一确定模块,具体用于:如果所述交易日志集合中存在连续的第二预设数目个交易日志的交易状态为交易失败,则将针对所述交易状态的风险分数确定为针对所述交易状态预设的第一分数。可选的,所述第一属性为交易金额,所述第一确定模块,具体用于:如果所述交易日志集合中存在交易金额大于预设的交易金额阈值的交易日志,则将针对所述交易金额的风险分数确定为针对所述交易金额预设的第一分数。可选的,所述第二属性为交易状态,所述第一确定模块,具体用于:确定所述各条交易日志中所述交易状态为交易失败的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并将针对所述交易状态的风险分数确定为针对所述交易状态预设的第二分数与所述比例的乘积。可选的,所述第二属性为交易金额,所述第一确定模块,具体用于:确定所述各条交易日志中所述交易金额大于预设的交易金额阈值的交易日志的数目占所述交易日志集合中总交易日志数目的比例,并将针对所述交易金额的风险分数确定为所述比例。可选的,所述预设的交易金额阈值根据所述交易日志集合中各交易日志的交易金额的平均值确定。可选的,所述第二确定模块,具体用于:根据针对各目标属性预设的权重系数,对所述各目标属性的风险分数加权求和,得到所述交易日志集合的风险总分。可选的,所述装置还包括:发送模块,用于当检测到所述目标账户登录时,向登录所述目标账户的用户终端发送告警信息。第三方面,提供了一种区块链节点,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中任一项的所述的方法。第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行第一方面中任一项的所述的方法。通过本说明书实施例提供了一种异常账户的检测方法及装置。首先,当达到预设的采样周期时,区块链节点根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块,并从目标区块包含的交易日志中获取目标账户对应的交易日志集合。其中,交易日志集合中包括由目标账户发起的多条交易日志,每条交易日志具有多个目标属性,目标属性为交易时间、互联网协议ip地址、交易状态或交易金额。然后,针对交易日志集合中的每个目标属性,区块链节点至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定交易日志集合中该目标属性的风险分数。之后,区块链节点根据交易日志集合中各目标属性的风险分数,确定交易日志集合的风险总分,如果风险总分大于预设分值阈值,则区块链节点确定目标账户为异常账户。这样,区块链节点通过对目标账户的交易日志集合中的交易日志进行分析,可以检测目标账户是否为异常账户。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本说明书实施例提供的区块链系统的架构图;图2为本说明书实施例提供的一种异常账户的检测方法的流程图;图3为本说明书实施例提供的一种异常账户的检测装置的结构示意图;图4为本说明书实施例提供的一种异常账户的检测装置的结构示意图。具体实施方式下面结合附图,对本说明书提供的方案进行描述。图1为本说明书实施例提供的区块链系统的架构图,如图1所示,该系统包括用户终端和区块链网络。其中,区块链网络包括多个区块链节点,每个区块链节点上运行有交易平台,该交易平台可以与多个用户进行交互,为用户提供服务。用户可以通过在用户终端中的客户端输入账户和密钥的方式登录服务平台,并与其他用户进行交易。其中,客户端可以为用户终端上的应用程序(application,app)、分布式应用程序(decentralizedapplication,dapp)、浏览器等。区块链网络中的区块链节点则会记录该账户对应的交易日志。其中,每条交易日志可以包括多个目标属性,目标属性可以为交易时间、互联网协议(internetprotocol,ip)地址、交易状态或交易金额,也可以为其他属性,本说明书实施例不作限定。本说明书以目标属性为交易时间、ip地址、交易状态或交易金额为例进行介绍,其他情况与之类似。本说明书实施例提供了一种异常账户的检测方法,该方法应用于区块链网络中的区块链节点,如图2所示,处理过程如下:步骤201,当达到预设的采样周期时,根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块。在实施例中,区块链节点中可以预先存储有采样周期和时间范围。该采样周期和时间范围可以由技术人员根据经验进行设定。当某一账户通过区块链节点上运行的交易平台发起与其他账户的交易时,区块链节点可以将该交易打包到区块,并基于各个节点之间的共识算法将区块添加到区块链中。此外,区块链节点还可以将各个账户发起的交易的交易状况或交易信息通过日志的形式进行记录,从而生成交易日志。例如,交易日志中可以记录,各个交易发起的时间,发起的账户,交易是否成功,交易的类型,交易的金额,等等。其中,区块链节点可以根据一笔交易生成一条交易日志,也可以根据连续的多笔交易记录生成一条交易日志,本说明书实施例不作限定。之后,区块链节点可以将各个账户对应的交易日志存储在本地数据库中,还可以将交易日志以区块的形式存储至区块链上。如本领域技术人员所示,当将区块添加到区块链上时,会根据添加时刻生成该区块对应的时间戳。当区块链节点需要检测某一账户(即目标账户)是否为异常账户时,区块链节点可以根据预设的采样周期,周期性的从区块链中获取区块的时间戳属于预设时间范围(比如一周或者一个月或者一年)的区块(即目标区块),以便从中读取对应时间范围的交易日志。步骤202,从目标区块包含的交易日志中获取目标账户对应的交易日志集合。其中,交易日志集合中包括与目标账户发起的多笔交易相关的多条交易日志,每条交易日志具有多个目标属性,目标属性为交易时间、ip地址、交易状态或交易金额。在实施中,区块链节点得到目标区块后,可以进一步从目标区块包含的交易日志中获取发起方(from)字段为目标账户的交易日志,组成目标账户对应的交易日志集合。其中,该交易集合中包括由该目标账户发起的多条交易的日志内容;该交易日志集合中的每条交易日志可以包括多个目标属性;该目标属性可以为交易时间、ip地址、交易状态或交易金额,还可以为其他属性,本说明实施例不作限定。表一为区块链节点获取到的账户1对应的交易日志集合。表一序号账户交易时间ip地址交易金额交易状态交易1账户12019.1.1215:30:1010.0.0.1500交易成功交易2账户12019.1.1215:30:4510.0.0.11000交易失败交易3账户12019.1.1215:32:0510.0.0.1100交易成功交易4账户12019.1.1215:35:3020.0.0.13000交易失败交易5账户12019.1.1215:36:0120.0.0.15000交易失败交易6账户12019.1.1215:40:0020.0.0.18000交易失败步骤203,针对交易日志集合中的每个目标属性,至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定交易日志集合中该目标属性的风险分数。在实施中,区块链节点中可以预先存储有各目标属性对应的异常条件。其中,各目标属性对应的异常条件可以由技术人员根据经验进行设定。区块链节点得到目标账户对应的交易日志集合后,针对交易日志集合中的每个目标属性,区块链节点可以根据各条交易日志中该目标属性的属性值与该目标属性对应的异常条件,确定交易日志集合中该目标属性的风险分数。其中,区块链节点确定交易日志集合中该目标属性的风险分数的方式可以是多种多样的,本说明书实施例提供了两种可行的方式进行介绍,具体如下:方式一,多个目标属性包括第一属性,如果各条交易日志中第一属性的属性值满足针对第一属性预设的第一异常条件,则区块链节点将针对第一属性的风险分数确定为针对第一属性预设的第一分数。其中,第一分数指示出第一属性为异常属性。如果各条交易日志中第一属性的属性值不满足第一异常条件,则区块链节点将针对第一属性的风险分数确定为0。在实施中,区块链节点中可以预先存储有目标属性和分数的对应关系。其中,目标属性和分数的对应关系可以由技术人员根据经验进行设定。表二为区块链节点中存储的目标属性和分数的对应关系。表二序号目标属性分数1交易时间302ip地址103交易状态404交易金额20以目标属性为第一属性为例,区块链节点得到目标账户对应的交易日志集合后,区块链节点可以判断各条交易日志中该第一属性的属性值是否满足该第一属性对应的异常条件。如果该第一属性的属性值满足该第一属性对应的异常条件,则区块链节点可以确定该第一属性为异常属性,并将该第一属性的风险分数确定为第一属性对应的第一分数。如果该第一属性的属性值不满足该第一属性对应的异常条件,则区块链节点可以确定该第一属性为正常属性,并将该第一属性的风险分数确定为0。其中,对于不同的目标属性,目标属性对应的异常条件也不相同,本说明书实施例提供了几种判断目标属性是否为异常属性,并确定目标属性的风险分数的示例,具体如下:示例一,第一属性为交易时间,区块链节点判断第一属性是否为异常属性,并确定第一属性的风险分数的过程如下:步骤一,根据各条交易日志中记录的交易时间,确定交易日志集合中相邻的交易的时间间隔。在实施中,区块链节点可以根据各条交易日志中的交易时间,确定交易日志集合中相邻的交易的交易时间的时间间隔。例如,如表一所示,交易日志1和交易日志2的交易时间的时间间隔为35秒,交易日志2和交易日志3的交易时间的时间间隔为1分20秒,交易日志3和交易日志4的交易时间的时间间隔为3分25秒,交易日志4和交易日志5的交易时间的时间间隔为31秒,交易日志5和交易日志6的交易时间的时间间隔为3分59秒。步骤二,如果交易日志集合中存在第一预设数目个小于预设的第一预设时长的时间间隔,则将针对交易时间的风险分数确定为针对交易时间预设的第一分数。在实施中,区块链节点中可以预先存储有第一预设数目和第一预设时长。其中,该第一预设数目和该第一预设时长可以由技术人员根据经验进行设定。区块链节点得到交易日志集合中相邻的交易日志的交易时间的时间间隔后,可以进一步判断该交易日志集合中是否存在第一预设数目个小于预设的第一预设时长的时间间隔。如果该交易日志集合中存在第一预设数目个小于预设的第一预设时长的时间间隔,则说明该目标账户可能被黑客窃取,并进行频繁的交易,区块链节点可以确定交易时间为异常属性,并将该交易时间的风险分数确定为交易时间对应的第一分数。如果该交易日志集合中不存在第一预设数目个小于预设的第一预设时长的时间间隔,则说明该交易时间正常,区块链节点可以确定交易时间为正常属性,并将该交易时间的风险分数确定为0。例如,第一预设时长为1分钟,第一预设数目为2,如表一、表二所示,交易日志1和交易日志2的交易时间的时间间隔(35秒)小于第一预设时长(1分钟),交易日志4和交易日志5的交易时间的时间间隔(31秒)小于第一预设时长(1分钟),小于预设的第一预设时长的时间间隔的数目为2,则区块链节点可以确定交易时间为异常属性,并将交易时间的风险分数确定为30。示例二,第一属性为ip地址,区块链节点判断第一属性是否为异常属性,并确定第一属性的风险分数的过程为:如果交易日志集合中存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则将针对ip地址的风险分数确定为针对ip地址预设的第一分数。在实施中,区块链节点中可以预先存储有第二预设时长。其中,该第二预设时长可以由技术人员根据经验进行设定。区块链节点可以判断交易日志集合中是否存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同。如果交易日志集合中存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则说明该目标账户可能被黑客窃取,且在异地登录该目标账户进行交易,区块链节点可以确定ip地址为异常属性,并将该ip地址的风险分数确定为ip地址对应的第一分数。如果交易日志集合中不存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则说明ip地址正常,区块链节点可以确定ip地址为正常属性,并将该ip地址的风险分数确定为0。例如,第二预设时长为5分钟,如表一、表二所示,交易日志3和交易日志4的交易时间的时间间隔(3分25秒)小于第二预设时长(5分钟),且交易日志3的ip地址(10.0.0.1)与交易日志4的ip地址(20.0.0.1)不相同,则区块链节点可以确定ip地址为异常属性,并将该ip地址的风险分数确定为10。示例三,第一属性为交易状态,区块链节点判断第一属性是否为异常属性,并确定第一属性的风险分数的过程为:如果交易日志集合中存在连续的第二预设数目个交易日志的交易状态为交易失败,则将针对交易状态的风险分数确定为针对交易状态预设的第一分数。在实施中,区块链节点中可以预先存储有第二预设数目。其中,该第二预设数目可以由技术人员根据经验进行设定。区块链节点可以判断交易日志集合中是否存在连续的第二预设数目个交易日志的交易状态为交易失败。如果交易日志集合中存在连续的第二预设数目个交易日志的交易状态为交易失败,则说明目标账户可能被黑客窃取,并进行密钥尝试,区块链节点可以确定交易状态为异常属性,并将该交易状态的风险分数确定为交易状态对应的第一分数。如果交易日志集合中不存在连续的第二预设数目个交易日志的交易状态为交易失败,则说明交易状态正常,区块链节点可以确定交易状态为正常属性,并将该交易状态的风险分数确定为0。例如,第二预设数目为3,如表一、表二所示,交易3、交易4和交易5的交易状态均为交易失败,则区块链节点可以确定交易状态为异常属性,并将该交易状态的风险分数确定为40。示例四,第一属性为交易金额,区块链节点判断目标属性是否为异常属性,并确定第一属性的风险分数的过程为:如果交易日志集合中存在交易金额大于预设的交易金额阈值的交易日志,则将针对交易金额的风险分数确定为针对交易金额预设的第一分数。在实施中,区块链节点中可以预先存储有交易金额阈值。其中,该交易金额阈值可以由技术人员根据经验进行设定。区块链节点可以判断交易日志集合中是否存在交易金额大于预设的交易金额阈值的交易日志。如果交易日志集合中存在交易金额大于预设的交易金额阈值的交易日志,则说明该目标账户被黑客窃取,并进行大额交易,区块链节点可以确定交易金额为异常属性,并将该交易金额的风险分数确定为交易金额对应的第一分数。如果交易日志集合中不存在交易金额大于预设的交易金额阈值的交易日志,则说明交易金额正常,区块链节点可以确定交易金额为正常属性,并将该交易金额的风险分数确定为0。例如,交易金额阈值为3000,如表一、表二所示,交易5的交易金额(5000)和交易6的交易金额(8000)均大于交易金额阈值(3000),则区块链节点可以确定交易金额为异常属性,并将该交易金额的风险分数确定为20。方式二,多个目标属性包括第二属性,区块链节点可以确定各条交易日志中第二属性的属性值满足针对第二属性预设的第二异常条件的交易日志的数目占交易日志集合中总交易日志数目的比例,并根据比例,确定第二属性的风险分数。在实施中,以目标属性为第二属性为例,区块链节点得到目标账户对应的交易日志集合后,针对每条交易日志中的第二属性,区块链节点可以判断该交易日志中第二属性的属性值是否满足该第二属性对应的第二异常条件。如果该交易日志中第二属性的属性值满足该第二属性对应的第二异常条件,则区块链节点可以确定该交易日志为目标交易日志。然后,区块链节点可以统计目标交易日志的数目。区块链节点得到目标交易日志的数目后,可以进一步确定目标交易日志的数目占交易日志集合中总交易日志数目的比例,并根据比例,确定第二属性的风险分数。其中,对于不同的目标属性,目标属性对应的异常条件也不相同,本说明书实施例提供了几种确定目标属性的风险分数的示例,具体如下:示例一,第二属性为交易状态,区块链节点确定第二属性的风险分数的过程为:确定各条交易日志中交易状态为交易失败的交易日志的数目占交易日志集合中总交易日志数目的比例,并将针对交易状态的风险分数确定为针对交易状态预设的第二分数与比例的乘积。在实施中,区块链节点得到目标账户对应的交易日志集合后,可以确定各条交易日志中交易状态为交易失败的交易日志的数目占交易日志集合中总交易日志数目的比例。然后,区块链节点可以将交易状态的风险分数确定为交易状态对应第二分数与该比例的乘积。例如,如表一、表二所示,交易3、交易4和交易5的交易状态均为交易失败,则交易状态为交易失败的交易日志的数目占交易日志集合中总交易日志数目的比例为3/6=0.5,交易状态的风险分数为40*0.5=20。示例二,第二属性为交易金额,区块链节点确定第二属性的风险分数的过程为:确定各条交易日志中交易金额大于预设的交易金额阈值的交易日志的数目占交易日志集合中总交易日志数目的比例,并将针对交易金额的风险分数确定为比例。在实施中,区块链节点中可以预先存储有交易金额阈值。其中,该交易金额阈值可以由技术人员根据经验进行设定。区块链节点得到目标账户对应的交易日志集合后,可以确定各条交易日志中交易金额大于预设的交易金额阈值的交易日志的数目占交易日志集合中总交易日志数目的比例,并将交易金额的风险分数确定为比例。例如,交易金额阈值为3000,如表一所示,交易5的交易金额(5000)和交易6的交易金额(8000)均大于交易金额阈值(3000),则交易金额大于预设的交易金额阈值的交易日志的数目占交易日志集合中总交易日志数目的比例为2/6=0.33,也即该交易金额的风险分数为0.33。可选的,预设的交易金额阈值可以根据交易日志集合中各交易日志的交易金额的平均值确定。在实施中,区块链节点中可以预先存储有预设系数。其中,该预设系数可以由技术人员根据经验进行设定。区块链节点可以确定交易日志集合中各交易日志的交易金额的平均值与预设系数的乘积,作为交易金额阈值。例如,预设系数为1.2,如表一所示,交易金额阈值为:(500+1000+100+3000+5000+8000)/6*1.2=3520。步骤203,根据交易日志集合中各目标属性的风险分数,确定交易日志集合的风险总分。在实施中,区块链节点确定出各目标属性的风险分数后,可以进一步计算各目标属性的风险分数的和值,并将该和值作为交易日志集合的风险总分。例如,交易时间的风险分数为0,ip地址的风险分数为10,交易状态的风险分数为40,交易金额的风险分数为20,则交易日志集合的风险总分为0+10+40+20=70。可选的,区块链节点可以根据针对各目标属性预设的权重系数,对各目标属性的风险分数加权求和,得到交易日志集合的风险总分。在实施中,区块链节点中可以预先存储有目标属性与权重系数的对应关系。其中,目标属性与权重系数的对应关系可以由技术人员根据经验进行设定。表三为区块链节点中存储的目标属性和权重系数的对应关系。表三序号目标属性权重系数1交易时间0.32ip地址0.13交易状态0.44交易金额0.2区块链节点确定出各目标属性的风险分数后,可以对各目标属性的风险分数加权求和,得到交易日志集合的风险总分。例如,交易时间的风险分数为0,ip地址的风险分数为10,交易状态的风险分数为40,交易金额的风险分数为20,如表三所示,则交易日志集合的风险总分为0*0.3+10*0.1+40*0.4+20*0.2=21。步骤205,如果风险总分大于预设分值阈值,则确定目标账户为异常账户。在实施中,区块链节点中可以预先存储有分值阈值。其中,该分值阈值可以由技术人员根据经验进行设定。区块链节点得到交易日志集合的风险总分后,可以进一步判断该风险总分是否大于或等于预设分值阈值。如果该风险总分大于或等于预设分值阈值,则说明该账户被黑客窃取,区块链节点可以确定目标账户为异常账户。如果该风险总分小于预设分值阈值,则说明该账户正常,区块链节点可以确定目标账户为正常账户。例如,预设分值阈值为60,交易日志集合的风险总分为70,则该风险总分(70)大于预设分值阈值(60),则区块链节点可以确定目标账户为异常账户。可选的,区块链节点确定目标账户为异常账户之后,还可以当检测到目标账户登录时,向登录目标账户的用户终端发送告警信息。在实施中,区块链节点确定目标账户为异常账户之后,可以在检测到目标账户登录时,向登录目标账户的用户终端发送告警信息,以提醒用户该目标账户存在被黑客窃取的风险。可选的,区块链节点也可以向该目标账户绑定的手机号发送短信提醒用户,也可以向该目标账户绑定的邮箱发送邮件提醒用户,还可以采用其他方式提醒用户,本说明书实施例不作限定。通过本说明书实施例提供了一种异常账户的检测方法。首先,当达到预设的采样周期时,区块链节点根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块,并从目标区块包含的交易日志中获取目标账户对应的交易日志集合。其中,交易日志集合中包括由目标账户发起的多条交易日志,每条交易日志具有多个目标属性,目标属性为交易时间、互联网协议ip地址、交易状态或交易金额。然后,针对交易日志集合中的每个目标属性,区块链节点至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定交易日志集合中该目标属性的风险分数。之后,区块链节点根据交易日志集合中各目标属性的风险分数,确定交易日志集合的风险总分,如果风险总分大于预设分值阈值,则区块链节点确定目标账户为异常账户。这样,区块链节点通过对目标账户的交易日志集合中的交易日志进行分析,可以检测目标账户是否为异常账户。基于相同的技术构思,如图3所示,本说明书实施例还提供了一种异常账户的检测装置,该装置应用于区块链网络中的区块链节点,该装置包括:第一获取模块310,用于当达到预设的采样周期时,根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块;第二获取模块320,用于从所述目标区块包含的交易日志中获取目标账户对应的交易日志集合,交易日志集合中包括由目标账户发起的多条交易日志,每条交易日志具有多个目标属性,目标属性为交易时间、互联网协议ip地址、交易状态或交易金额;第一确定模块330,用于针对交易日志集合中的每个目标属性,至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定交易日志集合中该目标属性的风险分数;第二确定模块340,用于根据交易日志集合中各目标属性的风险分数,确定交易日志集合的风险总分;第三确定模块350,用于如果风险总分大于预设分值阈值,则确定目标账户为异常账户。可选的,多个目标属性包括第一属性,第一确定模块330,具体用于:如果各条交易日志中第一属性的属性值满足针对第一属性预设的第一异常条件,则将针对第一属性的风险分数确定为针对第一属性预设的第一分数,第一分数指示出第一属性为异常属性;如果各条交易日志中第一属性的属性值不满足第一异常条件,则将针对第一属性的风险分数确定为0。可选的,多个目标属性包括第二属性,第一确定模块330,具体用于:确定各条交易日志中第二属性的属性值满足针对第二属性预设的第二异常条件的交易日志的数目占交易日志集合中总交易日志数目的比例,并根据比例,确定第二属性的风险分数。可选的,第一属性为交易时间,第一确定模块330,具体用于:根据各条交易日志的交易时间,确定交易日志集合中相邻的交易日志的时间间隔;如果交易日志集合中存在第一预设数目个小于预设的第一预设时长的时间间隔,则将针对交易时间的风险分数确定为针对交易时间预设的第一分数。可选的,第一属性为ip地址,第一确定模块330,具体用于:如果交易日志集合中存在相邻的交易日志的交易时间的时间间隔小于第二预设时长,且ip地址不相同,则将针对ip地址的风险分数确定为针对ip地址预设的第一分数。可选的,第一属性为交易状态,第一确定模块330,具体用于:如果交易日志集合中存在连续的第二预设数目个交易日志的交易状态为交易失败,则将针对交易状态的风险分数确定为针对交易状态预设的第一分数。可选的,第一属性为交易金额,第一确定模块330,具体用于:如果交易日志集合中存在交易金额大于预设的交易金额阈值的交易日志,则将针对交易金额的风险分数确定为针对交易金额预设的第一分数。可选的,第二属性为交易状态,第一确定模块330,具体用于:确定各条交易日志中交易状态为交易失败的交易日志的数目占交易日志集合中总交易日志数目的比例,并将针对交易状态的风险分数确定为针对交易状态预设的第二分数与比例的乘积。可选的,第二属性为交易金额,第一确定模块330,具体用于:确定各条交易日志中交易金额大于预设的交易金额阈值的交易日志的数目占交易日志集合中总交易日志数目的比例,并将针对交易金额的风险分数确定为比例。可选的,预设的交易金额阈值根据交易日志集合中各交易日志的交易金额的平均值确定。可选的,第二确定模块340,具体用于:根据针对各目标属性预设的权重系数,对各目标属性的风险分数加权求和,得到交易日志集合的风险总分。可选的,如图4所示,该装置还包括:发送模块360,用于当检测到目标账户登录时,向登录目标账户的用户终端发送告警信息。通过本说明书实施例提供了一种异常账户的检测装置。首先,当达到预设的采样周期时,区块链节点根据区块链中各区块的时间戳,获取时间戳属于预设时间范围的目标区块,并从目标区块包含的交易日志中获取目标账户对应的交易日志集合。其中,交易日志集合中包括由目标账户发起的多条交易日志,每条交易日志具有多个目标属性,目标属性为交易时间、互联网协议ip地址、交易状态或交易金额。然后,针对交易日志集合中的每个目标属性,区块链节点至少根据各条交易日志中该目标属性的属性值与针对该目标属性预设的异常条件,确定交易日志集合中该目标属性的风险分数。之后,区块链节点根据交易日志集合中各目标属性的风险分数,确定交易日志集合的风险总分,如果风险总分大于预设分值阈值,则区块链节点确定目标账户为异常账户。这样,区块链节点通过对目标账户的交易日志集合中的交易日志进行分析,可以检测目标账户是否为异常账户。基于相同的技术构思,本说明书实施例还提供了一种区块链节点,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现上述区块链节点执行的方法。基于相同的技术构思,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行上述区块链节点执行的方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1