一种基于迭代优化的工控协议格式分析方法技术

技术编号:22060271 阅读:32 留言:0更新日期:2019-09-07 17:47
本发明专利技术涉及一种基于迭代优化的工控协议格式分析方法,包括:将pcap文件中的报文数据导入,并加载到报文数据集中,之后用户自定义工控协议的格式以及各个字段的语义,再设置相似度分值,然后将报文数据集中的报文与自定义的协议格式逐个进行匹配,若匹配成功,则将该报文删除,直至所有报文都匹配完成,采用Needleman‑Wunsch序列比对算法对报文数据集中的报文进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文重新加载到报文数据集中,然后再转步骤S2,否则结束分析。本发明专利技术基于迭代优化的工控协议格式分析方法,其能更为准确地推断出协议的格式和语法,保证分析结果的准确性。

A Format Analysis Method of Industrial Control Protocol Based on Iterative Optimization

【技术实现步骤摘要】
一种基于迭代优化的工控协议格式分析方法
本专利技术涉及协议格式分析
,具体涉及一种基于迭代优化的工控协议格式分析方法。
技术介绍
工业控制系统(IndustrialControlSystem,ICS),简称工控系统,是由计算机设备与工业过程控制部件组成的自动控制系统,广泛应用于电力、水处理、石油与天然气、化工、交通运输、制造业等行业。随着计算机和网络技术的飞速发展,工控系统的网络化和信息化,在极大地推动了工业生产效率的同时,也使工控系统接口越来越开放,带来了不少安全隐患。为了杜绝这些隐患的发生,其中重要的一个环节是对工控系统所采用的协议进行逆向分析,然后结合模糊测试等方法对其进行检测,判断工控协议本身是否存在安全漏洞。对工控协议的分析方法大致可以分为基于网络流量的分析方法分析和基于指令执行序列的分析方法,由于基于指令执行序列的分析方法需要对协议实现代码进行深度分析,这种方法在执行过程中条件较为苛刻,而且对每种协议的实现都需要从头开始分析,而采用对网络流量进行分析的方法在通用性方面则更强,可以采用统一的方法来推断协议格式。采用网络流量分析方法对工控协议进行逆向时,可以采用人工和自动化的方式来进行,但是人工分析方式存在的主要问题是工作量比较大,需要具备专业知识的人花费较长的时间来推断协议的格式和各字段语义,而采用自动化的方式存在的问题是自动化逆向分析工具往往难以完全准确地分析出协议的格式和字段语义,很多时候必须依靠人工分析的方法来对结果进行改进。因此,亟需设计一种新的技术方案,以综合解决现有技术存在的问题。
技术实现思路
本专利技术的目的是提供一种基于迭代优化的工控协议格式分析方法,其能有效解决基于指令执行序列分析方法条件苛刻、对每种协议的实现都需要从头分析,而基于网络流量人工分析方法工作量大、耗时长以及基于网络流量自动化方式需要依靠人工分析的问题。为解决上述技术问题,本专利技术采用了以下技术方案:一种基于迭代优化的工控协议格式分析方法,包括以下步骤:步骤S1.将pcap文件中的报文数据导入,并将报文数据全部加载到报文数据集PacketSet中,然后转入步骤S2;步骤S2.用户根据先验知识或者对之前分析报文数据集PacketSet得到的结果自定义工控协议的格式以及各个字段的语义,随后再设置相似度分值,然后转入步骤S3;步骤S3.将报文数据集PacketSet中的报文数据与用户自定义的协议格式逐个进行匹配,若匹配成功,则将该报文数据从报文数据集PacketSet中删除,直至所有报文数据都匹配完成,然后转入步骤S4;步骤S4.采用Needleman-Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后再转步骤S2,否则结束分析。其中,步骤S2的相似度分值不同于之前分析时所设置的相似度分值。上述技术方案中提供的基于迭代优化的工控协议格式分析方法,能实现准确的协议格式和语法推断,通过引入用户先验知识以及前期逆向分析得到的结果,自定义协议格式和字段语义,并不断迭代优化分析结果,从而能更为准确地推断出协议的格式和语法,本专利技术在对协议进行逆向分析时采用了Needleman-Wunsch序列比对算法,该算法通过相似度计分、最优回溯等步骤推断协议的格式和语法,有效保证了分析结果的准确性,同时由于用户定义的协议格式可以减少参与序列比对的报文数量,能显著加快工控协议逆向的速度。附图说明图1为本专利技术基于迭代优化的工控协议格式分析方法的流程示意图。具体实施方式为了使本专利技术的目的及优点更加清楚明白,以下结合实施例对本专利技术进行具体说明。应当理解,以下文字仅仅用以描述本专利技术的一种或几种具体的实施方式,并不对本专利技术具体请求的保护范围进行严格限定。本实施例所需的运行环境为一台Intel-Windows架构的PC机以及格式为pcap类型的样本数据集,该样本数据集可采用wireshark等工具通过抓包的方式获得,且样本数据集中的报文都与待分析的工控协议有关。运行本专利技术提供的基于迭代优化的工控协议格式分析方法的PC机系统配置如下:在Intel-Windows架构的PC机上安装并运行基于本专利技术的软件(本实施例中软件的名称为NetPRA),该PC机硬件的主频2.5GHz及以上的Core八核CPU的PC机,内存≥4GB,硬盘500GB,运行Windows7操作系统。如图1所示,开始于步骤S101,程序读取pcap文件并将文件中所有的报文数据加载到报文数据集PacketSet中,然后转步骤S102;在步骤S102中,用户根据先验知识或者之前得到的分析结果定义协议的报文格式以及各字段的语义然后转步骤S103;在步骤S103中,设置Needleman-Wunsch序列比对算法执行所需的相似度分值,该相似度分值的设置应与之前分析时所设置的相似度分值不同,然后转步骤S104;在步骤S104中,将报文数据集PacketSet中的报文数据与用户定义的协议格式逐个进行匹配,然后转步骤S105;在步骤S105中,判断报文数据是否与用户定义的格式匹配成功,如果成功转步骤S106,否则转步骤S107;在步骤S106中,将匹配成功的报文数据从报文数据集PacketSet中删除,然后转步骤S107;在步骤S107中,判断报文数据集PacketSet中的所有报文数据是否都已经匹配完毕,如果没有转步骤S104,否则转步骤S108;在步骤S108中,采用Needleman-Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行协议逆向分析,并得到相应的分析结果,然后转步骤S109;在步骤S109中,根据分析结果来判断此次逆向分析是否结束,如果不结束则转步骤S110,否则转步骤S111;在步骤S110中,将pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后转回步骤S102;在步骤S111中,保存所有分析结果,并结束此次分析。附注:1.“先验知识”主要取决于用户的认知能力,用户通过人工方式先分析一遍,发现其中存在的某些协议格式,或者由于采用了迭代分析,通过前一次的多序列比对结果,推断出了其中的某些协议格式。2.对于“之前分析时所设置的分值”的解释,由于本专利技术采用的是迭代优化方法,因此用户之前已经进行过若干轮的分析,每轮分析都需要进行相似度分值的设置。综上所述,本专利技术提供的基于迭代优化的工控协议格式分析方法,能实现准确的协议格式和语法推断,通过引入用户先验知识以及前期逆向分析得到的结果,自定义协议格式和字段语义,并不断迭代优化分析结果,从而能更为准确地推断出协议的格式和语法,本专利技术在对协议进行逆向分析时采用了Needleman-Wunsch序列比对算法,该算法通过相似度计分、最优回溯等步骤推断协议的格式和语法,在一方面保证了分析结果的准确性,同时由于用户定义的协议格式可以减少参与序列比对的报文数量,也在另一方面加快了工控协议逆向的速度。上面结合实施例对本专利技术的实施方式作了详细说明,但是本专利技术并不限于上述实施方式,对于本
的普通技术人员来说,在获知本发本文档来自技高网
...

