基于Apriori算法的安全日志分析方法技术

技术编号:18398768 阅读:39 留言:0更新日期:2018-07-08 19:28
本发明专利技术属于计算机信息技术领域,涉及一种基于Apriori算法的安全日志分析方法,包括,针对需要防护的服务器,提取其安全日志发生的时间、协议类型、攻击类型、端口信息作为输入的项,根据制定的策略和工作经验,设置合适的最小支持度和最小信任度值,并通过行Apriori算法分析,并根据支持度和信任度满足设定目标的情况判断安全日志中各项的关联性,这样可以自动发现大量日志中的关联性较强的项,组成强关联规则,将该强关联规则加入的专家预警信息库中,实现对服务器的防护。

【技术实现步骤摘要】
基于Apriori算法的安全日志分析方法
本专利技术属于计算机信息
,具体涉及一种基于Apriori算法的安全日志分析方法。
技术介绍
目前,计算机网络往往部署了多种网络安全产品,如防火墙、入侵检测设备、防病毒产品、安全审计产品等,来保障网络系统的安全。这些安全产品会产生大量安全日志,日志服务器虽然能够通过采用日志文件、主动轮询、远程探测、被动接收、嵌入式Agent等多种方式对安全设备产生的日志进行收集和统一管理,但不同安全产品产生的日志各不相同,即使是同一个安全事件引发各安全产品产生各不相同的日志,包括日志格式不同、事件级别和类型不同、事件信息内容不同,因此每个安全产品都会产生大量的安全日志,这为安全管理员的安全分析代理很多的工作量。其中很多安全事件或日志都是由相同的安全攻击行为产生的,它们之间存在内在的关联性,如果能对各安全产品产生的安全事件进行关联分析,将具有关联性的安全日志归并到一起,就能大大减轻安全事件分析的工作量,提高安全事件处置和响应的效率。尽管目前日志服务器能够实现各种安全日志的管理,但主要侧重于日志的统一采集、存储、查询和统计,日志的分析能力比较弱,尤其缺乏各安全日志之间的关联分析,无法将同一安全事件引发的多条日志进行有效关联分析。由于各安全产每天产生大量的日志记录,日志量非常庞大,管理员关注的信息往往淹没在大量普通的信息中。
技术实现思路
本专利技术的目的在于克服日志服务器中安全日志关联分析技术中的不足,提出一种基于Apriori算法的安全日志分析方法,从大量的安全日志信息中,找出具有关联性的日志记录,从而分析出异常的网络访问行为,有效提高对安全日志信息的挖掘和利用能力,为了实现上述的目的,本专利技术采用了以下的技术方案:一种基于Apriori算法的安全日志分析方法,包括以下步骤:步骤1:获取安全日志,从日志中提取关键字作为算法的输入的项;步骤2:根据事务类型对项进行分类统计,得到事务数据库T={T1,T2…,Tn};步骤3:定义Apriori算法的最小支持度min_sup和最小置信度min_conf;步骤4:扫描事务数据库T,计算T中所包含的每个项出现的次数,生成候选项目集C1;步骤5:计算候选项目集C1中每个项的支持度,若大于等于最小支持度min_sup,则从C1中确定频繁项L1;否则跳转至步骤10;步骤6:由频繁项集L1产生候选项目集C2,扫描事务数据库T,对候选项目集C2中的项进行统计,若大于等于最小支持度min_sup,从C2中重新确定频繁项集L2,否则,转至步骤10;步骤7:由频繁项集L2产生候选项目集C3,扫描事务数据库T,对候选项目集C3中的项进行统计,若大于等于最小支持度min_sup,从C3中重新确定频繁项集L3,否则,转至步骤10;步骤8:由频繁项集L3产生候选项目集C4,扫描事务数据库T,对候选项目集C4中的项进行统计,若大于等于最小支持度min_sup,从C4中重新确定频繁项集L4,否则,转至步骤11;步骤9:从L4中生成关联预警规则,扫描事务数据库T,若生成的关联预警规则的置信度大于等于最小置信度,则将该关联规则作为强关联规则;否则,跳转至步骤10。步骤10:过程结束。一种网络安全产品预警方法,将通过权利要求上述的方法得到的强关联规则加入预警专家知识库,当安全扫描系统检测到该强关联规则时,发出预警信息。本专利技术的方法和现有技术相比,具有以下技术效果:本专利技术根据日志结构的特点,针对需要防护的服务器,提取其安全日志发生的时间、协议类型、攻击类型、端口信息作为输入的项,根据制定的策略和工作经验,设置合适的最小支持度和最小信任度值,并通过行Apriori算法分析,并根据支持度和信任度满足设定目标的情况判断安全日志中各项的关联性,这样可以自动发现大量日志中的关联性较强的项,组成强关联规则,将该强关联规则加入的专家预警信息库中,实现对服务器的防护。附图说明图1是本专利技术的方法流程图;具体实施方式为使本专利技术的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。实施例1基于Apriori算法的安全日志分析方法,其特征在于,如图1,包括以下步骤:步骤1:获取安全日志,从日志中提取关键字作为算法的输入的项,其中提取的关键如表1,对于目标服务器,即一个IP地址,本实施例中通过对攻击日志的分析,定义输入的项为时间、协议、端口、攻击类型,统计一天内的日志,提取出定义的项;表1步骤2:从入侵检测设备中取出基于同一目的地址的攻击日志,根据表1的特征项分类将攻击日志中的对应数据提取出,形成事务数步骤2:根据事务类型对项进行分类统计,得到事务数据库T={T1,T2…,Tn};如表2,其中,任意Ti={timei,protoi,aclassi,dporti};步骤3:本实施例中根据经验,设置Apriori算法的最小支持度min_sup=2,最小置信度min_conf=60%;表2攻击日志事务集TID时间协议端口攻击类型项集T18:00-18:00UDPOTHER可疑网络行为0,4,20,6T218:00–00:00TCPSSH/TELNET(22,23)用户尝试攻击1,3,22,9T300:00–8:00TCPHTTPS(443)拒绝服务攻击2,3,28,13T48:00-18:00UDPOTHER可疑网络行为0,4,20,6T500:00–8:00TCPHTTPS(443)拒绝服务攻击2,3,28,13T600:00–8:00TCPHTTPS(443)协议解析攻击2,3,28,14T78:00-18:00ICMPOTHER可疑网络行为0,5,20,6T800:00–8:00TCPHTTPS(443)拒绝服务攻击2,3,28,13T900:00–8:00UDPOTHER可疑网络行为2,4,20,6T1000:00–8:00ICMPOTHER拒绝服务攻击2,5,20,13T1100:00–8:00ICMPOTHER拒绝服务攻击2,5,20,13步骤4:扫描事务数据库T,计算T中所包含的每个项出现的次数,生成候选项目集C1,如表3;表3TID项集T1I0,I4,I20,I6T2I1,I3,I22,I9T3I2,I3,I28,I13T4I0,I4,I20,I6T5I2,I3,I28,I13T6I2,I3,I28,I14T7I0,I5,I20,I6T8I2,I3,I28,I13T9I2,I4,I20,I6T10I2,I5,I20,I13T11I2,I5,I20,I13步骤5:自连接频繁集Lk,得到候选集Ck+1,根据最小支持度min_sup对候选集进行剪枝得到频繁集Lk+1。如果Lk+1不存在,那么Lk作为频繁集结果。计算过程如下表步骤6:由与我们只需要关心该服务器IP的攻击预警,所以根据频繁L4计算的规则有以下两条R1={I2,I5,I20}=>{I13},R1={I2,I3,I28}=>{I13},步骤7:confidence(R1)与confidence(R2)都大于最小置信度min_conf,所以得到强规则R1和R2,既在00:00-8:00之间,协议icmp,端口为非常规端口访问服务器S的流量可能是拒绝服务攻击,或在00:00-8:本文档来自技高网...

