本发明属于信息安全技术领域,特别涉及一种网络攻击检测系统,可用于保障网络空间安全。
背景技术:
随着信息技术的快速发展,计算机网络覆盖范围的增广与应用的增多,使得人们越来越重视计算机网络的安全性。路由器作为计算机网络的核心基础设施,其安全尤为受到人们的关注。
在计算机网络通信中,路由器具有记录网络拓扑变化、网络设备接口状态变化、网络带宽利用率等重要信息的功能。因此,对于攻击者来说,攻破路由器的安全机制并获取网络拓扑变化、网络设备接口状态变化、网络带宽利用率等信息对其进一步控制整个计算机网络有着重要的意义。然而,由于不同厂商路由器提供的日志结构、日志内容具有较大的差别,路由器管理员难以根据统一的规则分析路由器日志,导致其无法及时发现计算机网络中存在的针对路由器的攻击事件,最终造成重大损失。
目前,针对路由器日志分析方法及系统的研究还处于初级阶段。网络设备提供商及科研人员均对路由器日志分析方法及系统进行了初步的研究。其涉及内容如下:
北京优特捷信息技术有限公司开发的产品“日志易”,该产品是一款日志管理工具,具有对日志进行集中采集和准实时索引处理的特点,并提供搜索、分析、监控和可视化等功能。但是,“日志易”存在可识别的网络设备日志类型偏少、无法自适应日志模板等问题,尤其是面对不同厂商的众多路由器日志模板时,“日志易”无法有效的对日志进行搜索、分析、监控和可视化。
申请号为201610819389.1的专利申请公开了一种“基于时间序列的日志分析方法和日志分析装置”,该装置通过配置并解析日志的时间模型,获得日志的采集策略和分析策略,并对具有相同采集策略和分析策略的日志进行分析,分析它们之间的关联关系。但是,该装置只提供了一种日志的分析方法,并没有提供基于日志分析的网络攻击检测手段,无法利用该装置及方法保障计算机网络的安全。
申请号为201610486225.1的专利申请公开了一种“网络攻击的检测方法、装置及系统”,该系统能够降低网络攻击检测中由于统计样本不准确而造成的网络攻击误判的概率,并提升了网络攻击检测的准确程度。但是,该系统在采样时,需要经历多个采样周期,并且在计算每个采用周期中样本的方差、信息熵、卷积时没有对样本进行降维操作,使得样本中的干扰属性被添加到最后的结果中,造成准确度的下降和计算复杂度的增加。
申请号为201610775342.x的专利申请公开了“一种基于日志分析的主机安全防护方法及系统”,该系统通过筛选服务日志获取对应的ip地址,并将获取到的ip地址写入防火墙的禁止访问规则中。但是,该系统对服务日志的筛选局限于对ip地址出现次数、ip地址扫描周期这种显式特征的筛选,并没有针对服务日志的内在特征的筛选,如服务事件的日志结构等。并且该方案中筛选的结果是拉黑相应的ip地址,由于ip地址的可伪造性,这种方案的安全性很低。
技术实现要素:
本发明的目的在于针对现有技术的不足,提出一种基于路由器日志分析的网络攻击检测系统,以增强对不同路由器型号的适应性,提高对攻击检测的准确度。
为实现上述目的,本发明基于路由器日志分析的网络攻击检测系统,包括:
日志模板抽取子系统1,用于从安全人员预先提供的路由器事件日志或实际网络的路由器事件日志中提取各个事件的模板,并将提取的事件模板提供给模板特征分类子系统;
模板特征分类子系统2,用于将日志模板抽取子系统提供的事件模板进行降维操作,完成事件模板的分类,并将事件模板及其分类输出至数据库存储子系统或攻击事件检测子系统;该事件模板分为两类,一类是攻击事件模板,一类是正常事件模板,其中攻击事件模板又分为ssl攻击事件模板、网关监听攻击事件模板、ip洪泛攻击事件模板、arp洪泛攻击事件模板、dos攻击事件模板和暴力破解事件模板;
数据库存储子系统3,用于对模板特征分类子系统提供的降维后的模板特征及其分类进行存储,并向攻击事件检测子系统提供查询功能;
攻击事件检测子系统4,用于对模板特征分类子系统提供的事件模板进行如下决断,并将决断结果供其他安全软件和风险评估系统使用;
若事件模板与数据库存储子系统中存储的攻击事件的模板特征匹配,则决断该事件模板对应的事件为攻击事件,并判断出攻击事件的具体类型;
若事件模板与数据库存储子系统中存储的正常事件的模板特征匹配,则决断为该事件模板对应的事件为正常事件;
否则,决断为该实际网络事件模板对应的事件为未知事件。
基于上述系统,本发明进行网络攻击检测的方法包括如下步骤:
1)安全人员向日志模板抽取子系统输入预先准备的路由器事件日志;
2)日志模板抽取子系统提取各个路由器事件的模板;
3)安全人员向模板特征分类子系统输入原始特征键值对[模板特征,日志事件类别],对预先准备的事件模板进行降维操作,并对降维后的模板进行分类;
4)数据库存储子系统存储降维后的模板及其分类;
5)将实际网络的路由器事件日志用户输入给日志模板抽取子系统,该子系统提取出各个路由器事件的模板;
6)模板特征分类子系统对提取出的实际网络事件模板进行降维操作;
7)攻击事件检测子系统在数据库存储子系统中搜索与步骤6)中降维后的实际网络事件模板相匹配的预先准备的事件模板,并根据搜索结果进行决断:
若实际网络事件模板与数据库存储子系统中存储的攻击事件的模板特征匹配,则决断该事件模板对应的事件为攻击事件,并判断出攻击事件的具体类型;
若实际网络事件模板与数据库存储子系统中存储的正常事件的模板特征匹配,则决断为该事件模板对应的事件为正常事件;
否则,决断为该实际网络事件模板对应的事件为未知事件。
本发明具有以下优点:
1.本发明提出的网络攻击检测系统与现有商用日志分析系统相比,在具有自动化日志分析能力的情况下,可以识别多种不同型号的路由器日志,具有普适性。
2.本发明提出的网络攻击检测系统与现有网络攻击检测系统相比,通过抽取路由器事件日志模板,并采用降维算法及聚类算法实现日志模板的匹配,具有检测准确率高、算法复杂度低和安全性高的优点。
3.本发明基于网络攻击检测系统的检测方法与现有网络攻击检测方法相比,通过训练阶段与检测阶段的处理,将路由器日志的事件模板特征作为决断依据,具有检测准确率高的优点。
附图说明
图1是本发明网络攻击检测系统的架构图;
图2是本发明基于网络攻击检测系统的检测方法流程图;
图3是本发明中提取路由器事件模板的子流程图;
图4是本发明中对预先准备的事件模板进行降维操作及分类的子流程图;
图5是本发明中对提取出的实际网络事件模板进行降维操作的子流程图;
图6是本发明中对实际网络事件模板进行决断的子流程图;
具体实施方式
以下结合附图对本发明作进一步详细描述。
参照图1,本发明包括日志模板抽取子系统1、模板特征分类子系统2、数据库存储子系统3和攻击事件检测子系统4,其中:
日志模板抽取子系统1,从安全人员预先提供的路由器事件日志或实际网络的路由器事件日志中提取各个事件的模板,并将提取的事件模板提供给模板特征分类子系统2;模板特征分类子系统2,将日志模板抽取子系统提供的事件模板进行降维操作,完成事件模板的分类,并将事件模板及其分类输出至数据库存储子系统或攻击事件检测子系统3,该事件模板分为两类,一类是攻击事件模板,一类是正常事件模板,其中攻击事件模板又分为ssl攻击事件模板、网关监听攻击事件模板、ip洪泛攻击事件模板、arp洪泛攻击事件模板、dos攻击事件模板和暴力破解事件模板;数据库存储子系统3,对模板特征分类子系统提供的降维后的模板特征及其分类进行存储,并向攻击事件检测子系统4提供查询功能;攻击事件检测子系统4,对模板特征分类子系统提供的事件模板进行如下决断,并将决断结果供其他安全软件和风险评估系统使用。
所述日志模板抽取子系统1包括:日志收集模块11和模板抽取引擎12;
该日志收集模块11,用于收集安全人员预先提供的路由器事件日志和实际网络的路由器事件日志,并将划分好的路由器事件日志输出至模板特征分类子系统2,其中安全人员预先提供的路由器事件日志和实际网络的路由器事件日志包括:ssl攻击事件日志、网关监听攻击事件日志、ip洪泛攻击事件日志、arp洪泛攻击事件日志、dos攻击事件日志、暴力破解事件日志及正常事件日志;在训练模式下,日志收集模块11将安全人员预先提供的路由器事件日志作为输入数据,并将安全人员提供的划分边界作为路由器事件日志的划分边界,并将各个路由器的事件日志输出至模板抽取引擎12;在检测模式下,日志收集模块11将实际网络的路由器事件日志作为输入数据,并将系统使用者提供的划分边界作为事件日志的划分边界,并将各个路由器事件的日志输出至模板抽取引擎12;
该模板抽取引擎12,用于抽取事件日志模板,在训练模式和检测模式下,模板抽取引擎12为事件日志构建一棵以日志内单词为节点的树,并记录树的深度、树节点的种类和各种节点数量的键值对等属性,形成事件日志的属性向量,该属性向量即为模板特征,模板抽取引擎12将模板特征输出至模板特征分类子系统2;
所述模板特征分类子系统2包括:降维引擎21和日志事件分类器22;
该降维引擎21,用于对模板抽取引擎12输出的模板特征进行降维操作,在训练模式下,降维引擎21将降维后的模板特征输出至日志事件分类器22;在检测模式下,降维引擎21将降维后的模板特征输出至攻击事件检测子系统4;
该日志事件分类器22仅在训练模式下运行,在运行时,日志事件分类器22将安全人员提供的键值对[模板特征,日志事件类别]作为输入数据,为每个降维后的模板特征赋予相应的日志事件类别,并将降维后的模板特征及其分类输出数据库存储子系统3;
所述数据库存储子系统3包括:数据库模块31、读接口32和写接口33;
该数据库模块31,用于将每一条降维后的模板特征及其分类作为一条记录存储在数据库软件中,如mysql数据库、oracle数据库;
该读接口32,用于向其他子系统提供从数据库模块31读取记录的功能,在检测模式下,攻击事件检测子系统4调用读接口查询数据库模块31中是否存在与从模板特征分类子系统2接收的事件模板匹配的记录;
该写接口33,用于向其他子系统提供向数据库模块写入记录的功能,在训练模式下,日志事件分类器22通过其将降维后的模板特征及其分类写入数据库模块;
所述攻击事件检测子系统4包括:事件决断引擎41和输出接口42;
该事件决断引擎41负责为降维引擎21提供的事件模板做决断,决断该事件模板对应何种事件,并将决断结果输出至输出接口42,其中事件包括正常事件、ssl层攻击事件、网关监听攻击事件、ip洪泛攻击事件、arp洪泛攻击事件、dos攻击事件及暴力破解攻击事件。事件决断引擎41对降维引擎21提供的事件模板进行决断:
若事件模板与数据库存储子系统中存储的攻击事件的模板特征匹配,则决断该事件模板对应的事件为攻击事件,并判断出攻击事件的具体类型;
若事件模板与数据库存储子系统中存储的正常事件的模板特征匹配,则决断为该事件模板对应的事件为正常事件;
否则,决断为该事件模板对应的事件为未知事件;
该输出接口42,用于输出事件决断引擎41提供的决断结果,且该决断结果可被其他安全软件和风险评估系统读取。
参照图2,本发明基于上述系统进行检测的方法,包括如下步骤:
步骤1,安全人员向日志模板抽取子系统输入预先准备的路由器事件日志;
步骤2,日志模板抽取子系统提取各个路由器事件的模板:
参照图3,本步骤的具体实现如下:
2.1)日志收集模块11将读取的路由器事件日志根据系统使用者提供的划分边界将路由器事件日志划分为多个事件的日志集合e=(e1,e2,l,ei,en),其中ei表示第i个路由器事件日志,n表示划分出的路由器事件总数;
2.2)模板抽取引擎12对每个路由器事件日志进行统计,若存在未被统计的路由器事件日志,则取出一个路由器事件日志ei,执行步骤2.2a);否则,执行步骤3;
2.2a)模板抽取引擎12将去除该事件日志中的参数,如序列号、ip地址、mac地址和固定单词,如eth1,vlan3;
2.2b)模板抽取引擎12统计该事件日志中,各个单词的种类及每种单词出现的频率;
2.2c)模板抽取引擎12根据步骤2.2b)中的统计结果,为每个路由器事件的日志生成一颗以路由器事件日志内单词为节点的树,并记录树的深度h,树节点的总种类k和各个节点数量的键值对[t,m]属性,其中t为第t种树节点,t的数值范围为0≤t≤k,m为第t种树节点的数量,树的生成规则为:以出现频率最多的单词为树的根节点;单词的出现频率越低,其所在的树层次越深;出现频率相同的单词在树的同一层;
2.2d)模板抽取引擎12统计步骤2.2c)中生成的树的深度h,树节点的种类k和各个节点数量的键值对[t,m]等属性,形成事件日志的属性向量,返回步骤2.2a);
2.3)模板抽取引擎12收集所有事件日志的属性向量,形成属性向量集合v=(v1,v2,...,vj,...,vs),即模板特征集合,并将该模板特征集合输出至模板特征分类子系统2,其中vj为第j个属性向量,即第j个模板特征,s为事件日志属性向量的总数。
步骤3,安全人员向模板特征分类子系统输入原始特征键值对[模板特征,日志事件类别],对预先准备的事件模板进行降维操作,并对降维后的模板进行分类:
参照图4,本步骤的具体实现如下:
3.1)检查模板特征集合v中是否有未被降维的模板特征:若有未被降维的模板特征,则降维引擎从模板特征集合v取出一个模板特征vj执行步骤3.2);否则,执行步骤4;
3.2)使用pca算法对模板特征vj进行降维操作,得到降维后的模板特征
3.3)根据安全人员提供的原始特征键值对[模板特征,日志事件类别],为降维后的模板特征
步骤4,数据库存储子系统对降维后的模板及其分类进行存储。
步骤5,将实际网络的路由器事件日志用户输入给日志模板抽取子系统,该子系统提取出各个路由器事件的模板。
步骤6,模板特征分类子系统对提取出的实际网络事件模板进行降维操作:
参照图5,本步骤的具体实现如下:
6.1)检查模板特征集合v中是否有未被降维的实际网络模板特征,若有未被降维的实际网络模板特征,则取出一个实际网络模板特征vz执行步骤6.2);否则,执行步骤6.3);
6.2)使用pca算法对模板特征vz进行降维操作,得到降维后的实际网络模板特征
6.3)收集所有的降维后的实际网络模板特征,形成降维后的实际网络模板特征集合
步骤7,攻击事件检测子系统在数据库存储子系统中搜索与步骤6中降维后的实际网络事件模板相匹配的预先准备的事件模板,并根据搜索结果进行决断。
参照图6,本步骤的具体实现如下:
7.1)事件决断引擎41接收降维引擎21输出的模板特征集合,并对模板特征集合内的模板特征进行决断;
7.1.1)事件决断引擎41判断模板特征集合中是否还有未被决断的模板特征:若还有未被决断的模板特征,则将该模板特征
7.1.2)事件决断引擎41调用读接口32读取数据库模块31中存储的所有记录,并计算模板特征
如果模板特征
如果模板特征
否则,决断模板特征
7.1.3)判断出攻击事件的具体类型:
若模板特征
若模板特征
若模板特征
若模板特征
若模板特征
若模板特征
7.1.4)事件决断引擎41将自己对模板特征
7.2)输出接口42接收到事件决断引擎41输出的决断结果后,将决断结果提供给其他安全软件和风险评估系统。
以上描述仅是本发明的一个具体实例,并未构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修改和改变仍在本发明的权利要求保护范围之内。