CN118041648A - 一种基于自适应探测的工控漏洞扫描方法及其系统 - Google Patents

一种基于自适应探测的工控漏洞扫描方法及其系统 Download PDF

Info

Publication number
CN118041648A
CN118041648A CN202410219008.0A CN202410219008A CN118041648A CN 118041648 A CN118041648 A CN 118041648A CN 202410219008 A CN202410219008 A CN 202410219008A CN 118041648 A CN118041648 A CN 118041648A
Authority
CN
China
Prior art keywords
equipment
industrial control
scanning
surviving
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410219008.0A
Other languages
English (en)
Inventor
沈超凡
郑秋华
汲怡彤
孔佳音
周林荃
王鹏程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202410219008.0A priority Critical patent/CN118041648A/zh
Publication of CN118041648A publication Critical patent/CN118041648A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于自适应探测的工控漏洞扫描方法及其系统。该方法通过采集工控设备流量信息,基于主被动探测技术和自适应探测技术,根据设备类型进行分类扫描,对不同类型的设备采用不同的漏洞扫描方式,解决了现有技术对工业控制系统中的漏洞扫描不全面不准确同时扫描存在影响工控网络正常运行的技术问题。本发明综合运用被动探测和主动探测两种模式的方式,可以更全面地识别和扫描工控设备及其漏洞,避免了单一扫描模式的局限性,能够提高工控系统漏洞扫描的效率和准确性。

Description