【技术保护点】
1.一种基于迭代优化的工控协议格式分析方法,其特征在于,包括以下步骤:步骤S1.将pcap文件中的报文数据导入,并将报文数据全部加载到报文数据集PacketSet中,然后转入步骤S2;步骤S2.用户根据先验知识或者对之前分析报文数据集PacketSet得到的结果自定义工控协议的格式以及各个字段的语义,随后再设置相似度分值,然后转入步骤S3;步骤S3.将报文数据集PacketSet中的报文数据与用户自定义的协议格式逐个进行匹配,若匹配成功,则将该报文数据从报文数据集PacketSet中删除,直至所有报文数据都匹配完成,然后转入步骤S4;步骤S4.采用Needleman‑Wunsch序列比对算法对报文数据集PacketSet中的报文数据进行逆向分析,得到新的协议分析结果,之后用户判断是否结束此次协议逆向分析,若需要继续进行迭代分析,则将原来pcap文件中的所有报文数据重新加载到报文数据集PacketSet中,然后再转步骤S2,否则结束分析。

【技术特征摘要】
1.一种基于迭代优化的工控协议格式分析方法,其特征在于,包括以下步骤:步骤S1.将pcap文件中的报文数据导入,并将报文数据全部加载到报文数据集PacketSet中,然后转入步骤S2;步骤S2.用户根据先验知识或者对之前分析报文数据集PacketSet得到的结果自定义工控协议的格式以及各个字段的语义,随后再设置相似度分值,然后转入步骤S3;步骤S3.将报文数据集PacketSet中的报文数据与用户自定义的协议格式逐个进行匹配,若匹配成功,则将该报文数据从报文数据集PacketSet中...

【专利技术属性】
技术研发人员:王占丰胡超马玮骏田益凡毛传奇陈嘉欣杭天谢赓
申请(专利权)人:南京莱克贝尔信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1