应用于工业控制环境的攻击监测方法、系统与流程

文档序号:21844968发布日期:2020-08-14 16:57阅读:109来源:国知局
应用于工业控制环境的攻击监测方法、系统与流程

本发明涉及网络安全技术领域,特别是涉及一种应用于工业控制环境的攻击监测方法、系统。



背景技术:

随着工业技术和物联网技术的不断发展,网络技术在工业控制领域开始发挥重要作用,通过网络技术给工业生产赋能,可以提高工业生产效率。但是,当网络技术应用到工业控制环境中时,存在控制方面的安全隐患,对正常地工业生产造成巨大的经济威胁,因此亟需一种针对工业控制的安全检测方法,用于保护工业控制环境的稳定运行。

在现有的网络安全检测方面,主要是集中解决互联网网络安全问题,鲜有针对工业控制环境。传统的信息安全技术不能直接应用于工业控制系统,工业控制系统信息安全的技术特色主要体现在需求上强调可用性、系统上强调实时性,而传统的信息安全主要实现保密性、完整性和可用性,工业控制系统需要在协调三个目标的基础上,突出系统的可用性。工业控制环境中独特的网络拓扑结构、独特的安全隐患特点也决定了需要一种针对工业控制环境的安全检测方法,以达到高效地保护工业控制环境的正常运行,即及时准确检测出安全威胁的主机,阻止工业控制环境被恶意篡改或者控制。



技术实现要素:

本发明的目的在于提供一种应用于工业控制环境的攻击监测方法、系统,能够提高攻击检测的精度和准确性。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种应用于工业控制环境的攻击监测方法,包括以下步骤:s1:采集工业控制网络中的网络报文;s2:解析所述网络报文中的ip协议网络包,从所述ip协议网络包中提取出主机请求信息及其对应的主机响应信息,所述主机请求信息包括源ip地址、源mac地址,所述主机响应信息包括目的ip地址、目的mac地址;s3:判断所述ip协议网络包的发生时间是否处于预设的学习期内,若在学习期内,则将所述主机请求信息及其对应的主机响应信息记录至知识库中;若不在学习期内,则解析所述网络报文中的arp协议网络包,提取arp协议网络包的操作码,然后再根据所述arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式;s4:周期性地遍历所述响应队列中的响应信息,查找每条响应信息是否在所述请求队列存在对应的请求信息,如果存在对应的请求信息,则构建hsah表,将所述对应的请求信息作为hsah表的key值,将所述响应信息作为hsah表的list值;如果不存在对应的请求信息,则将相应的响应信息加入可疑主机响应信息表中;s5:遍历所述hsah表,再根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为。

优选的,还包括步骤s6:遍历所述可疑主机响应信息表,从中提取出每条响应信息的源ip地址、源mac地址,并根据源ip地址、源mac地址生成arp攻击告警信息。

优选的,所述步骤s3中,根据所述arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式的步骤具体为:如果操作码为p1,从所述arp协议网络包中提取出源ip地址、源mac地址和目的ip地址,并作为请求信息加入请求队列中,如果操作码为p2,从所述arp协议网络包中提取出源ip地址、源mac地址、目的ip地址和目的mac地址,并作为响应信息加入响应队列中。

优选的,还包括:请求队列中加入请求信息时,记录请求信息的加入时间;响应队列中加入响应信息时,记录响应信息的加入时间。

优选的,所述步骤s5中,根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为的步骤具体为:如果响应信息的个数大于1个,提取每条响应信息中的目的ip地址和目的mac地址作为待查主机响应信息,将待查主机响应信息与知识库中的主机响应信息进行对比,如果在知识库中不存在与待查主机响应信息相同的主机响应信息,则将相应的响应信息加入可疑主机响应信息表中;如果响应信息的个数为1个,则判定不存在arp攻击行为。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种应用于工业控制环境的攻击监测系统,所述攻击监测系统包括报文采集模块、报文解析模块、知识库构建模块、双队列构建模块、分离检测模块和攻击判定模块;所述报文采集模块用于采集工业控制网络中的网络报文;所述报文解析模块用于解析所述网络报文中的ip协议网络包,从所述ip协议网络包中提取出主机请求信息及其对应的主机响应信息,所述主机请求信息包括源ip地址、源mac地址,所述主机响应信息包括目的ip地址、目的mac地址;所述知识库构建模块用于在所述ip协议网络包的发生时间不在预设的学习期内时,将所述主机请求信息及其对应的主机响应信息记录至知识库中;在所述ip协议网络包的发生时间在学习期内时,解析所述网络报文中的arp协议网络包,提取arp协议网络包的操作码,然后再根据所述arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式;所述分离检测模块还用于周期性地遍历所述响应队列中的响应信息,查找每条响应信息是否在所述请求队列存在对应的请求信息,如果存在对应的请求信息,则构建hsah表,将所述对应的请求信息作为hsah表的key值,将所述响应信息作为hsah表的list值,如果不存在对应的请求信息,则将相应的响应信息加入可疑主机响应信息表中;所述攻击判定模块用于遍历所述hsah表,再根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为。