【技术保护点】
1.基于Apriori算法的安全日志分析方法,其特征在于,包括以下步骤:步骤1:获取安全日志,从日志中提取关键字作为算法的输入的项;步骤2:根据事务类型对项进行分类统计,得到事务数据库T={T1,T2…,Tn};步骤3:定义Apriori算法的最小支持度min_sup和最小置信度min_conf;步骤4:扫描事务数据库T,计算T中所包含的每个项出现的次数,生成候选项目集C1;步骤5:计算候选项目集C1中每个项的支持度,若大于等于最小支持度min_sup,则从C1中确定频繁项L1;否则跳转至步骤10;步骤6:由频繁项集L1产生候选项目集C2,扫描事务数据库T,对候选项目集C2中的项进行统计,若大于等于最小支持度min_sup,从C2中重新确定频繁项集L2,否则,转至步骤10;步骤7:由频繁项集L2产生候选项目集C3,扫描事务数据库T,对候选项目集C3中的项进行统计,若大于等于最小支持度min_sup,从C3中重新确定频繁项集L3,否则,转至步骤10;步骤8:由频繁项集L3产生候选项目集C4,扫描事务数据库T,对候选项目集C4中的项进行统计,若大于等于最小支持度min_sup,从C4中重新确定频繁项集L4,否则,转至步骤11;步骤9:从L4中生成关联预警规则,扫描事务数据库T,若生成的关联预警规则的置信度大于等于最小置信度,则将该关联规则作为强关联规则;否则,跳转至步骤10。步骤10:过程结束。...

【技术特征摘要】
1.基于Apriori算法的安全日志分析方法,其特征在于,包括以下步骤:步骤1:获取安全日志,从日志中提取关键字作为算法的输入的项;步骤2:根据事务类型对项进行分类统计,得到事务数据库T={T1,T2…,Tn};步骤3:定义Apriori算法的最小支持度min_sup和最小置信度min_conf;步骤4:扫描事务数据库T,计算T中所包含的每个项出现的次数,生成候选项目集C1;步骤5:计算候选项目集C1中每个项的支持度,若大于等于最小支持度min_sup,则从C1中确定频繁项L1;否则跳转至步骤10;步骤6:由频繁项集L1产生候选项目集C2,扫描事务数据库T,对候选项目集C2中的项进行统计,若大于等于最小支持度min_sup,从C2中重新确定频繁项集L2,否则,转至步骤10;...

【专利技术属性】
技术研发人员:刘彦伯何建锋程效波
申请(专利权)人:西安交大捷普网络科技有限公司
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1