[发明专利]一种自动检测工业网络攻击的系统有效
申请号: | 201911408283.2 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111181971B | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 南京联成科技发展股份有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L9/32 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京市高新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动检测 工业 网络 攻击 系统 | ||
1.一种自动检测工业网络攻击的系统,其特征在于,保障工业网络中的控制数据和测量数据不被黑客篡改,所述系统,包括:数据包捕获模块、网络流量剖面生成模块、基于签名的入侵检测模块、异常检测模块和告警生成及处理模块;
所述数据包捕获模块,从工业网络中捕获数据包,为了捕获数据包,使用了libpcap库,所述libpcap库,为用户级数据包捕获和网络嗅探提供内置功能,捕获的数据包应用于基于签名的入侵检测模块;
所述基于签名的入侵检测模块,一种作为对已知攻击的主要防御,在这里,数据包捕获模块所捕获的数据包被应用于基于签名的入侵检测模块的工业网络入侵检测,数据包解码器负责对所述的数据包进行初始分析,预处理器执行包括数据包碎片整理、TCP流重新组装在内的功能,检测引擎将数据包与为任何关联配置的规则匹配,如果匹配成功,则相应的数据包将被视为入侵并生成告警,以及将所述告警发送给告警生成及处理模块,如果没有发现任何的匹配,则将所述数据包转发给异常检测模块来检测;
所述网络流量剖面生成模块,捕获的数据包使用协议特定的多线程模型PMM和基于活动连接的多线程模型ACMM进行处理,PMM根据网络协议接收捕获的数据包并传递给ACMM,并在ACMM线程之间分配网络包以进行进一步的处理,ACMM用于处理特定于每个协议的多个活动连接,它维护两个列表,即:活动连接列表和已完成连接列表,已完成连接列表的窗口大小为w秒,PMM获取捕获的数据包,识别其协议并将其传递给ACMM,ACMM检查捕获的数据包相关连接,识别特征并根据数据包标志分配新的ACMM线程或现有的ACMM线程,ACMM线程检查给定包的基本特性,并更新活动连接的临时网络剖面,然后将所述数据包添加到相应活动连接的数据包列表中,等待其完成,一旦它得到一个指示已完成连接的数据包,临时网络剖面和当前数据包将生成总共19个特征,此外,每个线程从完成的连接列表中生成7个统计特征,因此,总共26个特征构成了一个网络流量剖面的概况,这里,所述的网络流量剖面,包括了采用健康度函数CAFF和健康度函数FSFF从数据集的网络流量特征中选择的最佳特征子集;
所述19个特征,为proto、state、sbytes、dbytes、dttl、sloss、dloss、service、dload、spkts、swin、smeansz、res_bdy_len、sintpkt、tcprtt、synack、ackdat、is_sm_ips_ports、is_ftp_login;
所述7个统计特征,为ct_srv_src、ct_srv_dst、ct_dst_ltm、ct_src_ltm、ct_src_dport_ltm、ct_dst_sport_ltm、ct_dst_src_ltm;
所述proto,事务协议;
所述state,表示包括ACC、CON、FIN、INT在内的连接状态;
所述sbytes,源到目标的字节;
所述dbytes,目标到源的字节;
所述dttl,目标到源的生存时间值;
所述sloss,重新传输或丢弃的源数据包;
所述dloss,重新传输或丢弃的目标的数据包;
所述service,连接服务;
所述dload,目标的位/秒;
所述spkts,源到目标的数据包计数;
所述swin,源TCP窗口广告值;
所述smeansz,源发送的数据包大小的平均值;
所述res_bdy_len,数据的实际未压缩内容大小;
所述sintpkt,源的数据包间到达时间;
所述tcprtt,TCP连接往返时间;
所述synack,SYN和SYN_ACK数据包之间的时间;
所述ackdat,SYN_ACK和ACK数据包之间的时间;
所述is_sm_ips_ports,如果源和目标的IP地址相等,端口号相等,则为1,否则为0;
所述is_ftp_login,如果ftp会话由用户访问,则为1,否则为0;
所述ct_srv_src,N中包含相同服务和源地址的连接数;
所述ct_srv_dst,N中包含相同服务和目标地址的连接数;
所述ct_dst_ltm,N中具有相同目标地址的连接数;
所述ct_src_ltm,N中具有相同源地址的连接数;
所述ct_src_dport_ltm,N中具有相同源地址和目标端口的连接数;
所述ct_dst_sport_ltm,N中具有相同目标地址和源端口的连接数;
所述ct_dst_src_ltm,N中具有相同源和目标地址的连接数;
所述N,最近的100条连接;
所述异常检测模块,通过分析来自网络流量剖面生成模块的网络流量剖面和先前观察到的网络流量行为来识别攻击的可能性,为此,使用了随机森林分类器,所述随机森林分类器使用先前观察到的正常和已知入侵连接的所述网络流量剖面进行离线训练,这种经过训练的模型用于将未来的网络连接实时分类为正常的或入侵的,能够实时检测和预测网络攻击,并通知告警生成及处理模块;
所述告警生成及处理模块,从所述基于签名的入侵检测模块和所述异常检测模块中决定入侵,并以包括协议、源IP、源端口、目标IP、目标端口和入侵类型在内的连接参数的形式生成告警,检查特定时间内具有预定义门限阈值的告警频率,如果告警的频率超过门限阈值,则会将告警传递给关联单元,关联单元从部署在工业网络中不同服务器上的所有实例接收此类告警,并进行相互关联,使用告警多数因子AMF决定分布式攻击,如果告警的AMF>门限阈值,则关联单元生成基于签名的入侵检测模块的攻击签名并将其更新到所有实例的签名数据库里,以便所述基于签名的入侵检测模块及早地检测到此类攻击:
所述CAFF,以数据集为输入,生成一个具有最佳特征的新数据集,CAFF将数据集拆分为训练数据集Tr和测试数据集Ts,由于随机森林分类器具有较高的精度和较低的计算成本,采用随机森林分类器并将其精度的值作为CAFF,为了生成所述的最佳特征的新数据集,最大化CAFF的值,CAFF健康度函数C(x)为:C(x)=Acc_RandomForest(Tr,Ts,n*10),其中,n是特征的数量,所述的Acc_RandomForest(Tr,Ts,n*10),表示随机森林分类器精度的值,CAFF返回随机森林分类器最大化精度的特征子集,所述最大化精度的特征子集,为所述的最佳特征的新数据集;
所述FSFF,将Gini Index、相似性和相关性应用于新数据集的网络流量特征中,为了能够从所述的新数据集中选择最佳的特征子集,最大化FSFF的值,所选特征能够具有较高的Gini Index和与类别的高度相似性,且特征之间的相关性较小,x={x1,x2,…,xn}为一个特征子集,目标类别为c,则FSFF健康度函数F(x)为:
所述Gini Index,采用下面方程式来测量网络流量数据分区D的杂质:Gini其中,pi是D中网络流量剖面属于ci类的概率,m是类的数量,Gini Index对每个特征进行二进制拆分,其中的特征x上的一个分割,并将D分为和那么在特征x的条件下,D的Gini Index计算公式为:则特征x的杂质减少量由下面方程式得出:Gini Index(x,c)=Gini Index(D)-GiniIndexx(D),x={x1,x2,…,xn}为一个特征子集,则特征xk与类别c的Gini Index的计算公式为:
所述相似性,使用信息增益来度量,对D中的记录进行分类所需信息采用下面公式来计算:其中,pi是D中网络流量剖面属于ci类的概率,m是类的数量,特征x用于将D划分为v分区,即:{D1,D2,…,Dv},特征x所需的信息的计算公式为:使用特征x之后的信息增益的计算公式则为:InfoGain(x,c)=Info(D)-Infox(D),那么特征x与类别c的相似性的计算公式为:x={x1,x2,…,xn}为一个特征子集,则特征xk与类别c的相似性的计算公式为:
所述相关性,两个随机特征之间的相关性是相关系数,x={x1,x2,…,xn},特征xk与特征xj之间的相关系数corr(xk,xj)使用公式计算:所述cov(xk,xj),是特征是xk和xj之间的协方差,所述和分别是xk和xj的标准差,cov(xk,xj)的值在[-1,1]中,cov(xk,xj)=0表示xk和xj完全独立,而cov(xk,xj)=1或-1表示xk和xj高度相关。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京联成科技发展股份有限公司,未经南京联成科技发展股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911408283.2/1.html,转载请声明来源钻瓜专利网。