优选的,所述攻击监测系统还包括攻击告警模块,所述攻击告警模块用于遍历所述可疑主机响应信息表,从中提取出每条响应信息的源ip地址、源mac地址,并根据源ip地址、源mac地址生成arp攻击告警信息。

优选的,所述双队列构建模块具体用于在操作码为p1时,从所述arp协议网络包中提取出源ip地址、源mac地址和目的ip地址,并作为请求信息加入请求队列中,如果操作码为p2时,从所述arp协议网络包中提取出源ip地址、源mac地址、目的ip地址和目的mac地址,并作为响应信息加入响应队列中。

优选的,所述双队列构建模块还用于在请求队列中加入请求信息时,记录请求信息的加入时间,以及在响应队列中加入响应信息时,记录响应信息的加入时间。

优选的,所述攻击判定模块具体用于在响应信息的个数大于1个时,提取每条响应信息中的目的ip地址和目的mac地址作为待查主机响应信息,将待查主机响应信息与知识库中的主机响应信息进行对比,如果在知识库中不存在与待查主机响应信息相同的主机响应信息,则将相应的响应信息加入可疑主机响应信息表中;在响应信息的个数为1个时,则判定不存在arp攻击行为。

区别于现有技术的情况,本发明的有益效果是:通过双队列模式记录arp请求和响应的过程,正常的arp请求与响应是一一对应的。但是,在发生arp攻击时,存在一个arp请求对应多个arp响应,而进一步利用学习期构建的知识库进行鉴证,可以有效地识别真实的arp响应,从而能够提高攻击检测的精度和准确性,解决了arp扫描环境中arp攻击机误判的现象。另外,通过请求和响应队列方式,也可以及时发现arp响应包攻击,立即发现arp攻击主机,而且采用队列的方式记录请求或者响应信息,对于了解整个攻击过程和构建攻击欺骗链也有很大的帮助,非常适合应用于工业控制环境,

附图说明

图1是本发明实施例提供的应用于工业控制环境的攻击监测方法的流程示意图;

图2是图1所示的攻击监测方法的步骤s3的具体流程示意图;

图3是图1所示的攻击监测方法的步骤s5的具体流程示意图;

图4是本发明又一实施例提供的应用于工业控制环境的攻击监测系统在一中应用中的拓扑示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,本发明实施例的应用于工业控制环境的攻击监测方法包括以下步骤:

s1:采集工业控制网络中的网络报文。

其中,网络报文可以从交换机的镜像端口采集。工业控制网络中的所有主机均通过工业以太网协议连接到交换机。

s2:解析所述网络报文中的ip协议网络包,从所述ip协议网络包中提取出主机请求信息及其对应的主机响应信息,主机请求信息包括源ip地址、源mac地址,主机响应信息包括目的ip地址、目的mac地址。

在本实施例中,主机响应信息中的目的ip地址是除广播ip地址或多播ip地址以外的ip地址,目的mac地址是除广播mac地址或多播mac地址以外的mac地址。

s3:判断ip协议网络包的发生时间是否处于预设的学习期内,若在学习期内,则将主机请求信息及其对应的主机响应信息记录至知识库中;若不在学习期内,则解析网络报文中的arp协议网络包,提取arp协议网络包的操作码,然后再根据arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式。

其中,学习期的时间长度由系统管理员设置,可以结合实际的工业控制环境合理地设置。为了方便对知识库中的主机请求信息和主机响应信息进行查询,在本实施例中,知识库中还保存信息摘要,信息摘要由源ip地址的字符串和源mac地址的字符串以及目的ip地址的字符串和目的mac地址的字符串拼接而成。采用字符串拼接方式,主要是因为在实际工业控制环境中拼接方式得到的字符串长度往往比hash计算出的摘要信息长度短,所以在字符串比较过程中,拼接方式的字符串相对会快一些。

