CN109409408A - 一种Modbus TCP协议模糊测试中畸形数据过滤方法 - Google Patents
一种Modbus TCP协议模糊测试中畸形数据过滤方法 Download PDFInfo
- Publication number
- CN109409408A CN109409408A CN201811106154.3A CN201811106154A CN109409408A CN 109409408 A CN109409408 A CN 109409408A CN 201811106154 A CN201811106154 A CN 201811106154A CN 109409408 A CN109409408 A CN 109409408A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- transmission control
- control protocol
- fuzz testing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种Modbus TCP协议模糊测试畸形数据过滤方法。本方法操作步骤如下:(1)用户导入抓包文件;(2)从的抓包文件中得到通信报文;(3)校验通信报文的特定字段信息,并将该字段信息加入到报文之中;(4)对报文归一化处理得到改进的应用数据单元(IADU);(5)将多个IADU构造训练矩阵;(6)对训练矩阵进行降维得到训练数据;(7)使用训练数据构建判定机制;(8)判定机制判定待输入数据,对之进行舍弃和保留。本发明实现了对待输入畸形数据的过滤,减少了无效测试数据的输入带来的额外通信负载,在待测目标数据吞吐受限的情况下,提升了模糊测试的速率和效率。
Description
技术领域
本发明涉及了工业网络安全领域,尤其涉及一种Modbus TCP协议模糊测试中畸形数据过滤方法。
背景技术
工业网络控制系统安全问题受到广泛重视,Modbus协议是Modicon公司1979年提出的 一种工业控制协议,具有协议标准开放、支持范围广和实时性好等特点,在工业控制系统中 应用十分广泛。Modbus TCP协议是运行在TCP/IP协议上的Modbus协议,Modbus协议数据 单元作为传输层负载进行传播,因此Modbus TCP协议也继承了TCP/IP协议的漏洞,此外, Modbus协议本身存在如明文传输、缺乏认证机制等问题,以及实现过程中程序存在的不足也 会产生一系列安全漏洞。
工业控制网络所使用的通信协议由于在其设计之初未充分考虑外来攻击和入侵等情况, 其在安全性上有许多不足。Modbus协议存在缺乏加密,缺乏认证和缺乏授权等问题。又由于 Modbus TCP是运行于TCP/IP协议之上的Modbus协议,TCP/IP协议中的存在的安全性问题 也会影响到工业控制网络安全。如在Modbus TCP协议中,由于Modbus协议数据单元以传输 层负载的形式进行传播,通信双方可能受到中间人、拒绝服务、IP欺骗等互联网中常用攻击 手段的攻击。同时由于工程师在实现工业控制网络通信协议的过程中可能存在经验不足等问 题,最后实现的通信协议中也有可能存在漏洞。
针对工业控制网络攻击的种类和数量不断增多,在卡巴斯基实验室解决方案保护的能源 组织工业控制系统中,有近40%在2017年下半年遭受过一次恶意攻击。恶意攻击者利用工业 控制网络协议中的不足和漏洞可以对攻击对象造成严重的危害。在攻击者进行攻击之前发现 不足和漏洞,以便于提前进行防范和修补具有重大意义。
模糊测试通过向待测目标输入大量的畸形数据来发现待测目标中存在的缺陷和漏洞。模 糊测试常用来检测网络协议中存在的缺陷,输入文件是否合法,其测试的自动化程度较高, 适用范围较广。模糊测试方法的一个评价指标是使用单位测试用例寻找到的待测目标的缺陷 和漏洞的个数,个数越多则模糊测试的命中率越高。模糊测试可以被用于发现Modbus TCP 协议中的漏洞。
由于运行Modbus TCP协议的工业设备通信能力不如商业IT设备,因此对此类设备进行 模糊测试时会因其可承受负载低而无法拥有可观的数据吞吐速率,进而降低了测试的速度。 通过建立判定机制实现对畸形数据的实时过滤,在输入序列中保留发现待测目标漏洞可能性 较高的畸形数据,舍弃可能性较低的畸形数据,一种在数据吞吐速率受限的情况下提高模糊 测试的效率和速率的方法。
在处理训练判定机制的样本数据中,由于数据写入过长导致的缓冲区溢出是70%的漏洞 的起因,因此样本数据的原始长度信息必须保留,且不能在后续处理中丢失,以使最终的判 定机制获得对缓冲区溢出的判断能力,增加判定畸形数据能否发现漏洞的准确率。通过将在 原始的样本数据格式中增加新的字段,其值为样本数据的实际长度,构造出一个改进的应用 数据单元(IADU),从而防止在后续处理中因样本数据长度发生变化导致长度信息丢失。
训练数据中字段和字段之间的重复信息会给判定机制的训练和工作带来额外的计算量, 从而影响判定的实时性。因此在保留样本数据原始长度信息的前提下,通过对样本数据的降 维,舍弃冗余的字段,实现保证判定的准确性的同时降低计算量,从而保证了判定实时性。 判定机制必须具有在保证实时判定的前提下,根据新的漏洞信息,迅速地更新判定规则的能 力。概率神经网络由于准确率高,训练迅速的特点,可以用于构建判定机制。
发明内容
本发明的目的在于,针对已有技术中待测Modbus TCP设备数据吞吐速率受限导致的模 糊测试测试效率低的问题,提出一种Modbus TCP协议模糊测试中畸形数据过滤方法,通过 保留待输入畸形数据队列中发现待测设备漏洞可能性较高的数据,舍弃可能性较低的畸形数 据,实现了对待输入畸形数据的过滤,减少了无效测试数据的输入带来的额外通信负载,在 待测目标数据吞吐速率受限的情况下,提升了模糊测试的速度和效率。
为达到上述目的,在本发明的一种Modbus TCP协议模糊测试中畸形数据过滤方法采用 技术方案如下:
(1)用户导入抓包文件:用户使用数据输入部分中的训练数据导入模块导入抓包文件。
(2)获取通信报文:数据处理部分中的报文预处理模块从抓包文件中获得通信报文。
(3)检验通信报文的特定字段信息,并将该字段信息加入保温之中:为防止训练数据的长 度信息在后续处理中因数据长度发生变化发生丢失,对通信报文的特定字段如长度字段进行 重新校验,并将重新得到的字段信息添加入报文中,得到新的训练数据。
(4)对报文进行归一化处理得到IADU。各个字段归一化的基准是各自能取到的最大值。
(5)使用i个IADU构成训练数据矩阵Si。
(6)对训练矩阵进行降维操作得到训练数据:为减小计算复杂度和降低最终的判定机制的 结构复杂度,提取训练数据矩阵Si的前j列得到矩阵Sij。并对Sij进行PCA处理。将PCA处 理中的协方差矩阵C的所有特征值进行降序,取前m个特征值λ1,λ2,…,λm,使用其对应的特征 向量p1,p2,…,pm构成矩阵T=(p1,p2,…,pm)。将Sij投影到特征向量构成的矩阵上即可得到 PNN构造样本的数据集
(7)使用训练数据构建判定机制:根据是否引发测试目标异常和异常的类型,可以将样本 中的报文分为Y-1种异常类型报文和1种正常类型的报文,将正常报文类型记为第1种类型。 此处将第t类报文包含的报文总数记为Nt。记rtw为中第t类中第w个报文对应的维数为m 的行向量。构造PNN,求和层中的神经元是训练数据集中各个行向量。求和层中各神经元 表示rtw向量所属的类别。输出层输出输入向量X相似程度最大的类别号。
(8)判定机制判定输入数据,对之进行舍弃和保留:使用PNN判定待输入畸形数据的 IADU。若判定结果为1,则舍弃该数据,若不为1,则将数据发送到待测设备。
本发明与现有技术相比较,具有显而易见的突出实质性特点和显著技术进步:(1)保留了 训练数据的长度信息,使最终得到的判定机制能准确判定待输入数据的实际长度过长能否发 现待测目标漏洞。(2)对训练数据矩阵Si进行截取并进行PCA能有效降低得到的PNN的结构 复杂度,降低判定的计算量,保证判定的实时性。(3)随着测试过程的进行,由于PNN具有 重训练迅速的特点,判定机制能实时地进行更新,从而增强判定能力。
附图说明
图1为本发明的具体操作程序框图。
图2是本发明的一种Modbus TCP协议模糊测试中畸形数据过滤方法被运用在对Modbus TCP协议进行模糊测试中的原理示意图。
图3是实施例中经过改进的Modbus TCP应用数据单元的格式。
图4是实施中所建立的PNN示意图。
图5是实施例中所使用的PNN工作流程图。
具体实施方式
为使本发明的技术方案和优点更加清晰明确,下面将结合本发明中优选实施例中的附图, 对本发明实施例中的技术方案进行详细阐述,显然,所阐述的实例仅仅是本发明的一部分实 例,并不是全部实例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性工 作前提下所获得的所有其他实例,都属于本发明保护的范围。
参看图2,所有实施例基于本发明提出了一种Modbus TCP协议模糊测试中畸形数据过滤 方法。
实施例一:
参见图1,实施例一中的Modbus TCP协议模糊测试中畸形数据过滤方法,操作步骤如下:
(1)用户导入抓包文件;
(2)从抓包文件中得到通信报文;
(3)校验通信报文的特定字段信息,并将该字段信息加入到报文之中;
(4)对报文归一化处理得到IADU;
(5)将i个IADU构造训练矩阵,i为除0和1的自然数;
(6)对训练矩阵进行降维得到训练数据;
(7)使用训练数据构建判定机制;
(8)判定机制判定待输入数据,对之进行舍弃和保留。
实施例二:
本实施例与实施例一基本相同,特征值之处如下:
所述步骤(3)中涉及的特定字段是用来反映报文长度信息的字段。
所述步骤(4)中涉及的归一化处理中所采用的基准为各个字段能取到的实际最大值。
所述步骤(5)中使用多个IADU构造训练矩阵时,每个IADU对应训练矩阵的行。
所述步骤(6)中,降维处理主要包括提取前列和PCA处理。
所述步骤(7)中所涉及的判定机制为PNN。
所述步骤(8)中判定机制将保留发现漏洞可能性较高的畸形数据,舍弃可能性较低的畸形 数据。
实施例三:
本实例中所采用的实施例分为数据输入部分、数据处理部分和测试记录分类部分。
数据输入部分由模糊数据输入模块和训练报文导入模块组成。用户经训练报文导入模块 选择需要使用的训练报文,本实例中用户导入的训练数据是为使用Wireshark抓取的待测目标 的Modbus TCP通信数据,格式为PCAP文件。PCAP文件中包含引发待测目标漏洞的通信数 据。模糊数据输入模块在本实例中使用本机通讯的方法,使用套接字通信将第三方模糊数据 产生器Peach产生的模糊数据发送至PNN判定模块。
数据处理部分的Modbus报文预处理模块使用python的scapy模块对用户导入的PCAP 文件进行解析,获得原始通信数据和每次通信对应的结果。
数据处理部分中的Modbus报文预处理模块对原始通信数据进行重新校验。参看图3。对 Modbus TCP的应用数据单元(ADU)中的长度、单元标识符、功能码和数据的实际长度进行重 新校验得到新的字段并将字段添加到应用数据单元中,得到改进的应用数据单元 (IADU)。
对于每个IADU可以由一个向量来表示:
其中DATA[n]表示数据字段第n+1个字节的值。
对于每个IADU向量,根据每个字段能取到的最大值,进行归一化处理。得到向量A,
其中MSS为TCP/IP握手过程中通信双方协商的应用数据段最大长度。
对于i个报文,可以构造一个IADU矩阵Si=(A1,A2,…,Ai)T,构造过程中,若向量Ak的 维数d(Ak)小于MAX(d(Am)),(1≤m≤i),则对Ak向量不足的维数补零。
为进一步减少计算量,对与矩阵Si选取前j列得到新的矩阵Sij,记Sij=(s1,s2,…,sj)T。
计算Sij的协方差矩阵C:
求C的特征值和特征向量,对特征值进行降序排序,选择前第1到m(m<j)个特征值λ1,λ2,…,λm,对应的特征向量p1,p2,…,pm组成特征向量矩阵T=(p1,p2,…,pm)。
将Sij投影到特征向量构成的矩阵上即可得到PNN构造样本的数据集
对于样本中的i个报文可以得到训练数据集记
根据是否引发测试目标异常和异常的类型,可以将样本中的报文分为Y-1种异常类型报 文和1种正常类型的报文,将正常报文类型记为第1种类型。此处将第t类报文包含的报文总 数记为Nt。记rtw为中第t类中第w个报文对应的维数为m的行向量。
在本实例中,正常类型的报文的编号为1。
设计PNN如图4所示,从左至右分别为输入层、模式层、求和层和输出层。其中输入层 中输入向量的元素数目为m,即输入向量有m个特征。求和层中的神经元是训练数据集中 各个行向量。求和层中各神经元表示rtw向量所属的类别。输出层输出输入向量X相似程度最 大的类别号。
PNN的工作原理如图5所示。PNN在收到模糊数据输入模块输入的一个数据后,先进行 数据预处理。具体操作为将输入数据重新计算,校验,归一化处理后得到的向量投影到由训 练样本得到的矩阵T上,得到向量X=(x1,x2,…,xm)。
将X=(x1,x2,…,xm)输入PNN判定模块。
PNN中输入层和模式层之间的连接是通过一个高斯函数,求得模式层中每个神经元和输 入层中每个神经元的相似程度值。
求和层中对每个类中各自的所有神经元相似程度加权求平均。
输入向量X对第t类漏洞的相似程度可以表示为:
其中σ为表示平滑参数,为唯一可以调整的量,通常σ∈(0,1)。
输出层输出匹配相似度最大的类别,若判定为1,则表示原始的模糊数据很有可能无法 引发待测目标异常,进而无法有效发现待测目标的漏洞,判定该数据为冗余测试数据,并舍 弃之。判定不为1,则将数据发送到Modbus测试模块。
在本实例中,异常监测模块通过定时向待测目标发送ICMP报文来检测待测目标是否正 常工作。若正常回复,则待测目标工作正常,反之则为不正常。
在检测到待测目标工作发生异常后,异常分类模块将读取待测目标的工作日志,并对产生的 异常进行分类,并记录相应的漏洞信息和测试数据。
Claims (7)
1.一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于操作步骤如下:
(1)用户导入抓包文件;
(2)从抓包文件中得到通信报文;
(3)校验通信报文的特定字段信息,并将该字段信息加入到报文之中;
(4)对报文归一化处理得到IADU;
(5)将i个IADU构造训练矩阵,i为除0和1以外的自然数;
(6)对训练矩阵进行降维得到训练数据;
(7)使用训练数据构建判定机制;
(8)判定机制判定待输入数据,对之进行舍弃和保留。
2.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(3)中涉及的特定字段是用来反映报文长度信息的字段。
3.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(4)中涉及的归一化处理中所采用的基准为各个字段能取到的实际最大值。
4.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(5)中使用多个IADU构造训练矩阵时,每个IADU对应训练矩阵的行。
5.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(6)中,降维处理主要包括提取前j列和PCA处理。
6.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(7)中所涉及的判定机制为PNN。
7.权利要求1所述的一种Modbus TCP协议模糊测试中畸形数据过滤方法,其特征在于:所述步骤(8)中判定机制将保留发现漏洞可能性较高的畸形数据,舍弃可能性较低的畸形数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106154.3A CN109409408A (zh) | 2018-09-21 | 2018-09-21 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106154.3A CN109409408A (zh) | 2018-09-21 | 2018-09-21 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109409408A true CN109409408A (zh) | 2019-03-01 |
Family
ID=65465202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811106154.3A Pending CN109409408A (zh) | 2018-09-21 | 2018-09-21 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409408A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639624A (zh) * | 2018-10-08 | 2019-04-16 | 上海大学 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431809A (zh) * | 2008-10-28 | 2009-05-13 | 中国科学院研究生院 | 一种obex协议漏洞挖掘方法及其系统 |
CN106209843A (zh) * | 2016-07-12 | 2016-12-07 | 工业和信息化部电子工业标准化研究院 | 一种面向Modbus协议的数据流异常分析方法 |
CN107070943A (zh) * | 2017-05-05 | 2017-08-18 | 兰州理工大学 | 基于流量特征图和感知哈希的工业互联网入侵检测方法 |
-
2018
- 2018-09-21 CN CN201811106154.3A patent/CN109409408A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431809A (zh) * | 2008-10-28 | 2009-05-13 | 中国科学院研究生院 | 一种obex协议漏洞挖掘方法及其系统 |
CN106209843A (zh) * | 2016-07-12 | 2016-12-07 | 工业和信息化部电子工业标准化研究院 | 一种面向Modbus协议的数据流异常分析方法 |
CN107070943A (zh) * | 2017-05-05 | 2017-08-18 | 兰州理工大学 | 基于流量特征图和感知哈希的工业互联网入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
周文刚: ""网络流量分类识别若干技术研究"", 《中国博士学位论文全文数据库 信息科技辑》 * |
李琳: ""基于OCSVM的工业控制系统入侵检测算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639624A (zh) * | 2018-10-08 | 2019-04-16 | 上海大学 | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | A dimension reduction model and classifier for anomaly-based intrusion detection in internet of things | |
CN109639624A (zh) | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 | |
Zhu et al. | Data mining for network intrusion detection: a comparison of alternative methods | |
Sangkatsanee et al. | Practical real-time intrusion detection using machine learning approaches | |
Li et al. | Data fusion for network intrusion detection: a review | |
Robinson et al. | Ranking of machine learning algorithms based on the performance in classifying DDoS attacks | |
Qazi et al. | Effect of feature selection, SMOTE and under sampling on class imbalance classification | |
Kato et al. | An intelligent ddos attack detection system using packet analysis and support vector machine | |
Gupta | An effective model for anomaly IDS to improve the efficiency | |
Fallah et al. | Android malware detection using network traffic based on sequential deep learning models | |
Zheng et al. | GCN‐ETA: High‐Efficiency Encrypted Malicious Traffic Detection | |
Khan et al. | A hybrid deep learning-based intrusion detection system for IoT networks | |
David et al. | Zero day attack prediction with parameter setting using bi direction recurrent neural network in cyber security | |
Sharma et al. | WLI-FCM and artificial neural network based cloud intrusion detection system | |
Xu et al. | [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN | |
Zhang et al. | Network Traffic Anomaly Detection Based on ML‐ESN for Power Metering System | |
Das et al. | A comparative analysis of deep learning approaches in intrusion detection system | |
Zhukovyts' kyy et al. | Detection of attacks on a computer network based on the use of neural networks complex | |
Tang et al. | A detection and mitigation scheme of LDoS Attacks via SDN Based on the FSS-RSR Algorithm | |
Singh et al. | A hybrid approach for intrusion detection based on machine learning | |
Ogawa et al. | Malware originated http traffic detection utilizing cluster appearance ratio | |
CN109409408A (zh) | 一种Modbus TCP协议模糊测试中畸形数据过滤方法 | |
Schuster et al. | Attack and fault detection in process control communication using unsupervised machine learning | |
Nwakanma et al. | Effective Industrial Internet of Things Vulnerability Detection Using Machine Learning | |
Alharam et al. | AI-based anomaly and data posing classification in mobile crowd sensing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |