CN108154029A - 入侵检测方法、电子设备和计算机存储介质 - Google Patents
入侵检测方法、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN108154029A CN108154029A CN201711016229.4A CN201711016229A CN108154029A CN 108154029 A CN108154029 A CN 108154029A CN 201711016229 A CN201711016229 A CN 201711016229A CN 108154029 A CN108154029 A CN 108154029A
- Authority
- CN
- China
- Prior art keywords
- daily record
- uri
- visit capacity
- record sample
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Abstract
本申请提供了一种入侵检测方法、电子设备和计算机存储介质,属于计算机信息安全技术领域。所述方法包括:获取待检测日志;通过预先训练的入侵检测模型,对待检测日志进行入侵检测;所述入侵检测模型是根据日志样本的整体特征和所述日志样本的个体特征得到的。本申请预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
Description
技术领域
本申请涉及计算机信息安全技术领域,尤其涉及入侵检测方法、电子设备和计算机存储介质。
背景技术
黑客是未经授权伴有恶意企图利用特制的代码或技术的活动。攻击包括拒绝服务、病毒、缓冲区溢出、格式错误的请求、残缺的网络数据包或未经授权的程序执行。
因此,防护黑客恶意入侵攻击对于网站应用安全及内网安全十分重要。
黑客入侵检测方法主要分为两种:
1、基于主机的入侵检测系统方法是将检测系统安装在主机上来达到检测的目的。HIDS(Host-based Intrusion Detection System,基于主机型入侵检测系统)安装为一个守护程序或者是修改底层操作系统的内核或应用程序来获得检测授权。
2、异常检测模型。异常检测的目的是能够检测各种的恶意入侵,包括检测那些以前没有的检测特征。通过一段时间的学习“性能分析”期间的正常行为,它可以对其他一切不正常的配置文件报警。异常检测系统善于检测一些突然超过标准的峰值,如果异常检测系统知道你的网络通常一天只有10个Session会话请求,但是突然发生一千个会话请求,异常检测系统很可能会捕捉到可疑活动。
基于主机的入侵检测系统可具有监视主机嗅探网络流量的能力,这种方式擅长监控和报告应用层的直接交互,但是这种方法只能简单地跟踪未经授权的文件更改,占用的CPU资源过大使得像Web服务器或者是大型的数据库服务器无法容忍这种消耗。
异常检测系统的检测是以正常情况为基础来检测是否存在偏差,在静态环境中工作良好,如每天做同样事情的服务器上,或者在流量模式全天工作一致网络中,因此在动态系统和网络中,由于有着广泛的正常事件,当异常检测触发器在分析阶段时可能会产生误报。
发明内容
为解决上述问题,本申请实施例提出了一种入侵检测方法、电子设备和计算机存储介质。
第一方面,本申请实施例提供了入侵检测方法,所述方法包括:
获取待检测日志;
通过预先训练的入侵检测模型,对所述待检测日志进行入侵检测;
所述入侵检测模型是根据日志样本的整体特征和所述日志样本的个体特征得到的。
可选地,所述通过预先训练的入侵检测模型,对所述待检测日志进行入侵检测之前,还包括:
获取日志样本;
将同一用户的日志样本分为同一类;
获取所述日志样本的整体特征;
针对每类日志样本,获取其个体特征;
对所述整体特征和各类的个体特征进行训练,得到入侵检测模型。
可选地,所述整体特征包括:所有已知页面、最多来访用户数、平均来访用户数、访问量最大值和访问量平均值;
所述获取所述日志样本的整体特征,包括:
获取所述日志样本的所有已知页面;
按预设第一时间长度将所述日志样本进行第一分片,根据各第一分片中的日志样本,获取各第一分片的最多来访用户数和平均来访用户数;
按所述预设第一时间长度将每类中的日志样本进行第二分片,根据每类各第二分片中的日志样本,获取各第二分片的访问量最大值和访问量平均值。
可选地,所述日志样本包括$http_cookie字段和$remote_user字段;
所述将同一用户的日志样本分为同一类之前,还包括:
按预设第一时间长度将所述日志样本进行第一分片,对各第一分片中各日志样本的$http_cookie字段进行切割;
若切割后的字符串中包含apache,或者,若切割后的字符串中包含nginxsec_id且所述nginxsec_id正常,则用所述$http_cookie字段的值作为用户标识;
否则,用$remote_user字段的值作为用户标识;
所述将同一用户的日志样本分为同一类,包括:
将相同用户标识的日志样本分为一类。
可选地,所述个体特征,包括:
总用户数,动态URI平均访问量,访问历史页面数,访问量最大用户访问页面总数,访问量少于30条的用户数,访问量少于30条的用户总访问量,去除访问量少于30条的用户后的平均访问量,会话ID,来访IP,命中异常特征数,UA命中爬虫特征数,出现404页面数量,出现500页面数量,访问URI数量,URI平均访问量,URI平均访问量与总会话偏差,访问量最多URI访问量,访问量最多URI与历史最多差值,访问量最多URI占比,访问量第二URI访问量,访问量第二多URI与历史访问量差值,访问量第二URI占比,访问量最多URI与第二URI偏差,访问量最多URI与第二URI偏差与总访问量比,平均页面访问数与总会话偏差,HEAD_请求次数,GET_请求次数,POST_请求次数,DELETE_请求次数,PUT_请求次数,非GET且非POST请求占比,UA数量,UA异常数量,访问静态页面数量,访问动态页面数量,动态页面占比,动态页面占比与总会话访问比偏差,访问动态URI数量,访问新URI数量,访问新URI页面访问数量占比,访问新URI占比与总会话新页面访问比偏差,访问页面总量占总会话访问量比,访问量与去除访问量少于10条的用户后的平均访问量差,第二session_id是否异常,URI命中扫描特征,cookies命中扫描特征。
可选地,所述所述命中异常特征数为包含nginxsec_id异常对应的日志样本的第二分片的数量;
所述日志样本还包括IP字段和UA字段;
所述第二session_id为日志样本中的IP字段的值+UA字段的值。
可选地,若预设第二时间长度内分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常。
可选地,所述对所述整体特征和各类的个体特征进行训练,得到入侵检测模型,包括:
利用孤立森林对所述整体特征和各类的个体特征进行训练,得到入侵检测模型;
具体的,
通过随机采样的方式构造孤立森林iForest中的每棵iTree;
对于所述整体特征和各类的个体特征所组成的对象x,通过遍历iTree集合,确定x所在的叶节点;
根据叶子节点的路径长度计算x的异常分数;
根据异常分析对x进行异常评价;
所述叶子节点的路径长度c(n),包括:
其中,H(k)=ln(k)+γ,γ为欧拉常数;
p(x)为x对应的二叉树分裂值;
n为数据集空间值;
所述根据叶子节点的路径长度计算x的异常分数s,包括:
其中,E(P(x))为iTree集合中P(x)的平均值;
所述根据异常分析对x进行异常评价,包括:
当E(P(x))→c(n)时,s→0.5,则确定x没有明显的异常值;
当E(P(x))→0时,s→1,对象返回的s→1,则确定x异常;
当E(P(x))→n-1时,s→0,即当对象返回的s远远小于0.5,则确定x正常。
第二方面,本申请实施例提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面的步骤。
第三方面,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序所述程序被处理器执行时实现如上述第一方面的步骤。
有益效果如下:
本申请预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请一实施例提供的一种入侵检测方法的流程示意图;
图2示出了本申请一实施例提供的孤立森林计训练流程示意图;
图3示出了本申请一实施例提供的孤立森林计训练结果示意图;
图4示出了本申请一实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
黑客入侵检测方法主要分为两种:
1、基于主机的入侵检测系统方法,将检测系统安装在主机上来达到检测的目的。
2、异常检测模型,通过一段时间的学习“性能分析”期间的正常行为,它可以对其他一切不正常的配置文件报警。
基于主机的入侵检测系统只能简单地跟踪未经授权的文件更改,占用的CPU资源过大使得像Web服务器或者是大型的数据库服务器无法容忍这种消耗。
异常检测系统的检测在动态系统和网络中,由于有着广泛的正常事件,当异常检测触发器在分析阶段时可能会产生误报。
为了解决误报、漏报的问题,本申请提出了一种入侵检测方法、电子设备和计算机存储介质,预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
结合上述实施环境,参见图1所示的实施例,本实施例提供了一种入侵检测方法,本实施例提供的方法流程具体如下:
101,训练入侵检测模型。
其中,入侵检测模型是根据日志样本的整体特征和日志样本的个体特征得到的。
具体为:
步骤1,获取日志样本。
优选地,步骤1中的样本日志为正样本日志。
还可以在获取正样本日志之后,通过正样本提取脚本排除原始历史日志中异常IP发起的扫描日志、爬虫日志等异常数据,获取周期正样本数据(每日迭代)。
1)以两个月内的日志数据源作为样本,按天进行处理日志;
2)去除session异常数据,同时匹配扫描器特征从而直接去除扫描器日志和异常数据;
3)通过匹配爬虫特征去除爬虫相关的日志数据,保证正样本训练数据的正确性,并保证正样本数据进行每日迭代。
另外,考虑到日志样本数据过大,本提案对正样本数据按预设第一时间长度,如10分钟,进行切片。
切片后还可以进行预处理,如提取特征数据。
所有的切片特征进行计算生成历史页面访问表(每日迭代)。考虑到URL的相似性对日志进行格式化处理,对不同应用的各类Web日志(apache、nginx)进行统一格式化处理,并拆分出$request字段中的请求方法、path、请求参数,拆分出$http_referer字段中的host、path等数据。
例如,request字段"GET/ab/cd/ef.jsp?id=123&name=456HTTP/1.1"拆分为{“method”:”GET”,”path”:”/ab/cd/ef.jsp”,”para”:”id=123&name=456”}。
再例如,http_referer字段“https://www.abc.com/index.jsp”拆分为{“host”:”www.abc.com”,”path”:”/index.jsp”}。
除此之外,日志样本还包括$http_cookie字段、$remote_user字段、IP字段和UA字段。
步骤2,将同一用户的日志样本分为同一类。
Session渗透入侵主要表现在伪造Cookie中的session_id从而冒充合法客户端和服务器端进行数据交换,造成这个漏洞的原因是几乎所有的Web脚本解释引擎都未对不同的IP所发送的Cookie进行充分的检查,如果非法用户截获了发送给其他客户端的Cookie,便可能通过发送此Cookie来进行Session渗透入侵。另外,Web脚本解释引擎通过自己的一套算法来给每个独立客户端生成随机的Cookie值,如果这个随机生成过程能够被外界模拟猜测,那么也就相当于其他客户端可以随时伪造Cookie来进行Session渗透,而无需预先进行网络监听。
鉴于此,本提案对Session渗透入侵的预防主要在于改良Web脚本解释引擎,加入IP验证部分,减轻开发人员手工编程验证的负担。
如,由于日志样本包括$http_cookie字段和$remote_user字段,因此,本步骤包括:
1,按预设第一时间长度将所述日志样本进行第一分片,对各第一分片中各日志样本的$http_cookie字段进行切割。
2,若切割后的字符串中包含apache,或者,若切割后的字符串中包含nginxsec_id且nginxsec_id正常,则用$http_cookie字段的值作为用户标识。
其中,根据nginxsec_id在预设第二时间长度内是否发生变化确定是否正常。
若预设第二时间长度内第一分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常,否则,确定nginxsec_id正常。
如10分钟内第一分片中nginxsec_id若出现不同数值,就确定nginxsec_id异常。
3,否则,用$remote_user字段的值作为用户标识。
4,将相同用户标识的日志样本分为一类。
例如,对本十分钟切片下每条日志样本的$http_cookie字段进行切割,若$http_cookie中存在apache或nginxsec_id且值正常则以该$http_cookie的值作为唯一用户,其余情况以来$remote_user作为唯一用户。
步骤3,获取日志样本的整体特征。
其中,整体特征包括:所有已知页面、最多来访用户数、平均来访用户数、访问量最大值和访问量平均值。
该整体特征值会随着时间推移不断更新。
获取日志样本的整体特征,的实现步骤为:
1,获取日志样本的所有已知页面。
2,按预设第一时间长度将日志样本进行第一分片,根据各第一分片中的日志样本,获取各第一分片的最多来访用户数和平均来访用户数。
如,按10分钟的时长对日志样本进行第一分片,确定每10分钟日志样本中的最多来访用户数和每10分钟日志样本中的平均来访用户数。
3按预设第一时间长度将每类中的日志样本进行第二分片,根据每类各第二分片中的日志样本,获取各第二分片的访问量最大值和访问量平均值。
如,按10分钟的时长将每类中的日志样本进行第二分片,根据每类中各10分钟的日志样本,获取每类每10分钟日志样本中的访问量最大值和每类每10分钟日志样本中的访问量平均值。
步骤4,针对每类日志样本,获取其个体特征。
Session认证是目前动态网站常用的一种身份识别机制,目前大多数网站利用Session认证机制防止非授权访问。如果用户没有通过身份认证,就请求浏览某个限制访问的页面,网站不能从HTTP请求报文中读出合法的session_id,通常就会将非法访问者重定向到登录页面。Session欺骗是指攻击者截获受害者的session_id,使用该值登录站点,进而获得合法用户的身份。Session欺骗攻击成功实施的关键在于获得合法用户的session_id值。针对异常入侵的情况本发明充分利用大数据的场景,本提案提取的个体特征包括:
总用户数,动态URI平均访问量,访问历史页面数,访问量最大用户访问页面总数,访问量少于30条的用户数,访问量少于30条的用户总访问量,去除访问量少于30条的用户后的平均访问量,会话ID,来访IP,命中异常特征数,UA命中爬虫特征数,出现404页面数量,出现500页面数量,访问URI数量,URI平均访问量,URI平均访问量与总会话偏差,访问量最多URI访问量,访问量最多URI与历史最多差值,访问量最多URI占比,访问量第二URI访问量,访问量第二多URI与历史访问量差值,访问量第二URI占比,访问量最多URI与第二URI偏差,访问量最多URI与第二URI偏差与总访问量比,平均页面访问数与总会话偏差,HEAD_请求次数,GET_请求次数,POST_请求次数,DELETE_请求次数,PUT_请求次数,非GET且非POST请求占比,UA数量,UA异常数量,访问静态页面数量,访问动态页面数量,动态页面占比,动态页面占比与总会话访问比偏差,访问动态URI数量,访问新URI数量,访问新URI页面访问数量占比,访问新URI占比与总会话新页面访问比偏差,访问页面总量占总会话访问量比,访问量与去除访问量少于10条的用户后的平均访问量差,第二session_id是否异常,URI命中扫描特征,cookies命中扫描特征。
以命中异常特征数为例,其确定方法为:包含nginxsec_id异常对应的日志样本的第二分片的数量。
其中,根据nginxsec_id在预设第二时间长度内是否发生变化确定是否正常。
若预设第二时间长度内第二分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常,否则,确定nginxsec_id正常。
再以第二session_id为例,其确定方法为:日志样本中的IP字段的值+UA字段的值。
在获取整体特征和个体特征之后,可以将整体特征和个体特征生成实时访问特征库,且该特征库可以每十分钟更新数据,能够保证系统安全的实时监控的特性,创造新的提出以下特征组合,有效的减少了系统运营和稳定性保证的成本。
步骤5,对整体特征和各类的个体特征进行训练,得到入侵检测模型。
步骤5在具体实施时,可以利用孤立森林对整体特征和各类的个体特征进行训练,得到入侵检测模型。
具体的,
1,提取本十分钟第一切片和第二切片下的所有整体特征和个体特征,使用算法模型进行计算生成最终异常用户分值统计表。
2,采用孤立森林算法,得分为负值,视为异常用户。
孤立森林算法基于单个计算节点设计,使得处理数据集规模受限于单个计算集群的内存容量,难以处理海量数据;此外,孤立森林算法对数据集进行异常探测的精度取决于二叉树的数目,而构建大规模的二叉树需要耗费大量内存。因此,设计基于分布式集群的孤立森林并行化异常检测算法,使得系统即具有孤立森林算法检测的精度,又能实现对海量数据的高效分析。
孤立森林算法的设计利用了“异常”的两个特征:极少且孤立分布。即“异常”包含的数据对象个数占数据集总体规模的比重较小,其次“异常”的属性值与正常对象的属性值相比存在明显的差异。当在仅包含数值类型的训练集中,对数据对象进行递归划分,直至每个数据对象都由一课称为iTree的二叉树与其他对象区别。
由于孤立深林算法需要构建iTree(孤立森林二叉树)集合,串行的构造方式十分耗时,尤其在处理大规模数据时,构建的过程更加的耗费时间。
因此本提案创新的提出了并行化孤立森林算法。具体算法如下:
1)通过随机采样的方式构造孤立森林iForest中的每棵iTree;
2)对于整体特征和各类的个体特征所组成的对象x,通过遍历iTree集合,确定x所在的叶节点;
3)根据叶子节点的路径长度计算x的异常分数;
4)根据异常分析对x进行异常评价。
对于2)通过遍历iTree集合,确定x所在的叶节点,在实现时,由于iTree与二叉查找树的结构等价,所以包含x的叶节点的路径长度等于二叉查找树中失败查询的路径长度。
给定数据集D={d1,d2,...,dn},二叉查找树中失败查询的路径长度:
其中,H(k)=ln(k)+γ,γ为欧拉常数;
p(x)为x对应的二叉树分裂值;
n为数据集空间值;
c(n)也为给定n时P(x)的平均值,使用它来标准化P(x)。
对于3)根据叶子节点的路径长度计算x的异常分数s,在实现时通过如下公式计算。
其中,E(P(x))为iTree集合中P(x)的平均值。
对于4)根据异常分析对x进行异常评价,在实现时,包括:
当E(P(x))→c(n)时,s→0.5,那么说明全部样本中没有明显的异常值,确定x没有明显的异常值;
当E(P(x))→0时,s→1,对象返回的s→1,那么这些是异常值,确定x异常;
当E(P(x))→n-1时,s→0,即当对象返回的s远远小于0.5,那么他们有很大的可能被评价为正常值,确定x正常。
孤立森林属于一种无参数的非监督算法,他是一种侦测异常十分有效的组合算法,底层用的是决策树,本提案利用MapReduce编程模型,在云计算平台上实现上述训练。具体的,在构建iTree集合时,使用Hadoop将每次构建大规模iTree的作业切分为多个Map任务并分发给不同的计算节点,实现图2所示的训练流程,得到如图3所示的计训练结果,使得建树过程并行化,提高了整体的执行效率。
102,获取待检测日志。
103,通过预先训练的入侵检测模型,对待检测日志进行入侵检测。
在检测后,还可以发布入侵检测结果。
需要说明的是,本实施例及后续实施例所涉及的第一、第二仅为标识,并无实质意义。如,第一分片和第二分片中的日志样本可能相同,也可能不同,还可能部分相同。
有益效果:
本申请预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
基于同一发明构思,本实施例提供了一种电子设备,参见图4,包括存储器401、处理器402、总线403以及存储在存储器401上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现如下步骤。
获取待检测日志;
通过预先训练的入侵检测模型,对待检测日志进行入侵检测;
入侵检测模型是根据日志样本的整体特征和日志样本的个体特征得到的。
可选地,通过预先训练的入侵检测模型,对待检测日志进行入侵检测之前,还包括:
获取日志样本;
将同一用户的日志样本分为同一类;
获取日志样本的整体特征;
针对每类日志样本,获取其个体特征;
对整体特征和各类的个体特征进行训练,得到入侵检测模型。
可选地,整体特征包括:所有已知页面、最多来访用户数、平均来访用户数、访问量最大值和访问量平均值;
获取日志样本的整体特征,包括:
获取日志样本的所有已知页面;
按预设第一时间长度将日志样本进行第一分片,根据各第一分片中的日志样本,获取各第一分片的最多来访用户数和平均来访用户数;
按预设第一时间长度将每类中的日志样本进行第二分片,根据每类各第二分片中的日志样本,获取各第二分片的访问量最大值和访问量平均值。
可选地,日志样本包括$http_cookie字段和$remote_user字段;
将同一用户的日志样本分为同一类之前,还包括:
按预设第一时间长度将日志样本进行第一分片,对各第一分片中各日志样本的$http_cookie字段进行切割;
若切割后的字符串中包含apache,或者,若切割后的字符串中包含nginxsec_id且nginxsec_id正常,则用$http_cookie字段的值作为用户标识;
否则,用$remote_user字段的值作为用户标识;
将同一用户的日志样本分为同一类,包括:
将相同用户标识的日志样本分为一类。
可选地,个体特征,包括:
总用户数,动态URI平均访问量,访问历史页面数,访问量最大用户访问页面总数,访问量少于30条的用户数,访问量少于30条的用户总访问量,去除访问量少于30条的用户后的平均访问量,会话ID,来访IP,命中异常特征数,UA命中爬虫特征数,出现404页面数量,出现500页面数量,访问URI数量,URI平均访问量,URI平均访问量与总会话偏差,访问量最多URI访问量,访问量最多URI与历史最多差值,访问量最多URI占比,访问量第二URI访问量,访问量第二多URI与历史访问量差值,访问量第二URI占比,访问量最多URI与第二URI偏差,访问量最多URI与第二URI偏差与总访问量比,平均页面访问数与总会话偏差,HEAD_请求次数,GET_请求次数,POST_请求次数,DELETE_请求次数,PUT_请求次数,非GET且非POST请求占比,UA数量,UA异常数量,访问静态页面数量,访问动态页面数量,动态页面占比,动态页面占比与总会话访问比偏差,访问动态URI数量,访问新URI数量,访问新URI页面访问数量占比,访问新URI占比与总会话新页面访问比偏差,访问页面总量占总会话访问量比,访问量与去除访问量少于10条的用户后的平均访问量差,第二session_id是否异常,URI命中扫描特征,cookies命中扫描特征。
可选地,命中异常特征数为包含nginxsec_id异常对应的日志样本的第二分片的数量;
日志样本还包括IP字段和UA字段;
第二session_id为日志样本中的IP字段的值+UA字段的值。
可选地,若预设第二时间长度内分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常。
可选地,对整体特征和各类的个体特征进行训练,得到入侵检测模型,包括:
利用孤立森林对整体特征和各类的个体特征进行训练,得到入侵检测模型;
具体的,
通过随机采样的方式构造孤立森林iForest中的每棵iTree;
对于整体特征和各类的个体特征所组成的对象x,通过遍历iTree集合,确定x所在的叶节点;
根据叶子节点的路径长度计算x的异常分数;
根据异常分析对x进行异常评价;
叶子节点的路径长度c(n),包括:
其中,H(k)=ln(k)+γ,γ为欧拉常数;
p(x)为x对应的二叉树分裂值;
n为数据集空间值;
根据叶子节点的路径长度计算x的异常分数s,包括:
其中,E(P(x))为iTree集合中P(x)的平均值;
根据异常分析对x进行异常评价,包括:
当E(P(x))→c(n)时,s→0.5,则确定x没有明显的异常值;
当E(P(x))→0时,s→1,对象返回的s→1,则确定x异常;
当E(P(x))→n-1时,s→0,即当对象返回的s远远小于0.5,则确定x正常。
有益效果如下:
本申请预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
基于同一发明构思,本实施例提供了一种计算机存储介质,其上存储有计算机程序所述程序被处理器执行时实现如下步骤。
获取待检测日志;
通过预先训练的入侵检测模型,对待检测日志进行入侵检测;
入侵检测模型是根据日志样本的整体特征和日志样本的个体特征得到的。
可选地,通过预先训练的入侵检测模型,对待检测日志进行入侵检测之前,还包括:
获取日志样本;
将同一用户的日志样本分为同一类;
获取日志样本的整体特征;
针对每类日志样本,获取其个体特征;
对整体特征和各类的个体特征进行训练,得到入侵检测模型。
可选地,整体特征包括:所有已知页面、最多来访用户数、平均来访用户数、访问量最大值和访问量平均值;
获取日志样本的整体特征,包括:
获取日志样本的所有已知页面;
按预设第一时间长度将日志样本进行第一分片,根据各第一分片中的日志样本,获取各第一分片的最多来访用户数和平均来访用户数;
按预设第一时间长度将每类中的日志样本进行第二分片,根据每类各第二分片中的日志样本,获取各第二分片的访问量最大值和访问量平均值。
可选地,日志样本包括$http_cookie字段和$remote_user字段;
将同一用户的日志样本分为同一类之前,还包括:
按预设第一时间长度将日志样本进行第一分片,对各第一分片中各日志样本的$http_cookie字段进行切割;
若切割后的字符串中包含apache,或者,若切割后的字符串中包含nginxsec_id且nginxsec_id正常,则用$http_cookie字段的值作为用户标识;
否则,用$remote_user字段的值作为用户标识;
将同一用户的日志样本分为同一类,包括:
将相同用户标识的日志样本分为一类。
可选地,个体特征,包括:
总用户数,动态URI平均访问量,访问历史页面数,访问量最大用户访问页面总数,访问量少于30条的用户数,访问量少于30条的用户总访问量,去除访问量少于30条的用户后的平均访问量,会话ID,来访IP,命中异常特征数,UA命中爬虫特征数,出现404页面数量,出现500页面数量,访问URI数量,URI平均访问量,URI平均访问量与总会话偏差,访问量最多URI访问量,访问量最多URI与历史最多差值,访问量最多URI占比,访问量第二URI访问量,访问量第二多URI与历史访问量差值,访问量第二URI占比,访问量最多URI与第二URI偏差,访问量最多URI与第二URI偏差与总访问量比,平均页面访问数与总会话偏差,HEAD_请求次数,GET_请求次数,POST_请求次数,DELETE_请求次数,PUT_请求次数,非GET且非POST请求占比,UA数量,UA异常数量,访问静态页面数量,访问动态页面数量,动态页面占比,动态页面占比与总会话访问比偏差,访问动态URI数量,访问新URI数量,访问新URI页面访问数量占比,访问新URI占比与总会话新页面访问比偏差,访问页面总量占总会话访问量比,访问量与去除访问量少于10条的用户后的平均访问量差,第二session_id是否异常,URI命中扫描特征,cookies命中扫描特征。
可选地,命中异常特征数为包含nginxsec_id异常对应的日志样本的第二分片的数量;
日志样本还包括IP字段和UA字段;
第二session_id为日志样本中的IP字段的值+UA字段的值。
可选地,若预设第二时间长度内分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常。
可选地,对整体特征和各类的个体特征进行训练,得到入侵检测模型,包括:
利用孤立森林对整体特征和各类的个体特征进行训练,得到入侵检测模型;
具体的,
通过随机采样的方式构造孤立森林iForest中的每棵iTree;
对于整体特征和各类的个体特征所组成的对象x,通过遍历iTree集合,确定x所在的叶节点;
根据叶子节点的路径长度计算x的异常分数;
根据异常分析对x进行异常评价;
叶子节点的路径长度c(n),包括:
其中,H(k)=ln(k)+γ,γ为欧拉常数;
p(x)为x对应的二叉树分裂值;
n为数据集空间值;
根据叶子节点的路径长度计算x的异常分数s,包括:
其中,E(P(x))为iTree集合中P(x)的平均值;
根据异常分析对x进行异常评价,包括:
当E(P(x))→c(n)时,s→0.5,则确定x没有明显的异常值;
当E(P(x))→0时,s→1,对象返回的s→1,则确定x异常;
当E(P(x))→n-1时,s→0,即当对象返回的s远远小于0.5,则确定x正常。
有益效果如下:
本申请预先根据日志样本的整体特征和所述日志样本的个体特征训练入侵检测模型,再通过该入侵检测模型,对待检测日志进行入侵检测,可以有效降低黑客攻击检测的误报率及漏报率,使得黑客攻击入侵检测的更加精准。
上述实施例中,均可以采用现有的功能元器件模块来实施。例如,处理模块可以采用现有的数据处理元器件,至少,现有定位技术中采用的定位服务器上便具备实现该功能元器件;至于接收模块,则是任意一个具备信号传输功能的设备都具备的元器件;同时,处理模块进行的A、n参数计算、强度调整等采用的都是现有的技术手段,本领域技术人员经过相应的设计开发即可实现。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (10)
1.一种入侵检测方法,其特征在于,所述方法包括:
获取待检测日志;
通过预先训练的入侵检测模型,对所述待检测日志进行入侵检测;
所述入侵检测模型是根据日志样本的整体特征和所述日志样本的个体特征得到的。
2.根据权利要求1所述的方法,其特征在于,所述通过预先训练的入侵检测模型,对所述待检测日志进行入侵检测之前,还包括:
获取日志样本;
将同一用户的日志样本分为同一类;
获取所述日志样本的整体特征;
针对每类日志样本,获取其个体特征;
对所述整体特征和各类的个体特征进行训练,得到入侵检测模型。
3.根据权利要求2所述的方法,其特征在于,所述整体特征包括:所有已知页面、最多来访用户数、平均来访用户数、访问量最大值和访问量平均值;
所述获取所述日志样本的整体特征,包括:
获取所述日志样本的所有已知页面;
按预设第一时间长度将所述日志样本进行第一分片,根据各第一分片中的日志样本,获取各第一分片的最多来访用户数和平均来访用户数;
按所述预设第一时间长度将每类中的日志样本进行第二分片,根据每类各第二分片中的日志样本,获取各第二分片的访问量最大值和访问量平均值。
4.根据权利要求3所述的方法,其特征在于,所述日志样本包括$http_cookie字段和$remote_user字段;
所述将同一用户的日志样本分为同一类之前,还包括:
按预设第一时间长度将所述日志样本进行第一分片,对各第一分片中各日志样本的$http_cookie字段进行切割;
若切割后的字符串中包含apache,或者,若切割后的字符串中包含nginxsec_id且所述nginxsec_id正常,则用所述$http_cookie字段的值作为用户标识;
否则,用$remote_user字段的值作为用户标识;
所述将同一用户的日志样本分为同一类,包括:
将相同用户标识的日志样本分为一类。
5.根据权利要求4所述的方法,其特征在于,所述个体特征,包括:
总用户数,动态URI平均访问量,访问历史页面数,访问量最大用户访问页面总数,访问量少于30条的用户数,访问量少于30条的用户总访问量,去除访问量少于30条的用户后的平均访问量,会话ID,来访IP,命中异常特征数,UA命中爬虫特征数,出现404页面数量,出现500页面数量,访问URI数量,URI平均访问量,URI平均访问量与总会话偏差,访问量最多URI访问量,访问量最多URI与历史最多差值,访问量最多URI占比,访问量第二URI访问量,访问量第二多URI与历史访问量差值,访问量第二URI占比,访问量最多URI与第二URI偏差,访问量最多URI与第二URI偏差与总访问量比,平均页面访问数与总会话偏差,HEAD_请求次数,GET_请求次数,POST_请求次数,DELETE_请求次数,PUT_请求次数,非GET且非POST请求占比,UA数量,UA异常数量,访问静态页面数量,访问动态页面数量,动态页面占比,动态页面占比与总会话访问比偏差,访问动态URI数量,访问新URI数量,访问新URI页面访问数量占比,访问新URI占比与总会话新页面访问比偏差,访问页面总量占总会话访问量比,访问量与去除访问量少于10条的用户后的平均访问量差,第二session_id是否异常,URI命中扫描特征,cookies命中扫描特征。
6.根据权利要求5所述方法,其特征在于,所述所述命中异常特征数为包含nginxsec_id异常对应的日志样本的第二分片的数量;
所述日志样本还包括IP字段和UA字段;
所述第二session_id为日志样本中的IP字段的值+UA字段的值。
7.根据权利要求4或6所述方法,其特征在于,若预设第二时间长度内分片中nginxsec_id的不同值数量不小于预设值,则确定nginxsec_id异常。
8.根据权利要求7所述方法,其特征在于,所述对所述整体特征和各类的个体特征进行训练,得到入侵检测模型,包括:
利用孤立森林对所述整体特征和各类的个体特征进行训练,得到入侵检测模型;
具体的,
通过随机采样的方式构造孤立森林iForest中的每棵iTree;
对于所述整体特征和各类的个体特征所组成的对象x,通过遍历iTree集合,确定x所在的叶节点;
根据叶子节点的路径长度计算x的异常分数;
根据异常分析对x进行异常评价;
所述叶子节点的路径长度c(n),包括:
其中,H(k)=ln(k)+γ,γ为欧拉常数;
p(x)为x对应的二叉树分裂值;
n为数据集空间值;
所述根据叶子节点的路径长度计算x的异常分数s,包括:
其中,E(P(x))为iTree集合中P(x)的平均值;
所述根据异常分析对x进行异常评价,包括:
当E(P(x))→c(n)时,s→0.5,则确定x没有明显的异常值;
当E(P(x))→0时,s→1,对象返回的s→1,则确定x异常;
当E(P(x))→n-1时,s→0,即当对象返回的s远远小于0.5,则确定x正常。
9.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-8任意一项的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1-9任意一项的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711016229.4A CN108154029A (zh) | 2017-10-25 | 2017-10-25 | 入侵检测方法、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711016229.4A CN108154029A (zh) | 2017-10-25 | 2017-10-25 | 入侵检测方法、电子设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108154029A true CN108154029A (zh) | 2018-06-12 |
Family
ID=62468739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711016229.4A Pending CN108154029A (zh) | 2017-10-25 | 2017-10-25 | 入侵检测方法、电子设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108154029A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109168168A (zh) * | 2018-07-09 | 2019-01-08 | 上海欣方智能系统有限公司 | 一种检测国际盗打的方法 |
CN109325691A (zh) * | 2018-09-27 | 2019-02-12 | 上海观安信息技术股份有限公司 | 异常行为分析方法、电子设备及计算机程序产品 |
CN109508738A (zh) * | 2018-10-31 | 2019-03-22 | 北京国双科技有限公司 | 一种信息处理方法及相关设备 |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN110933080A (zh) * | 2019-11-29 | 2020-03-27 | 上海观安信息技术股份有限公司 | 一种用户登录异常的ip群体识别方法及装置 |
CN110958222A (zh) * | 2019-10-31 | 2020-04-03 | 苏州浪潮智能科技有限公司 | 基于孤立森林算法的服务器日志异常检测方法及系统 |
CN111431883A (zh) * | 2020-03-18 | 2020-07-17 | 上海观安信息技术股份有限公司 | 一种基于访问参数的web攻击检测方法及装置 |
CN112333180A (zh) * | 2020-10-30 | 2021-02-05 | 北京安信天行科技有限公司 | 一种基于数据挖掘的apt攻击检测方法及系统 |
CN112738088A (zh) * | 2020-12-28 | 2021-04-30 | 上海观安信息技术股份有限公司 | 一种基于无监督算法的行为序列异常检测方法及系统 |
CN113298238A (zh) * | 2021-06-28 | 2021-08-24 | 上海观安信息技术股份有限公司 | 使用定向攻击探索黑盒神经网络的方法、装置、处理设备、存储介质 |
CN114338099A (zh) * | 2021-12-10 | 2022-04-12 | 壹药网科技(上海)股份有限公司 | 一种爬虫行为的识别方法及防范系统 |
WO2022227388A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 日志异常检测模型训练方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557327A (zh) * | 2009-03-20 | 2009-10-14 | 扬州永信计算机有限公司 | 基于支持向量机的入侵检测方法 |
CN101582813A (zh) * | 2009-06-26 | 2009-11-18 | 西安电子科技大学 | 基于分布式迁移网络学习的入侵检测系统及其方法 |
CN102684944A (zh) * | 2012-04-20 | 2012-09-19 | 北京启明星辰信息技术股份有限公司 | 入侵检测方法和装置 |
CN103077347A (zh) * | 2012-12-21 | 2013-05-01 | 中国电力科学研究院 | 一种基于改进核心向量机数据融合的复合式入侵检测方法 |
CN106846806A (zh) * | 2017-03-07 | 2017-06-13 | 北京工业大学 | 基于Isolation Forest的城市道路交通异常检测方法 |
CN107292166A (zh) * | 2017-05-18 | 2017-10-24 | 广东工业大学 | 一种基于cfa算法和bp神经网络的入侵检测方法 |
-
2017
- 2017-10-25 CN CN201711016229.4A patent/CN108154029A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557327A (zh) * | 2009-03-20 | 2009-10-14 | 扬州永信计算机有限公司 | 基于支持向量机的入侵检测方法 |
CN101582813A (zh) * | 2009-06-26 | 2009-11-18 | 西安电子科技大学 | 基于分布式迁移网络学习的入侵检测系统及其方法 |
CN102684944A (zh) * | 2012-04-20 | 2012-09-19 | 北京启明星辰信息技术股份有限公司 | 入侵检测方法和装置 |
CN103077347A (zh) * | 2012-12-21 | 2013-05-01 | 中国电力科学研究院 | 一种基于改进核心向量机数据融合的复合式入侵检测方法 |
CN106846806A (zh) * | 2017-03-07 | 2017-06-13 | 北京工业大学 | 基于Isolation Forest的城市道路交通异常检测方法 |
CN107292166A (zh) * | 2017-05-18 | 2017-10-24 | 广东工业大学 | 一种基于cfa算法和bp神经网络的入侵检测方法 |
Non-Patent Citations (1)
Title |
---|
傅昊: ""入侵检测系统的研究与设计"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109168168A (zh) * | 2018-07-09 | 2019-01-08 | 上海欣方智能系统有限公司 | 一种检测国际盗打的方法 |
CN109168168B (zh) * | 2018-07-09 | 2021-11-30 | 上海欣方智能系统有限公司 | 一种检测国际盗打的方法 |
CN109325691B (zh) * | 2018-09-27 | 2020-10-16 | 上海观安信息技术股份有限公司 | 异常行为分析方法、电子设备及计算机程序产品 |
CN109325691A (zh) * | 2018-09-27 | 2019-02-12 | 上海观安信息技术股份有限公司 | 异常行为分析方法、电子设备及计算机程序产品 |
CN109508738A (zh) * | 2018-10-31 | 2019-03-22 | 北京国双科技有限公司 | 一种信息处理方法及相关设备 |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN110958222A (zh) * | 2019-10-31 | 2020-04-03 | 苏州浪潮智能科技有限公司 | 基于孤立森林算法的服务器日志异常检测方法及系统 |
CN110933080A (zh) * | 2019-11-29 | 2020-03-27 | 上海观安信息技术股份有限公司 | 一种用户登录异常的ip群体识别方法及装置 |
CN110933080B (zh) * | 2019-11-29 | 2021-10-26 | 上海观安信息技术股份有限公司 | 一种用户登录异常的ip群体识别方法及装置 |
CN111431883A (zh) * | 2020-03-18 | 2020-07-17 | 上海观安信息技术股份有限公司 | 一种基于访问参数的web攻击检测方法及装置 |
CN111431883B (zh) * | 2020-03-18 | 2022-11-04 | 上海观安信息技术股份有限公司 | 一种基于访问参数的web攻击检测方法及装置 |
CN112333180A (zh) * | 2020-10-30 | 2021-02-05 | 北京安信天行科技有限公司 | 一种基于数据挖掘的apt攻击检测方法及系统 |
CN112738088A (zh) * | 2020-12-28 | 2021-04-30 | 上海观安信息技术股份有限公司 | 一种基于无监督算法的行为序列异常检测方法及系统 |
WO2022227388A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 日志异常检测模型训练方法、装置及设备 |
CN113298238A (zh) * | 2021-06-28 | 2021-08-24 | 上海观安信息技术股份有限公司 | 使用定向攻击探索黑盒神经网络的方法、装置、处理设备、存储介质 |
CN114338099A (zh) * | 2021-12-10 | 2022-04-12 | 壹药网科技(上海)股份有限公司 | 一种爬虫行为的识别方法及防范系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108154029A (zh) | 入侵检测方法、电子设备和计算机存储介质 | |
CN107958322B (zh) | 一种城市网络空间综合治理系统 | |
US10560471B2 (en) | Detecting web exploit kits by tree-based structural similarity search | |
US20190364019A1 (en) | Evaluating and modifying countermeasures based on aggregate transaction status | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
US8356001B2 (en) | Systems and methods for application-level security | |
US20170118241A1 (en) | Multi-Layer Computer Security Countermeasures | |
CN111079104A (zh) | 一种权限控制方法、装置、设备及存储介质 | |
CN108337269B (zh) | 一种WebShell检测方法 | |
Taylor et al. | Detecting malicious exploit kits using tree-based similarity searches | |
Singh et al. | An approach to understand the end user behavior through log analysis | |
US9871826B1 (en) | Sensor based rules for responding to malicious activity | |
Steinebach et al. | Detection and analysis of tor onion services | |
Allen et al. | Mnemosyne: An effective and efficient postmortem watering hole attack investigation system | |
Lodeiro-Santiago et al. | Collaborative SQL-injections detection system with machine learning | |
CN108234431A (zh) | 一种后台登陆行为检测方法和检测服务器 | |
GB2535579A (en) | Preventing unauthorized access to an application server | |
Roy et al. | A large-scale analysis of phishing websites hosted on free web hosting domains | |
Kumar et al. | A Blockchain-Oriented Framework for Cloud-Assisted System to Countermeasure Phishing for Establishing Secure Smart City | |
Latib et al. | Analysing log files for web intrusion investigation using hadoop | |
Wei et al. | Age: authentication graph embedding for detecting anomalous login activities | |
CN107294994B (zh) | 一种基于云平台的csrf防护方法和系统 | |
CN114760083B (zh) | 一种攻击检测文件的发布方法、装置及存储介质 | |
CN114297462A (zh) | 一种基于动态自适应的网站异步序列数据智能采集方法 | |
Manaseer et al. | Centralized web application firewall security system |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180612 |