s4:周期性地遍历响应队列中的响应信息,查找每条响应信息是否在请求队列存在对应的请求信息,如果存在对应的请求信息,则构建hsah表,将对应的请求信息作为hsah表的key值,将响应信息作为hsah表的list值;如果不存在对应的请求信息,则将相应的响应信息加入可疑主机响应信息表中。

其中,响应队列的遍历周期可以根据实际需要设定,例如为5秒,也就是说,每次响应队列的最后一条信息遍历结束时,等待5秒,再从响应队列的第一条信息开始遍历。如果一条响应信息能够在请求队列找到对应的请求信息,那么表示该条响应信息所属的arp响应存在真实且正常的arp请求行为。如果一条响应信息不能在请求队列找到对应的请求信息,那么表示该条响应信息所属的arp响应可疑。

s5:遍历hsah表,再根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为。

具体而言,参见图2,步骤s3中,根据arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式的步骤具体为:如果操作码为p1,从arp协议网络包中提取出源ip地址、源mac地址和目的ip地址,并作为请求信息加入请求队列中,如果操作码为p2,从arp协议网络包中提取出源ip地址、源mac地址、目的ip地址和目的mac地址,并作为响应信息加入响应队列中。

其中,请求队列和响应队列可以采用链表形式。在arp协议网络包中,其协议内容包含操作码,当操作码为p1时,表示该arp协议网络包是arp请求包,当操作码为p2时,表示该arp协议网络包是arp响应包。p1的值例如为0,p2的值例如为1。在请求队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址),在响应队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,目的mac地址)。在本实施例中,双队列构建模块40还包括:请求队列中加入请求信息时,记录请求信息的加入时间;响应队列中加入响应信息时,记录响应信息的加入时间。由于数据结构中增加了加入时间,那么在请求队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,加入时间),在响应队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,目的mac地址,加入时间)。

参见图3,步骤s5中,根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为的步骤具体为:如果响应信息的个数大于1个,提取每条响应信息中的目的ip地址和目的mac地址作为待查主机响应信息,将待查主机响应信息与知识库中的主机响应信息进行对比,如果在知识库中不存在与待查主机响应信息相同的主机响应信息,则将相应的响应信息加入可疑主机响应信息表中;如果响应信息的个数为1个,则判定不存在arp攻击行为。

其中,由于工业控制网络中各个主机之间的交互很稳定且单一,如果响应信息的个数为1个,一般认为是正常的arp请求行为,判定不存在arp攻击行为,如果一条请求信息对应有多个响应信息,则判定存在arp攻击行为。为了从多个响应信息中查找出可疑的响应信息,需要提取响应信息中的目的ip地址和目的mac地址与知识库中的主机响应信息进行对比,如果在知识库中存在相同的主机响应信息,则表明相应的响应信息是真实的响应信息,判定不存在arp攻击行为,除此之外的其余响应信息均是arp攻击响应包,并加入可疑主机响应信息表中。

在本实施例中,攻击监测方法还包括步骤:

s6:遍历可疑主机响应信息表,从中提取出每条响应信息的源ip地址、源mac地址,并根据源ip地址、源mac地址生成arp攻击告警信息。

其中,arp攻击告警信息可以定位arp攻击主机,指引工作人员及时应对。

通过上述方式,本发明实施例的应用于工业控制环境的攻击监测方法通过多个维度的方式更加准确地进行工业控制环境的攻击监测,可以长周期地运行在工业控制环境中,通过与学习期内构建的知识库进行对比,进一步判断可疑的攻击行为,并及时告警,从而能够提高攻击检测的精度和准确性。

参阅图4,本发明实施例的应用于工业控制环境的攻击监测系统100包括报文采集模块10、报文解析模块20、知识库构建模块30、双队列构建模块40、分离检测模块50和攻击判定模块60。攻击监测系统100连接交换机200,工业控制主机300和工业受控主机400均通过工业以太网协议连接交换机200。

报文采集模块10用于采集工业控制网络中的网络报文。其中,网络报文可以从交换机200的镜像端口采集。

报文解析模块20用于解析所述网络报文中的ip协议网络包,从所述ip协议网络包中提取出主机请求信息及其对应的主机响应信息,所述主机请求信息包括源ip地址、源mac地址,所述主机响应信息包括目的ip地址、目的mac地址。在本实施例中,主机响应信息中的目的ip地址是除广播ip地址或多播ip地址以外的ip地址,目的mac地址是除广播mac地址或多播mac地址以外的mac地址。

