CN115604040B - 一种基于ip访问序列的异常访问行为识别方法 - Google Patents

一种基于ip访问序列的异常访问行为识别方法 Download PDF

Info

Publication number
CN115604040B
CN115604040B CN202211616801.1A CN202211616801A CN115604040B CN 115604040 B CN115604040 B CN 115604040B CN 202211616801 A CN202211616801 A CN 202211616801A CN 115604040 B CN115604040 B CN 115604040B
Authority
CN
China
Prior art keywords
node
access
wtree
child
sequence
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.)
Active
Application number
CN202211616801.1A
Other languages
English (en)
Other versions
CN115604040A (zh
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.)
Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Original Assignee
Information and Telecommunication Branch of State Grid Jiangsu Electric Power 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 Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd filed Critical Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Priority to CN202211616801.1A priority Critical patent/CN115604040B/zh
Publication of CN115604040A publication Critical patent/CN115604040A/zh
Application granted granted Critical
Publication of CN115604040B publication Critical patent/CN115604040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于IP访问序列的异常访问行为识别方法,包括以下步骤:选定某IP的用户,根据该IP用户多天访问记录提取访问序列,基于访问序列构建反映该用户访问行为模式的概率前缀树,并根据设定的概率阈值对概率前缀树进行剪枝,定义概率前缀树相似度计算方法;基于该IP用户近期某段时间内的访问记录提取其访问序列,根据访问序列构建该用户近期的概率前缀树。计算该用户历史概率前缀树与其近期概率前缀树的相似度,相似度越大表明该用户的访问行为模式越稳定,其访问行为越正常;反之,表明该用户的访问行为模式异常性越显著。本发明能根据用户历史概率前缀树与近期前缀树的相似度分析计算,识别用户访问行为的异常情况。

Description

一种基于IP访问序列的异常访问行为识别方法
技术领域
本发明涉及的是一种异常访问行为识别方法,具体涉及的是一种基于IP访问序列的异常访问行为识别方法。
背景技术
随着网络和信息化技术的快速发展,网络化已成为中大型企业开展业务工作的常态,企业构建基于互联网的业务系统网站,将主要业务功能模块部署在不同的服务器上(对应不同的服务器IP地址)。员工在单位内被分配固定的客户端IP地址,以及各个业务系统的用户名和账号,员工利用终端电脑登录各业务系统网站,完成各类业务工作。
企业信息化和业务网络化过程中,内网的安全性已成为企业管理者关注的重点。已有的企业网站安全管理技术主要采用目标端口扫描、禁止链接特定IP、下载流量限制等方法对员工的网络访问操作进行管控。然而,通过技术或非技术手段利用内网用户的客户端机器(具有合法的客户端IP地址)访问企业的网站服务器,窃取企业数据和服务,已成为企业内网需要重点防御的攻击形式。这类攻击的重要表现是企业内网用户的异常访问,例如某名员工对公司网站业务模块的常规访问顺序是B-A-D-C,其中A、B、C、D对应四个业务模块所部署服务器的IP地址,当某一天该用户访问序列出现显著的不一致,意味着其办理的不是本职工作内的业务,甚或非其本人进行业务操作,可能对应对企业内网的非法攻击。需要指出的是这种服务器IP访问序列无法事先指定,不同用户在企业内部被分配使用固定的客户端IP地址,该用户通过客户端IP地址对企业网站业务模块所部署服务器的访问与用户工作职责、个人上网习惯都有关。需要结合用户阶段历史访问日志(例如交换机连接记录),提取其常态访问序列,进而提取该用户当前的服务器IP访问序列,通过分析当前访问序列和该用户常态访问序列的差异,进行访问行为异常判断。这种访问行为异常的发现是排查黑客入侵等非法网络攻击的重要线索。当前,以限制访问为主的网络平台安全管理方法,难以支撑这类对用户访问行为的监管需要。
本发明针对企业内网环境,依赖交换机所记录的内网用户客户端机器连接企业服务器的交换机访问日志,需要获取的交换机访问日志主要包括如下属性:源IP(client_ip)、目的IP(server_ip_addr)、访问开始时间(flow_start_time)、访问结束时间(flow_end_time),其中源IP指内网用户在企业内被分配的固定IP地址,目的IP指企业主要业务功能软件所部署服务器的IP地址,通常企业具有众多的服务器,因此目的IP也具有多个。本发明基于上述交换机访问日志,提出基于IP访问序列的异常访问行为识别方法,利用概率前缀树描述IP用户序列访问行为模式,根据用户历史概率前缀树与近期前缀树的相似度分析计算,评估用户访问行为的异常性,计算得到的异常值与阈值差别越大,相应内网用户IP的访问行为异常性越显著,对应网络攻击风险越大。通过将访问行为异常性较高的用户IP提供给企业网络安全管理者,可以为企业网站平台防御非法网络攻击提供线索,网安管理者可以采用阶段封停高风险用户IP、内部用户问责等措施积极规避潜在攻击风险。
发明内容
针对于上述现有技术的不足,本发明提供了一种基于IP访问序列的异常访问行为识别方法。
本发明采用的技术方案为:
一种基于IP访问序列的异常访问行为识别方法,包括以下步骤:
(1)获取用户历史若干天访问记录 ;
(2)对
Figure 565427DEST_PATH_IMAGE001
中每一天访问记录进行排序;
(3)对
Figure 143039DEST_PATH_IMAGE001
中记录进行划分,得到用户每天单次访问链的目的IP序列集合
Figure 177248DEST_PATH_IMAGE002
(4)对
Figure 814902DEST_PATH_IMAGE002
中IP访问序列进行筛选,得到用户每天的用于构建概率前缀树的IP访问序列;
(5)根据
Figure 229834DEST_PATH_IMAGE002
中IP访问序列建立历史概率前缀树
Figure 594826DEST_PATH_IMAGE003
(6)对历史概率前缀树
Figure 496922DEST_PATH_IMAGE003
进行剪枝;
(7)获取该用户当前若干天访问记录
Figure 790632DEST_PATH_IMAGE004
,并按照步骤(2)~(6)对
Figure 410969DEST_PATH_IMAGE004
进行处理得到当前概率前缀树
Figure 268066DEST_PATH_IMAGE005
(8)计算历史概率前缀树
Figure 530728DEST_PATH_IMAGE003
与当前概率前缀树
Figure 510185DEST_PATH_IMAGE005
的相似度;
(9)设置异常阈值,当相似度小于异常阈值时给出预警。
为优化上述技术方案,采取的具体措施还包括:
上述的步骤(1)中,
Figure 306234DEST_PATH_IMAGE006
,其中访问记录
Figure 763760DEST_PATH_IMAGE007
为该用户一次访问的网络层访问记录,记录至少包括如下属性:源IP:client_ip、目的IP:server_ip_addr、访问开始时间flow_start_time和访问结束时间flow_end_time。
上述的步骤(2)中,对
Figure 155296DEST_PATH_IMAGE008
中每一天访问记录进行排序的规则为:先按照flow_end_time进行非递减排序,当flow_end_time相同时,再按照flow_start_time进行非递减排序。
上述的步骤(3)中,对
Figure 243338DEST_PATH_IMAGE001
中记录进行划分,得到用户每天单次访问链的目的IP序列集合
Figure 838267DEST_PATH_IMAGE002
的方法为:将
Figure 319058DEST_PATH_IMAGE001
中每天访问记录序列的第一个访问记录的目的 IP 记作访问序列Q1的初始节点,对于后一次访问记录:
1)两次访问间隔小于等于sequence-threshold且大于visit-threshold,将后一次访问记录目的IP记作当前访问的后继,加入Q1;其中,访问间隔是指访问记录的flow_end_time间隔,sequence-threshold可取大于0的任意数值,visit-threshold取值范围为大于0且小于sequence-threshold;
2)两次访问间隔小于等于sequence-threshold且小于等于visit-threshold,若两次访问记录目的IP相同,记作重复访问;若两次访问记录目的IP不同,仍记作当前访问的后继,加入Q1;
3)两次访问间隔大于sequence-threshold,停止扩展Q1,将Q1加入
Figure 253516DEST_PATH_IMAGE009
,Q1清空,并处理后续访问记录。
上述的步骤(4)中对
Figure 778038DEST_PATH_IMAGE002
中IP访问序列进行筛选,得到用户每天的用于构建概率前缀树的IP访问序列的方法为:统计
Figure 112461DEST_PATH_IMAGE002
中每天每一次访问序列前两个目的IP的集合
Figure 115052DEST_PATH_IMAGE010
以及出现的次数
Figure 966333DEST_PATH_IMAGE011
,记作
Figure 412489DEST_PATH_IMAGE012
;统计
Figure 716432DEST_PATH_IMAGE013
中大于等于
Figure 568719DEST_PATH_IMAGE014
对应的
Figure 477769DEST_PATH_IMAGE015
,结果记作
Figure 140832DEST_PATH_IMAGE016
,其中
Figure 886065DEST_PATH_IMAGE017
为天数阈值,取值为[0,1];遍历
Figure 27196DEST_PATH_IMAGE002
,对于
Figure 839688DEST_PATH_IMAGE002
中每天任意访问序列,如果该访问序列前两个目的IP在
Figure 939231DEST_PATH_IMAGE018
中,则将此访问序列保留,反之则去除。
上述的步骤(5)中根据
Figure 155448DEST_PATH_IMAGE002
中IP访问序列建立历史概率前缀树
Figure 319845DEST_PATH_IMAGE019
的方法为:新建概率前缀树虚拟根节点
Figure 225DEST_PATH_IMAGE020
,设置
Figure 208352DEST_PATH_IMAGE020
计数值为
Figure 426713DEST_PATH_IMAGE002
中IP访问序列个数,遍历
Figure 175226DEST_PATH_IMAGE002
中IP访问序列,对
Figure 913375DEST_PATH_IMAGE002
中任意访问序列
Figure 308715DEST_PATH_IMAGE021
,首先判断
Figure 765104DEST_PATH_IMAGE020
是否有孩子节点
Figure 317308DEST_PATH_IMAGE022
,若有,则孩子节点
Figure 896582DEST_PATH_IMAGE022
计数值自增一;若没有,则新建
Figure 508829DEST_PATH_IMAGE020
的孩子节点
Figure 186935DEST_PATH_IMAGE022
,其计数值为1,同理判断节点
Figure 293562DEST_PATH_IMAGE022
是否有孩子节点
Figure 740724DEST_PATH_IMAGE023
,若有,则孩子节点
Figure 241981DEST_PATH_IMAGE023
计数值自增一;若没有,则新建
Figure 469700DEST_PATH_IMAGE022
的孩子节点
Figure 301390DEST_PATH_IMAGE023
,其计数值为1;重复上述操作直到遍历完
Figure 681687DEST_PATH_IMAGE024
,则
Figure 573420DEST_PATH_IMAGE025
插入过程结束;对
Figure 226118DEST_PATH_IMAGE002
中任意IP访问序列进行上述操作,操作完成则历史概率前缀树
Figure 390994DEST_PATH_IMAGE019
插入过程结束;接着更新历史概率前缀树任意父子节点之间分支概率,计算方法为:已知
Figure 609486DEST_PATH_IMAGE019
中任意两个节点
Figure 937699DEST_PATH_IMAGE026
Figure 562846DEST_PATH_IMAGE027
,且
Figure 64235DEST_PATH_IMAGE026
Figure 606075DEST_PATH_IMAGE027
的父节点,
Figure 88877DEST_PATH_IMAGE026
Figure 716168DEST_PATH_IMAGE027
的计数值分别为
Figure 755668DEST_PATH_IMAGE028
Figure 902747DEST_PATH_IMAGE029
,则
Figure 307183DEST_PATH_IMAGE026
Figure 218507DEST_PATH_IMAGE027
的分支概率
Figure 986000DEST_PATH_IMAGE030
Figure 299169DEST_PATH_IMAGE019
所有分支概率计算完毕则历史概率前缀树构建完成。
上述的步骤(6)中对历史概率前缀树
Figure 421977DEST_PATH_IMAGE019
进行剪枝的方法如下:设置剪枝概率阈值
Figure 758281DEST_PATH_IMAGE031
Figure 139583DEST_PATH_IMAGE031
取值范围为[0,1],从
Figure 494210DEST_PATH_IMAGE019
中根节点开始,逐层往下处理,如果当前层中有父子节点间分支概率小于
Figure 302766DEST_PATH_IMAGE031
,则删除以该子节点为根节点的子树,重复上述过程,直到
Figure 408257DEST_PATH_IMAGE019
中所有分支概率都大于等于
Figure 530933DEST_PATH_IMAGE031
上述的步骤(8)中,计算历史概率前缀树
Figure 756378DEST_PATH_IMAGE019
与当前概率前缀树
Figure 988033DEST_PATH_IMAGE032
的相似度,计算原理如下:
相似度函数
Figure 95666DEST_PATH_IMAGE033
定义为将
Figure 756455DEST_PATH_IMAGE019
转换为
Figure 587139DEST_PATH_IMAGE032
的节点编辑操作的操作消耗,
考虑对历史概率前缀树
Figure 3076DEST_PATH_IMAGE019
与当前概率前缀树
Figure 535689DEST_PATH_IMAGE032
进行以下三类编辑操作:
1) 删除一个节点连同该节点为根节点的子树;
2) 对现有节点插入一个孩子节点;
3) 重命名节点的标签;
编辑操作步骤如下:① 将历史概率前缀树
Figure 311753DEST_PATH_IMAGE019
与当前概率前缀树
Figure 246211DEST_PATH_IMAGE032
的概率前缀树
Figure 770733DEST_PATH_IMAGE034
进行转化为权重树
Figure 603691DEST_PATH_IMAGE035
,需要首先将概率前缀树树中分支概率转化成节点的概率;即:将根
Figure 403020DEST_PATH_IMAGE036
的节点概率设置为1,其余节点的节点概率为
Figure 975340DEST_PATH_IMAGE036
节点到该节点的路径上所有分支概率乘积所得;② 自定义三类编辑操作的操作消耗,设
Figure 733080DEST_PATH_IMAGE037
为任意两棵权重树,树中每个节点都有标签IP值,记作
Figure 522176DEST_PATH_IMAGE038
,以及权值weight,定义三类编辑操作的操作消耗分别为,
删除:删除
Figure 328458DEST_PATH_IMAGE039
上的某个节点
Figure 503087DEST_PATH_IMAGE040
的消耗为
Figure 415417DEST_PATH_IMAGE041
的权重;
插入:在
Figure 409918DEST_PATH_IMAGE042
上插入
Figure 301782DEST_PATH_IMAGE043
中的某个节点
Figure 330918DEST_PATH_IMAGE041
的消耗为
Figure 164882DEST_PATH_IMAGE041
的权重;
重命名:将
Figure 887157DEST_PATH_IMAGE044
某个节点
Figure 300821DEST_PATH_IMAGE045
重命名为
Figure 981201DEST_PATH_IMAGE043
上的某个节点
Figure 205640DEST_PATH_IMAGE046
的消耗分为两种情况:如果
Figure 909154DEST_PATH_IMAGE047
Figure 657667DEST_PATH_IMAGE048
,则消耗为0;如果
Figure 910663DEST_PATH_IMAGE049
但是
Figure 289691DEST_PATH_IMAGE050
,则消耗为
Figure 480501DEST_PATH_IMAGE051
;其他情况消耗为
Figure 783438DEST_PATH_IMAGE052
定义权重树中节点集的最小代价配对操作:记权重树中节点
Figure 376093DEST_PATH_IMAGE053
的孩子节点集为
Figure 988340DEST_PATH_IMAGE054
,节点个数记作
Figure 918643DEST_PATH_IMAGE055
,对于
Figure 8959DEST_PATH_IMAGE044
中任意节点
Figure 456121DEST_PATH_IMAGE056
Figure 990002DEST_PATH_IMAGE057
中任意节点
Figure 952141DEST_PATH_IMAGE058
,若
Figure 829836DEST_PATH_IMAGE059
,则对
Figure 131505DEST_PATH_IMAGE060
Figure 288817DEST_PATH_IMAGE061
中节点进行两两配对,得到配对集合
Figure 754564DEST_PATH_IMAGE062
,其中
Figure 389945DEST_PATH_IMAGE045
属于
Figure 811699DEST_PATH_IMAGE063
Figure 188847DEST_PATH_IMAGE046
属于
Figure 63262DEST_PATH_IMAGE064
,并且该种配对满足将配对集合中所有
Figure 315383DEST_PATH_IMAGE065
Figure 591644DEST_PATH_IMAGE045
重命名为
Figure 887496DEST_PATH_IMAGE046
的操作消耗总和小于其他配对,再按照配对集合进行对应重命名,保存每次重命名的操作消耗,直到配对集合元素重命名完成,累加每次重命名的操作消耗得到重命名总操作消耗,并返回重命名总操作消耗;若
Figure 498474DEST_PATH_IMAGE066
,在
Figure 272395DEST_PATH_IMAGE067
选择若干和
Figure 216212DEST_PATH_IMAGE068
数量相等的节点,并进行配对操作,使得操作消耗总和小于其他配对,同时对
Figure 620648DEST_PATH_IMAGE069
插入
Figure 531972DEST_PATH_IMAGE070
中未配对的节点,保存每此插入一个未配对的节点的操作消耗,最终求和得到插入总操作消耗,并返回插入总操作消耗;若
Figure 565044DEST_PATH_IMAGE071
,在
Figure 815897DEST_PATH_IMAGE072
选择若干和
Figure 656814DEST_PATH_IMAGE073
数量相等的节点,并进行配对操作,使得操作消耗总和小于其他配对,同时删除
Figure 806166DEST_PATH_IMAGE074
未配对的节点,保存每次删除一个未配对的节点的操作消耗,最终求和得到删除总操作消耗,并返回删除总操作消耗;称此过程为
Figure 390732DEST_PATH_IMAGE075
Figure 496091DEST_PATH_IMAGE073
的最小配对操作,接下来计算相似度流程:每次对
Figure 288335DEST_PATH_IMAGE076
进行修改,直到将
Figure 908672DEST_PATH_IMAGE076
转化为
Figure 578819DEST_PATH_IMAGE043
,定义转化总操作消耗
Figure 538685DEST_PATH_IMAGE077
初始为0,操作步骤数
Figure 518142DEST_PATH_IMAGE078
初始为0,从根节点出发,如果
Figure 92954DEST_PATH_IMAGE079
以及
Figure 816059DEST_PATH_IMAGE080
同时为空,则不做任何处理;如果
Figure 896011DEST_PATH_IMAGE079
为空且
Figure 364DEST_PATH_IMAGE080
非空,则对
Figure 595294DEST_PATH_IMAGE081
进行插入操作,依次插入节点
Figure 794194DEST_PATH_IMAGE080
,保留每插入一个节点的操作消耗,并且
Figure 40236DEST_PATH_IMAGE082
加上插入该节点的操作消耗,
Figure 564758DEST_PATH_IMAGE078
自增1;如果
Figure 132137DEST_PATH_IMAGE079
非空且
Figure 665887DEST_PATH_IMAGE080
为空,则对
Figure 454851DEST_PATH_IMAGE083
进行删除操作,依次删除
Figure 150275DEST_PATH_IMAGE083
所有孩子节点,保留每删除一个节点的操作消耗,并且
Figure 971994DEST_PATH_IMAGE082
加上删除该节点的操作消耗,
Figure 43855DEST_PATH_IMAGE078
自增1;如果
Figure 234796DEST_PATH_IMAGE079
以及
Figure 897858DEST_PATH_IMAGE080
同时非空,则对
Figure 203944DEST_PATH_IMAGE079
Figure 813916DEST_PATH_IMAGE080
进行上述最小代价配对操作,
Figure 390522DEST_PATH_IMAGE082
加上最小代价配对操作的返回值,
Figure 958907DEST_PATH_IMAGE078
自增1,再分别对配对的节点对应的子树重复上述转化操作,直到转化完成,历史概率前缀树
Figure 440704DEST_PATH_IMAGE084
与当前概率前缀树
Figure 637723DEST_PATH_IMAGE085
的相似度
Figure 318103DEST_PATH_IMAGE086
本发明与现有技术相比,具有以下优点:
内网的安全性已成为企业管理者关注的重点,已有的企业网站安全管理技术主要采用目标端口扫描、禁止链接特定IP、下载流量限制等方法对员工的网络访问操作进行管控,针对这些方法难以有效抵御公司内网环境下,基于内网合法用户访问接口(合法用户IP)对企业数据与服务的窃取攻击问题,本发明从内网用户网络访问行为模式角度,提出内网用户异常访问行为识别方法,支撑企业内网安全风险防范。
相较已有的网络访问行为模式提取方法多数采用深度学习等技术,采集大量的有标签用户群体的访问记录提取正常访问模式,对测试样本进行异常性识别,存在异常识别方法计算复杂,对访问记录规模以及包含的日志数据属性的完备性要求较高等问题。本发明针对企业内网环境,依赖交换机所记录的内网用户客户端机器连接企业服务器的交换机访问日志,仅需要获取以下交换机访问日志属性:源IP(client_ip)、目的IP(server_ip_addr)、访问开始时间(flow_start_time)、访问结束时间(flow_end_time),即可支撑内网用户访问行为模式的提取和异常访问行为的识别。本发明基于上述交换机访问日志,提出基于IP访问序列的异常访问行为识别方法,利用概率前缀树描述IP用户序列访问行为模式,根据用户历史概率前缀树与近期前缀树的相似度分析计算,评估用户访问行为的异常性。通过将访问行为异常性较高的用户IP提供给企业网络安全管理者,可以为企业网站平台防御非法网络攻击提供线索,网安管理者可以采用阶段封停高风险用户IP、内部用户问责等措施积极规避潜在的网络攻击风险。
实际应用成效表明,本发明所提方法具有便捷高效的优点。通过采集交换机日志数据,添加内网用户身份标签,进行离线行为模式提取分析,表明本发明所提异常网络访问行为识别方法具有与基于神经网络模型的深度学习方法相近的识别准确性,但规避了神经网络模型对用户标签的依赖,以及计算复杂度较高,难以部署于企业内网进行在线识别检测的不足。
附图说明
图1为本发明系统框架图;
图2为本发明异常访问行为识别流程图;
图3为本发明实施例的历史三天概率前缀树示意图(剪枝前);
图4为本发明实施例的历史三天概率前缀树示意图(剪枝后);
图5为本发明实施例的当前两天概率前缀树示意图(剪枝前);
图6为本发明实施例的当前两天概率前缀树示意图(剪枝后);
图7为本发明实施例历史三天概率前缀树转化的权重树示意图;
图8为本发明实施例当前两天概率前缀树转化的权重树示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如表1所示,给出了用户历史三天的IP访问记录表,表中每一条记录表示用户在网络机器上的一次网络访问,其中表中记录已按(flow_end_time,flow_start_time)递增排序。
表1:历史三天IP访问记录表
Figure 11384DEST_PATH_IMAGE087
提取表1中每天单次访问链目的IP序列。设置sequence-threshold=10,visit-threshold=5。以2022.1.23数据为例,将第一条记录目的IP,即10.132.88.38作为一条IP序列的开始,由于第二条记录和第一条记录间隔3-1=2 小于sequence-threshold 同时也小于visit-threshold,则将第二条记录目的IP,即21.45.20.30加入10.132.88.38后面,又第三条记录和第二条记录间隔15-3=12大于sequence-threshold,则扩展结束,即10.132.88.38→21.45.20.30为提取的一条IP序列;类似地,可以得到用户历史三天每一天的IP序列,结果为,
Figure 980477DEST_PATH_IMAGE088
={2022.1.23:10.132.88.38→21.45.20.30,10.132.88.38→21.45.20.30,10.5.70.19→11.4.30.13,10.5.70.19→12.6.29.63,172.17.2.23→177.9.18.21,177.9.18.21→177.67.19.20→187.8.19.19,10.5.70.19→11.4.30.13,10.5.70.19→12.6.29.63,10.5.70.19→20.45.17.52,10.5.70.19→22.58.133.86,2022.1.24:10.132.88.38→177.9.18.21,10.5.70.19→20.45.17.52,172.17.2.23→10.5.70.19,10.132.88.38→21.45.20.30,2022.1.25:10.132.88.38→177.9.18.21,10.5.70.19→22.58.133.86,172.17.2.23→10.5.70.19,172.17.2.23→177.9.18.21}。
设置天数阈值thresh=0.6,统计
Figure 728990DEST_PATH_IMAGE088
中所有IP序列前两位及其次数,结果为IPs={10.132.88.38→21.45.20.30:3,10.132.88.38→177.9.18.21:2,10.5.70.19→11.4.30.13:2,10.5.70.19→12.6.29.63:2,10.5.70.19→20.45.17.52:2,10.5.70.19→22.58.133.86:2,172.17.2.23→177.9.18.21:2,172.17.2.23→10.5.70.19:2,177.9.18.21→177.67.19.20:1},由于k*thresh=3*0.6=1.8,对IPs出现次数大于等于1.8的IP序列予以保留,反之则舍去。
根据处理后的
Figure 513144DEST_PATH_IMAGE088
建立的用户历史三天概率前缀树如图3所示。
Pruning_thresh为0.35,剪枝后用户历史三天概率前缀树如图4所示。
同理,如表2所示,给出了用户当前两天的IP访问记录表。
表 2:当前两天IP访问记录表
Figure 157752DEST_PATH_IMAGE089
按用户历史三天的IP访问记录表的计算方式,获得用户当前两天概率前缀树剪枝前、剪枝后结果。
图5、图6分别是用户当前两天概率前缀树剪枝前、剪枝后结果。
计算用户历史三天概率前缀树与当前两天概率前缀树的相似度。首先,图7、图8分别是用户历史三天概率前缀树和当前两天概率前缀树转化的权重树。图7中权重树转化为图8中树,首先两棵树根节点有相同数量的孩子节点,则对两颗树根节点的孩子节点集进行最小配对操作,即将权重为0.47的10.5.70.19节点重命名为权重为0.67的10.5.70.19,操作消耗为|0.47-0.67|=0.2。然后,需要对历史三天概率前缀树的10.5.70.19节点插入20.48.28.35和122.47.18.31两个节点,操作消耗分别为0.335和0.335,所以两个概率前缀树的相似度为1-(0.2+0.335+0.335)/3=0.71。异常阈值设置为0.8,由于0.71小于异常阈值,则说明该用户近期网络访问行为有异常。企业网络安全管理者可以根据异常结论,采取合理措施,积极规避潜在网络攻击风险。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (7)