一种基于自适应探测的工控漏洞扫描方法及其系统
技术领域
本发明属于工控系统网络安全技术领域,涉及一种工业控制系统网络安全漏洞扫描处理方法及其系统,具体是一种基于自适应探测的工控漏洞扫描方法及其系统。
背景技术
随着计算机技术的迅速发展,IT资产已成为企业和组织运营的核心。随着业务的扩张,各种业务支持平台和管理系统如web服务器、存储设备、网络设备和安全设备等也随之增多。然而,这种技术进步也带来了挑战,尤其在工业控制系统(ICS)领域。ICS作为关键的工业生产设备在多个国家重要行业中广泛应用。但ICS面临着诸多安全威胁,现代计算机技术已渗透其中,导致工控网络不再封闭,漏洞数量不断增加,攻击者利用这些漏洞破坏系统的强度也在增加。
为了保障工业控制网络的安全运行,采用安全技术对工控资产进行管理和监控至关重要。主动探测技术通过发送请求来发现网络中的设备,并定期执行扫描,有助于及时更新资产清单和发现安全漏洞。主动探测技术能够获取更多详细信息,包括设备的操作系统版本、开放端口、服务和应用程序等,有助于全面评估设备的安全状态。但主动探测技术需要向网络中发送请求,可能会对设备造成干扰,破坏设备可用性,造成严重后果。
相比之下,被动探测技术通过监听网络流量和观察网络行为来识别设备信息,不会对网络造成负载,也不会干扰工控系统的正常运行和生产流程。被动探测技术可以随时进行监测,不需要等待特定时机或停产检修,有助于及时了解网络中的设备情况和安全状况。然而,被动探测技术只能识别已知设备的信息,无法主动发现未知设备或新设备的接入情况,可能会漏掉潜在的安全风险。
此外对于工控网络漏洞扫描,除了需要具有完备的扫描功能,还需考虑工控设备实时性要求高、工控网络脆弱且吞吐量低、无法承受传统漏洞扫描器频繁扫描带来的负担等问题。
综上,如何在不干扰工控网络正常运行的前提下,提供一种准确、高效的漏洞扫描方案,实现工控系统漏洞扫描的全面性和准确性,是亟待本领域技术人员解决的问题。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种基于自适应探测的工控漏洞扫描方法及其系统。
第一方面,本发明提供一种基于自适应探测的工控漏洞扫描方法,该方法通过采集工控设备流量信息,基于主被动探测技术和自适应探测技术,根据设备类型进行分类扫描,对不同类型的设备采用不同的漏洞扫描方式,解决了现有技术对工业控制系统中的漏洞扫描不全面不准确同时扫描存在影响工控网络正常运行的技术问题。
所述工控漏洞扫描方法包括以下步骤:
步骤101、流量数据获取与预处理;具体是:
利用网络流量镜像技术从工控网络的设备层、过程层和管理层采集流量数据包,并对捕获的数据包进行预处理,删除冗余数据并补全应有的通信关系;
步骤102、工控网络中存活设备的分析与分类识别;具体是:
S1021根据步骤101预处理后的数据包,分析工控网络中的存活IP设备;
S1022基于设备间的通信模式和使用的协议类型,对步骤101预处理后的数据包进行解析,初步判断存活IP设备所在的层次,所述层次为控制层、过程层或管理层;
步骤103、确定存活IP设备的所属类型;具体是:
对于存活IP设备中同一源IP设备的流量数据包,计算相邻数据包之间的通信流量时间间隔分布;
使用傅里叶变换对不同存活IP设备的数据包长度分布进行频域特征提取;使用傅里叶变换对同一源IP设备的通信流量时间间隔分布进行频域特征提取;将所提取的特征与系统设备特征库中已知IP设备的特征进行相似度比较,确定当前存活IP设备所属的具体类型;
步骤104、自适应探测
根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息,具体是:若存活IP设备的所在层次为控制层,则采用特定工控协议数据包的自适应探测方法进行探测;若存活IP设备的所在层次为过程层或管理层,则使用端口扫描工具进行端口扫描和服务识别;
所述特定工控协议数据包的构造过程具体如下:
(5)确定工控系统中扫描目标端口;
(6)构造符合工控协议的数据包,其中包含源端口和目的端口,数据部分采用工控协议的标准报文格式;
(7)将构造好的数据包发送到目标IP地址,并等待响应;
当获取到目标IP设备指纹信息后,将收集到的设备指纹信息与工控设备指纹库中的信息进行比对,更新工控设备指纹库;
步骤105、根据设备类型进行分类扫描,针对不同类型的设备采用不同的漏洞扫描方法;
作为优选,步骤103具体是:
对于存活IP设备中同一源IP设备的流量数据包,计算相邻数据包之间的通信流量时间间隔分布;
使用傅里叶变换对不同存活IP设备的数据包长度分布进行频域特征提取;使用傅里叶变换对同一源IP设备的通信流量时间间隔分布进行频域特征提取;将所提取的特征与系统设备特征库中已知IP设备的特征进行相似度比较,确定当前存活IP设备所属的具体类型。其中所述频域特征包括频谱的主要频率成分、频谱的能量分布、频谱的峰值。所述相似度采用条件熵;所述系统设备特征库包含将已知设备特征经过傅里叶变换后在频域中表示的特征数据。
作为优选,步骤104中,所述端口扫描工具采用开源扫描器框架Nmap。所述特定工控协议数据包的构造过程中,若工控协议为Modbus TCP协议,功能码0x2B用于获取设备识别信息;Modbus TCP报文格式包含事务标识符、协议标识符、长度字段、单元标识符、功能码、起始地址、寄存器数量;若工控协议为DNP3协议中,功能码0x60用于请求设备属性;若工控协议为IEC 60870-5-104协议中,功能码0x64用于读取设备的参数和状态。
作为优选,步骤104中,所述特定工控协议数据包的自适应探测方法,具体步骤如下:
根据存活IP设备的所属类型,根据通信频率将通信频率具有周期性特点的控制层设备标记为敏感设备,将通信频率不具有周期性特点的控制层设备标记为非敏感设备;
对于敏感设备,设置最小扫描速率f=a0,最大扫描速率f=a1,其中a0≥1个特定工控协议数据包/秒,a0<a1≤10个特定工控协议数据包/秒;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率单位为特定工控协议数据包/秒,k1是校正因子,k1≥10,t0是扫描速率为最小扫描速率与最大扫描速率之间的中值时对应的t值,t是成功响应时间间隔;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最小扫描速率重启扫描;若当前设备在一个计时周期内连续出现四次以上的丢包,扫描立即停止,并将当前设备标记为非常敏感,之后的扫描周期内将不对其进行扫描;
所述不稳定响应指代相邻响应时间差值大于阈值差值或响应时间大于阈值时间;
对于非敏感设备,设置最小扫描速率f=b0,最大扫描速率f=b1,其中b0≥5个特定工控协议数据包/秒,b0<b1≤50个特定工控协议数据包/秒,b0≥a0,b1>a1;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率单位为特定工控协议数据包/秒,k2是校正因子,k2≤k1;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最低速率重启扫描。
作为优选,步骤S105具体是:
对于控制层设备,按照设备类型采用漏洞库匹配的方式发现漏洞;
对于过程层和管理层设备,按照设备类型采用结合传统漏扫工具和漏洞库匹配的方式发现漏洞;
所述传统漏扫工具采用开源扫描器框架Nmap、OpenVAS开源漏洞扫描系统。
第二方面,本发明提供实现上述方法的工控漏洞扫描系统,所述系统包括:
流量数据获取与预处理模块,用于从工控网络的设备层、过程层和管理层采集流量数据包,并对捕获的数据包进行预处理,删除冗余数据并补全应有的通信关系;
工控网络中存活设备的分析与分类识别模块,用于分析工控网络中的存活IP设备以及存活IP设备所在的层次;
存活IP设备的所属类型分析模块,用于确定存活IP设备的所属类型;
自适应探测模块,用于根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息;
分类扫描模块,用于根据设备类型进行分类扫描,针对不同类型的设备采用不同的漏洞扫描方法。
本发明采用被动探测获取工控网络中存活设备以及其所在层次和类型,再根据不同层次和类型进行自适应的主动探测,获取详细的设备信息;因此,本发明综合运用被动探测和主动探测两种模式的方式,可以更全面地识别和扫描工控设备及其漏洞,避免了单一扫描模式的局限性,能够提高工控系统漏洞扫描的效率和准确性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例基于自适应探测的工控漏洞扫描方法的流程图;
图2是本发明实施例的自适应探测技术的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了更好地让本技术领域的专业人员理解本申请方案,下面将结合附图和详细实施方式对本申请进行进一步的详细说明。值得注意的是,所描述的实施例仅代表本申请的一部分实施例,而不是全部实施例。在未经创造性劳动之前,本领域的技术人员所能获得的所有其他实施例,均属于本申请所涵盖的范围。
下面结合图1至图2介绍本发明的具体实施方式为:
本发明实施例中工控漏洞扫描方法的步骤流程图如图1所示,该方法包括如下步骤:
步骤101、获取工控网络中的流量数据,并进行预处理;
在本步骤中,具体的,通过网络中的流量镜像交换机,可以实现对目标工控网络的设备层、过程层和管理层采集流量数据包。这种方式可以在不干扰原始网络流量的情况下,通过复制交换机上的流量数据,获取工控网络中各个层次的通信流量信息。
此外,具体的,在获取工控网络中的流量数据之后,对流量数据进行预处理。对于每个捕获的数据包,提取其中的源IP和目标IP以构成IP对,根据正常工作情况下网段内IP交互流量的特点,筛除非本网段IP对,以保证后续处理的交互逻辑全部来自于目标网段。通过IP补填解决因数据包不完善或应用组播技术等导致的交互关系不完整的问题,确保数据处理的完整性。
步骤102、根据输入的流量数据,分析出网络中的存活IP设备;基于设备间的通信模式和使用的协议类型,对步骤101预处理后的数据包进行解析,初步判断存活IP设备所在的层次,所述层次为控制层、过程层或管理层;
在本步骤中,具体的,根据输入的流量数据进行关键特征提取,所述关键特征包括源IP、目标IP、源端口、目标端口、协议类型等关键特征。根据上述关键特征获知存活IP设备。
根据源端口、目标端口以及协议类型等关键特征,对通信会话进行协议识别,确定通信中所使用的工控协议类型。基于设备间的通信模式和使用的协议类型,将设备进行初步分类识别,将其归类为控制层、过程层或管理层设备;
步骤103、对于存活IP设备中同一源IP设备的数据流量,计算相邻数据包之间的时间间隔分布并统计数据包长度;使用傅里叶变换对系统中不同存活IP设备的数据包长度分布进行频域特征提取;使用傅里叶变换对系统中同一源IP设备的通信流量时间间隔分布进行频域特征提取;
将所提取的特征与系统设备特征库中已知IP设备的特征进行相似度比较,以确定当前存活IP设备所属的具体类型。
在本步骤中,具体的,步骤102中识别结果存在较大误差,需要基于数据包长度分布及数据通信时间特性进行进一步关联分析。在使用傅里叶变换进行特征提取中,将相邻数据包之间的时间间隔构建成一个时间间隔序列,将统计的数据包长度构建成一个数据包长度序列。对序列进行必要的数据预处理,包括去除异常值、平滑处理等,以保证序列的稳定性和可靠性。对经过预处理的时间间隔序列和数据包长度序列分别进行傅里叶变换,将时间域的信号转换到频域,提取出信号的频域特征。这些特征包括频谱的主要频率成分、频谱的能量分布、频谱的峰值等。
此外,具体的,采用条件熵来计算所提取的特征与系统中已知设备的特征之间的相似度,具体步骤如下:
(1)将所有待比较的特征表示成概率分布;
(2)计算所提取的特征与系统设备特征库中已知IP设备的特征的联合概率分布。这可以通过对两个特征的数据进行统计分析得到。
(3)根据联合概率分布计算条件概率分布,即在给定一个特征的情况下,另一个特征的条件概率分布。这可以通过将联合概率分布除以给定特征的概率分布得到。
(4)使用条件概率分布计算条件熵,衡量在给定一个特征的情况下,另一个特征的不确定性。条件熵的计算公式如下:
H(Y|X)=-Σx,yp(x,y)log p(y|x)
其中,p(x,y)是联合概率分布,p(y|x)是条件概率分布;
(5)根据条件熵的计算结果,可以得到特征之间的相似性度量。一般来说,条件熵越小,特征之间的关联性越强,相似性越高;反之,条件熵越大,特征之间的关联性越弱,相似性越低。
其中,本实施例中预先设置有系统设备特征库,所述系统设备特征库包含将已知IP设备特征经过傅里叶变换后在频域中表示的特征数据。
步骤104、根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息,具体是:若存活IP设备的所在层次为控制层,则采用特定工控协议数据包的自适应探测方法进行探测;若存活IP设备的所在层次为过程层或管理层,则使用端口扫描工具进行端口扫描和服务识别;
在本步骤中,具体的,根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息。对于过程层和管理层传统网络设备采用端口扫描工具进行端口扫描和服务识别,在本实施例中使用开源扫描器框架Nmap来识别设备信息。Nmap是一种开源网络扫描器,用于网络发现和安全审计。该扫描器具有灵活性和可定制性,能够对网络中的主机和服务进行快速、全面的扫描,并提供详尽的扫描报告。Nmap支持多种扫描技术,包括TCP SYN扫描、UDP扫描、ACK扫描、TCP connect扫描等,可以检测主机的开放端口、运行的服务以及网络拓扑信息。此外,Nmap还提供了多种高级功能,如操作系统识别、服务版本探测、脚本扫描等,可用于评估网络的安全性和漏洞情况。对于控制层设备,由于其需要稳定的通信环境,任何网络中断或不稳定性都可能导致生产过程中断或异常,因此对稳定性要求极高。同时又需要即时响应来自其他设备的指令,并对传感器采集的数据进行高精度的实时处理,因此对实时性要求也极高。本发明采用构造特定工控协议数据包的自适应探测方法减少主动探测对控制层设备的影响。具体步骤如下:
(1)确定工控系统中常用的端口,例如Modbus TCP的默认端口502、DNP3的端口20000等,作为扫描目标端口。
(2)构造符合TCP协议的数据包,其中包含正确的源端口和目的端口。数据部分采用工控协议的标准报文格式,例如在Modbus TCP协议中,功能码0x2B(十进制为43)用于获取设备识别信息。这个功能码允许主站请求从站提供有关设备的识别信息,如设备的型号、制造商信息等。Modbus TCP报文格式通常包含事务标识符、协议标识符、长度字段、单元标识符、功能码、起始地址、寄存器数量等字段,在构造数据包时,需要注意按照字节顺序填充各个字段,并计算CRC校验值以确保数据的完整性。除了Modbus TCP协议外,在DNP3协议中,功能码0x60用于请求设备属性;在IEC 60870-5-104协议中,功能码0x64用于读取设备的参数和状态。针对不同的工控协议,数据包的格式和字段可能会有所不同,但构造过程基本类似,都需要按照协议规定的格式填充各个字段,并确保数据包的完整性和正确性。
(3)将构造好的数据包发送到目标IP地址,并等待响应。
(4)当获取到设备指纹信息后,将收集到的设备指纹信息与工控设备指纹库中的信息进行比对。根据新收集到的设备指纹信息,定期更新工控设备指纹库,确保库中包含最新的设备信息,提高比对的准确性和可靠性。
此外,具体的,对于控制层设备采用自适应发包探测技术,具体步骤如下:
(1)根据存活IP设备的所属类型,根据通信频率将通信频率具有周期性特点的控
制层设备标记为敏感设备,将通信频率不具有周期性特点的控制层设备标记为非敏感设备;
此处通信频率指的是S1022中分析目标IP集之间的频率。可以通过收集到的数据包分析出特定的IP之间的通信频率。通过数据包分析得出控制层设备中那些通信具有周期性特点的设备即为频率高设备,偶尔才会产生通信数据包即为频率低设备。
(2)对于敏感设备,设置最小扫描速率f=a0,最大扫描速率f=a1,其中a0≥1个特定工控协议数据包/秒,a0<a1≤10个特定工控协议数据包/秒;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率
单位为特定工控协议数据包/秒,k1是校正因子,k1≥
10,t0是扫描速率为最小扫描速率与最大扫描速率之间的中值时对应的t值,t是成功响应时间间隔;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最小扫描速率重启扫描;若当前设备在一个计时周期内连续出现四次以上的丢包,扫描立即停止,并将当前设备标记为非常敏感,之后的扫描周期内将不对其进行扫描;
(3)所述不稳定响应指代相邻响应时间差值大于阈值差值或响应时间大于阈值时间;
(4)对于非敏感设备,设置最小扫描速率f=b0,最大扫描速率f=b1,其中b0≥5
个特定工控协议数据包/秒,b0<b1≤50个特定工控协议数据包/秒,b0≥a0,b1>a1;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率单位为特定工控协议数据包/秒,k2是校正因子,k2≤k1;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最低速率重启扫描。
(5)所有扫描尝试和设备响应(包括成功、丢包、超时等)都被记录下来,以便后续的分析和调整扫描策略;
(6)根据日志中的响应模式,定期评估并调整初始扫描速率和增长机制的参数;
其中,所述不稳定响应指代相邻响应时间差值大于阈值差值或响应时间大于阈值时间;
所述敏感设备的最小扫描速率a0为每秒至少1个数据包;敏感设备的最大扫描速率a1为每秒不超过10个数据包;所述非敏感设备的最小扫描速率b0为每秒不少于5个数据包;非敏感设备的最大扫描速率b1为每秒不超过50个数据包;其中设定所述非敏感设备的最小扫描速率b0不低于所述敏感设备的最小扫描速率a0,并且所述非敏感设备的最大扫描速率b1明显高于所述敏感设备最大扫描速率a1,以体现两类设备在网络性能和承载能力方面的不同要求。
所述校正因子k1的值不小于10;所述校正因子k2的值不大于1;校正因子k1大于k2,用以不同的网络延迟调整环境下创造对敏感设备和非敏感设备不同的调节响应;所述k1、k2应该根据实际网络的特性来调整,对于敏感设备,f应该在小幅度的延迟增长时就迅速降低速率,因此k1选择较大数值;对于非敏感设备,f应该在网络延迟小幅度变化的条件下,保持对扫描频率调整的相对不变性,因此k2选择较小数值。
本实施例中预先设置有工控设备指纹库,包含各种设备的指纹信息,可以是已知设备的标准指纹信息或者是通过扫描和收集获取的。
步骤105、根据设备类型进行分类扫描,针对不同类型的设备采用不同的漏洞扫描方法。对于控制层设备,采用漏洞库匹配的方式发现漏洞,避免使用模拟攻击的方式,以防止控制层设备崩溃。对于过程层和管理层设备:结合传统漏扫和漏洞库匹配,以尽可能全面地发现漏洞。
在本步骤中,具体的,根据设备类型进行分类扫描,对于控制层设备,将收集的设备信息与系统工控漏洞库中的记录进行对比匹配,生成详细的报告,列出潜在的漏洞、其可能影响和推荐的修复措施,并分发给相关的安全和运维团队。
其中,本实施例中预设有工控漏洞库,维护着最新的已知工控漏洞数据信息,包括漏洞ID、描述、影响的设备和固件版本、修复补丁链接等。
综上所述,本发明提出了一种基于自适应探测的工控漏洞扫描方法,该方法旨在高效、全面地识别和管理工控网络中的资产并评估其潜在漏洞。通过对网络流量数据的获取与预处理,本方法可捕获工控网络中各层级设备的通信特征;随后,通过分析存活设备的通信模式和协议类型进行设备分类并提取特征。利用傅里叶变换和条件熵相似度比较技术细化设备类型识别,提高识别的准确度。为降低主动探测可能对控制层设备带来的风险,采取自适应探测技术和指纹信息比对,同时利用Nmap等工具对传统网络层设备进行探测。本方法不仅优化了资产发现流程,增强了设备识别和漏洞扫描的准确性,也极大降低了对工业控制系统稳定性的影响。通过建立详尽的工控设备和漏洞信息库,本发明可实时更新和对比,从而为技术人员提供全面的网络资产视图和安全评估,以防潜在的网络风险。这种方法不仅解决了资产管理的痛点,还提高了运维效率,使得专业人员能够专注于业务上的安全性,确保了对于可能由未知高危端口带来的风险的实时了解,从而有效避免潜在的安全威胁。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于自适应探测的工控漏洞扫描方法,其特征在于,所述方法包括以下步骤:
步骤101、流量数据获取与预处理;具体是:
从工控网络的设备层、过程层和管理层采集流量数据包,并对捕获的数据包进行预处理,删除冗余数据并补全应有的通信关系;
步骤102、工控网络中存活设备的分析与分类识别;具体是:
S1021根据步骤101预处理后的数据包,分析工控网络中的存活IP设备;
S1022基于设备间的通信模式和使用的协议类型,对步骤101预处理后的数据包进行解析,初步判断存活IP设备所在的层次,所述层次为控制层、过程层或管理层;
步骤103、确定存活IP设备的所属类型;
步骤104、自适应探测
根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息,具体是:若存活IP设备的所在层次为控制层,则采用特定工控协议数据包的自适应探测方法进行探测;若存活IP设备的所在层次为过程层或管理层,则使用端口扫描工具进行端口扫描和服务识别;
所述特定工控协议数据包的构造过程具体如下:
(1)确定工控系统中扫描目标端口;
(2)构造符合工控协议的数据包,所述数据包包含源端口和目的端口,数据部分采用工控协议的标准报文格式;
(3)将构造好的数据包发送到目标IP地址,并等待响应;
(4)当获取到目标IP设备指纹信息后,将收集到的设备指纹信息与工控设备指纹库中的信息进行比对,更新工控设备指纹库;
步骤105、根据设备类型进行分类扫描,针对不同类型的设备采用不同的漏洞扫描方法。
2.根据权利要求1所述方法,其特征在于步骤103具体是:
对于存活IP设备中同一源IP设备的流量数据包,计算相邻数据包之间的通信流量时间间隔分布;
使用傅里叶变换对不同存活IP设备的数据包长度分布进行频域特征提取;使用傅里叶变换对同一源IP设备的通信流量时间间隔分布进行频域特征提取;将所提取的特征与系统设备特征库中已知IP设备的特征进行相似度比较,确定当前存活IP设备所属的具体类型。
3.根据权利要求2所述方法,其特征在于步骤103中所述频域特征包括频谱的主要频率成分、频谱的能量分布、频谱的峰值。
4.根据权利要求2所述方法,其特征在于步骤103中所述相似度采用条件熵。
5.根据权利要求2所述方法,其特征在于步骤103中所述系统设备特征库包含将已知设备特征经过傅里叶变换后在频域中表示的特征数据。
6.根据权利要求1所述方法,其特征在于步骤104中所述端口扫描工具采用开源扫描器框架Nmap。
7.根据权利要求1所述方法,其特征在于步骤104中所述特定工控协议数据包的构造过程中,若工控协议为Modbus TCP协议,功能码0x2B用于获取设备识别信息;Modbus TCP报文格式包含事务标识符、协议标识符、长度字段、单元标识符、功能码、起始地址、寄存器数量;
若工控协议为DNP3协议中,功能码0x60用于请求设备属性;
若工控协议为IEC 60870-5-104协议中,功能码0x64用于读取设备的参数和状态。
8.根据权利要求1所述方法,其特征在于所述特定工控协议数据包的自适应探测方法,具体步骤如下:
根据存活IP设备的所属类型,根据通信频率将通信频率具有周期性特点的控制层设备标记为敏感设备,将通信频率不具有周期性特点的控制层设备标记为非敏感设备;
对于敏感设备,设置最小扫描速率f=a0,最大扫描速率f=a1,其中a0≥1个特定工控协议数据包/秒,a0<a1≤10个特定工控协议数据包/秒;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率单位为特定工控协议数据包/秒,k1是校正因子,k1≥10,t0是扫描速率为最小扫描速率与最大扫描速率之间的中值时对应的t值,t是成功响应时间间隔;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最小扫描速率重启扫描;若当前设备在一个计时周期内连续出现四次以上未收到响应,扫描立即停止,并将当前设备标记为非常敏感,之后的扫描周期内将不对其进行扫描;
所述不稳定响应指代相邻响应时间差值大于阈值差值或响应时间大于阈值时间;
对于非敏感设备,设置最小扫描速率f=b0,最大扫描速率f=b1,其中b0≥5个特定工控协议数据包/秒,b0<b1≤50个特定工控协议数据包/秒,b0≥a0,b1>a1;初始化扫描速率为最小扫描速率;若当前设备成功响应后,更新扫描速率单位为特定工控协议数据包/秒,k2是校正因子,k2≤k1;若扫描当前设备未收到响应,t将重置为无穷大;若当前设备连续三次出现不稳定响应,扫描将暂停,等候T时间后再尝试以最低速率重启扫描。
9.根据权利要求1所述方法,其特征在于步骤S105具体是:
对于控制层设备,按照设备类型采用漏洞库匹配的方式发现漏洞;
对于过程层和管理层设备,按照设备类型采用结合传统漏扫工具和漏洞库匹配的方式发现漏洞。
10.实现权利要求1-9任一项所述方法的工控漏洞扫描系统,其特征在于,所述系统包括:
流量数据获取与预处理模块,用于从工控网络的设备层、过程层和管理层采集流量数据包,并对捕获的数据包进行预处理,删除冗余数据并补全应有的通信关系;
工控网络中存活设备的分析与分类识别模块,用于分析工控网络中的存活IP设备以及存活IP设备所在的层次;
存活IP设备的所属类型分析模块,用于确定存活IP设备的所属类型;
自适应探测模块,用于根据存活IP设备的所在层次和所属类型,采取差异化的自适应探测措施获取详细的设备信息;
分类扫描模块,用于根据设备类型进行分类扫描,针对不同类型的设备采用不同的漏洞扫描方法。
CN202410219008.0A 2024-02-28 2024-02-28 一种基于自适应探测的工控漏洞扫描方法及其系统 Pending CN118041648A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410219008.0A CN118041648A (zh) 2024-02-28 2024-02-28 一种基于自适应探测的工控漏洞扫描方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410219008.0A CN118041648A (zh) 2024-02-28 2024-02-28 一种基于自适应探测的工控漏洞扫描方法及其系统