知识库构建模块30用于在ip协议网络包的发生时间不在预设的学习期内时,将主机请求信息及其对应的主机响应信息记录至知识库中。其中,学习期的时间长度由系统管理员设置,可以结合实际的工业控制环境合理地设置。为了方便对知识库中的主机请求信息和主机响应信息进行查询,在本实施例中,知识库构建模块30还保存信息摘要,信息摘要由源ip地址的字符串和源mac地址的字符串以及目的ip地址的字符串和目的mac地址的字符串拼接而成。采用字符串拼接方式,主要是因为在实际工业控制环境中拼接方式得到的字符串长度往往比hash计算出的摘要信息长度短,所以在字符串比较过程中,拼接方式的字符串相对会快一些。

双队列构建模块40用于在所述ip协议网络包的发生时间在学习期内时,解析所述网络报文中的arp协议网络包,提取arp协议网络包的操作码,然后再根据所述arp协议网络包的操作码构建由请求信息形成的请求队列和响应信息形成的响应队列的双队列模式。

分离检测模块50还用于周期性地遍历响应队列中的响应信息,查找每条响应信息是否在请求队列存在对应的请求信息,如果存在对应的请求信息,则构建hsah表,将对应的请求信息作为hsah表的key值,将响应信息作为hsah表的list值,如果不存在对应的请求信息,则将相应的响应信息加入可疑主机响应信息表中。其中,响应队列的遍历周期可以根据实际需要设定,例如为5秒,也就是说,每次响应队列的最后一条信息遍历结束时,等待5秒,再从响应队列的第一条信息开始遍历。如果一条响应信息能够在请求队列找到对应的请求信息,那么表示该条响应信息所属的arp响应存在真实且正常的arp请求行为。如果一条响应信息不能在请求队列找到对应的请求信息,那么表示该条响应信息所属的arp响应可疑。

攻击判定模块60用于遍历hsah表,再根据统计每条请求信息对应的响应信息的个数与预设阈值来判断是否存在arp攻击行为。

具体而言,双队列构建模块40具体用于在操作码为p1时,从arp协议网络包中提取出源ip地址、源mac地址和目的ip地址,并作为请求信息加入请求队列中,如果操作码为p2时,从arp协议网络包中提取出源ip地址、源mac地址、目的ip地址和目的mac地址,并作为响应信息加入响应队列中。其中,请求队列和响应队列可以采用链表形式。在arp协议网络包中,其协议内容包含操作码,当操作码为p1时,表示该arp协议网络包是arp请求包,当操作码为p2时,表示该arp协议网络包是arp响应包。在请求队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址),在响应队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,目的mac地址)。在本实施例中,还包括:请求队列中加入请求信息时,记录请求信息的加入时间;响应队列中加入响应信息时,记录响应信息的加入时间。由于数据结构中增加了加入时间,那么在请求队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,加入时间),在响应队列中,每条信息的数据结构为(源ip地址,源mac地址,目的ip地址,目的mac地址,加入时间)。p1的值例如为0,p2的值例如为1。

攻击判定模块50具体用于在响应信息的个数大于1个时,提取每条响应信息中的目的ip地址和目的mac地址作为待查主机响应信息,将待查主机响应信息与知识库中的主机响应信息进行对比,如果在知识库中不存在与待查主机响应信息相同的主机响应信息,则将相应的响应信息加入可疑主机响应信息表中;在响应信息的个数为1个时,则判定不存在arp攻击行为。其中,由于工业控制网络中工业控制主机300和工业受控主机400之间的交互很稳定且单一,如果响应信息的个数为1个,一般认为是正常的arp请求行为,判定不存在arp攻击行为,如果一条请求信息对应有多个响应信息,则判定存在arp攻击行为。为了从多个响应信息中查找出可疑的响应信息,需要提取响应信息中的目的ip地址和目的mac地址与知识库中的主机响应信息进行对比,如果在知识库中存在相同的主机响应信息,则表明相应的响应信息是真实的响应信息,判定不存在arp攻击行为,除此之外的其余响应信息均是arp攻击响应包,并加入可疑主机响应信息表中。

在本实施例中,攻击监测系统还包括攻击告警模块70,该攻击告警模块70用于遍历可疑主机响应信息表,从中提取出每条响应信息的源ip地址、源mac地址,并根据源ip地址、源mac地址生成arp攻击告警信息。其中,arp攻击告警信息可以定位arp攻击主机,指引工作人员及时应对。

通过上述方式,本发明的应用于工业控制环境的攻击监测系统通过多个维度的方式更加准确地进行工业控制环境的攻击监测,可以长周期地运行在工业控制环境中,通过与学习期内构建的知识库进行对比,进一步判断可疑的攻击行为,并及时告警,从而能够提高攻击检测的精度和准确性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1