
技术摘要:
本发明公开一种基于自适应阈值的工控协议格式逆向方法,在不需要用户预先输入协议逆向分析所需要的阈值参数前提下,实现对工控数据样本的协议格式逆向。该方法的基本思想是:在对目标工控数据样本进行协议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值 全部
背景技术:
工业控制系统是由计算机设备与工业过程控制部件组成的自动控制系统,目前已 经在电力、水利、石化、交通等行业广泛应用,为了有效提高工业生产的效率,工业控制系统 变得越来越开放,可以通过互联网进行远程操作。而随着工业互联网的不断发展,工业控制 系统的重要性也越来越高,需要对其进行安全检测,特别是其中潜藏的漏洞有可能会被恶 意的网络攻击者利用从而对关键工业基础设施进行破坏。 目前绝大部分工业控制系统都已经可能通过互联网来进行控制,而这些控制命令 往往都需要利用工控协议来完成,工控协议规定了控制设备与工控设备进行通信时所遵循 的语法、语义和交互次序,然而由于协议设计的缺陷或者工控设备在进行代码实现时的不 周密都有可能导致协议漏洞而对工控系统产生安全威胁,在这种情况下,对工控协议进行 逆向分析和模糊测试是一种较为有效的方法。 当前工控协议逆向主要采用基于网络流量的方法来实现,该方法的主要是对控制 设备和工控设备之间通信的数据报文进行分析,从而推断出工控协议的报文格式和语法语 义。经典的分析方法是采用Needleman-Wunsch等序列比对算法计算报文字节序列之间的相 对距离,然后将具备较高相似性的报文序列聚类到一起,再根据相同类别中报文内容的变 化特征进行字段的切分。这种方法相对来说较为简单,也具有较高的通用性,但是在采用序 列比对算法计算报文之间相对距离的时候,需要用户提前输入一个阈值,只有相似度超过 该阈值的报文才会被划分到一个类别当中。然而对于不同的工控协议来说,需要设置的阈 值也各不相同,通常来说,字段较多且其中可变字段较长的协议在采用序列比对时应当设 置相对较低的阈值,而字段较少且可变字段较短的协议则应当设置相对较高的阈值,但是 面对未知的工控协议,用户难以准确判断出最优的阈值,这也给协议逆向分析带来了较大 的挑战。 为此,本发明通过自适应阈值来降低用户分析时面临的阈值选择问题,提高分析 结果的准确性,对于协议逆向具有较为重要的作用。
技术实现要素:
发明目的:针对工控协议逆向分析过程中采用序列比对算法时难以准确设置最优 的阈值问题,提出一种基于自适应阈值的工控协议格式逆向方法,从而实现最佳阈值的自 动筛选,从而提高协议逆向分析结果的准确性。 技术方案:一种基于自适应阈值的工控协议格式逆向方法,着重描述了在对未知 工控协议进行协议逆向分析时所采用的方法,在不需要用户预先输入协议逆向分析所需要 的阈值参数前提下,实现对工控数据样本的协议格式逆向;在对目标工控数据样本进行协 3 CN 111585959 A 说 明 书 2/3 页 议格式分析时,首先启动若干个进程,每个进程分别设置不同的阈值,采用Needleman- Wunsch序列比对算法对数据样本进行分析;根据各个进程的分析结果对其进行比对,如果 某个进程划分出的字段含有的语义数量最多,则优先选择该结果作为最终的分析结果,如 果存在语义数量相同的情况,则优先选择划分出字段数量最多的结果作为最终分析结果。 具体包括以下步骤: 步骤1,读取要进行协议逆向分析的样本数据集中的报文,并将报文保存到报文集合 Dataset中,然后转入步骤2; 步骤2,通过协议逆向分析程序开启若干个线程,均采用Needleman-Wunsch序列比对算 法对Dataset中的报文进行协议逆向分析,并对若干个线程设置不同的相似度阈值,等待分 析结果,然后转入步骤3; 步骤3,对得到的分析结果进行对比,如果某个线程得到的报文格式中识别出的有语义 的字段最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2个或2个以上 的线程识别出的有语义的字段数量相同,则转入步骤4; 步骤4,对识别出有语义字段数量相同的分析结果进行对比,如果某个线程得到的报文 格式中字段的数量最多,则选择该结果作为最终的分析结果,并终止程序的运行,如果有2 个或2个以上的线程划分出的字段数量相同,则转入步骤5; 步骤5,选择阈值最小的线程分析结果作为最终的分析结果,并结束程序的运行。 所述步骤2中,通过协议逆向分析程序开启5个线程,均采用Needleman-Wunsch序 列比对算法对Dataset中的报文进行协议逆向分析,分析内容包括协议的报文格式和字段 语义,这5个线程的相似度阈值分别设置为30、40、50、60、70,等待分析结果。 本发明相对现有技术具有以下优点: (1)能自动实现分析过程中阈值的设定:本发明提出的基于自适应阈值的工控协议格 式逆向方法能够通过程序自动设置进行序列比对分析时所需的阈值参数,从而降低了用户 使用协议逆向分析软件时的难度。 (2)能提高分析结果的准确度:基于自适应阈值的工控协议格式逆向方法在对协 议进行逆向分析时采用了目前国际上较为认可和流行的Needleman-Wunsch序列比对算法, 而且通过对不同阈值得到结果的进行比对和筛选,保证了分析结果的准确性。 附图说明 图1为本发明实施例对样本数据集进行工控协议逆向分析和处理的流程图。