1.一种基于IP访问序列的异常访问行为识别方法,其特征在于,包括以下步骤:
(1)获取用户历史若干天访问记录history_records;
(2)对history_records中每一天访问记录进行排序;
(3)对history_records中记录进行划分,得到用户每天单次访问链的目的IP序列集合ip_sequence;
(4)对ip_sequence中IP访问序列进行筛选,得到用户每天的用于构建概率前缀树的IP访问序列;
(5)根据ip_sequence中IP访问序列建立历史概率前缀树history_trie;
(6)对历史概率前缀树history_trie进行剪枝;
(7)获取该用户当前若干天访问记录current_records,并按照步骤(2)~(6)对current_records进行处理得到当前概率前缀树current_trie;
(8)计算历史概率前缀树history_trie与当前概率前缀树current_trie的相似度;
(9)设置异常阈值,当相似度小于异常阈值时给出预警;
步骤(5)中根据ip_sequence中IP访问序列建立历史概率前缀树history_trie的方法为:新建概率前缀树虚拟根节点root,设置root计数值为ip_sequence中IP访问序列个数,遍历ip_sequence中IP访问序列,对ip_sequence中任意访问序列sequence={ip_1,ip_2,...,ip_m},首先判断root是否有孩子节点ip_1,若有,则孩子节点ip_1计数值自增一;若没有,则新建root的孩子节点ip_1,其计数值为1,同理判断节点ip_1是否有孩子节点ip-2,若有,则孩子节点ip_2计数值自增一;若没有,则新建ip_1的孩子节点ip-2,其计数值为1;重复上述操作直到遍历完ip_m,则sequence插入过程结束;对ip_sequence中任意IP访问序列进行上述操作,操作完成则历史概率前缀树history_trie插入过程结束;接着更新历史概率前缀树任意父子节点之间分支概率,计算方法为:已知history_trie中任意两个节点node1和node2,且node1是node2的父节点,node1和node2的计数值分别为c(node1)和c(node2),则node1到node2的分支概率bp=c(node2)/c(node1);history_trie所有分支概率计算完毕则历史概率前缀树构建完成。
2.根据权利要求1所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,步骤(1)中,
history_records={day1:s1_1,...,s1_n1,day2:s2_1,...,s2_n2,...,day_k:sk_1,...,sk_nk},其中day1的含义是用户历史第一天访问,day2是用户历史第二天访问,依次类推,day_k是用户历史第k天访问,s1-1的含义是该用户第一天第一次访问的网络层访问记录,s1-n1的含义是该用户第一天第n1次访问的网络层访问记录,依次类推,sk_1的含义是该用户第k天第一次访问的网络层访问记录,sk_nk的含义是该用户第k天第nk次访问的网络层访问记录,记录至少包括如下属性:源IP:client_ip、目的IP:server_ip_addr、访问开始时间flow_start_time和访问结束时间flow_end_time。
3.根据权利要求2所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,步骤(2)中,对history_records中每一天访问记录进行排序的规则为:先按照flow_end_time进行非递减排序,当flow_end_time相同时,再按照flow_start_time进行非递减排序。
4.根据权利要求2所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,步骤(3)中,对history_records中记录进行划分,得到用户每天单次访问链的目的IP序列集合ip_sequence的方法为:将hisrory_records中每天访问记录序列的第一个访问记录的目的IP记作访问序列Q1的初始节点,对于后一次访问记录:
1)两次访问间隔小于等于sequence-threshold且大于visit-threshold,将后一次访问记录目的IP记作当前访问的后继,加入Q1;其中,访问间隔是指访问记录的flow_end_time间隔,sequence-threshold可取大于0的任意数值,visit-threshold取值范围为大于0且小于sequence-threshold;
2)两次访问间隔小于等于sequence-threshold且小于等于visit-threshold,若两次访问记录目的IP相同,记作重复访问;若两次访问记录目的IP不同,仍记作当前访问的后继,加入Q1;
3)两次访问间隔大于sequence-threshold,停止扩展Q1,将Q1加入ip_sequence,Q1清空,并处理后续访问记录。
5.根据权利要求4所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,步骤(4)中对ip_sequence中IP访问序列进行筛选,得到用户每天的用于构建概率前缀树的IP访问序列的方法为:统计ip_sequence中每天每一次访问序列前两个目的IP的集合twoIP以及出现的次数val,记作IPs={twoIP1:val1,twoIP2:val2,...,twoIPk:valk};统计IPs中大于等于k*thresh对应的twoIPi,结果记作tarIPs={twoIPt1,twoIPt2,...,twoIPtn},其中thresh为天数阈值,取值为[0,1];遍历ip_sequence,对于ip_sequence中每天任意访问序列,如果该访问序列前两个目的IP在tarIPs中,则将此访问序列保留,反之则去除。
6.根据权利要求5所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,步骤(6)中对历史概率前缀树history_trie进行剪枝的方法如下:设置剪枝概率阈值pruning_thresh,pruning_thresh取值范围为[0,1],从history_trie中根节点开始,逐层往下处理,如果当前层中有父子节点间分支概率小于pruning_thresh,则删除以该子节点为根节点的子树,重复上述过程,直到history_trie中所有分支概率都大于等于pruning_thresh。
7.根据权利要求6所述的一种基于IP访问序列的异常访问行为识别方法,其特征在于,
步骤(8)中,计算历史概率前缀树history_trie与当前概率前缀树current_trie的相似度,计算原理如下:
相似度函数sim_trie(history_trie,current_trie)定义为将history_trie转换为current_trie的节点编辑操作的操作消耗,
考虑对历史概率前缀树history_trie与当前概率前缀树current_trie进行以下三类编辑操作:
1)删除一个节点连同该节点为根节点的子树;
2)对现有节点插入一个孩子节点;
3)重命名节点的标签;
编辑操作步骤如下:①将历史概率前缀树history_trie与当前概率前缀树current_trie的概率前缀树trie进行转化为权重树WTree,需要首先将概率前缀树树中分支概率转化成节点的概率;即:将根root的节点概率设置为1,其余节点的节点概率为root节点到该节点的路径上所有分支概率乘积所得;②自定义三类编辑操作的操作消耗,设WTreei,WTreej为任意两棵权重树,树中每个节点都有标签IP值,记作label,以及权值weight,定义三类编辑操作的操作消耗分别为,
删除:删除WTreei上的某个节点node的消耗为node的权重;
插入:在WTreei上插入WTreej中的某个节点node的消耗为node的权重;
重命名:将WTreei某个节点node1重命名为WTreej上的某个节点node2的消耗分为两种情况:如果node1.label=node2.label且node1.weight=node2.weight,则消耗为0;如果node1.label=node2.label但是node1.weight≠node2.weight,则消耗为|node1.weight-node2.weight|;其他情况消耗为node1.weight+node2.weight;
定义权重树中节点集的最小代价配对操作:记权重树中节点node的孩子节点集为child(node),节点个数记作|child(node)|,对于WTreei中任意节点nodei和WTreej中任意节点nodej,若|child(WTreei.nodei)|=|child(WTreej.nodej)|,则对child(WTreei.nodei)和child(WTreej.nodej)中节点进行两两配对,得到配对集合{(node1,node2)},其中node1属于child(WTreei.nodei),node2属于child(WTreej.nodej),并且该种配对满足将配对集合中所有(node1,node2)从node1重命名为node2的操作消耗总和小于其他配对,再按照配对集合进行对应重命名,保存每次重命名的操作消耗,直到配对集合元素重命名完成,累加每次重命名的操作消耗得到重命名总操作消耗,并返回重命名总操作消耗;若|child(WTreei.nodei)|<|child(WTreej.nodej)|,在child(WTreej.nodej)选择若干和child(WTreei.nodei)数量相等的节点,并进行配对操作,使得操作消耗总和小于其他配对,同时对WTreei.nodei插入child(WTreej.nodej)中未配对的节点,保存每此插入一个未配对的节点的操作消耗,最终求和得到插入总操作消耗,并返回插入总操作消耗;若|child(WTreei.nodei)|>|child(WTreej.nodej)|,在child(WTreei·nodei)选择若干和child(WTreej·nodej)数量相等的节点,并进行配对操作,使得操作消耗总和小于其他配对,同时删除child(WTreei.nodei)未配对的节点,保存每次删除一个未配对的节点的操作消耗,最终求和得到删除总操作消耗,并返回删除总操作消耗;称此过程为child(WTreei.nodei)与child(WTreej.nodej)的最小配对操作,接下来计算相似度流程:每次对WTreei进行修改,直到将WTreei转化为WTreej,定义转化总操作消耗total_cost初始为0,操作步骤数op_num初始为0,从根节点出发,如果child(WTreei.root)以及child(WTreej.root)同时为空,则不做任何处理;如果child(WTreei.root)为空且child(WTreej.root)非空,则对WTreei.root进行插入操作,依次插入节点child(WTreej·root),保留每插入一个节点的操作消耗,并且total_cost加上插入该节点的操作消耗,op_num自增1;如果child(WTreei.root)非空且child(WTreej.root)为空,则对WTreei·root进行删除操作,依次删除WTreei.root所有孩子节点,保留每删除一个节点的操作消耗,并且total_cost加上删除该节点的操作消耗,op_hum自增1;如果child(WTreei.root)以及child(WTreej.root)同时非空,则对child(WTreei.root)和child(WTreej.root)进行上述最小代价配对操作,total_cost加上最小代价配对操作的返回值,op_num自增1,再分别对配对的节点对应的子树重复上述转化操作,直到转化完成,历史概率前缀树history_trie与当前概率前缀树current_trie的相似度sim_trie(history_trie,current_trie)=1-total_cost/op_num。
CN202211616801.1A 2022-12-16 2022-12-16 一种基于ip访问序列的异常访问行为识别方法 Active CN115604040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211616801.1A CN115604040B (zh) 2022-12-16 2022-12-16 一种基于ip访问序列的异常访问行为识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211616801.1A CN115604040B (zh) 2022-12-16 2022-12-16 一种基于ip访问序列的异常访问行为识别方法