Publications (1)

Publication Number Publication Date
CN118041648A true CN118041648A (zh) 2024-05-14

Family

ID=90987393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410219008.0A Pending CN118041648A (zh) 2024-02-28 2024-02-28 一种基于自适应探测的工控漏洞扫描方法及其系统

Country Status (1)

Country Link
CN (1) CN118041648A (zh)

Similar Documents

Publication Publication Date Title
Perdisci et al. Iotfinder: Efficient large-scale identification of iot devices via passive dns traffic analysis
US10944784B2 (en) Identifying a potential DDOS attack using statistical analysis
EP2725512A1 (en) System and method for malware detection using multi-dimensional feature clustering
US20100235917A1 (en) System and method for detecting server vulnerability
Feng et al. Feature selection for machine learning-based early detection of distributed cyber attacks
JP6564799B2 (ja) 閾値決定装置、閾値決定方法及びプログラム
CN113743542B (zh) 一种基于加密流量的网络资产识别方法与系统
CN111488577A (zh) 一种基于人工智能的漏洞利用的方法和装置
US20120167222A1 (en) Method and apparatus for diagnosing malicous file, and method and apparatus for monitoring malicous file
CN110740144A (zh) 确定攻击目标的方法、装置、设备及存储介质
CN112291213A (zh) 一种基于智能终端的异常流量分析方法及装置
Sun et al. Unsupervised field segmentation of unknown protocol messages
US20200021608A1 (en) Information processing apparatus, communication inspecting method and medium
US8429458B2 (en) Method and apparatus for system analysis
CN118041648A (zh) 一种基于自适应探测的工控漏洞扫描方法及其系统
CN112583774A (zh) 一种攻击流量检测的方法、装置、存储介质及电子设备
JP3892322B2 (ja) 不正アクセス経路解析システム及び不正アクセス経路解析方法
JP2010239392A (ja) サービス不能攻撃制御システム、装置、および、プログラム
US11789743B2 (en) Host operating system identification using transport layer probe metadata and machine learning
US10257093B2 (en) Information processing device, method, and medium
CN114172980A (zh) 一种识别操作系统类型的方法、系统、装置、设备及介质
CN112487433A (zh) 一种漏洞的检测方法、装置及存储介质
CN107566187B (zh) 一种sla违例监测方法、装置和系统
CN112333174A (zh) 一种反射型DDos的IP扫描探测系统
CN116582371B (zh) 扫描器的检测方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination