CN117459262A - 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质 - Google Patents

一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质 Download PDF

Info

Publication number
CN117459262A
CN117459262A CN202311375970.5A CN202311375970A CN117459262A CN 117459262 A CN117459262 A CN 117459262A CN 202311375970 A CN202311375970 A CN 202311375970A CN 117459262 A CN117459262 A CN 117459262A
Authority
CN
China
Prior art keywords
user
business
behavior
historical
data model
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.)
Pending
Application number
CN202311375970.5A
Other languages
English (en)
Inventor
龙雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liaoning Zhenxing Bank Co ltd
Original Assignee
Liaoning Zhenxing Bank Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Liaoning Zhenxing Bank Co ltd filed Critical Liaoning Zhenxing Bank Co ltd
Priority to CN202311375970.5A priority Critical patent/CN117459262A/zh
Publication of CN117459262A publication Critical patent/CN117459262A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明属于银行业务安全管理技术领域,尤其为一种基于行为分析的金融业务逻辑漏洞告警监测方法及系统,该基于行为分析的金融业务逻辑漏洞告警监测方法通过获取用户的业务日志,然后基于用户的业务日志,对用户的历史业务行为进行建模,然后基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常,由于该方法使用的基础数据来源为业务日志,避免了由于报文加密导致流量监测无法实现的情况,通过规则模板提取业务交易请求特征值,并将用户当日请求特征值序列化,从而实现对用户行为而非单个请求的异常分析,通过异常分析,解决了传统安全设备或系统对攻击行为的监测依赖恶意攻击特征导致无法监测利用业务逻辑漏洞的攻击行为问题。

Description