Publications (2)

Publication Number Publication Date
CN115604040A CN115604040A (zh) 2023-01-13
CN115604040B true CN115604040B (zh) 2023-03-10

Family

ID=84854022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211616801.1A Active CN115604040B (zh) 2022-12-16 2022-12-16 一种基于ip访问序列的异常访问行为识别方法

Country Status (1)

Country Link
CN (1) CN115604040B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088903A (zh) * 2018-11-07 2018-12-25 湖南大学 一种基于流式的网络异常流量检测方法
CN110737592A (zh) * 2019-09-16 2020-01-31 平安科技(深圳)有限公司 一种链路异常识别方法、服务器及计算机可读存储介质
CN111314278A (zh) * 2019-11-22 2020-06-19 南京聚铭网络科技有限公司 一种基于Ethernet IP工控协议的安全检测方法
CN112491873A (zh) * 2020-11-26 2021-03-12 杭州安恒信息技术股份有限公司 基于字典树的网络威胁检测方法、装置、设备及存储介质
CN114036957A (zh) * 2021-12-27 2022-02-11 中科大数据研究院 一种快速语义相似度计算方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631043B2 (en) * 2009-12-09 2014-01-14 Alcatel Lucent Method and apparatus for generating a shape graph from a binary trie
US10333952B2 (en) * 2015-04-16 2019-06-25 Nec Corporation Online alert ranking and attack scenario reconstruction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109088903A (zh) * 2018-11-07 2018-12-25 湖南大学 一种基于流式的网络异常流量检测方法
CN110737592A (zh) * 2019-09-16 2020-01-31 平安科技(深圳)有限公司 一种链路异常识别方法、服务器及计算机可读存储介质
CN111314278A (zh) * 2019-11-22 2020-06-19 南京聚铭网络科技有限公司 一种基于Ethernet IP工控协议的安全检测方法
CN112491873A (zh) * 2020-11-26 2021-03-12 杭州安恒信息技术股份有限公司 基于字典树的网络威胁检测方法、装置、设备及存储介质
CN114036957A (zh) * 2021-12-27 2022-02-11 中科大数据研究院 一种快速语义相似度计算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于信息量的工控网络异常检测技术;程相等;《计算机工程与设计》(第05期);全文 *

