CN108924102B - 高效的工控协议模糊测试方法 - Google Patents
高效的工控协议模糊测试方法 Download PDFInfo
- Publication number
- CN108924102B CN108924102B CN201810639958.3A CN201810639958A CN108924102B CN 108924102 B CN108924102 B CN 108924102B CN 201810639958 A CN201810639958 A CN 201810639958A CN 108924102 B CN108924102 B CN 108924102B
- Authority
- CN
- China
- Prior art keywords
- sample
- sample set
- test
- strategy
- protocol
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Physiology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于工控安全技术领域,具体涉及一种高效的工控协议模糊测试方法,分析协议格式,针对协议中的单个脆弱点采用变异策略集Mut中的策略进行变异,生成初代的单维畸形样本集,作为测试样本集TDB发送到待测设备,并检测设备异常记录反馈信息,计算适应度函数,基于轮盘赌策略选择父代样本集FDB,将父代样本集FDB中的个体两两交叉变异生成新的子代样本集SDB,将父代样本集FDB和子代样本集SDB一起作为新一轮测试的测试样本集TDB;用新的测试样本集TDB重复,直到维数达到饱和为止。本发明同时基于字段的多策略变异生成的多维测试用例,具有多样性,能够引发因不同字段采用不同策略变异引起的多触点异常。
Description
技术领域
本发明属于工控安全技术领域,具体涉及一种高效的工控协议模糊测试方法。
背景技术
随着工业数字化、网络化、智能化加快发展,工控安全面临安全漏洞不断增多安全威胁加速渗透、攻击手段复杂多样等新挑战。如何解决工控安全问题已成为企业面临的严峻挑战,并且得到了国家的高度重视。工业控制系统由于实时性、可靠性要求高,许多传统网络的安全手段并不能在工业控制领域发挥很好的作用。
目前,对工控网络安全漏洞进行检测时,端口服务扫描、漏洞特征扫描等技术对工控网络安全漏洞库的依赖较大,而公开的工控网络安全漏洞库中的安全漏洞信息很少,导致工控网络安全漏洞深入全面的检测无法实现;基于公开漏洞的扫描技术和机制,无法有效发现未知安全漏洞,且在时间上永远滞后于攻击者利用的未知安全漏洞。
模糊测试的基本思想是基于缺陷注入的自动化软件测试技术,通过向待测目标注入一组半有效的畸形数据包,监测待测目标运行过程中的异常以发现软件潜在的安全漏洞。其优势在于进行测试的成本相对较低,能够找出比较严重、且可能被攻击者加以利用的未知安全漏洞。传统的模糊测试存在代码覆盖率低、无法识别多点触发漏洞等缺陷。而工控协议具有面向会话、高度结构化且控制字段较多的特点,模糊测试方法直接应用于工控协议需要构造大量的变异器,面临组合爆炸的问题,测试效率不高。
发明内容
针对上述这些问题,本发明提出一种高效的工控协议模糊测试方法,生成多维测试用例,针对工控协议面向会话、多控制字段的特点的高效模糊测试策略。
Spike、Peach、Sulley等常规的模糊测试策略生成的测试用例都是单维的,即只是在单个字段进行变异生成测试用例。而工控协议是面向会话的过程,具有很多控制字段,而一些多点触发漏洞可能需要多个字段同时异常才会触发,因此常规的单维模糊测试用例直接应用于工控协议无法识别多点触发漏洞,且需要大量的测试用例,测试效率低。
本专利在协议格式识别的基础上,将协议划分可变域和不可变域。而不是针对整个报文盲目变异,避免生成无效报文,提高变异效率。
针对可变域中的每个可变字段,采用基于反馈式遗传算法生成多维的高效测试用例。
具体的方法为:
各个变量用符号的形式表示:
用vi表示协议中第i个脆弱点,即可以进行变异且可能引发异常的字段,如寄存器地址、功能码、输出地址等;
用Dx表示协议中的脆弱点数;
用Msg表示协议报文实体,Msg={S,v1,v2,v3…vDx},其中S为协议中不可变异字段;
用Mut表示变异策略集,Mut={m1,m2,m3…mi},其中mi为一种变异策略,如整数溢出、位翻转、设置特殊字符串、空字段等;
测试用例生成的具体算法步骤如下:
步骤一:分析协议格式,针对协议中的单个脆弱点采用变异策略集Mut中的策略进行变异,生成初代的单维畸形样本集GDB={G11,G12,G13…Gij…Gxy},其中Gij为第i个脆弱点采用第j种变异策略得到的畸形样本;
步骤二:将初代的单维畸形样本集GDB作为测试样本集TDB发送到待测设备,并检测设备异常记录反馈信息;
步骤三:根据反馈信息,并基于以下原则计算适应度函数:
原则(1):某个异常样本被选中的概率应该和该样本引发的异常密度成正比,异常密度越高,适应度应该,被选中的概率更大;
原则(2):为了保证种群的完整性,不能丢失低概率的个体,如果此轮测试没有引发异常并不能认为引发异常的概率为0;
原则(3):基于原则(2),对于多组引发异常为均为0的样本,规定适应度与测试次数成反比,即测试次数越少,适应度越高;
原则(4):对于新生成的多维的子代异常样本应该作为优良个体获得较高的概率生存;
其中L为畸形样本的维数,维数越高为遗传变异生成的优良个体所以具有更高的适应度,初代畸形样本维数为1;其中Dx为脆弱点数,脆弱点数越多就需要生成尽可能多维的畸形样本;ni为该样本此轮测试引发的异常数,Ni为该样本此轮测试的次数;ti为该样本测试总共引发的异常数,Ti为该样本测试的总次数。
步骤五:将父代样本集FDB中的个体两两交叉变异生成新的子代样本集SDB,将父代样本集FDB和子代样本集SDB一起作为新一轮测试的测试样本集TDB;
步骤六:用新的测试样本集TDB重复步骤二,直到维数达到饱和为止,即最新生成的多维样本个体适应度不能达到要求。
本发明提出一种高效的工控协议模糊测试方法,具有如下优点:
1、变异策略深入到字段层面,对协议脆弱点具有针对性的多策略变异,而不是盲目的对整个协议报文进行随机变异。这样可以避免一些无效报文的产生,提高测试的效率。同时基于字段的多策略变异生成的多维测试用例,具有多样性,能够引发因不同字段采用不同策略变异引起的多触点异常。
2、针对字段的多维变异测试用例改善了单一和单维的测试用例构造策略,不仅能够通过单个的多维变异测试用例触发多个异常的方式提高测试的效率,还能够触发工控协议由于多字段同时异常引起的多触点漏洞,这类漏洞在面向状态,具有多控制字段的工控协议中通过常规的单维测试用例难以发现。
3、采用基于轮盘赌策略的遗传算法生成的多维变异测试用例在保持高效的异常引发率的同时保证了变异的多样性和多维性,使具有高异常触发率的变异拥有大概率进入下一代种群遗传下去,同时低异常触发率的变异也具有一定的选择机会,不丢失畸形样本的多样性。
4、基于遗传算法适者生存的原则,避免多维多策略的变异构造策略造成的组合爆炸问题。同时设定维数饱和的规约,能够避免变异字段过多造成报文失效。
说明书附图
图1是本发明多维畸形样本生成流程图;
图2是本发明模糊测试流程图;
图3是实施例的IEC104协议格式。
具体实施方式
下面将结合模糊测试流程图以电力系统IEC104协议规约为实施例对本发明进行详细的说明。本发明的高效的工控协议模糊测试方法如图2所示,其中多维畸形样本生成流程如图1所示。
如图3所示,IEC104协议是一种基于以太网方式与调度系统通讯的协议,一般用于调度主站与变电站之间的网络数据通信。首先根据IEC104协议格式分析协议中可变域和不可变域,以及可变域中存在的脆弱点,IEC104规约报文封装了启动符、APDU长度、控制域(包括4组8位控制域)、以及应用服务数据单元。其中划分不可变域包括启动符、APDU长度、公共地址等。其中APDU长度为报文应用数据协议单元长度需要根据报文实体长度计算得出,不能变异否则会产生无效报文。公共地址即RTU地址,如果变异则无法发送到待测设备。脆弱点包括控制域组、类型标志、可变结构限定词、传送原因以及信息体。其中控制域定义了消息的类型和序号,类型标志定义了报文的功能。此类字段的异常表现可能会引起待测设备的异常,从而发现漏洞。
畸形样本生成模块根据基于IEC104协议提取的脆弱点在Mut变异策略库上生成初代的单维畸形样本集GDB。
将GDB作为测试样本集TDB通过通信模块发送到待测的设备并监控设备,监控模块检测待测设备的状态,并记录每组异常的反馈信息,即记录每组异常测试次数Ni,异常次数ni。
异常分析模块分析反馈信息,计算适应度函数Fit(i),并基于轮盘赌策略选择优良的父代个体,交叉变异生成多维的子代样本集。
将父代个体与子代样本集一起作为测试样本集TDB重复上述步骤,直到生成饱和维度的多维测试样例。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (4)
1.高效的工控协议模糊测试方法,其特征在于:
各个变量用符号的形式表示:
用vi表示协议中第i个脆弱点,即可以进行变异且可能引发异常的字段;
用Dx表示协议中的脆弱点数;
用Msg表示协议报文实体,Msg={S,v1,v2,v3…vDx},其中S为协议中不可变异字段;
用Mut表示变异策略集,Mut={m1,m2,m3…mi},其中mi为一种变异策略;
包括以下步骤:
步骤一:分析协议格式,针对协议中的单个脆弱点采用变异策略集Mut中的策略进行变异,生成初代的单维畸形样本集GDB={G11,G12,G13…Gij…Gxy},其中Gij为第i个脆弱点采用第j种变异策略得到的畸形样本;
步骤二:将初代的单维畸形样本集GDB作为测试样本集TDB发送到待测设备,并检测设备异常记录反馈信息;
步骤三:根据反馈信息,计算适应度函数:
其中L为畸形样本的维数,维数越高为遗传变异生成的优良个体所以具有更高的适应度,初代畸形样本维数为1;其中Dx为脆弱点数,脆弱点数越多就需要生成尽可能多维的畸形样本;ni为该样本此轮测试引发的异常数,Ni为该样本此轮测试的次数;ti为该样本测试总共引发的异常数,Ti为该样本测试的总次数;
步骤五:将父代样本集FDB中的个体两两交叉变异生成新的子代样本集SDB,将父代样本集FDB和子代样本集SDB一起作为新一轮测试的测试样本集TDB;
步骤六:用新的测试样本集TDB重复步骤二,直到维数达到饱和为止,即最新生成的多维样本个体适应度不能达到要求。
2.根据权利要求1所述的高效的工控协议模糊测试方法,其特征在于,所述的脆弱点包括但不限于寄存器地址、功能码、输出地址。
3.根据权利要求1所述的高效的工控协议模糊测试方法,其特征在于,所述的变异策略包括但不限于整数溢出、位翻转、设置特殊字符串、空字段。
4.根据权利要求1所述的高效的工控协议模糊测试方法,其特征在于,步骤三所述的计算适应度函数,基于以下原则:
原则(1):某个异常样本被选中的概率应该和该样本引发的异常密度成正比,异常密度越高,适应度应该,被选中的概率更大;
原则(2):为了保证种群的完整性,不能丢失低概率的个体,如果此轮测试没有引发异常并不能认为引发异常的概率为0;
原则(3):基于原则(2),对于多组引发异常为均为0的样本,规定适应度与测试次数成反比,即测试次数越少,适应度越高;
原则(4):对于新生成的多维的子代异常样本应该作为优良个体获得较高的概率生存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810639958.3A CN108924102B (zh) | 2018-06-21 | 2018-06-21 | 高效的工控协议模糊测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810639958.3A CN108924102B (zh) | 2018-06-21 | 2018-06-21 | 高效的工控协议模糊测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108924102A CN108924102A (zh) | 2018-11-30 |
CN108924102B true CN108924102B (zh) | 2020-03-10 |
Family
ID=64420256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810639958.3A Active CN108924102B (zh) | 2018-06-21 | 2018-06-21 | 高效的工控协议模糊测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108924102B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147310B (zh) * | 2019-04-02 | 2021-05-18 | 中国科学院信息工程研究所 | 一种基于变异策略的并行模糊测试调度方法及装置 |
CN110222505A (zh) * | 2019-05-30 | 2019-09-10 | 北方工业大学 | 一种基于遗传算法的工控攻击样本扩张方法及系统 |
CN113392402B (zh) * | 2021-05-24 | 2022-08-05 | 国网湖北省电力有限公司电力科学研究院 | 一种基于模糊测试的电力物联网协议漏洞检测系统及方法 |
CN114465938A (zh) * | 2022-01-05 | 2022-05-10 | 国网湖北省电力有限公司电力科学研究院 | 一种基于模糊测试的充电桩can协议的渗透测试方法、系统及存储介质 |
CN115550230B (zh) * | 2022-11-24 | 2023-04-07 | 博智安全科技股份有限公司 | 一种基于遗传算法的未知工控协议模糊测试方法及系统 |
CN115550069B (zh) * | 2022-11-29 | 2023-05-09 | 国网电动汽车服务(天津)有限公司 | 一种电动汽车智能充电系统及其安全防护方法 |
CN116094972B (zh) * | 2023-01-18 | 2024-05-07 | 重庆邮电大学 | 基于QRNN神经网络的Modbus TCP协议模糊测试方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243114A (zh) * | 2014-09-26 | 2014-12-24 | 浙江中控技术股份有限公司 | 通讯健壮性测试方法和平台 |
CN105245403A (zh) * | 2015-10-27 | 2016-01-13 | 国网智能电网研究院 | 一种基于模糊测试的电网工控协议漏洞挖掘系统和方法 |
CN105721230A (zh) * | 2014-11-30 | 2016-06-29 | 中国科学院沈阳自动化研究所 | 一种面向Modbus协议的模糊测试方法 |
CN105721255A (zh) * | 2016-04-14 | 2016-06-29 | 北京工业大学 | 基于模糊测试的工控协议漏洞挖掘系统 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
CN106059087A (zh) * | 2016-07-19 | 2016-10-26 | 国网四川省电力公司电力科学研究院 | 一种智能变电站脆弱性分析评估系统 |
CN106713284A (zh) * | 2016-12-02 | 2017-05-24 | 国网浙江省电力公司电力科学研究院 | 一种工控安全检测系统及工控系统 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037266B2 (en) * | 2016-04-01 | 2018-07-31 | Sony Interactive Entertainment America Llc | Game stream fuzz testing and automation |
-
2018
- 2018-06-21 CN CN201810639958.3A patent/CN108924102B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243114A (zh) * | 2014-09-26 | 2014-12-24 | 浙江中控技术股份有限公司 | 通讯健壮性测试方法和平台 |
CN105721230A (zh) * | 2014-11-30 | 2016-06-29 | 中国科学院沈阳自动化研究所 | 一种面向Modbus协议的模糊测试方法 |
CN105245403A (zh) * | 2015-10-27 | 2016-01-13 | 国网智能电网研究院 | 一种基于模糊测试的电网工控协议漏洞挖掘系统和方法 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
CN105721255A (zh) * | 2016-04-14 | 2016-06-29 | 北京工业大学 | 基于模糊测试的工控协议漏洞挖掘系统 |
CN106059087A (zh) * | 2016-07-19 | 2016-10-26 | 国网四川省电力公司电力科学研究院 | 一种智能变电站脆弱性分析评估系统 |
CN106713284A (zh) * | 2016-12-02 | 2017-05-24 | 国网浙江省电力公司电力科学研究院 | 一种工控安全检测系统及工控系统 |
CN107241226A (zh) * | 2017-06-29 | 2017-10-10 | 北京工业大学 | 基于工控私有协议的模糊测试方法 |
Non-Patent Citations (1)
Title |
---|
工控网络协议Fuzzing测试技术研究综述;熊琦;《小型微型计算机系统》;20150331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108924102A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924102B (zh) | 高效的工控协议模糊测试方法 | |
CN110505241B (zh) | 一种网络攻击面检测方法及系统 | |
Cannady | Artificial neural networks for misuse detection | |
Sun et al. | Honeypot identification in softwarized industrial cyber–physical systems | |
Le et al. | Data analytics on network traffic flows for botnet behaviour detection | |
Cannady et al. | The application of artificial neural networks to misuse detection: initial results | |
Aiello et al. | Basic classifiers for DNS tunneling detection | |
US11595434B2 (en) | Method and system for intrusion detection | |
Krishna et al. | Intrusion detection and prevention system using deep learning | |
CN109688154B (zh) | 一种网络入侵检测模型建立方法及网络入侵检测方法 | |
CN113886225A (zh) | 一种面向未知工控协议的模糊测试系统和方法 | |
Sharma et al. | Survey of intrusion detection techniques and architectures in wireless sensor networks | |
Basile et al. | An approach for detecting and distinguishing errors versus attacks in sensor networks | |
Salih et al. | Implementation of hybrid artificial intelligence technique to detect covert channels attack in new generation internet protocol IPv6 | |
Dai et al. | Eclipse attack detection for blockchain network layer based on deep feature extraction | |
Kelli et al. | Attacking and defending DNP3 ICS/SCADA systems | |
Liu et al. | Detecting DDoS attacks using conditional entropy | |
Banik et al. | Implementing man-in-the-middle attack to investigate network vulnerabilities in smart grid test-bed | |
CN110222505A (zh) | 一种基于遗传算法的工控攻击样本扩张方法及系统 | |
Langin et al. | A self-organizing map and its modeling for discovering malignant network traffic | |
Pan et al. | An integrated model of intrusion detection based on neural network and expert system | |
CN117061236A (zh) | 一种网络协议的模糊测试方法 | |
Rubinstein et al. | Compromising PCA-based anomaly detectors for network-wide traffic | |
Campbell et al. | Exploring tunneling behaviours in malicious domains with self-organizing maps | |
Whalen et al. | Hidden markov models for automated protocol learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |