本发明涉及网络安全领域,尤其涉及一种应用于工控网络的异常访问分析方法及系统。
背景技术:
1、随着信息技术的发展,越来越多的传统工厂进行信息化改造,逐步实现工厂的机电一体化。机电一体化通常由操作人员通过计算机系统对控制器进行命令操作以完成预设的生产任务。因此在机电一体化工厂中必然存在由控制系统、用户终端等组成的网络,即工控网络。
2、由于传统的工业控制网络的主要功能是完成工业生产, 在设计时缺乏安全考虑,在开放的网络环境中容易遭受攻击;为了保证工控网络的安全,现有技术中通常通过防火墙、流量分析等手段进行安全加固,但如果操作员账号被盗,通过操作员的操作终端进行非法活动不需要大量灌包操作,因此流量与正常操作特征很像,此时很难确认工控网络被入侵。
3、如图1所示,工控网络通常由操作终端通过网关以及安全服务器控制内网中的工业控制器,进而对工业设备进行控制。与传统的互联网不同,工控网络中的数据较为简单,下行数据(操作终端发往控制器)通常是一些plc控制命令,上行数据(由控制器发送给操作终端)的通常是返回参数、日志、传感器监控数据等。
4、对工控网络的攻击通常分为蓄意破坏和信息窃取,信息窃取通常通过网络在较短时间内获取较多的数据,比较容易识别。蓄意破坏通常是修改下发给工业设备的命令,如修改参数、修改执行顺序等。目前出现了一些通过识别下行数据的特征来确定工作网络是否存在接入安全问题的解决方案,此类方法只能识别对命令的顺序、参数的修改,无法识别对时间间隔的修改。如某正常的操作为a命令之后4秒下发b命令,再过3秒下发c命令,恶意攻击将ab命令之间的间隔修改为2秒,从而达到对工业控制系统造成破坏的目的。
技术实现思路
1、为了解决现有技术无法有效检测修改命令间隔攻击的问题,本发明提供一种异常访问分析方法和系统。
2、一方面,本发明提供一种异常访问分析方法,应用于工控网络,其特征在于所述方法包括如下步骤:获取所述工控网络中的历史正常命令集,将所述正常命令按照访问源地址聚类;将聚类结果整理成命令时间序列,所述命令时间序列包括顺序执行的命令以及每两个命令之间的执行间隔时间;获取命令时间序列中一对执行间隔时间为第一时间间隔,并且所述第一时间间隔小于第一时间阈值的连续的第一命令、第二命令;遍历所述命令时间序列,获取第一命令、第二命令连续并且执行间隔时间等于所述第一时间间隔的命令对的数量;当所述数量大于第一数量阈值时,确定第一命令、第二命令连续并且间隔等于所述第一时间间隔的命令对为一个连续命令二元组;根据获取连续命令二元组的方法获取所述命令时间序列中的全部连续命令二元组;遍历所述命令时间序列,当一组连续的命令中两两相邻的命令都为连续命令二元组时,将该组连续的命令确定为连续命令序列;根据获取连续命令序列的方法获取所述命令时间序列中的全部连续命令序列;实时获取待分析源地址的访问的信息,如果在第一预设时间内,超过第二数量阈值个命令序列不是连续命令序列,则认为存在异常访问。
3、进一步地,所述第一时间阈值根据全部命令时间序列中执行间隔长度为前20%的时间确定。
4、进一步地,所述第一数量阈值根据获取的历史正常命令数量确定,历史正常命令数量越大所述第一数量阈值越大。
5、进一步地,实时获取待分析源地址的访问的信息后进一步将该源地址的访问命令缓存于一个队列,形成该源地址的命令序列,对该源地址的命令序列进行异常检测。
6、进一步地,获取全部连续命令序中最长的命令长度lmax,当待检测的命令序列中一个lmax长度的序列都无法找到连续命令序列时则认为这个lmax长度的序列不是连续命令序列。
7、本发明还提供一种异常访问分析系统,应用于工控网络,其特征在于所述系统包括如下模块:获取模块,用于获取所述工控网络中的历史正常命令集,将所述正常命令按照访问源地址聚类;第一处理模块,用于将聚类结果整理成命令时间序列,所述命令时间序列包括顺序执行的命令以及每两个命令之间的执行间隔时间;第二处理模块,用于获取命令时间序列一对执行间隔时间为第一时间间隔,并且所述第一时间间隔小于第一时间阈值的连续的第一命令、第二命令;第三处理模块,用于遍历所述命令时间序列,获取第一命令、第二命令连续并且执行间隔时间等于所述第一时间间隔的命令对的数量;第四处理模块,用于当所述数量大于第一数量阈值时,确定第一命令、第二命令连续并且间隔等于所述第一时间间隔的命令对为一个连续命令二元组;第五处理模块,用于根据第四处理模块获取所述命令时间序列中的全部连续命令二元组;第六处理模块,用于遍历所述命令时间序列,当一组连续的命令中两两相邻的命令都为连续命令二元组时,将该组连续的命令确定为连续命令序列;第七处理模块,用于根据第六处理模块获取所述命令时间序列中的全部连续命令序列;检测模块,用于实时获取待分析源地址的访问的信息,如果在第一预设时间内,超过第二数量阈值个命令序列不是连续命令序列,则认为存在异常访问。
8、进一步地,所述第一时间阈值根据全部命令时间序列中执行间隔长度为前20%的时间确定。
9、进一步地,所述第一数量阈值根据获取的历史正常命令数量确定,历史正常命令数量越大所述第一数量阈值越大。
10、进一步地,实时获取待分析源地址的访问的信息后进一步将该源地址的访问命令缓存于一个队列,形成该源地址的命令序列,对该源地址的命令序列进行异常检测。
11、进一步地,获取全部连续命令序中最长的命令长度lmax,当待检测的命令序列中一个lmax长度的序列都无法找到连续命令序列时则认为这个lmax长度的序列不是连续命令序列。
12、本发明的有益效果为:通过构建包括了命令时间间隔的连续命令二元组,进一步确定出历史数据中的正常连续命令序列,通过连续命令序列数据库检测新输入的命令是否符合正常规律,从而找出存在异常的访问。
1.一种异常访问分析方法,应用于工控网络,其特征在于:所述方法包括如下步骤:
2.根据权利要求1所述的一种异常访问分析方法,其特征在于:所述第一时间阈值根据全部命令时间序列中执行间隔长度为前20%的时间确定。
3.据权利要求1所述的一种异常访问分析方法,其特征在于:所述第一数量阈值根据获取的历史正常命令数量确定,历史正常命令数量越大所述第一数量阈值越大。
4.根据权利要求1所述的一种异常访问分析方法,其特征在于:实时获取待分析源地址的访问的信息后进一步将该源地址的访问命令缓存于一个队列,形成该源地址的命令序列,对该源地址的命令序列进行异常检测。
5.根据权利要求4所述的一种异常访问分析方法,其特征在于:获取全部连续命令序中最长的命令长度lmax,当待检测的命令序列中一个lmax长度的序列都无法找到连续命令序列时则认为这个lmax长度的序列不是连续命令序列。
6.一种异常访问分析系统,应用于工控网络,其特征在于:所述系统包括如下模块:
7.根据权利要求6所述的一种异常访问分析系统,其特征在于:所述第一时间阈值根据全部命令时间序列中执行间隔长度为前20%的时间确定。
8.据权利要求6所述的一种异常访问分析系统,其特征在于:所述第一数量阈值根据获取的历史正常命令数量确定,历史正常命令数量越大所述第一数量阈值越大。
9.根据权利要求6所述的一种异常访问分析系统,其特征在于:实时获取待分析源地址的访问的信息后进一步将该源地址的访问命令缓存于一个队列,形成该源地址的命令序列,对该源地址的命令序列进行异常检测。
10.根据权利要求9所述的一种异常访问分析系统,其特征在于:获取全部连续命令序中最长的命令长度lmax,当待检测的命令序列中一个lmax长度的序列都无法找到连续命令序列时则认为这个lmax长度的序列不是连续命令序列。