Also Published As

Publication number Publication date
CN115604040A (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
CN114143020B (zh) 一种基于规则的网络安全事件关联分析方法和系统
CN109889538B (zh) 用户异常行为检测方法及系统
CN103297435B (zh) 一种基于web日志的异常访问行为检测方法与系统
EP3343869B1 (en) A method for modeling attack patterns in honeypots
CN109818961B (zh) 一种网络入侵检测方法、装置和设备
CN111565205A (zh) 网络攻击识别方法、装置、计算机设备和存储介质
US20060015504A1 (en) Method and system for site path evaluation using web session clustering
CN109446816A (zh) 一种基于大数据平台审计日志的用户行为分析方法
CN113706100B (zh) 配电网物联终端设备实时探测识别方法与系统
CN111177491A (zh) 正则表达式的匹配方法、装置、电子设备及存储介质
CN107465691A (zh) 基于路由器日志分析的网络攻击检测系统及检测方法
CN112769605A (zh) 一种异构多云的运维管理方法及混合云平台
CN107832333A (zh) 基于分布式处理和dpi数据构建用户网络数据指纹的方法和系统
CN115766258A (zh) 一种基于因果关系图的多阶段攻击趋势预测方法、设备及存储介质
CN114329455B (zh) 基于异构图嵌入的用户异常行为检测方法及装置
CN115333966A (zh) 一种基于拓扑的Nginx日志分析方法、系统及设备
CN112235254B (zh) 一种高速主干网中Tor网桥的快速识别方法
CN108199878B (zh) 高性能ip网络中个人标识信息识别系统及方法
CN115604040B (zh) 一种基于ip访问序列的异常访问行为识别方法
CN117254983A (zh) 涉诈网址检测方法、装置、设备及存储介质
CN116668157A (zh) 基于零信任网关日志的api接口识别处理方法、装置及介质
CN112116007A (zh) 基于图算法和聚类算法的批量注册账号检测方法
CN115309702B (zh) 基于usn日志的文件检索管理方法、装置、系统、设备
CN115277178A (zh) 基于企业网网络流量的异常监测方法、装置及存储介质
Kobayashi et al. amulog: A general log analysis framework for comparison and combination of diverse template generation methods

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
GR01 Patent grant
GR01 Patent grant