一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统 及存储介质
技术领域
本发明属于银行业务安全管理技术领域,具体涉及一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质。
背景技术
在金融领域,当前的网络安全设备对攻击者利用通用漏洞或WEB类漏洞对系统及服务器进行攻击已经有较为完善的监测手段,但针对攻击者利用业务逻辑漏洞对系统业务进行攻击的行为缺乏效果较好的监测手段。当前的网络安全设备对漏洞的监测主要依赖请求数据包中的恶意攻击特征,而由于利用业务逻辑漏洞的攻击无攻击特征,所以传统的流量监测设备无法监测,另外,在金融行业应用越来越广泛的报文加密场景下,流量分析也无法生效。
发明内容
本发明旨在提供一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质,以实现对利用业务逻辑漏洞对金融业务系统进行攻击的行为进行告警监测。
为实现以上目的,本发明采用以下技术方案:
提供一种基于行为分析的金融业务逻辑漏洞告警监测方法,包括:
获取用户的业务日志;
基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型;
基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常;
将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常;
若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
优选的,所述对用户的历史业务行为进行建模获取用户的历史业务数据模型包括:
对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;
以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
优选的,所述判断该用户当日业务行为是否异常包括:
将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;
以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与所述当日业务行为序列相似的行为序列,则认为所述当日业务行为序列无异常,如果未找到与所述当日业务行为序列相似的行为序列,或历史数据不足,则认为所述当日业务行为序列存在异常。
优选的,所述判断该用户的历史业务数据模型是否存在异常包括:
采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来。
优选的,所述进行告警处理包括:
对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
本发明还提供一种基于行为分析的金融业务逻辑漏洞告警监测系统,包括:
业务日志获取模块,用于获取用户的业务日志;
历史业务数据模型建立模块,用于基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型;
当日业务行为异常判断模块,用于基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常;
历史业务数据模型异常判断模块,用于将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常;
告警处理模块,用于若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
优选的,所述历史业务数据模型建立模块包括:
标准化数据处理单元:用于对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;
行为序列整合存储单元,用于以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
优选的,所述当日业务行为异常判断模块包括:
当日业务行为序列建立单元,用于将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;
当日业务行为异常判断单元,用于以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与所述当日业务行为序列相似的行为序列,则认为所述当日业务行为序列无异常,如果未找到与所述当日业务行为序列相似的行为序列,或历史数据不足,则认为所述当日业务行为序列存在异常。
优选的,所述历史业务数据模型异常判断模块包括孤立森林判断单元,所述孤立森林判断单元用于采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来;
所述告警处理模块包括原始日志标记单元,所述原始日志标记单元用于对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
本发明还提供一种计算机可读的存储介质,所述存储介质中包括存储的程序,其中,所述程序运行时执行前面任一项中所述的方法。
与现有技术相比,本发明的有益效果是:该基于行为分析的金融业务逻辑漏洞告警监测方法通过获取用户的业务日志,然后基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型,然后基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常,由于该方法使用的基础数据来源为业务日志,避免了由于报文加密导致流量监测无法实现的情况,通过规则模板提取业务交易请求特征值,并将用户当日请求特征值序列化,从而实现对用户行为而非单个请求的异常分析,通过异常分析,解决了传统安全设备或系统对攻击行为的监测依赖恶意攻击特征导致无法监测利用业务逻辑漏洞的攻击行为问题。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明基于行为分析的金融业务逻辑漏洞告警监测方法一实施例的流程图。
图2为本发明基于行为分析的金融业务逻辑漏洞告警监测系统一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
安全告警是在网络安全管理中对恶意攻击行为进行监控并产生告警信息,比如各类安全设备(包括但不限于入侵防护设备、入侵检测设备、态势感知平台、流量探针等)产生的告警信息,这里的安全设备是指软件产品或硬件和软件相结合的产品。
在金融业务系统中,当前常用的安全监控方法主要为通过流量分析设备与日志分析设备的监控,结合业务反欺诈系统的反欺诈规则进行监测,但目前针对日志的监测主要集中在对单条日志的恶意攻击特征的分析监测,由于利用业务逻辑漏洞的攻击特征,单条日志基本均为正常日志,故此方式对于利用业务逻辑漏洞进行攻击的场景也基本无效。另一方面,金融业务中反欺诈规则设置依赖人员经验,而风控人员对网络黑客攻击的技术与手段往往不够了解,导致反欺诈规则在面对针对业务逻辑漏洞的利用场景效果一般。
这里所说的业务逻辑漏洞是指由错误或不严谨的应用程序逻辑产生的漏洞,业务逻辑漏洞允许攻击者通过绕过应用程序的业务规则来滥用应用程序,这些攻击往往被伪装成语法上有效的Web请求,这种请求单独来看往往不包含攻击特征,但可以违反预期的应用程序逻辑从而实现恶意目的。
比如,某银行为增加业务量,丰富业务内容,银行经过自己内部的规划设计后,在自己的平台上推出了新的存贷款业务,该存贷款业务具体的规定是,只要客户在该行的账户还有未到期的定期银行存款,就可凭借此项存款的存款单向银行申请不超过此项存款单90%的银行贷款。某人员在银行卡存入50元的存款,而后通过技术手段将存单金额改为50万,出乎意料的是,这张虚假的50万的存单,竟然质押贷款通过了银行审核而贷出巨额款项,该银行推出的业务存在不能识别串改后的存款单的业务逻辑漏洞,导致银行遭受重大损失,但是这种情况下,单独查看银行卡的日志,单条日志基本均为正常日志,所以不能识别出来。
在一个实施例中,提供一种基于行为分析的金融业务逻辑漏洞告警监测方法,如图1所示,该基于行为分析的金融业务逻辑漏洞告警监测方法包括以下步骤:
步骤S101,获取用户的业务日志。
步骤S102,基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型。
步骤S103,基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常。
步骤S104,将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常。
步骤S105,若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
其中,对于上述获取用户的业务日志的方式,比如,可以通过日志收集探针从银行的存款系统、贷款系统中分别收集获取存款业务日志和贷款业务日志,存款业务日志中记录有客户对其银行卡的存款操作信息,贷款业务日志中记录有客户对其银行卡的贷款操作信息。
可选的,上述对用户的历史业务行为进行建模获取用户的历史业务数据模型包括:对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
其中,由于本方法主要关注针对业务逻辑漏洞的攻击行为,故在对用户的业务日志进行处理得到标准化数据时,是以交易请求作为单位,主要关注发生真实交易的请求日志,包括查询交易请求(查余额、查进度)、操作交易请求(开户、转账)等,这样,数据标准化后至少需要包含以下特征值:用户名、登录时间、登录地点(如部分交易没有则置为空)、登录IP、交易接口(主要用来区分交易类型的特征)、操作对象(json格式,该特征主要是用于区分交易对象的特征)、交易响应值(响应码与摘要,主要用于区分交易是否成功的特征)。
其中,由于针对业务逻辑漏洞的攻击,单独的交易请求均与正常业务相仿,对单独的交易请求判断是否有异常交易存在大量误报及漏报,基本可以认为无法实现,但通过对攻击者一系列的操作序列的整体分析,可以较为明显的判断是否为正常用户,还是攻击者进行的恶意操作,故在进行分析前,先进行用户行为的建模,即用户行为的序列化,这里以日为单位,将用户单日的校验操作整合成一个序列存入数据库,型如:“用户A-登录时间A-登录地点A-交易A-成功-交易B-失败…”,这样,对单独交易请求的行为分析就转化成了对某一用户当日交易序列的异常分析。
由于金融业务系统用户量大,对用户的业务日志进行处理得到标准化数据是为了方便采用统一的方式建立不同用户的用户历史业务数据模型,每个用户的用户历史业务数据模型包含有该用户的历史业务数据,所以每个用户的用户历史业务数据模型是与该用户相关联的、个性化的模型,这样,才能有效的通过该用户的用户历史业务数据模型对该用户的后续操作行为进行告警监测。
可选的,上述判断该用户当日业务行为是否异常包括:将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与当日业务行为序列相似的行为序列,则认为当日业务行为序列无异常,如果未找到与当日业务行为序列相似的行为序列,或历史数据不足,则认为当日业务行为序列存在异常。
其中,结合历史数据判断用户当日行为是否异常,对于利用业务逻辑漏洞进行攻击的场景,大体将其分为两类,一是攻击者使用新账号直接发起攻击,二是攻击者窃取正常用户账号发起攻击,但无论哪种方式,发起攻击的时间段内的行为序列都会存在,需要进一步判断其与过去正常行为的差异性,即以用户名作为关键字,在用户行为数据库中查询该用户之前N次(此项可以配置,比如可以为10次)的行为序列,并分别与用户当日行为序列进行比对,如果存在相似的序列,则认为当日操作曾经有过重复,属于常规操作,并无异常。如果未找到相似序列,或历史数据不足,则认为存在异常操作。
常见的序列比对方式有全局比对、局部比对。其中,全局比对是将两条序列里面的所有字符进行比对,在全局范围内对两条序列进行比对打分,找出最佳比对,主要被用来寻找关系密切的序列。可以采用Needleman-Wunsch算法进行全局比对。局部比对不对两个完整的序列进行比对,而是在每个序列中使用某些局部区域片段进行比对,可以采用Smith-Waterman局部比对算法进行局部比对。本实施例中使用全局比对判断当日用户行为序列是否与之前序列存在较高相似性,若不存在,则进行下一步分析判断,直到完成该用户的当日用户行为序列与数据库中该用户的历史业务数据模型记录的该用户之前N次的行为序列的比对。
可选的,前述判断该用户的历史业务数据模型是否存在异常包括:采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来。
由于存在一种可能的情况是,某用户从最开始开设账户的目的就是用于利用业务逻辑系统对金融业务系统进行攻击,所以该用户的历史业务数据可能就是攻击行为产生的数据,这样,该用户的历史业务数据模型对其后续的业务行为就没有告警监测价值,并且该用户的历史业务数据模型也是存在问题的,从而通过该用户的历史业务数据模型能够监测其异常行为。
因此,这里设置了判断用户的历史业务数据模型中的交易序列相对于大部分用户是否存在异常的步骤,这里采用孤立森林算法,其中,孤立森林算法中的 “孤立”(isolation) 指的是 “把异常点从所有样本中孤立出来”。孤立森林算法是基于Ensemble的异常检测方法,具有线性的时间复杂度,且精准度较高,在处理大数据时速度快,在工业界的应用范围比较广,常见的场景包括:网络安全中的攻击检测、金融交易欺诈检测、噪声数据过滤(数据清洗)等。孤立森林算法的前提是大量交易均为合法交易,仅有少量为异常交易,这与金融业务中的实际情况也吻合,故使用此算法可以快速将存在异常交易的历史业务数据模型从所有的样本模型中孤立出来。
此处选择孤立森林算法的优势为:适用于连续数据,无监督学习,无需对数据进行标记即可训练。由于在实际过程中,利用业务逻辑漏洞攻击系统的行为及流量数据都很少,缺乏可标记样本,故使用无监督学习效果更好。iForest(孤立森林算法)具有线性时间复杂度,可以用在含有海量数据的数据集上,树的数量越多,算法越稳定,由于每棵树独立生成,因此利于分布式加速运算。金融行业交易数据量本身非常大,算法的速度也是需要考虑的因素,因此该算法适合该应用场景。
孤立森林算法总共分两步:(1)iForest(孤立森林算法)的训练:从训练集中进行采样,构建孤立树,对森林中的每棵孤立树进行测试,记录路径长度;路径长度越短,意味着针对此特征维度,此点越容易被孤立出来。(2)计算异常分数:由于单棵树的切割过程是随机的,所以需要用 ensemble(集成学习)的方法来使结果收敛,即反复从头开始切,然后计算每次切分结果的平均值,达到整合全部孤立树的效果,根据异常分数计算公式,参考下式:
该式中,h(x) 为x在每棵树的高度,c(Ψ) 为给定样本数Ψ时路径长度的平均值,用来对样本x的路径长度h(x) 进行标准化处理。计算每个样本点的异常得分,如果异常得分接近1,那么判断为异常交易,对系统进行告警。
可选的,上述进行告警处理包括:对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
通过对算法判断为异常行为的行为序列进行人工分析,以确保判断的准确。
该基于行为分析的金融业务逻辑漏洞告警监测方法的基础数据来源为金融业务系统的业务日志,避免了由于报文加密导致流量监测无法实现的情况;通过规则模板提取业务交易请求特征值,并将用户当日请求特征值序列化,从而实现对用户行为而非单个请求的异常分析;通过对异常行为的分析,使得即使面对未考虑到的异常场景,依然能够进行识别与监测,因此该方法不依赖反欺诈规则设置;依托无监督机器学习算法,无需对数据进行标注,解决了业务逻辑漏洞利用样本不足,缺乏训练集的问题。
在一个实施例中,提供一种基于行为分析的金融业务逻辑漏洞告警监测系统,如图2所示,该系统包括:业务日志获取模块201、历史业务数据模型建立模块202、当日业务行为异常判断模块203、历史业务数据模型异常判断模块204、告警处理模块205。
其中,业务日志获取模块201,用于获取用户的业务日志。
历史业务数据模型建立模块202,用于基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型。
当日业务行为异常判断模块203,用于基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常。
历史业务数据模型异常判断模块204,用于将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常。
告警处理模块205,用于若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
其中,对于上述业务日志获取模块201获取用户的业务日志的方式,比如,可以通过日志收集探针从银行的存款系统、贷款系统中分别收集获取存款业务日志和贷款业务日志,存款业务日志中记录有客户对其银行卡的存款操作信息,贷款业务日志中记录有客户对其银行卡的贷款操作信息。
可选的,上述历史业务数据模型建立模块202包括:标准化数据处理单元,用于对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;行为序列整合存储单元,用于以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
其中,由于本方法主要关注针对业务逻辑漏洞的攻击行为,故在通过标准化数据处理单元对用户的业务日志进行处理得到标准化数据时,是以交易请求作为单位,主要关注发生真实交易的请求日志,包括查询交易请求(查余额、查进度)、操作交易请求(开户、转账)等,这样,数据标准化后至少需要包含以下特征值:用户名、登录时间、登录地点(如部分交易没有则置为空)、登录IP、交易接口(主要用来区分交易类型的特征)、操作对象(json格式,该特征主要是用于区分交易对象的特征)、交易响应值(响应码与摘要,主要用于区分交易是否成功的特征)。
其中,由于针对业务逻辑漏洞的攻击,单独的交易请求均与正常业务相仿,对单独的交易请求判断是否有异常交易存在大量误报及漏报,基本可以认为无法实现,但通过对攻击者一系列的操作序列的整体分析,可以较为明显的判断是否为正常用户,还是攻击者进行的恶意操作,故在进行分析前,先进行用户行为的建模,即通过行为序列整合存储单元对用户行为序列化,这里以日为单位,将用户单日的校验操作整合成一个序列存入数据库,型如:“用户A-登录时间A-登录地点A-交易A-成功-交易B-失败…”,这样,对单独交易请求的行为分析就转化成了对某一用户当日交易序列的异常分析。
由于金融业务系统用户量大,对用户的业务日志进行处理得到标准化数据是为了方便采用统一的方式建立不同用户的用户历史业务数据模型,每个用户的用户历史业务数据模型包含有该用户的历史业务数据,所以每个用户的用户历史业务数据模型是与该用户相关联的、个性化的模型,这样,才能有效的通过该用户的用户历史业务数据模型对该用户的后续操作行为进行告警监测。
可选的,上述当日业务行为异常判断模块包括:当日业务行为序列建立单元,用于将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;当日业务行为异常判断单元,用于以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与当日业务行为序列相似的行为序列,则认为当日业务行为序列无异常,如果未找到与当日业务行为序列相似的行为序列,或历史数据不足,则认为当日业务行为序列存在异常。
其中,结合历史数据判断用户当日行为是否异常,对于利用业务逻辑漏洞进行攻击的场景,大体将其分为两类,一是攻击者使用新账号直接发起攻击,二是攻击者窃取正常用户账号发起攻击,但无论哪种方式,发起攻击的时间段内的行为序列都会存在,需要通过当日业务行为异常判断单元进一步判断其与过去正常行为的差异性,即以用户名作为关键字,在用户行为数据库中查询该用户之前N次(此项可以配置,比如可以为10次)的行为序列,并分别与通过当日业务行为序列建立单元建立的该用户当日行为序列进行比对,如果存在相似的序列,则认为当日操作曾经有过重复,属于常规操作,并无异常。如果未找到相似序列,或历史数据不足,则认为存在异常操作。
常见的序列比对方式有全局比对、局部比对。其中,全局比对是将两条序列里面的所有字符进行比对,在全局范围内对两条序列进行比对打分,找出最佳比对,主要被用来寻找关系密切的序列。可以采用Needleman-Wunsch算法进行全局比对。局部比对不对两个完整的序列进行比对,而是在每个序列中使用某些局部区域片段进行比对,可以采用Smith-Waterman局部比对算法进行局部比对。本实施例中的当日业务行为异常判断单元使用全局比对判断当日用户行为序列是否与之前序列存在较高相似性,若不存在,则进行下一步分析判断,直到完成该用户的当日用户行为序列与数据库中该用户的历史业务数据模型记录的该用户之前N次的行为序列的比对。
可选的,上述历史业务数据模型异常判断模块包括孤立森林判断单元,孤立森林判断单元用于采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来。
由于存在一种可能的情况是,某用户从最开始开设账户的目的就是用于利用业务逻辑系统对金融业务系统进行攻击,所以该用户的历史业务数据可能就是攻击行为产生的数据,这样,该用户的历史业务数据模型对其后续的业务行为就没有告警监测价值,并且该用户的历史业务数据模型也是存在问题的,从而通过该用户的历史业务数据模型能够监测其异常行为。
因此,这里设置了判断用户的历史业务数据模型中的交易序列相对于大部分用户是否存在异常的步骤,这里的孤立森林判断单元采用孤立森林算法,其中,孤立森林算法中的 “孤立” (isolation) 指的是 “把异常点从所有样本中孤立出来”。孤立森林算法是基于Ensemble的异常检测方法,具有线性的时间复杂度,且精准度较高,在处理大数据时速度快,在工业界的应用范围比较广,常见的场景包括:网络安全中的攻击检测、金融交易欺诈检测、噪声数据过滤(数据清洗)等。孤立森林算法的前提是大量交易均为合法交易,仅有少量为异常交易,这与金融业务中的实际情况也吻合,故孤立森林判断单元使用此算法可以快速将存在异常交易的历史业务数据模型从所有的样本模型中孤立出来。
此处孤立森林判断单元选择孤立森林算法的优势为:适用于连续数据,无监督学习,无需对数据进行标记即可训练。由于在实际过程中,利用业务逻辑漏洞攻击系统的行为及流量数据都很少,缺乏可标记样本,故使用无监督学习效果更好。iForest(孤立森林算法)具有线性时间复杂度,可以用在含有海量数据的数据集上,树的数量越多,算法越稳定,由于每棵树独立生成,因此利于分布式加速运算。金融行业交易数据量本身非常大,算法的速度也是需要考虑的因素,因此该算法适合该应用场景。
孤立森林判断单元采用孤立森林算法总共分两步:(1)iForest(孤立森林算法)的训练:从训练集中进行采样,构建孤立树,对森林中的每棵孤立树进行测试,记录路径长度;路径长度越短,意味着针对此特征维度,此点越容易被孤立出来。(2)计算异常分数:由于单棵树的切割过程是随机的,所以需要用 ensemble(集成学习)的方法来使结果收敛,即反复从头开始切,然后计算每次切分结果的平均值,达到整合全部孤立树的效果,根据异常分数计算公式,参考下式:
该式中,h(x) 为x在每棵树的高度,c(Ψ) 为给定样本数Ψ时路径长度的平均值,用来对样本x的路径长度h(x) 进行标准化处理。计算每个样本点的异常得分,如果异常得分接近1,那么判断为异常交易,对系统进行告警。
可选的,上述告警处理模块包括原始日志标记单元,原始日志标记单元用于对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
通过对算法判断为异常行为的行为序列进行人工分析,以确保判断的准确。
该基于行为分析的金融业务逻辑漏洞告警监测系统使用的基础数据来源为业务日志,避免了由于报文加密导致流量监测无法实现的情况,通过规则模板提取业务交易请求特征值,并将用户当日请求特征值序列化,从而实现对用户行为而非单个请求的异常分析,通过异常分析,解决了传统安全设备或系统对攻击行为的监测依赖恶意攻击特征导致无法监测利用业务逻辑漏洞的攻击行为问题。该系统应用孤立森林算法实现无监督的用户异常业务行为分析,从而实现对利用业务逻辑漏洞对系统进行攻击的告警监测,不依赖反欺诈规则设置,通过对异常行为的分析,使得即使面对未考虑到的异常场景,依然能够进行识别与监测,而依托无监督机器学习算法,无需对数据进行标注,解决了业务逻辑漏洞利用样本不足,缺乏训练集的问题。
在一个实施例中,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤,这里的计算机可读存储介质可以包括但不限于:U盘、移动硬盘、光盘、ROM或RAM等各种可以存储计算机程序的介质。具体的,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S401,获取用户的业务日志。
步骤S402,基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型。
步骤S403,基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常。
步骤S404,将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常。
步骤S405,若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种基于行为分析的金融业务逻辑漏洞告警监测方法,其特征在于,包括:
获取用户的业务日志;
基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型;
基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常;
将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常;
若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
2.根据权利要求1所述的基于行为分析的金融业务逻辑漏洞告警监测方法,其特征在于,所述对用户的历史业务行为进行建模获取用户的历史业务数据模型包括:
对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;
以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
3.根据权利要求2所述的基于行为分析的金融业务逻辑漏洞告警监测方法,其特征在于,所述判断该用户当日业务行为是否异常包括:
将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;
以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与所述当日业务行为序列相似的行为序列,则认为所述当日业务行为序列无异常,如果未找到与所述当日业务行为序列相似的行为序列,或历史数据不足,则认为所述当日业务行为序列存在异常。
4.根据权利要求1所述的基于行为分析的金融业务逻辑漏洞告警监测方法,其特征在于,所述判断该用户的历史业务数据模型是否存在异常包括:
采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来。
5.根据权利要求1所述的基于行为分析的金融业务逻辑漏洞告警监测方法,其特征在于,所述进行告警处理包括:
对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
6.一种基于行为分析的金融业务逻辑漏洞告警监测系统,其特征在于,包括:
业务日志获取模块,用于获取用户的业务日志;
历史业务数据模型建立模块,用于基于用户的业务日志,对用户的历史业务行为进行建模获取用户的历史业务数据模型;
当日业务行为异常判断模块,用于基于该用户的历史业务数据模型,判断该用户当日业务行为是否异常;
历史业务数据模型异常判断模块,用于将该用户的历史业务数据模型与其他多数用户的历史业务数据模型进行比对,判断该用户的历史业务数据模型是否存在异常;
告警处理模块,用于若该用户当日业务行为或该用户的历史业务数据模型存在异常,则进行告警处理。
7.根据权利要求6所述的基于行为分析的金融业务逻辑漏洞告警监测系统,其特征在于,所述历史业务数据模型建立模块包括:
标准化数据处理单元:用于对用户的业务日志进行处理得到标准化数据,标准化数据包含以下特征值:用户名、登录时间、登录地点、登录IP、用于区分交易类型的交易接口、用于区分交易对象的操作对象、用于区分交易是否成功的交易响应值;
行为序列整合存储单元,用于以日为单位,将用户单日的日志记录的业务行为对应的标准化数据整合成一个行为序列存入数据库,如此处理该用户全部日志记录的业务行为对应的标准化数据,获取该用户的历史业务数据模型。
8.根据权利要求7所述的基于行为分析的金融业务逻辑漏洞告警监测系统,其特征在于,所述当日业务行为异常判断模块包括:
当日业务行为序列建立单元,用于将该用户当日业务行为对应的标准化数据整合成当日业务行为序列;
当日业务行为异常判断单元,用于以该用户的用户名为作为关键字,在该用户的历史业务数据模型中查询该用户之前N次的行为序列,并分别与该用户的当日业务行为序列进行比对,如果存在与所述当日业务行为序列相似的行为序列,则认为所述当日业务行为序列无异常,如果未找到与所述当日业务行为序列相似的行为序列,或历史数据不足,则认为所述当日业务行为序列存在异常。
9.根据权利要求6所述的基于行为分析的金融业务逻辑漏洞告警监测系统,其特征在于:
所述历史业务数据模型异常判断模块包括孤立森林判断单元,所述孤立森林判断单元用于采用孤立森林算法对由多个用户的历史业务数据模型组成的数据模型样本集合进行分析,将异常用户的历史业务数据模型从所有的样本中孤立出来;
所述告警处理模块包括原始日志标记单元,所述原始日志标记单元用于对于当日业务行为或历史业务数据模型存在异常的用户,对该用户的当日业务行为或历史业务数据模型进行人工分析,确认存在异常后关联该用户相关的原始日志,对该用户相关的原始日志进行标记,以此作为对利用业务漏洞对金融系统进行攻击的告警监测条目。
10.一种计算机可读的存储介质,所述存储介质中包括存储的程序,其中,所述程序运行时执行所述权利要求1至5任一项中所述的方法。
CN202311375970.5A 2023-10-23 2023-10-23 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质 Pending CN117459262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311375970.5A CN117459262A (zh) 2023-10-23 2023-10-23 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311375970.5A CN117459262A (zh) 2023-10-23 2023-10-23 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN117459262A true CN117459262A (zh) 2024-01-26

Family

ID=89590206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311375970.5A Pending CN117459262A (zh) 2023-10-23 2023-10-23 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN117459262A (zh)

Similar Documents

Publication Publication Date Title
CN109816397B (zh) 一种欺诈判别方法、装置及存储介质
CN110399925B (zh) 账号的风险识别方法、装置及存储介质
CN112053221A (zh) 一种基于知识图谱的互联网金融团伙欺诈行为检测方法
CN108156131A (zh) Webshell检测方法、电子设备和计算机存储介质
CN110348528A (zh) 基于多维数据挖掘的用户信用确定方法
CN112543196A (zh) 一种基于区块链智能合约的网络威胁情报共享平台
CN112053222A (zh) 一种基于知识图谱的互联网金融团伙欺诈行为检测方法
KR102259838B1 (ko) 암호화폐 블랙리스트 구축 장치 및 방법
CN114297448B (zh) 基于智慧防疫大数据识别的证照申办方法、系统及介质
CN111915468A (zh) 新型的网络反诈骗主动巡检与预警系统
CN111125118A (zh) 关联数据查询方法、装置、设备及介质
CN117614743B (zh) 网络诈骗的预警方法及其系统
CN111783073A (zh) 黑产识别方法、装置及可读存储介质
Soni et al. Reducing risk in KYC (know your customer) for large Indian banks using big data analytics
CN110598397A (zh) 一种基于深度学习的Unix系统用户恶意操作检测方法
CN110347669A (zh) 基于流式大数据分析的风险防范方法
CN112199480B (zh) 一种基于bert模型的在线对话日志违规检测方法及系统
CN113283906A (zh) 基于设备指纹的支付购电风险监测方法及装置
CN112016317A (zh) 基于人工智能的敏感词识别方法、装置及计算机设备
El-Abed et al. Towards the security evaluation of biometric authentication systems
CN117459262A (zh) 一种基于行为分析的金融业务逻辑漏洞告警监测方法、系统及存储介质
Sulayman et al. Designing security user profiles via anomaly detection for user authentication
CN115174205A (zh) 一种网络空间安全实时监测方法、系统及计算机存储介质
CN112950222A (zh) 资源处理异常检测方法、装置、电子设备及存储介质
CN112860648A (zh) 一种基于日志平台的智能分析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination