CN114143015A - 异常访问行为检测方法和电子设备 - Google Patents
异常访问行为检测方法和电子设备 Download PDFInfo
- Publication number
- CN114143015A CN114143015A CN202010808974.8A CN202010808974A CN114143015A CN 114143015 A CN114143015 A CN 114143015A CN 202010808974 A CN202010808974 A CN 202010808974A CN 114143015 A CN114143015 A CN 114143015A
- Authority
- CN
- China
- Prior art keywords
- model
- directed graph
- abnormal
- abnormal access
- access
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Abstract
本申请实施例提供一种异常访问行为检测方法和电子设备,涉及通信技术领域,包括:根据第一日志数据生成有向图;利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,确定异常检测结果;其中,第一模型用于根据有向图识别多节点跳跃登录的异常访问行为;第二模型用于根据有向图识别跨业务群访问的异常访问行为;第三模型用于根据有向图识别与历史访问行为不符的异常访问行为。本申请实施例可以基于第一日志数据生成有向图,从有向图角度识别图中的异常访问行为,无需历史攻击样本支持,从而降低对数据源质量的要求,实现提高异常访问行为检测的准确率。
Description
技术领域
本申请涉及通信技术,尤其涉及一种异常访问行为检测方法和电子设备。
背景技术
随着互联网技术的不断发展,网络设备的安全性越发重要。例如,由于设备之间的互联性,攻击者在通过弱口令、安全漏洞、系统后门等方式入侵一台服务器后,可能导致与该服务器交互的其它设备一起面临安全风险,因此需要检测网络设备中的异常访问,提升安全性。
目前,常用的异常访问检测方法有两种,第一种:基于统计和画像的基线检测,例如,防御人员通过历史互连记录建立访问基线,定义正常访问行为,将首次出现、超出阈值、偏离画像的访问判断为异常访问行为;第二种,基于模式特征的机器学习检测,例如,防御人员收集一段时间内的访问日志,提取特征后学习正常行为模式,利用机器学习算法构建检测模型。
然而在上述第一种异常访问行为检测方法中,存在基线规则通常由人为规定,检测不够灵活的问题,在上述第二种异常访问行为检测方法中,机器学习算法需要大量训练数据,在样本种类较少时难以有效建立模型,存在着一定的局限性。
发明内容
本申请实施例提供一种异常访问行为检测方法和电子设备,基于第一日志数据生成有向图,从有向图角度识别图中的异常访问行为,无需历史攻击样本支持,从而降低对数据源质量的要求,实现提高异常访问行为检测的准确率。
第一方面,本申请实施例提供一种异常访问行为检测方法,包括:根据第一日志数据生成有向图;其中,有向图包括:多个用于标识设备的节点,以及多个节点之间的有向访问关系;利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,确定异常检测结果;其中,第一模型用于根据有向图识别多节点跳跃登录的异常访问行为;第二模型用于根据有向图识别跨业务群访问的异常访问行为;第三模型用于根据有向图识别与历史访问行为不符的异常访问行为。这样,本申请实施例可以基于第一日志数据生成有向图,从有向图角度识别图中的异常访问行为,无需历史攻击样本支持,从而降低对数据源质量的要求,实现提高异常访问行为检测的准确率。
在一种可能的实现方式中,第一模型、第二模型和第三模型均采用无监督算法实现。这样,本申请实施例可以不依赖人工输入的先验知识和特定特征阈值,无需历史攻击样本的支持,从而规避现有检测模型对源数据的多样性要求。
在一种可能的实现方式中,本申请实施例利用第一模型识别有向图中的异常访问行为,包括:对于多个节点中的源节点和目的节点,计算从源节点到目的节点的最大跳数;其中,最大跳数用于表示以目的节点为跳板进行连续访问的跳数;将最大跳数大于第一阈值的访问行为识别为异常访问行为。这样,可以利用第一模型根据有向图识别多节点跳跃登录的异常访问行为。
在一种可能的实现方式中,本申请实施例利用第二模型识别有向图中的异常访问行为,包括:归类多个节点到增益最大邻居节点所在的社区;将归类为同一社区的节点压缩为第一节点,直到归类产生的结果不再变化;将存在跨社区访问的第一节点对应的访问行为识别为异常访问行为。这样,可以利用第二模型根据有向图识别跨业务群访问的异常访问行为。
在一种可能的实现方式中,本申请实施例利用第三模型识别有向图中的异常访问行为,包括:将有向图中的节点转换为嵌入向量;对于多个节点中的源节点和目的节点,对目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,得到归一化后单位向量集合;其中,目的节点的前驱节点集合为有向图中指向目的节点的节点集合;计算源节点对应的嵌入向量与归一化后单位向量集合的余弦相似度;将余弦相似度小于第二阈值的访问行为识别为异常访问行为。这样,可以利用第三模型根据有向图识别与历史访问行为不符的异常访问行为。
在一种可能的实现方式中,本申请实施例对目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,包括:采用单分类支持向量机训练目的节点的前驱节点集合所对应的嵌入向量矩阵;对训练后的嵌入向量矩阵进行归一化。
在一种可能的实现方式中,利用第一模型、第二模型或第三模型的多种识别有向图中的异常访问行为,确定异常检测结果,包括:利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,得到多种识别结果;对多种识别结果进行关联分析,得到异常检测结果。这样,可以从多个维度进行异常访问行为检测,从而全面监控多类型异常访问行为。
在一种可能的实现方式中,本申请实施例对多种识别结果进行关联分析,得到异常检测结果,包括:构建多种识别结果之间的线性函数;在线性函数的值符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。这样,可以设定第一模型、第二模型和第三模型各自的检测结果在关联分析过程中所占的权值和线性函数值符合的预设的异常条件,从而覆盖多种异常访问场景。
在一种可能的实现方式中,方法还包括:根据异常检测结果更新有向图;根据异常检测结果更新第一模型的超参数、第二模型的超参数和/或第三模型的超参数。这样,可以根据检测结果对模型进行实时优化和更新。
在一种可能的实现方式中,方法还包括:获取第二日志数据;其中,第二日志数据的生成时间早于第一日志数据的生成时间;生成第二日志数据的有向图;在第一模型、第二模型或第三模型中载入第二日志数据的有向图,以及第一模型、第二模型或第三模型各自相关的模型参数。这样,可以在对第一日志数据进行异常访问行为检测前,第一模型、第二模型和第三模型已完成模型初始化,从而实现对第一日志数据的实时检测。
在一种可能的实现方式中,本申请实施例根据第一日志数据生成有向图,包括:定时获取第一日志数据;生成第一日志数据对应的第一有向图;过滤第一有向图中与第三日志数据的第三有向图重合的部分,得到有向图;其中,第三日志数据的生成时间早于第一日志数据的生成时间,且第三日志数据的生成时间与第一日志数据的生成时间的差值小于时间阈值。这样,可以过滤掉第一日志的有向图中与第三日志的有向图重合的部分,从而不需要对重合部分日志数据重复进行异常访问检测,减少模型的计算量。
在一种可能的实现方式中,节点为设备的互联网协议IP地址,其中,多个节点之间的有向访问关系中包括:多个节点之间的每小时最大访问次数、历史访问次数总和或最新访问时间中的一种或多种。
在一种可能的实现方式中,方法还包括:根据异常检测结果向目标对象发送告警信息。这样,可以根据告警信息进行风险控制并及时闭环。
在一种可能的实现方式中,告警信息包括下述的一种或多种:异常检测结果对应的日志信息、告警产生原因或建议处置办法。
第二方面,本申请实施例提供一种异常访问行为检测装置,该异常访问行为检测装置可以是终端设备,也可以是终端设备内的芯片或者芯片系统。该异常访问行为检测装置可以包括处理单元。当该异常访问行为检测装置是终端设备时,该处理单元可以是处理器。该异常访问行为检测装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种异常访问行为检测方法。当该异常访问行为检测装置是终端设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种异常访问行为检测方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该终端设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。
示例性的,处理单元,用于根据第一日志数据生成有向图;其中,有向图包括:多个用于标识设备的节点,以及多个节点之间的有向访问关系;处理单元,还用于利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,确定异常检测结果;其中,第一模型用于根据有向图识别多节点跳跃登录的异常访问行为;第二模型用于根据有向图识别跨业务群访问的异常访问行为;第三模型用于根据有向图识别与历史访问行为不符的异常访问行为。
在一种可能的实现方式中,第一模型、第二模型和第三模型均采用无监督算法实现。
在一种可能的实现方式中,处理单元,具体用于根据多个节点中的源节点和目的节点,计算从源节点到目的节点的最大跳数;其中,最大跳数用于表示以目的节点为跳板进行连续访问的跳数;处理单元,具体还用于将最大跳数大于第一阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于根据多个节点中的源节点和目的节点,计算从源节点到目的节点的最大跳数;其中,最大跳数用于表示以目的节点为跳板进行连续访问的跳数;处理单元,具体还用于将最大跳数大于第一阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于将有向图中的节点转换为嵌入向量;对于多个节点中的源节点和目的节点,处理单元,具体还用于对目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,得到归一化后单位向量集合;其中,目的节点的前驱节点集合为有向图中指向目的节点的节点集合;处理单元,具体还用于计算源节点对应的嵌入向量与归一化后单位向量集合的余弦相似度;处理单元,还用于将余弦相似度小于第二阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于采用单分类支持向量机训练目的节点的前驱节点集合所对应的嵌入向量矩阵;处理单元,具体还用于对训练后的嵌入向量矩阵进行归一化。
在一种可能的实现方式中,处理单元,具体用于利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,得到多种识别结果;处理单元,具体还用于对多种识别结果进行关联分析,得到异常检测结果。
在一种可能的实现方式中,处理单元,具体用于构建多种识别结果之间的线性函数;处理单元,还用于在线性函数的值符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。
在一种可能的实现方式中,处理单元,具体用于根据异常检测结果更新有向图;处理单元,具体还用于根据异常检测结果更新第一模型的超参数、第二模型的超参数和/或第三模型的超参数。
在一种可能的实现方式中,处理单元,具体用于获取第二日志数据;第二日志数据的生成时间早于第一日志数据的生成时间;处理单元,还用于生成第二日志数据的有向图;处理单元,还用于在第一模型、第二模型或第三模型中载入第二日志数据的有向图,以及第一模型、第二模型或第三模型各自相关的模型参数。
在一种可能的实现方式中,处理单元,还用于定时获取第一日志数据;处理单元还用于生成第一日志数据对应的第一有向图;处理单元,还用于过滤第一有向图中与第三日志数据的第三有向图重合的部分,得到有向图;第三日志数据的生成时间早于第一日志数据的生成时间,且第三日志数据的生成时间与第一日志数据的生成时间的差值小于时间阈值。
在一种可能的实现方式中,节点为设备的互联网协议IP地址,多个节点之间的有向访问关系中包括:多个节点之间的每小时最大访问次数、历史访问次数总和或最新访问时间中的一种或多种。
在一种可能的实现方式中,该异常访问行为检测装置也可以包括通信单元。当该异常访问行为检测装置是终端设备时,该通信单元可以是通信接口或接口电路。当该异常访问行为检测装置是终端设备内的芯片或芯片系统时,该通信单元可以是通信接口。例如通信接口可以为输入/输出接口、管脚或电路等。
示例性的,通信单元,用于根据异常检测结果向目标对象发送告警信息。
在一种可能的实现方式中,告警信息包括下述的一种或多种:异常检测结果对应的日志信息、告警产生原因或建议处置办法。
第三方面,本申请实施例提供一种电子设备,包括:处理器,处理器用于运行代码指令,以实现第一方面或第一方面任意可能的实现方式中的任一方法。
第四方面,本申请实施例提供一种电子设备,包括:处理器和接口电路,接口电路用于与其它装置通信;处理器用于运行代码指令,以实现第一方面或第一方面任意可能的实现方式中的任一方法。
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,当指令被执行时,以实现第一方面或第一方面任意可能的实现方式中的任一方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种异常访问行为检测技术的架构示意图;
图2为现有的一种基于统计和画像的基线检测异常访问行为的示意图;
图3为现有的一种基于机器学习检测异常访问行为的示意图;
图4为本申请实施例提供的一种电子设备的结构示意图;
图5为本申请实施例提供的一种异常访问行为检测方法应用场景示意图;
图6为本申请实施例提供的一种UEBA产品功能框架图;
图7为本申请实施例提供的一种企业对生产环境业务设备进行安全监控的架构图;
图8本申请实施例提供的另一种异常访问行为检测方法应用场景示意图;
图9为本申请实施例提供的一种云服务提供商对内部租户和/或外部租户进行安全监控的架构图;
图10为本申请实施例提供的一种通过有向图来描述的社区网络架构图;
图11为本申请实施例提供的一种利用第二模型识别有向图中异常访问行为的流程图;
图12为本申请实施例提供的一种利用第三模型识别有向图中异常访问行为的流程图;
图13为本申请实施例提供的一种异常访问行为检测方法示意图;
图14为本申请实施例构建的一种有向图;
图15为本申请实施例提供的一种异常访问行为检测方法流程图;
图16为本申请实施例提供的一种异常访问行为检测系统架构图;
图17为本申请实施例提供的一种异常访问行为检测装置的结构示意图;
图18为本申请实施例提供的一种异常访问行为检测装置的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一日志和第二日志仅仅是为了区分不同时间窗内的网络日志,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。
安全领域中的异常访问行为可能包括定向攻击行为、异常登录行为或越权访问行为的一种或多种。
示例性的,定向攻击行为可以指由攻击者针对指定目标发起攻击,例如攻击者对暴露在公网的机器进行端口扫描、分布式拒绝服务攻击(distributed denial of serviceattack,DDoS)、结构化查询语言(structured query language,SQL)注入、跨站脚本攻击(cross site script attack,XSS)等网络攻击,用于漏洞挖掘。
示例性的,异常登录行为可以指用户尝试利用非本人账号登录网站应用或服务器,该异常登录行为可以为账号口令泄露、被盗取或爆破成功导致,用于绕过对用户身份的识别和验证。异常登录行为中可以被异常访问的数据(或可能称为异常点)包括登录网络之间互连的协议(internet protocol,IP)、登录地点、登录时间、登录失败次数、登录操作等。
示例性的,越权访问行为可以指攻击者通过对无权访问或无访问需求的机器发起连接请求,越权访问行为可以是内部威胁或外网成功入侵后发起的横向渗透和/或纵向渗透,用于提高用户在服务器中的权限并扩大攻击面。可能的理解方式中,横向渗透可以指攻击者尝试访问与其拥有相同权限的用户的资源,纵向渗透可以指低级别攻击者尝试访问高级别用户的资源。
越权访问行为中可以被异常访问的数据(或可能称为异常点)包括IP地址、用户信息、业务属性等。可能的理解方式中,用户信息可以指用户的登录账号,登录时间和登陆次数等,业务属性可以指网络或终端能力及其分层功能支持下所表现出来的特性。
针对上述越权访问行为,可能的异常访问行为检测方法包括:基于统计和画像的基线检测方法以及基于模式特征的机器学习检测方法。
示例性的,图1示出了异常访问行为检测方法的一般架构示意图。
如图1所示,电子设备在进行异常访问行为检测时,可以对收集的网络日志进行数据采集、数据清洗等处理,并存储处理后的数据。电子设备使用异常访问行为检测方法对存储后的数据进行检测,将检测的结果传递给用户,并告知处置建议。其中,异常访问行为检测方法可以包括基于统计和画像的基线检测方法或基于模式特征的机器学习检测方法中的一种。
可能的实现方式中,基线检测方法基于统计方法和用户画像实现,防御人员通过历史访问记录建立访问基线,定义正常访问行为,将首次出现、超出阈值、偏离画像的访问判断为异常。可能的理解方式中,用户画像可以指基于网络信息、终端信息、服务信息、操作信息等建立的规则库。其中,网络信息可以包括IP段、IP地理位置、端口号等,终端信息可以包括设备类型、操作系统等,服务信息可以包括设备承载应用、从属业务区域等,操作信息可以包括登录方式、访问期间发起的系统指令等。
示例性的,基于用户画像检测异常访问行为的一种可能实现为:电子设备根据用户画像信息刻画每台机器的正常画像,根据该正常画像检测异常访问行为。例如,将不符合正常画像的访问行为确定为异常访问行为。
可能的理解方式中,正常画像可以是对机器拥有访问权限的用户的网络信息、终端信息、服务信息、操作信息等建立的规则库。
示例性的,图2示出了一种基于统计和画像的基线检测方法的示意图。
如图2所示,电子设备检测异常访问行为时,提取历史访问日志中可以反映访问规律的参数。示例性的,提取的参数可以包括请求频率、访问持续时间、访问IP数等。其中,提取的参数的形式可以是单一变量、复合变量和统计变量等。电子设备对提取的数据进行离群点挖掘和统计值计算,根据人工设定的异常阈值来进行异常访问行为检测。
然而,当使用基线检测异常访问行为时,由于基线的规则通常是人为规定的,不够灵活,攻击者会总结基线规律,从而绕过规律进行异常访问。示例性的,对于频率阈值,攻击者可以通过降低访问频率进行异常访问。同时当使用基线检测异常访问行为时,误报较多。例如,当内部用户因业务需要切换IP或端口时,可能产生虚假异常访问行为告警。
示例性的,图3示出了一种基于机器学习检测异常访问行为的示意图。
如图3所示,基于机器学习检测异常访问行为可以包括训练阶段和异常访问检测阶段。
在训练阶段,构建样本数据集,通过分类模型或聚类模型寻找正常访问样本和历史捕获到的恶意样本两类数据中的不同点。示例性的,建模时可以从时间维度和空间维度构建特征集,时间维度包括访问频率、间隔时间等时序特征,空间维度则可以包括网络五元组、流量载荷等交互数据。可能的理解方式中,网络五元组可以包括:源IP地址、目的IP地址、协议号、源端口和目的端口。
在异常访问检测阶段,获取真实数据(例如网络日志数据),将真实数据进行特征提取后输入检测模型,判断是否存在异常访问行为,输出检测结果。
可能的实现方式中,检测模型可以是基于有监督算法的分类检测模型,基于有监督算法的分类检测模型在检测异常访问行为时,需要对正常访问样本和历史捕获到的恶意样本分别进行标注,通过特征寻找两类数据的不同点,常见算法包括支持向量机(supportvector machine,SVM)、邻近算法(k-nearest neighbor,KNN)、线性回归等。
然而,使用机器学习进行异常访问行为检测时,虽一定程度上弥补了基线检测方法的局限性,不再依赖人工设定的基线来检测异常访问行为,但机器学习检测方法适用于单一设备的异常访问行为检测,在检测过程中对每个机器分别建立一个学习模型,不能实现从全局识别异常访问行为。同时,利用机器学习方法检测异常访问行为时,对训练数据的要求过高,在样本种类过少或场景过于片面时难以有效建立模型,同时特征集的选择也对防御人员的先验知识有较高要求。
基于统计和画像的基线检测方法以及基于模式特征的机器学习检测方法存在的上述问题,本申请实施例提供异常访问行为检测方法,基于第一日志数据生成有向图,从有向图图角度识别图中的异常访问行为,本申请实施例无需历史攻击样本支持,从而降低对数据源质量的要求,实现提高异常访问行为检测的准确率。
本申请实施例的异常访问行为检测方法可以应用在企业对内部员工的网络行为进行安全监控中,也可以应用在企业对生产环境业务设备进行安全监控,或者云服务提供商对内部租户和/或外部租户进行安全监控等。
示例性的,图4本申请实施例的异常访问行为检测方法适用的电子设备的一种结构示意图,如图4所示,该电子设备401可以包括:处理器402,外部存储器接口403,内部存储器404,显示屏405等。可以理解的是,本实施例示意的结构并不构成对电子设备401的具体限定。在本申请实施例中,电子设备401可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
处理器402可以包括一个或多个处理单元,例如:处理器102可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在本实施例中,电子设备401也可以包括一个或多个处理器402。其中,控制器可以是电子设备401的神经中枢和指挥中心。处理器402中还可以设置存储器,用于存储指令和数据。
外部存储器接口403可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备401的存储能力。外部存储卡通过外部存储器接口403与处理器402通信,实现数据存储功能。示例性的,电子设备401可以将IP地址、访问时间等数据文件保存在外部存储卡中。
内部存储器404可以用于存储一个或多个计算机程序,该一个或多个计算机程序可以包括指令。处理器402可以通过运行存储在内部存储器404的上述指令,从而使得电子设备401执行各种功能应用以及数据处理等。内部存储器404可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序等。存储数据区可存储电子设备401使用过程中所创建的数据(比如IP地址、访问时间)等。
显示屏405用于显示图像,视频等。显示屏405包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),量子点发光二极管(quantum dot light emitting diodes,QLED)等。在本实施例中,电子设备405可以包括1个或N个显示屏405,N为大于1的正整数。
示例性的,图5本申请实施例提供的异常访问行为检测方法的一种应用场景示意图。
一种可能的实现方式中,本申请实施例异常访问行为检测方法可用于企业对内部员工的网络行为进行安全监控,参见图5,应用场景包括公司内部监控中心电子设备501和部署在内部用户端的终端设备502(例如包括终端设备5021至502N等,N为自然数),电子设备501和终端设备502的数量可以是一个也可以是多个。本申请实施例适用的电子设备的结构可以如图4所示,此处不在赘述。可能的理解方式中,电子设备501可以是终端或服务器,终端设备502可以是内部用户任意形式的终端,例如可以包括手机、电脑、平板等,本申请实施例对终端设备不作具体限定。
电子设备501可以提供内部存储器,内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可以存储一个或多个应用程序,例如用来检测异常访问行为的应用程序。存储数据区可以存储日志数据等,示例性的,日志数据中可以反映源IP、目的IP、访问次数等信息。通过获取网络访问日志数据,并使用本实施例的异常访问行为检测方法进行检测,将检测的结果传递给监控中心,实现对公司内部网络行为进行监控。
基于该应用场景,本申请实施例方法可用于用户及实体行为分析(user andentity behavior analytics,UEBA)产品中,示例性的,图6为本申请实施例适用的一种UEBA产品功能框架示意图,参见图6,UEBA产品中可以包括:数据接收与处理组件、数据存储组件和分析组件。
示例性的,数据接收与处理组件获取用户之间的访问日志并进行预处理,将预处理后的日志数据存储至数据存储组件作为用于提交分析组件检测的数据。在分析组件中,使用本申请实施例的异常访问行为检测方法,对用户行为进行分析,聚焦企业内部威胁。
一种可能的理解方式中,内部威胁可以是内部用户的异常访问行为,可分为对内的异常访问行为和对外的异常访问行为两个部分。其中,对内的异常访问行为可以包括刻意数据收集、异常与违规访问、账号滥用等,对外的异常访问行为可以包括数据渗漏、持续数据外传,异常网站访问等。
可能的实现方式中,UEBA产品对用户行为进行分析可以包括:操作行为分析、业务流程分析、用户关系分析。示例性的,UEBA对用户的操作行为进行分析的一种可能实现为:UEBA对用户的网页访问日志进行分析,通过有向图了解用户的网页访问行为,防止企业内部出现异常网络访问。示例性的,UEBA产品对用户的业务流程进行分析的一种可能实现为:UEBA产品对浏览器页面上的元素或按钮进行提取,并定义为业务标签。当用户在页面触发相应事件后会生成对应的业务操作行为日志记录,从而了解员工真实的业务行为及业务操作的行为轨迹,防止公司内部业务数据泄露。示例性的,UEBA产品对用户关系进行分析的一种可能实现为:UEBA产品采集用户的访问日志,通过访问日志对应的有向图可以发现用户之间的潜在关系和工作交集。
一种可能的实现方式中,本申请实施例异常访问行为检测方法可用于企业对生产环境业务设备进行安全监控。参见图5,该应用场景包括企业内部监控中心电子设备501和终端设备502。该应用场景下,终端设备502的数量可以是一个也可以是多个(例如包括终端设备5021至502N等,N为自然数),可能的理解方式中,终端设备可以是企业对外提供业务的机器。
示例性的,图7为本申请实施例适用的企业对生产环境业务设备进行安全监控的一种架构图,参见图7,企业对生产环境业务设备进行安全监控可以包括:信息来源组件、分析引擎组件和响应组件。结合图5来说,信息来源组件、分析引擎组件和响应组件可以设置于电子设备501中。
可能的理解方式中,信息来源组件可以负责收日志数据,示例性的,日志数据中可以包括源IP、目的IP、访问次数等信息。信息来源组件可以把获取的日志数据提供给分析引擎组件,在分析引擎组件中,使用本申请实施例的异常访问行为检测方法,判断是否存在异常访问行为,并将检测结果输出至响应组件,实现企业对生产环境业务设备进行安全监控。
基于该应用场景,本申请实施例提供的异常访问行为检测方法可应用于入侵检测系统,批量部署于待检测设备,检测入侵事件。
示例性的,图8本申请实施例提供的异常访问行为检测方法的另一种应用场景示意图。
一种可能的实现方式中,本申请实施例异常访问行为检测方法可用于云服务提供商对内部租户和/或外部租户进行安全监控。参见图8,该应用场景包括云服务提供商801、内部租户802(例如包括内部租户8021至802N等,N为自然数)和外部租户803(例如包括外部租户8031至803N等,N为自然数),其中,内部租户802、外部租户803的数量可以是一个也可以是多个。可能的理解方式中,内部租户是用于公司内部部署业务的用户,外部租户是外部租赁公司的机器来使用的用户。
示例性的,图9为云服务提供商对内部租户和/或外部租户进行安全监控的一种框架示意图。
参见图9,云服务提供商801中可以包括:日志采集探针、分析平台和关联规则引擎。
其中,日志采集探针可以采集内部租户802和/或外部租户803的网络日志,将采集得到的网络日志进行预处理,得到第一日志数据,可能的理解方式中,第一日志数据中可以反映内部租户802和/或外部租户803访问行为的源IP、目的IP、访问次数等信息。分析平台可以存储日志探针提交的第一日志数据,然后使用本申请实施例的异常访问行为检测方法,检测是否存在异常访问行为。关联规则引擎可以对检测结果匹配关联规则,对异常访问行为产生关联告警。最后将告警信息传递给云服务提供商801,实现对内部租户802和/或外部租户803的安全监控。
基于该应用场景,本申请实施例方法可应用于云服务器(elastic computeservice,ECS)安全监控软件,保证服务安全性的同时监管租户是否存在违规操作,同时也可应用于态势感知平台,利用探针采集终端数据,由安全运营中心(security operationscenter,SOC)等职能部门统一进行监控分析。
下面对本申请实施例中的一些词汇进行说明。其中,本申请实施例解释的词汇是为了便于本领域技术人员的理解,并不构成对于本申请实施例的限定。
本申请实施例所描述的第一日志数据可以包含源IP、目的IP、访问次数及访问时间等信息。
本申请实施例所描述的有向图包括多个用于标识设备的节点,以及多个节点之间的有向访问关系。示例性的,多个节点之间的有向访问关系可以理解为,多个节点之间的每小时最大访问次数、历史访问次数总和或最新访问时间中的一种或多种。
本申请实施例所描述的节点可以是设备的互联网协议IP地址。
本申请实施例所描述的前驱节点为有向图中直接指向当前目标的节点。示例性的,若访问日志中存在目的IP为A,目的IP为B的访问行为,将该访问行为以两点一线的有向线段表示,即A指向B,则有向图中B的前驱节点为A。
本申请实施例描述的第一模型也可以称为路径模型,用于根据有向图识别多节点跳跃登录的异常访问行为。例如,通过采用图遍历算法计算最大访问路径,识别以链路形式对多个设备进行连续访问的异常行为。其中图遍历算法可以为深度优先搜索(depth firstsearch,DFS)算法,广度优先搜索(breadth first search,BFS)算法等。
可能的实现方式中,本申请实施例将有向图载入第一模型,在第一模型中借助堆数据结构,以有向图中源节点开始使用DFS算法生成相应的拓扑排序表。本申请实施例利用该拓扑排序表计算从源IP到目的IP地最大无权路径长度,或者可以称为最大跳数,可能的理解方式中,该最大跳数可以用于表示以目的节点为跳板进行连续访问的跳数。基于正常场景下很少出现以访问设备为跳板进行连续访问的假设,将最大跳数大于第一阈值的访问行为识别为异常访问行为。
本申请实施例描述的第一阈值可以是利用第一模型检测异常访问行为时使用的阈值,该阈值可以根据节点规模进行调整。
本申请实施例描述的第二模型也可以称为社区模型,用于根据有向图识别跨社区的异常访问行为。例如通过采用社区发现算法对节点进行聚类,识别跨社区访问的异常行为。其中社区发现算法可以为Louvain算法、标签传递算法(label propagationalgorithm,LPA)算法等。
示例性的,图10为通过有向图来描述的一个由多个业务群组成的网络,可能的理解方式中,业务群也可以是社区。如图10所示,社区可以是包含顶点和边的子有向图。社区发现算法可以用来发现该网络中的社区结构,例如同一社区内的节点与节点之间的连接很紧密,而不同社区之间的连接相对比较稀疏,通过发现有向图中社区结构实现识别跨业务群访问的异常访问行为。
可能的实现方式中,图11为利用第二模型识别有向图中异常访问行为的流程图,包括以下步骤:
S1101:将有向图载入第二模型。
S1102:在第二模型中,使用基于模块度的Louvain算法对有向图中的节点聚合。
示例性的,本申请实施例对有向图中的节点聚合可以包括两个阶段。
第一个阶段:按照模块度增益,将节点归为增益最大邻居节点所在的社区。
第二个阶段:第二模型对有向图进行压缩,将同一社区的节点压缩为第一节点。
S1103:迭代S1102中的两个阶段直到图模块度Q不再发生变化。
S1104:基于正常场景下互访的设备通常属于同一社区的假设,将存在跨社区访问的第一节点对应的访问行为识别为异常访问行为。
本申请实施例描述的第三模型也可以称为嵌入模型,用于根据有向图中节点距离识别与历史访问行为不符的异常访问行为。例如嵌入模型可以采用图嵌入算法,通过特定游走策略学习每一个节点的嵌入向量,最后基于节点距离发现与历史访问行为不符的异常行为。其中,嵌入模型可以通过图嵌入算法学习有向图中节点的低维度潜在表示,所学习到的特征表示可以用作基于有向图的各种任务的特征,例如分类,聚类,链路预测和可视化等。图嵌入算法可以为node2vec算法、DeepWalk算法等。
可能的实现方式中,图12为利用第三模型识别有向图中异常访问行为的流程图,包括以下步骤:
S1201:将有向图载入第三模型。
S1202:在第三模型中,利用图嵌入算法将有向图中节点转换为嵌入向量。
示例性的,对于节点i,通过基于二阶转移概率的游走策略生成对应的邻接点序列,将这些序列视为文本送入word2vec模型得到对应的向量其中q为序列长度。两个节点之间的转移概率可表示为,πvx=αpq(t,x)·wvx,其中,v为当前节点,x为下一步所在节点,t为上一步所在节点,w为两节点之间边的权重,αpq(t,x)定义为p和q为超参数,用于控制游走策略,dtx为节点t和节点x的最短路径距离,其中,dtx=0表示节点x与节点t重合,即最短路径距离为0,dtx=1表示节点x与节点t相连,即最短路径距离为1,dtx=2表示节点x与节点t不相连,即距离大于1。
S1203:在第三模型中,对目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,得到归一化后单位向量集合。
可选的,在第三模型中对有向图中目的节点的前驱节点集合所对应的向量矩阵Matrixpred=[r(1),r(2),…,r(n)]进行归一化,其中n为目的IP的入度,其中,目的IP的入度可以是以目的IP为起点,终止于该目的IP的有向线段的数目,r(i)为前驱节点i对应的嵌入向量。最后计算源IP对应向量r(src)与归一化后单位向量集合的余弦相似度。
示例性的,当需要监控的设备数量在千台以上时,对有向图进行嵌入操作以及计算相似度时需要考虑节点规模和时间成本,所以该方法的可以应用场景为大规模设备集群下的异常访问检测。
可选的,在第三模型中还可以使用单分类支持向量机(one class supportvector machine,OneClassSVM)算法训练有向图中目的节点前驱节点集合所对应的向量矩阵Matrixpred=[r(1),r(2),…,r(n)],使用训练好的模型计算源IP对应向量r(src)进行归一化。示例性的,该方法可应用于小范围的异常访问行为检测。该场景下,因检测设备较少,第三模型对有向图进行嵌入操作以及计算相似度时,对于节点规模和时间成本的要求相对不高,所以在使用node2vec图嵌入算法时,可以根据节点实际互联情况来调整学习参数,同时,在计算相似度时,可以使用识别离群点更准确的异常检测算法。
S1204:计算节点对应的嵌入向量与归一化后单位向量集合的余弦相似度。
S1205:基于正常场景下访问相同设备的源IP通常具有相似行为的假设,将余弦相似度小于第二阈值的访问行为识别为异常访问行为。
本申请实施例描述的第二阈值可以是利用第三模型检测异常访问行为时使用的阈值,同样地,该阈值也可以根据节点规模进行调整。
本申请实施例描述的关联分析可以是构建第一模型、第二模型或第三模型多种识别结果之间的线性函数。在该线性函数的值符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。
示例性的,第一模型、第二模型、第三模型的输出结果中,若存在异常访问行为,第一模型、第二模型、第三模型的输出为1,否则为0。本申请实施例构建三个模型之间的线性求和函数,若该线性求和函数的值大于或等于1,则有向图中存在异常访问行为。示例性的,若第一模型输出为1,则该异常访问行为可以为多节点跳跃登录的异常访问行为;若第二模型的输出为1,则该异常访问行为可以为跨业务群访问的异常访问行为;若第三模型的输出为1,则该异常访问行为可以为与历史行为访问不符的异常访问行为。
图13为本申请实施例提供的一种异常访问行为检测方法,包括下列步骤:
S1301:电子设备根据第一日志数据生成有向图。
一种可能的实现方式中,根据第一日志数据生成有向图可以包括数据预处理和构建有向图两个阶段。
示例性的,在数据预处理阶段,电子设备收集时间窗内所有设备的网络访问日志,其中,时间窗大小可以定为最近N天(N可以为大于2的任意值,例如30等),该电子设备可以是部署在用户端的终端设备,例如包括手机、电脑、平板等,本申请实施例对电子设备不作具体限定。
电子设备可以对获取的网络访问日志进行预处理,例如,预处理可以包括去除网络访问日志的无关信息,聚合相同访问记录等,网络访问日志经预处理后得到的数据为第一日志数据。示例性的,去除网络访问日志的无关信息的一种可能实现为:在网络访问日志中,去除掉除了所需的源IP、目的IP、访问次数等信息之外的其他信息,例如其他信息可以包括网络环境信息等。示例性的,去除网络访问日志的无关信息的一种可能实现为:在网络访问日志中,去除白名单用户的访问记录。一种可能的理解方式中,白名单用户可以为企业内部用户。示例性的,聚合相同访问记录的一种可能实现为:在网络访问日志中,将相同的访问记录聚合成一条访问记录,减少模型计算量。
示例性的,在构建有向图阶段,本申请实施例将一次访问行为以点和线组成的有向线段表示,构建有向图,例如,如图14所示,该有向图包括多个用于标识设备的节点,以及多个节点之间的有向访问关系。其中,一个IP地址可以对应有向图中的一点,示例性的,源IP可以对应有向线段的起点,目的IP可以对应有向图的终点,有向图中边的权重为每小时最大访问次数。
S1302:利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,确定异常检测结果。
可能的实现方式中,本申请实施例利用第一模型识别有向图中的异常访问行为。如图14所示,该有向图中除了两个设备间的单次访问外,还存在链路形式的连续访问,一种可能的理解方式中,该链路式访问以一次访问行为的目的IP作为源IP,继续访问另一设备,通过重复执行该操作,实现以链路形式对多个设备进行连续渗透访问。在正常的网络访问中,很少出现以访问设备为跳板进行连续访问的异常访问行为,因此本申请实施例通过使用第一模型,从源IP开始使用DFS算法遍历有向图中节点,根据遍历后得到的拓扑排序表计算从源IP到目的IP地最大无权路径长度,也可以称为最大跳数,通过比较该最大跳数和第一阈值的关系,来检测有向图中是否存在异常访问行为。若第一模型检测出有向图中存在异常访问行为,则该异常访问行为可以为多节点跳跃登录的行为。
可能的实现方式中,本申请实施例利用第二模型识别有向图中的异常访问行为。基于正常场景下互访的设备通常属于同一业务群的假设,如图14所示,可以将有向图中连接紧密的节点子集合对应的子图叫做业务群,也可以称为社区。其中,社区内部的结点间的联系相对紧密,但是各个社区之间的连接相对比较稀疏。在第二模型中,通过使用Louvain算法进行节点聚合,将同一社区的节点压缩为一个新节点,该新节点可以代表一个社区,通过判断聚合后新节点之间是否存在访问行为,来检测有向图中是否存在异常访问行为。若第二模型检测出有向图中存在异常访问行为,则该异常访问行为可以为跨业务群访问的异常访问行为。
可能的实现方式中,本申请实施例利用第三模型识别有向图中的异常访问行为。基于正常场景下访问相同设备的源IP通常具有相似访问行为的假设,在第三模型中,利用node2vec算法,通过特定游走策略学习每一个节点的嵌入向量,基于节点距离发现与历史访问行为不符的访问行为。若检测出有向图中存在异常访问行为,则该异常访问行为可以为与历史访问行为不符的行为。
以上实施例介绍了有向图中单个异常访问行为的检测方法,同时第一模型、第二模型、第三模型分别所用到的DFS、Louvain、node2vec等图算法均为无监督结构,且无需事先定义攻击行为,无需样本支持,无需训练,可直接应用于异常访问行为检测。
在不同网络访问场景中,除了单个的异常访问行为外,还可以覆盖多种异常访问行为。如图14所示,有向图可以包括多个节点之间的有向访问关系,在不同的访问场景中,生成的有向图也可以不同,为全面地检测有向图中异常访问行为,除单个的异常访问行为检测方法外,本申请实施例提供多种异常访问行为检测方法,覆盖多种异常访问场景。
可能的实现方式中,本申请实施例使用第一模型和第二模型识别有向图中的异常访问行为。将第一模型和第二模型的检测结果进行关联分析,本申请实施例可以包括下述几种结果。
第一种结果包括:若第一模型检测有向图中存在异常访问行为,同时第二模型检测有向图中无异常访问行为,则关联分析第一模型和第二模型的检测结果,有向图中可以存在多节点跳跃登录的异常访问行为。
第二种结果包括:若第一模型检测有向图中无异常访问行为,同时第二模型检测有向图中存在异常访问行为,则关联分析第一模型和第二模型的检测结果,有向图中可以存在跨业务群访问的异常访问行为。
第三种结果包括:若第一模型检测有向图中存在异常访问行为,同时第二模型检测有向图中存在异常访问行为,则关联分析第一模型和第二模型的检测结果,有向图中存在多节点跳跃登录和跨业务群访问的异常访问行为。
第四种结果包括:若第一模型检测有向图中无异常访问行为,同时第二模型检测有向图中无异常访问行为,则关联分析第一模型和第二模型的检测结果,该有向图中无异常访问行为。
可能的实现方式中,本申请实施例使用第一模型和第三模型识别有向图中的异常访问行为,将第一模型和第三模型的检测结果进行关联分析,本申请实施例可以包括下述几种结果。
第一种结果包括:若第一模型检测有向图中存在异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型和第二模型的检测结果,有向图中可以存在多节点跳跃登录的异常访问行为。
第二种结果包括:若第一模型检测有向图中无异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型和第三模型的检测结果,有向图中可以存在与历史访问行为不符的异常访问行为。
第三种结果包括:若第一模型检测有向图中存在异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型和第三模型的检测结果,有向图中存在多节点跳跃登录和与历史访问行为不符的异常访问行为。
第四种结果包括:若第一模型检测有向图中无异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型和第三模型的检测结果,该有向图中无异常访问行为。
可能的实现方式中,本申请实施例使用第二模型和第三模型识别有向图中的异常访问行为。将第一模型和第二模型的检测结果进行关联分析,本申请实施例可以包括下述几种结果。
第一种结果包括:若第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第二模型和第三模型的检测结果,有向图中可以存在跨业务群访问的异常访问行为。
第二种结果包括:若第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第二模型和第三模型的检测结果,有向图中可以存在与历史访问行为不符的异常访问行为。
第三种结果包括:若第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第二模型和第三模型的检测结果,有向图中存在跨业务群访问和与历史行为不符的异常访问行为。
第四种结果包括:若第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第二模型和第三模型的检测结果,该有向图中无异常访问行
可能的实现方式中,本申请实施例使用第一模型、第二模型和第三模型识别有向图中的异常访问行为。将第一模型、第二模型和第三模型的检测结果进行关联分析,本申请实施例可以包括下述几种结果。
第一种结果包括:若第一模型检测有向图中存在异常访问行为,第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在多节点跳跃登录的异常访问行为。
第二种结果包括:若第一模型检测有向图中无异常访问行为,第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在跨业务群访问的异常访问行为。
第三种结果包括:若第一模型检测有向图中无异常访问行为,第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在与历史访问行为不符的异常访问行为。
第四种结果包括:若第一模型检测有向图中存在异常访问行为,第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在多节点跳跃登录和跨业务群访问的异常访问行为。
第五种结果包括:若第一模型检测有向图中存在异常访问行为,第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在多节点跳跃登录和与历史访问行为不符的异常访问行为。
第六种结果包括:若第一模型检测有向图中无异常访问行为,第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在跨业务群访问和与历史访问行为不符的异常访问行为。
第七种结果包括:若第一模型检测有向图中存在异常访问行为,第二模型检测有向图中存在异常访问行为,同时第三模型检测有向图中存在异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中可以存在多节点跳跃登录、跨业务群访问和与历史访问行为不符三种异常访问行为。
第八种结果包括:若第一模型检测有向图中无异常访问行为,第二模型检测有向图中无异常访问行为,同时第三模型检测有向图中无异常访问行为,则关联分析第一模型、第二模型和第三模型的检测结果,有向图中无异常访问行为。
本申请实施例提供异常访问行为检测方法,可以不依赖于历史样本,基于第一日志生成有向图,从图角度识别有向图中的异常访问行为,同时本申请实施例无需历史攻击样本支持,从而降低对数据源质量的要求,实现提高异常访问行为检测的准确率。
图15本申请实施例提供的一种异常访问行为检测方法,该检测方法可以由模型初始化单元、实时检测单元和模型更新单元执行。
示例性的,模型初始化单元负责将获取的第二日志对应的有向图作为样本分别训练第一模型、第二模型和第三模型,得到第一模型、第二模型和第三模型各自的模型参数。本申请实施例中S1501至S1503可以由模型初始化单元执行。
示例性的,实时检测单元基于实时获取的第一日志对应的有向图,利用第一模型、第二模型或第三模型中的一种或多种来进行异常访问行为检测,将第一模型、第二模型或第三模型得到的一种或多种检测结果进行关联分析,覆盖多种攻击场景,实现从全局识别异常访问行为。本申请实施例中S1504至S1515可以由模型检测单元执行。
示例性的,模型更新单元定时收集最新访问日志对图模型进行更新,并根据检测审核结果对模型参数进行优化,保持模型与有向图状态的一致性。本申请实施例中S1516至S1520可以由模型更新单元执行。
如图15所示,该异常访问行为检测方法可以包括以下步骤:
S1501:电子设备收集时间窗内的访问日志。
其中,时间窗大小可以定为最近N天(N可以为大于2的任意值,例如30等)。
S1502:对访问日志进行预处理,生成第二日志数据。
示例性的,本申请实施例中预处理可以包括提取源IP和目的IP,去除访问日志的无关信息,聚合相同访问记录等。
本申请实施例的S1501和S1502,可以对应于图13中的S1301的记载,在此不再赘述。
其中,本申请实施例对访问日志进行预处理可以起到减少模型计算量的作用。可能的实现方式中,电子设备也可以不对S1501中收集的访问日志进行预处理,而是把S1501收集的访问日志作为第二日志数据,即S1502可以为可选步骤,本申请实施例对此不作具体限定。
S1503:根据第二日志数据,构建第二日志数据对应的有向图,并将有向图文件存储至本地。
示例性的,本申请实施例将第二日志数据中的一次访问行为以点和线组成的有向线段表示,构建有向图。该有向图包括多个用于标识设备的节点,以及多个节点之间的有向访问关系。其中,一个IP地址可以对应有向图中的一点,示例性的,源IP可以对应有向线段的起点,目的IP可以对应有向图的终点,有向图中边的权重为每小时最大访问次数。然后将生成的有向图文件存储至本地。
将生成的有向图文件存储至本地的一种可能实现为:在第二日志数据中可以存在IP地址为ipx的节点对IP地址为ipy的节点的访问记录,其中单小时最高访问频率为freqxy,则该访问记录生成的有向图文件可以用json格式存储至本地,示例性的,该有向图文件存储形式为{“nodes”:[{“id”:ipx},{“id”:ipy}],“links”:[{“source”:ipx,“target”:ipy,“frequency”:freqxy}]。
本申请实施例将得到的第二日志对应的有向图分别作为第一模型、第二模型和第三模型的训练样本,更新第一模型、第二模型和第三模型各自相关的模型参数,然后将更新的模型参数存储到本地。
可能的理解方式中,本地存储的模型文件可以包括:第二日志对应的有向图和第一模型、第二模型、第三模型各自相关的模型参数。
可能的实现方式中,若第一模型、第二模型和第三模型为部署后初次运行,此时本地模型参数配置文件为空,则使用预置的硬编码参数。
S1504:电子设备定时获取时间阈值内的访问日志。
其中,时间阈值的大小可以定为N小时(N可以为大于0的任意值,例如1等)。
可能的实现方式中,电子设备获取访问日志的时间周期可以与时间阈值相同。示例性的,若时间阈值设定为1小时,则电子设备获取访问日志的时间周期也为1小时,即电子设备每1小时获取最新1小时的访问日志。
S1505:电子设备对时间阈值内获取的访问日志进行预处理,得到第一日志数据。
示例性的,预处理可以包括提取源IP和目的IP,去除访问日志的无关信息,聚合相同访问记录等。
本申请实施例的S1505,可以对应于图13中的S1301的记载,在此不再赘述。
其中,S1502得到的第二日志数据的生成时间早于该第一日志数据的生成时间。
可能的理解方式中,第二日志数据是时间窗内获取的访问日志,本申请实施例将第二日志对应的有向图作为训练模型的样本,得到第一模型、第二模型和第三模型各自的模型参数。而第一日志数据是用于实时检测的数据,在进行异常访问行为检测之前,第一模型、第二模型和第三模型已完成模型初始化,所以第二日志数据的生成时间早于该第一日志数据的生成时间。
S1506:电子设备根据第一日志,生成第一日志对应的有向图。
本申请实施例的S1506,可以对应于上述S1503中构建有向图的记载,在此不再赘述。
S1507:电子设备收集历史记录中出现过的访问日志,得到第三日志数据。
其中,第三日志数据的生成时间早于第一日志的生成时间,且第三日志数据的生成时间与第一日志的生成时间的差值小于时间阈值。
可能的理解方式中,第三日志数据中的访问行为近期已进行异常访问行为检测,且无异常访问行为,则不需要对该部分数据重复进行异常访问检测,减少计算量。
S1508:电子设备根据第三日志,生成对应的第三有向图。
本申请实施例的S1508,可以对应于上述S1503中构建有向图的记载,在此不再赘述。
S1509:电子设备过滤第一日志对应的有向图中与第三日志对应的有向图中重合的部分,得到用于检测的有向图。
一种可能的实现方式中,电子设备获取最新1小时(例如上午11:00-12:00)的访问日志即为第一日志,本地存储的历史记录即第三日志可以为早于最新1小时(例如上午10:00-11:00)的访问日志。电子设备在对最新1小时的访问日志进行异常访问行为检测前,可以过滤第一日志对应的有向图中与第三日志对应的有向图中重合的部分,筛选最新1小时中在早于最新1小时期间出现过的访问行为,得到过滤后的有向图。
其中,本申请实施例对第一日志对应的有向图中在第三日志对应的有向图中出现的访问行为进行过滤,可以起到减轻模型负荷,达到减少模型计算量的效果。可能的实现方式中,电子设备也可以不对S1506生成的有向图进行过滤,而直接进行异常访问行为检测,即S1507至S1509可以为可选步骤,本申请实施例对此不作具体限定。
S1510:在电子设备中,载入有向图和本地存储的模型参数。
可选的,在电子设备中载入的有向图可以为第一日志对应的有向图。
可选的,在电子设备中载入的有向图可以为将第一日志对应的有向图中与第三日志对应的有向图中重合的部分过滤后得到的有向图。
可能的理解方式中,模型参数可以分别指第一模型、第二模型、第三模型各自相关的模型参数。本申请实施例载入的本地存储的模型参数为S1503获得的模型参数,具体实现方式可以对应S1503的记载,此处不再赘述。
S1511:利用第一模型识别有向图中的异常访问行为,确定异常访问行为检测结果。
具体可以参照名词解释部分关于第一模型检测异常访问行为的记载,此处不再赘述。
S1512:利用第二模型识别有向图中的异常访问行为,确定异常访问行为检测结果。
具体可以参照图11对应的第二模型检测异常行为的记载,此处不再赘述。
S1513:利用第三模型识别有向图中的异常访问行为,确定异常访问行为检测结果。
具体可以参照图12对应的第三模型检测异常行为的记载,此处不再赘述。
S1514:将上述第一模型、第二模型或第三模型的一种或多种确定的异常访问行为检测结果进行关联分析,确定异常访问行为检测结果。
可能的实现方式中,若电子设备使用第一模型、第二模型或第三模型中的一种来进行异常访问行为检测时,电子设备也可以不对第一模型、第二模型或第三模型中的一种确定的异常访问检测结果进行关联分析,即S1514可以为可选步骤,本申请实施例对此不作具体限定。
S1515:电子设备根据异常访问行为检测结果向目标对象发送告警信息。
其中,告警信息可以包括异常访问行为检测结果对应的日志信息、告警产生原因或建议处置方法中的一种或多种。
示例性的,告警信息为异常访问行为检测结果对应的日志信息的一种可能实现为:若判断有向图中存在异常访问行为,则通过搜索本地存储的有向图文件,可以找到该异常访问行为对应的源IP和目的IP等日志信息。
示例性的,告警信息为告警产生原因的一种可能实现为:在第一模型、第二模型和第三模型中可以预置好模型对应的告警产生原因的输出文件,例如:当第一模型检测存在异常访问行为,则输出的告警产生原因可以为存在多节点跳跃登录的异常访问行为;当第二模型检测存在异常访问行为,则输出的告警产生原因可以为存在跨社区访问的异常访问行为;当第三模型检测存在异常访问行为,则输出的告警产生原因可以为与历史访问行为不符的异常访问行为。可能的实现方式中,当利用第一模型、第二模型或第三模型中的多种来进行异常访问行为检测时,输出的告警产生原因为所使用的第一模型、第二模型或第三模型中的多种所对应的告警产生原因的组合。例如,当利用第一模型和第二模型来检测异常访问行为时,若第一模型检测存在异常访问行为,同时第二模型检测存在异常访问行为,则输出的告警产生原因为存在多节点跳跃登录的异常访问行为和跨业务群访问的异常访问行为。
示例性的,告警信息为建议处置方法的一种可能实现为:根据异常访问行为检测结果,通知用户排查是否存在异常访问行为。
S1516:电子设备收集增量日志和检测结果。
示例性的,电子设备将收集的检测结果用于审核,将审核后的检测结果和收集的增量日志来进行模型的更新。
可能的理解方式中,增量日志可以指的是在最新时间阈值内获得的第一日志数据。
S1517:审核模块对检测出的异常访问行为进行审核。
可能的理解方式中,审核模块可以由机器和/或人工组成。
可能的实现方式中,若审核模块确认该异常访问行为的检测结果无误,则根据该异常访问行为对应的告警信息进行风险控制并及时闭环。一种可能的理解方式中,风险控制可以包括风险控制者减少异常访问行为造成的损失或减少异常访问行为出现的可能性。示例性的,当企业内部存在多节点跳跃登录的异常访问行为,则可以通过有向图找到对应的异常访问行为的日志信息,确定源IP和目的IP,同时分析该异常访问行为,检查是否存在恶意的数据包进入企业内部网络,避免对内部服务器的正常工作带来的影响。
可能的实现方式中,若审核模块确认该异常访问行为的检测结果有误,则将异常访问行为作为误报样本记录,用于模型优化。
S1518:模型优化模块根据误报和/或漏报异常访问行为检测结果更新模型参数。
一种可能的实现方式中,根据S1517得到的审核结果,得到第一模型、第二模型或第三模型中的一种或多种的误报和/或漏报结果。利用误报和/或漏报结果,优化第一模型、第二模型或第三模型中的一种或多种,更新本地存储的模型参数。
S1519:电子设备基于增量日志更新有向图。
可能的理解方式中,增量日志可以指的是在最新时间阈值内收集的第一日志。
一种可能的实现方式中,本申请实施例根据第一日志数据生成的有向图,更新第二日志对应的有向图。其中,第二日志数据的生成时间早于第一日志数据的生成时间。
可选的,更新后得到的有向图可以包括第二日志对应的有向图和第一日志的有向图。
可选的,更新后得到的有向图可以包括第二日志对应的有向图和第一日志中过滤与第三日志重合的部分后得到的有向图。
S1520:电子设备将更新后的有向图文件和模型参数存储到本地。
可选的,一种可能的实现方式中,本申请实施例将S1518得到的更新后的模型参数和S1519得到的更新后的有向图存储至本地。后续可以在模型更新单元中迭代更新过程,得到更加准确的模型。
本申请实施例提供异常访问行为检测方法,可以不依赖于历史样本,基于第一日志生成有向图,从图角度识别有向图中的异常访问行为,同时本申请实施例无需历史攻击样本支持,从而降低对数据源质量的要求,部署快速,并加入在线学习机制实时优化模型,提高异常访问行为检测的准确率。
本申请实施例结合流程图来进行详细描述一种异常访问行为检测方法,但应理解,这些流程图及其相应的实施例的相关描述仅为便于理解而示例,不应对本申请构成任何限定。各流程图中的每一个步骤并不一定是必须要执行的,例如有些步骤是可以省略的。并且,各个步骤的执行顺序也不是固定不变的,也不限于图中所示,各个步骤的执行顺序应以其功能和内在逻辑确定。
为便于理解本申请实施例,本申请实施例提供了一种用于异常访问行为检测的系统架构。其中,该异常访问行为检测系统可以是单独一个具有异常访问行为检测功能的电子设备。也可以是至少两个电子设备的组合,即至少两个电子设备组合成一个整体具有异常访问行为检测功能的系统,当异常访问行为检测系统为至少两个电子设备的组合时,异常访问行为检测系统中的两个电子设备之间,可以通过蓝牙、有线连接或者无线传输中的一种通信方式进行通信。
其中,异常访问行为检测的系统架构具体并不限于下述构造。
如图16所示,该异常访问行为检测系统可以包括:数据处理模块1601、多维检测模块1602、关联分析模块1603和在线学习模块1604。
数据处理模块1601,可以用于执行提取字段、过滤日志和生成有向图等步骤,例如,数据处理模块1601用于将检测范围内所有网络访问日志进行预处理得到第一日志数据,根据该第一日志数据生成有向图。
示例性的,预处理可以包括去除网络访问日志的无关信息,聚合相同访问记录等。其中,去除网络访问日志的无关信息的一种可能实现为:在网络访问日志中,去除掉除了所需的源IP、目的IP、访问次数等信息之外的其他信息,例如其他信息可以包括网络环境信息等。示例性的,去除网络访问日志的无关信息的一种可能实现为:在网络访问日志中,去除白名单用户的访问记录。一种可能的理解方式中,白名单用户可以为企业内部用户。一种可能的理解方式中,相同访问记录可以是第一日志数据中源IP和目的IP相同的两条或多条访问行为。
多维检测模块1602,用于通过使用第一模型、第二模型或第三模型的一种或多种来识别有向图中异常访问行为。
其中,利用第一模型、第二模型或第三模型的一种或多种来识别有向图中异常访问行为的具体实现方式,可以对应于图13中的S1302的记载,在此不再赘述。
在多维检测模块1602中使用的第一模型、第二模型、第三模型基于无监督算法和历史日志实现,可以不依赖人工输入的先验知识和特定指标阈值,无需选择特征构建规则模板,规避现有检测模型对源数据的多样性要求,具有较好的通用性。
关联分析模块1603,用于结合历史记录对初步检测结果进行综合判断,制定告警信息发送策略。关联分析模块1603将第一模型、第二模型、第三模型的检测结果进行关联分析,从不同维度进行异常访问行为的检测,全面监控多类型异常访问行为。
可能的实现方式中,关联分析是通过构建第一模型、第二模型或第三模型多种识别结果之间的线性函数,在该线性函数的值符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。
示例性的,本申请实施例通过构建第一模型、第二模型或第三模型多种识别结果之间的线性函数来对检测结果进行关联分析的一种可能实现为:第一模型、第二模型、第三模型对应的输出结果分别为x1、x2、x3,其中,x1、x2、x3关联分析后确定的异常访问行为检测结果为y。本申请实施例构建第一模型、第二模型和第三模型之间的线性函数y=k1 x1+k2x2+k3 x3,其中,k1、k2、k3为第一模型、第二模型、第三模型各自的检测结果在关联分析过程中所占的权值,k1、k2、k3的大小可以分别定为N(N可以为大于0的任意值,例如1等),在该线性函数y=k1 x1+k2 x2+k3 x3的输出值y符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。其中,第一模型、第二模型和第三模型各自的检测结果在关联分析过程中所占的权值k1、k2、k3和该线性函数输出值y的预设的异常条件可由人工和/或机器来设定。
可能的实现方式中,本申请实施例构建第一模型、第二模型、第三模型之间的线性函数,其中第一模型、第二模型、第三模型各自的检测结果在关联分析过程中所占的权值k1、k2、k3分别为1,此时第一模型、第二模型、第三模型之间的线性函数为y=x1+x2+x3,其中,可能的实现方式中,若检测结果中存在异常访问行为,则第一模型、第二模型、第三模型对应的输出为1,否则为0。若该线性函数的值y大于或等于1,则有向图中存在异常访问行为。示例性的,若第一模型输出为1,则该异常访问行为可以为多节点跳跃登录的异常访问行为;若第二模型的输出为1,则该异常访问行为可以为跨业务群访问的异常访问行为;若第三模型的输出为1,则该异常访问行为可以为与历史行为访问不符的异常访问行为。
可能的理解方式中,历史记录可以为最近一段时间内的检测无异常访问行为的访问记录。
示例性的,制定告警信息发送策略的一种可能实现为:通过关联分析三种模型中的一种或多种而得到的检测结果,根据异常访问行为检测结果向目标对象发送告警信息,其中告警信息包括:异常访问行为检测结果对应的日志信息、告警产生原因或建议处置方法中的一种或多种。
其中,具体的冒泡策略可以对应于图15中的S1512的记载,在此不再赘述。
在线学习模块1604,可以包括结果反馈部分、结果审核部分和模型更新部分等,用于收集检测和审核结果对模型参数进行更新。
示例性的,在线学习模块1604的具体实现可以对应于图15中的S1514至S1517的记载,在此不再赘述。
其中,本申请实施例描述的系统架构是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。进一步的,本领域技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上面已对本申请实施例的异常访问行为检测方法进行了说明,下面对本申请实施例提供的执行上述异常访问行为检测方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的异常访问行为检测装置可以执行上述异常访问行为检测方法中的步骤。
如图17所示,图17示出了本申请实施例提供的一种异常访问行为检测装置的结构示意图,该异常访问行为检测装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。该异常访问行为检测装置包括:处理单元1701,其中,处理单元1701用于根据第一日志数据生成有向图;其中,有向图包括:多个用于标识设备的节点,以及多个节点之间的有向访问关系;处理单元1701,还用于利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,确定异常检测结果;其中,第一模型用于根据有向图识别多节点跳跃登录的异常访问行为;第二模型用于根据有向图识别跨业务群访问的异常访问行为;第三模型用于根据有向图识别与历史访问行为不符的异常访问行为。
示例性的,以该异常访问行为检测装置为终端设备或应用于终端设备中的芯片或芯片系统为例,该处理单元1701用于支持异常访问检测装置执行上述实施例中的S1301和/或S1302等。
在一种可能的实现方式中,该异常访问行为检测装置还可以包括:存储单元1702。其中,存储单元1702可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。
存储单元1702可以独立存在,通过通信总线与处理单元1701相连。存储单元1702也可以和处理单元1701集成在一起。
以异常访问行为检测装置可以是本申请实施例中的终端设备的芯片或芯片系统为例,存储单元1702可以存储终端设备的方法的计算机执行指令,以使处理单元1701执行上述实施例中终端设备的方法。存储单元1702可以是寄存器、缓存或者随机存取存储器(random access memory,RAM)等,存储单元1702可以和处理单元1701集成在一起。存储单元1702可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1702可以与处理单元1701相独立。
在一种可能的实现方式中,第一模型、第二模型和第三模型均采用无监督算法实现。
在一种可能的实现方式中,处理单元,具体用于根据多个节点中的源节点和目的节点,计算从源节点到目的节点的最大跳数;其中,最大跳数用于表示以目的节点为跳板进行连续访问的跳数;处理单元,具体还用于将最大跳数大于第一阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于根据多个节点中的源节点和目的节点,计算从源节点到目的节点的最大跳数;其中,最大跳数用于表示以目的节点为跳板进行连续访问的跳数;处理单元,具体还用于将最大跳数大于第一阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于将有向图中的节点转换为嵌入向量;对于多个节点中的源节点和目的节点,处理单元,具体还用于对目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,得到归一化后单位向量集合;其中,目的节点的前驱节点集合为有向图中指向目的节点的节点集合;处理单元,具体还用于计算源节点对应的嵌入向量与归一化后单位向量集合的余弦相似度;处理单元,还用于将余弦相似度小于第二阈值的访问行为识别为异常访问行为。
在一种可能的实现方式中,处理单元,具体用于采用单分类支持向量机训练目的节点的前驱节点集合所对应的嵌入向量矩阵;处理单元,具体还用于对训练后的嵌入向量矩阵进行归一化。
在一种可能的实现方式中,处理单元,具体用于利用第一模型、第二模型或第三模型的一种或多种识别有向图中的异常访问行为,得到多种识别结果;处理单元,具体还用于对多种识别结果进行关联分析,得到异常检测结果。
在一种可能的实现方式中,处理单元,具体用于构建多种识别结果之间的线性函数;处理单元,还用于在线性函数的值符合预设的异常条件的情况下,确定线性函数对应的访问行为为异常检测结果。
在一种可能的实现方式中,处理单元,具体用于根据异常检测结果更新有向图;处理单元,具体还用于根据异常检测结果更新第一模型的超参数、第二模型的超参数和/或第三模型的超参数。
在一种可能的实现方式中,处理单元,具体用于获取第二日志数据;第二日志数据的生成时间早于第一日志数据的生成时间;处理单元,还用于生成第二日志数据的有向图;处理单元,还用于在第一模型、第二模型或第三模型中载入第二日志数据的有向图,以及第一模型、第二模型或第三模型各自相关的模型参数。
在一种可能的实现方式中,处理单元,还用于定时获取第一日志数据;处理单元,还用于生成第一日志数据对应的第一有向图;处理单元,还用于过滤第一有向图中与第三日志数据的第三有向图重合的部分,得到有向图;其中,第三日志数据的生成时间早于第一日志数据的生成时间,且第三日志数据的生成时间与第一日志数据的生成时间的差值小于时间阈值。
在一种可能的实现方式中,节点为设备的互联网协议IP地址,多个节点之间的有向访问关系中包括:多个节点之间的每小时最大访问次数、历史访问次数总和或最新访问时间中的一种或多种。
在一种可能的实现方式中,异常访问检测装置还可以包括:通信单元1703。其中,通信单元1703用于支持异常访问行为检测装置执行信息发送或接收的步骤。示例性的,当该异常访问行为检测装置是终端设备时,该通信单元1703可以是通信接口或接口电路。当该异常访问行为检测装置是终端设备内的芯片或芯片系统时,该通信单元1703可以是通信接口。例如通信接口可以为输入/输出接口、管脚或电路等。
示例性的,通信单元1703,用于根据异常检测结果向目标对象发送告警信息。
在一种可能的实现方式中,告警信息包括下述的一种或多种:异常检测结果对应的日志信息、告警产生原因或建议处置办法。
本实施例的装置对应地可用于执行上述方法实施例中执行的步骤,其实现原理和技术效果类似,此处不再赘述
图18为本申请实施例提供的一种异常访问行为检测装置的硬件结构示意图。请参见图18,该网络管理装置包括:存储器1801、处理器1802。该通信装置还可以包括接口电路1803,其中,存储器1801、处理器1802和接口电路1803可以通信;示例性的,存储器1801、处理器1802和接口电路1803可以通过通信总线通信,存储器1801用于存储计算机执行指令,并由处理器1802来控制执行,从而实现本申请下述实施例提供的异常访问行为检测方法。
可能的实现方式中,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
可选的,接口电路1803还可以包括发送器和/或接收器。
可选的,上述处理器1802可以包括一个或多个CPU,还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
需要说明的是,本申请中描述的异常访问行为在具体的应用中也可能采用其他的定义或名称,示例性的,异常访问行为可以称为异常攻击行为,异常访问,等。或者上述异常访问行为也可以根据实际的应用场景定义其他的名称,本申请实施例对此不作具体限定。
Claims (18)
1.一种异常访问行为检测方法,应用于电子设备,其特征在于,包括:
根据第一日志数据生成有向图;所述有向图包括:多个用于标识设备的节点,以及多个所述节点之间的有向访问关系;
利用第一模型、第二模型或第三模型的一种或多种识别所述有向图中的异常访问行为,确定异常检测结果;其中,所述第一模型用于根据所述有向图识别多节点跳跃登录的异常访问行为;所述第二模型用于根据所述有向图识别跨业务群访问的异常访问行为;所述第三模型用于根据所述有向图识别与历史访问行为不符的异常访问行为。
2.根据权利要求1所述的方法,其特征在于,所述第一模型、所述第二模型和所述第三模型均采用无监督算法实现。
3.根据权利要求1-2任一项所述的方法,其特征在于,利用所述第一模型识别所述有向图中的异常访问行为,包括:
对于多个所述节点中的源节点和目的节点,计算从所述源节点到所述目的节点的最大跳数;所述最大跳数用于表示以所述目的节点为跳板进行连续访问的跳数;
将所述最大跳数大于第一阈值的访问行为识别为异常访问行为。
4.根据权利要求1-3任一项所述的方法,其特征在于,利用所述第二模型识别所述有向图中的异常访问行为,包括:
归类多个所述节点到增益最大邻居节点所在的社区;
将归类为同一社区的节点压缩为第一节点,直到所述归类产生的结果不再变化;
将存在跨社区访问的所述第一节点对应的访问行为识别为异常访问行为。
5.根据权利要求1-4任一项所述的方法,其特征在于,利用所述第三模型识别所述有向图中的异常访问行为,包括:
将所述有向图中的节点转换为嵌入向量;
对于多个所述节点中的源节点和目的节点,对所述目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,得到归一化后单位向量集合;所述目的节点的前驱节点集合为所述有向图中指向所述目的节点的节点集合;
计算所述源节点对应的嵌入向量与所述归一化后单位向量集合的余弦相似度;
将所述余弦相似度小于第二阈值的访问行为识别为异常访问行为。
6.根据权利要求5所述的方法,其特征在于,所述对所述目的节点的前驱节点集合所对应的嵌入向量矩阵进行归一化,包括:
采用单分类支持向量机训练所述目的节点的前驱节点集合所对应的嵌入向量矩阵;
对训练后的嵌入向量矩阵进行归一化。
7.根据权利要求1-6任一项所述的方法,其特征在于,利用第一模型、第二模型或第三模型的多种识别所述有向图中的异常访问行为,确定异常检测结果,包括:
利用第一模型、第二模型或第三模型的一种或多种识别所述有向图中的异常访问行为,得到多种识别结果;
对所述多种识别结果进行关联分析,得到所述异常检测结果。
8.根据权利要求7所述的方法,其特征在于,所述对所述多种识别结果进行关联分析,得到所述异常检测结果,包括:
构建所述多种识别结果之间的线性函数;
在所述线性函数的值符合预设的异常条件的情况下,确定所述线性函数对应的访问行为为异常检测结果。
9.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
根据所述异常检测结果更新所述有向图;
根据所述异常检测结果更新所述第一模型的超参数、所述第二模型的超参数和/或所述第三模型的超参数。
10.根据权利要求1-9任一项所述的方法,其特征在于,还包括:
获取第二日志数据;所述第二日志数据的生成时间早于所述第一日志数据的生成时间;
生成所述第二日志数据的有向图;
在所述第一模型、所述第二模型或所述第三模型中载入所述第二日志数据的有向图,以及所述第一模型、所述第二模型或所述第三模型各自相关的模型参数。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述根据第一日志数据生成有向图,包括:
定时获取所述第一日志数据;
生成所述第一日志数据对应的第一有向图;
过滤所述第一有向图中与第三日志数据的第三有向图重合的部分,得到所述有向图;所述第三日志数据的生成时间早于所述第一日志数据的生成时间,且所述第三日志数据的生成时间与所述第一日志数据的生成时间的差值小于时间阈值。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述节点为设备的互联网协议IP地址,多个所述节点之间的有向访问关系中包括:多个所述节点之间的每小时最大访问次数、历史访问次数总和或最新访问时间中的一种或多种。
13.根据权利要求1-12任一项所述的方法,其特征在于,还包括:
根据所述异常检测结果向目标对象发送告警信息。
14.根据权利要求13所述的方法,其特征在于,所述告警信息包括下述的一种或多种:所述异常检测结果对应的日志信息、告警产生原因或建议处置方法。
15.一种电子设备,其特征在于,包括:用于执行权利要求1-14任一项所述的各个步骤的单元。
16.一种电子设备,其特征在于,包括:处理器,用于调用存储器中的程序,以执行权利要求1-14任一项所述的方法。
17.一种电子设备,其特征在于,包括:处理器和接口电路,所述接口电路用于与其它装置通信,所述处理器用于执行权利要求1至14任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010808974.8A CN114143015A (zh) | 2020-08-12 | 2020-08-12 | 异常访问行为检测方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010808974.8A CN114143015A (zh) | 2020-08-12 | 2020-08-12 | 异常访问行为检测方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114143015A true CN114143015A (zh) | 2022-03-04 |
Family
ID=80438041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010808974.8A Pending CN114143015A (zh) | 2020-08-12 | 2020-08-12 | 异常访问行为检测方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114143015A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697108A (zh) * | 2022-03-29 | 2022-07-01 | 山东省计算中心(国家超级计算济南中心) | 基于集成学习的系统日志异常检测方法 |
CN116756736A (zh) * | 2023-08-24 | 2023-09-15 | 深圳红途科技有限公司 | 用户异常行为分析方法、装置、计算机设备及存储介质 |
-
2020
- 2020-08-12 CN CN202010808974.8A patent/CN114143015A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697108A (zh) * | 2022-03-29 | 2022-07-01 | 山东省计算中心(国家超级计算济南中心) | 基于集成学习的系统日志异常检测方法 |
CN116756736A (zh) * | 2023-08-24 | 2023-09-15 | 深圳红途科技有限公司 | 用户异常行为分析方法、装置、计算机设备及存储介质 |
CN116756736B (zh) * | 2023-08-24 | 2024-03-22 | 深圳红途科技有限公司 | 用户异常行为分析方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10476749B2 (en) | Graph-based fusing of heterogeneous alerts | |
US10791141B2 (en) | Anonymized network data collection and network threat assessment and monitoring systems and methods | |
CN108494810B (zh) | 面向攻击的网络安全态势预测方法、装置及系统 | |
KR102403622B1 (ko) | 행동 위협 탐지를 위한 시스템 및 방법 | |
US20200137083A1 (en) | Unknown malicious program behavior detection using a graph neural network | |
US7530105B2 (en) | Tactical and strategic attack detection and prediction | |
US8272061B1 (en) | Method for evaluating a network | |
EP3107026A1 (en) | Event anomaly analysis and prediction | |
US10476752B2 (en) | Blue print graphs for fusing of heterogeneous alerts | |
US11372956B2 (en) | Multiple input neural networks for detecting fraud | |
CN114915479B (zh) | 一种基于Web日志的Web攻击阶段分析方法及系统 | |
CN104871171B (zh) | 分布式模式发现 | |
CN113642023A (zh) | 数据安全检测模型训练、数据安全检测方法、装置及设备 | |
CN116662989B (zh) | 一种安全数据解析方法及系统 | |
CN113794276A (zh) | 一种基于人工智能的配电网终端安全行为监测系统及方法 | |
CN114143015A (zh) | 异常访问行为检测方法和电子设备 | |
CN114528457A (zh) | Web指纹检测方法及相关设备 | |
Venkatesan et al. | A comprehensive study in data mining frameworks for intrusion detection | |
CN113918938A (zh) | 一种持续免疫安全系统的用户实体行为分析方法及系统 | |
CN113709170A (zh) | 资产安全运营系统、方法和装置 | |
JP6616045B2 (ja) | 異種混在アラートのグラフベース結合 | |
CN116648939A (zh) | 用于检测异常接入行为的方法和网络节点 | |
CN113923037B (zh) | 一种基于可信计算的异常检测优化装置、方法及系统 | |
Grojek et al. | Ontology-driven artificial intelligence in IoT forensics | |
WO2017176673A1 (en) | Blue print graphs for fusing of heterogeneous alerts |
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 |