CN108509797A - 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 - Google Patents
基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 Download PDFInfo
- Publication number
- CN108509797A CN108509797A CN201810155598.XA CN201810155598A CN108509797A CN 108509797 A CN108509797 A CN 108509797A CN 201810155598 A CN201810155598 A CN 201810155598A CN 108509797 A CN108509797 A CN 108509797A
- Authority
- CN
- China
- Prior art keywords
- control system
- industrial control
- loophole
- detection
- detection device
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法,涉及漏洞检测技术领域,其中基于漏洞挖掘方法包括:首先将检测装置连接上工控系统,在检测装置连接上工控系统之后检测装置获取工控系统的数据,检测装置生成标准状态表单和标准的运行数据,在标准状态表单和标准的运行数据生成之后,存储标准状态表单和标准的运行数据,之后检测装置启动漏洞检测;漏洞检测通过模糊测试进行漏洞检测。采用上述技术方案,由于在出厂时,率先进行漏洞检测,从原先被动的检测修复漏洞变为主动检测漏洞,降低出厂后工控系统的出错概率,提升了用户体验;同时通过状态表单和运行数据同时进行模糊测试,使得漏洞的发现概率更高,更准确。
Description
技术领域
本发明涉及漏洞检测技术领域,特别涉及一种基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法。
背景技术
工业控制系统简称工控系统,是通过计算机或者总线对机床或者传感器进行控制的系统,工控系统由于很多时候需要设置在工业现场,其整体密封度较好。但是由于工业控制的运算能力要求较低,导致工业控制系统出厂时的版本都比家用系统低,这也直接造成了工业控制系统在使用过程中经常出现漏洞,现有技术中,通常都是在系统出现问题时,也就是漏洞出现时才能发现漏洞,并没有一种很好的主动式工控系统漏洞挖掘的方法和装置。
发明内容
本发明要解决的技术问题是提供一种基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法,解决现有技术中只有在系统出现问题时才能发现漏洞的技术问题。
为了解决上述技术问题,本发明的技术方案为:
一种基于模糊测试的工控系统漏洞挖掘方法,包括:首先将检测装置连接上工控系统,在检测装置连接上工控系统之后检测装置获取工控系统的数据,检测装置生成标准状态表单和标准的运行数据,在标准状态表单和标准的运行数据生成之后,存储标准状态表单和标准的运行数据,之后检测装置启动漏洞检测,其中,所述漏洞检测通过模糊测试进行漏洞检测。
其中,所述标准状态表单通过图片的格式进行存储。
其中,所述检测装置启动漏洞检测的方法包括通过比对表单进行漏洞检测和通过运行数据比对进行漏洞检测。
具体的,通过比对表单进行漏洞检测的方法包括:检测装置生成随机序列,将随机序列数据包发送至工控系统,将生成的实时表单与标准状态表单进行差异比对,判断表单的差异程度是否超过阈值,如果是则判定存在漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次的漏洞检测。
具体的,通过运行数据比对进行漏洞检测的方法包括:检测装置生成随机序列,将随机序列数据包发送至工控系统,检测装置检测运行数据是否发生变化,如果是则判定为存在疑似漏洞,进行疑似漏洞的认定,否则判定为不存在漏洞,继续下一次漏洞检测。
更具体的,所述疑似漏洞认定的方法包括:检测装置存储疑似漏洞的随机序列和返回的数据包,将随机序列和返回的数据包发送至后台中心,后台中心判断是否存在基于该随机序列和该返回的数据包的漏洞,如果是则判定为漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次漏洞检测。
一种漏洞修复方法,包括:后台中心对漏洞进行分析,分析之后生成修正代码,后台中心将修正代码通过检测装置发送给工控系统,工控系统使用修正代码替代原有代码。
其中,在后台中心将修正代码通过检测装置发送给工控系统之后,工控系统将原有代码存储在检测装置中。
其中,在工控系统使用修正代码替代原有代码之后,还将验证修正代码的可行性。
一种基于模糊测试的工控系统漏洞挖掘装置,包括:
连接模块:用于将检测装置连接上工控系统;
数据获取模块:用于在检测装置连接上工控系统之后检测装置获取工控系统的数据;
标准信息生成模块:用于生成标准状态表单和标准的运行数据;
存储模块:用于存储标准状态表单和标准的运行数据;
漏洞检测模块:用于启动漏洞检测。
采用上述技术方案,由于在工控系统出厂时,率先进行漏洞检测,从原先被动的检测修复漏洞变为主动检测漏洞,降低出厂后工控系统的出错概率,提升了用户体验;同时通过状态表单和运行数据同时进行模糊测试,使得漏洞的发现概率更高,更准确。
附图说明
图1为本发明基于模糊测试的工控系统漏洞挖掘方法的流程图;
图2为本发明中通过比对表单进行漏洞检测的方法的流程图;
图3为本发明中通过运行数据比对进行漏洞检测的方法的流程图;
图4为本发明中疑似漏洞认定的方法的流程图;
图5为本发明漏洞修复方法的流程图;以及
图6为本发明基于模糊测试的工控系统漏洞挖掘装置的结构示意图。
图中,601-连接模块,602-数据获取模块,603-标准信息生成模块,604-存储模块,605-漏洞检测模块。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
作为本发明的第一实施例,提出一种基于模糊测试的工控系统漏洞挖掘方法,如图1所示,包括:首先在工控系统稳定运行之后,将检测装置连接上工控系统(步骤S1),本实施例中采用带有数据传输接口的检测装置,例如带有检测软件的PC主机;检测装置通过数据线缆连接至工控系统的主机的数据接口上。在检测装置连接上工控系统之后检测装置启动,调用工控系统的数据(步骤S2),检测装置将调取的工控系统中的数据分别生成为标准状态表单和标准的运行数据(步骤S3),将标准状态表单转化为曲线图或者柱状图,方便观察区别;在标准状态表单和标准的运行数据生成之后,将标准状态表单和标准的运行数据进行存储(步骤S4),其中,转化为曲线图的标准状态表单以图片的格式进行存储,存储精度为300dpi的分辨率,2000*2000的像素尺寸,使得存储的标准状态表单能够清晰可见,同时可以进行SIFT特征点识别;标准的运行数据则以数据包的方式进行存储,以16字节的物理页为最小单位进行顺序存储;在存储之后检测装置启动基于模糊测试的漏洞检测(步骤S5)。
其中,检测装置启动基于模糊测试的漏洞检测的方法包括了通过比对表单进行漏洞检测和通过运行数据比对进行漏洞检测,上述两种漏洞检测方式同步进行,也就是在同一时间段时,生成的随机序列同时作用于状态表单和运行数据。
如图2所示,通过比对表单进行漏洞检测的方法包括:检测装置首先生成随机序列(步骤S501),例如随机序列为16位的随机数,在正常输入数据流的第N行增加一该随机数,N与随机数均根据时间节点来选择不同的数以达到在一定时间段内能够检测整体系统;将随机序列数据包发送至工控系统(步骤S502),之后检测装置监控实时生成的状态表单的变化,将生成的实时状态表单与标准状态表单进行差异比对(步骤S503),由于标准状态表单是通过曲线图或者柱状图形式的图片格式进行存储,因此实时状态表单也先转化为同样的曲线图或柱状图,再以图片格式进行存储,之后通过SIFT图像特征点进行比对,生成差异列表,根据差异列表分析出差异点;判断表单的差异程度是否超过阈值(步骤S504),如果是则判定存在漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次的漏洞检测。
如图3所示,通过运行数据比对进行漏洞检测的方法包括:与通过比对表单进行漏洞检测的方法一样,检测装置首先生成随机序列(步骤S511),例如随机序列为16位的随机数,在正常输入数据流的第N行增加一该随机数,N与随机数均根据时间节点来选择不同的数以达到在一定时间段内能够检测整体系统;将随机序列数据包发送至工控系统(步骤S512),检测装置检测运行数据是否发生变化(步骤S513),如果是则判定为存在疑似漏洞,进行疑似漏洞的认定(步骤S514),否则判定为不存在漏洞,继续下一次漏洞检测。
具体的,如图4所示,步骤S514,疑似漏洞认定的方法包括:检测装置存储疑似漏洞的随机序列和返回的数据包(步骤S5141),将随机序列和返回的数据包发送至后台中心(步骤S5142),后台中心判断是否存在基于该随机序列和该返回的数据包的漏洞(步骤S5143)后台中心可以通过人工的方式通过程序员对随机序列和返回数据包对原代码进行漏洞的人为检测,判断是否为漏洞;经过人为检测如果是则判定为漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次漏洞检测。
作为本发明的第二实施例,基于上述基于模糊测试的工控系统漏洞挖掘方法,提出一种漏洞修复方法,如图5所示,包括:后台中心对漏洞进行分析(步骤T601),分析之后生成修正代码(步骤T602),后台中心将修正代码通过检测装置发送给工控系统(步骤T603),在后台中心将修正代码通过检测装置发送给工控系统之后,工控系统将原有代码存储在检测装置中,在确认工控系统运行正常之后再删除原有代码;工控系统使用修正代码替代原有代码(步骤T604),在工控系统使用修正代码替代原有代码之后,首先验证修正代码的可行性,通过检测装置发送随机序列数据包重新进行漏洞检测以验证修正代码的可行性。
作为本发明的第三实施例,与第一实施例中基于模糊测试的工控系统漏洞挖掘方法相对应的,提出一种基于模糊测试的工控系统漏洞挖掘装置,如图6所示,包括:
连接模块601:用于将检测装置连接上工控系统;数据获取模块602:用于在检测装置连接上工控系统之后检测装置获取工控系统的数据;标准信息生成模块603:用于生成标准状态表单和标准的运行数据;存储模块604:用于存储标准状态表单和标准的运行数据;漏洞检测模块605:用于启动漏洞检测;其中,检测装置启动基于模糊测试的漏洞检测的方法包括了通过比对表单进行漏洞检测和通过运行数据比对进行漏洞检测,上述两种漏洞检测方式同步进行,也就是在同一时间段时,生成的随机序列同时作用于状态表单和运行数据。
通过比对表单进行漏洞检测的方法包括:检测装置首先生成随机序列(步骤S501),例如随机序列为16位的随机数,在正常输入数据流的第N行增加一该随机数,N与随机数均根据时间节点来选择不同的数以达到在一定时间段内能够检测整体系统;将随机序列数据包发送至工控系统(步骤S502),之后检测装置监控实时生成的状态表单的变化,将生成的实时状态表单与标准状态表单进行差异比对(步骤S503),由于标准状态表单是通过曲线图或者柱状图形式的图片格式进行存储,因此实时状态表单也先转化为同样的曲线图或柱状图,再以图片格式进行存储,之后通过SIFT图像特征点进行比对,生成差异列表,根据差异列表分析出差异点;判断表单的差异程度是否超过阈值(步骤S504),如果是则判定存在漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次的漏洞检测。
通过运行数据比对进行漏洞检测的方法包括:与通过比对表单进行漏洞检测的方法一样,检测装置首先生成随机序列(步骤S511),例如随机序列为16位的随机数,在正常输入数据流的第N行增加一该随机数,N与随机数均根据时间节点来选择不同的数以达到在一定时间段内能够检测整体系统;将随机序列数据包发送至工控系统(步骤S512),检测装置检测运行数据是否发生变化(步骤S513),如果是则判定为存在疑似漏洞,进行疑似漏洞的认定(步骤S514),否则判定为不存在漏洞,继续下一次漏洞检测。
具体的,疑似漏洞认定的方法包括:检测装置存储疑似漏洞的随机序列和返回的数据包(步骤S5141),将随机序列和返回的数据包发送至后台中心(步骤S5142),后台中心判断是否存在基于该随机序列和该返回的数据包的漏洞(步骤S5143)后台中心可以通过人工的方式通过程序员对随机序列和返回数据包对原代码进行漏洞的人为检测,判断是否为漏洞;经过人为检测如果是则判定为漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次漏洞检测。
采用上述技术方案,由于在工控系统出厂时,率先进行漏洞检测,从原先被动的检测修复漏洞变为主动检测漏洞,降低出厂后工控系统的出错概率,提升了用户体验;同时通过状态表单和运行数据同时进行模糊测试,使得漏洞的发现概率更高,更准确。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (10)
1.一种基于模糊测试的工控系统漏洞挖掘方法,其特征在于,包括:首先将检测装置连接上工控系统,在检测装置连接上工控系统之后检测装置获取工控系统的数据,检测装置生成标准状态表单和标准的运行数据,在标准状态表单和标准的运行数据生成之后,存储标准状态表单和标准的运行数据,之后检测装置启动漏洞检测;其中,所述漏洞检测通过模糊测试进行漏洞检测。
2.根据权利要求1所述的基于模糊测试的工控系统漏洞挖掘方法,其特征在于:所述标准状态表单通过图片的格式进行存储。
3.根据权利要求1所述的基于模糊测试的工控系统漏洞挖掘方法,其特征在于,所述检测装置启动漏洞检测的方法包括通过比对表单进行漏洞检测和通过运行数据比对进行漏洞检测。
4.根据权利要求3所述的基于模糊测试的工控系统漏洞挖掘方法,其特征在于,通过比对表单进行漏洞检测的方法包括:检测装置生成随机序列,将随机序列数据包发送至工控系统,将生成的实时表单与标准状态表单进行差异比对,判断表单的差异程度是否超过阈值,如果是则判定存在漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次的漏洞检测。
5.根据权利要求3所述的基于模糊测试的工控系统漏洞挖掘方法,其特征在于,通过运行数据比对进行漏洞检测的方法包括:检测装置生成随机序列,将随机序列数据包发送至工控系统,检测装置检测运行数据是否发生变化,如果是则判定为存在疑似漏洞,进行疑似漏洞的认定,否则判定为不存在漏洞,继续下一次漏洞检测。
6.根据权利要求5所述的基于模糊测试的工控系统漏洞挖掘方法,其特征在于:所述疑似漏洞认定的方法包括:检测装置存储疑似漏洞的随机序列和返回的数据包,将随机序列和返回的数据包发送至后台中心,后台中心判断是否存在基于该随机序列和该返回的数据包的漏洞,如果是则判定为漏洞,进行漏洞修复,否则判定为不存在漏洞,继续下一次漏洞检测。
7.一种漏洞修复方法,其特征在于,包括:后台中心对漏洞进行分析,分析之后生成修正代码,后台中心将修正代码通过检测装置发送给工控系统,工控系统使用修正代码替代原有代码。
8.根据权利要求7所述的漏洞修复方法,其特征在于:在后台中心将修正代码通过检测装置发送给工控系统之后,工控系统将原有代码存储在检测装置中。
9.根据权利要求7所述的漏洞修复方法,其特征在于:在工控系统使用修正代码替代原有代码之后,还将验证修正代码的可行性。
10.一种基于模糊测试的工控系统漏洞挖掘装置,其特征在于,包括:
连接模块:用于将检测装置连接上工控系统;
数据获取模块:用于在检测装置连接上工控系统之后检测装置获取工控系统的数据;
标准信息生成模块:用于生成标准状态表单和标准的运行数据;
存储模块:用于存储标准状态表单和标准的运行数据;
漏洞检测模块:用于启动漏洞检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810155598.XA CN108509797A (zh) | 2018-02-23 | 2018-02-23 | 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810155598.XA CN108509797A (zh) | 2018-02-23 | 2018-02-23 | 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108509797A true CN108509797A (zh) | 2018-09-07 |
Family
ID=63375188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810155598.XA Withdrawn CN108509797A (zh) | 2018-02-23 | 2018-02-23 | 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509797A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255243A (zh) * | 2018-09-28 | 2019-01-22 | 深信服科技股份有限公司 | 一种终端内潜在威胁的修复方法、系统、装置及存储介质 |
CN110348220A (zh) * | 2019-06-28 | 2019-10-18 | 北京威努特技术有限公司 | 一种漏洞挖掘方法、漏洞修复验证方法、装置及电子设备 |
CN110825630A (zh) * | 2019-10-31 | 2020-02-21 | 浙江国利信安科技有限公司 | 漏洞挖掘方法及装置 |
CN113836539A (zh) * | 2021-09-01 | 2021-12-24 | 国网福建省电力有限公司 | 基于精准测试的电力工控系统漏洞全流程处置系统及方法 |
CN114238980A (zh) * | 2021-11-29 | 2022-03-25 | 中国兵器工业信息中心 | 一种工控设备漏洞挖掘方法、系统、设备及存储介质 |
-
2018
- 2018-02-23 CN CN201810155598.XA patent/CN108509797A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109255243A (zh) * | 2018-09-28 | 2019-01-22 | 深信服科技股份有限公司 | 一种终端内潜在威胁的修复方法、系统、装置及存储介质 |
CN110348220A (zh) * | 2019-06-28 | 2019-10-18 | 北京威努特技术有限公司 | 一种漏洞挖掘方法、漏洞修复验证方法、装置及电子设备 |
CN110825630A (zh) * | 2019-10-31 | 2020-02-21 | 浙江国利信安科技有限公司 | 漏洞挖掘方法及装置 |
CN110825630B (zh) * | 2019-10-31 | 2023-04-21 | 浙江国利信安科技有限公司 | 漏洞挖掘方法及装置 |
CN113836539A (zh) * | 2021-09-01 | 2021-12-24 | 国网福建省电力有限公司 | 基于精准测试的电力工控系统漏洞全流程处置系统及方法 |
CN114238980A (zh) * | 2021-11-29 | 2022-03-25 | 中国兵器工业信息中心 | 一种工控设备漏洞挖掘方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509797A (zh) | 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 | |
JP6214824B2 (ja) | 自動試験装置 | |
CN109491905A (zh) | 前端测试方法、装置及电子设备 | |
CN109032872B (zh) | 基于贝叶斯网络的设备故障诊断方法及系统 | |
CN112114897B (zh) | 基于工控屏的参数配置方法、装置和计算机设备 | |
CN102265628B (zh) | 用于检测和校正图像传感器中的坏像素的方法 | |
CN114492258A (zh) | 随机约束和覆盖组同步方法 | |
CN112859762B (zh) | 控制逻辑校验方法、装置、计算机设备和存储介质 | |
JP2006085708A (ja) | コンソールの制御装置及び制御方法 | |
CN109906609A (zh) | 用于监测图像传感器的方法和设备 | |
US7689301B2 (en) | Safety control device, safety control system, and method for detecting communication error | |
JP2013175118A (ja) | 制御装置、及びそのメモリ故障検出方法、その自己診断方法 | |
US6845440B2 (en) | System for preventing memory usage conflicts when generating and merging computer architecture test cases | |
KR20170133788A (ko) | 디지털 회로 오류 검증 방법 | |
US20190163380A1 (en) | Rewriting checking device, rewriting checking method, and non-transitory computer readable medium for rewriting checking | |
JPWO2016151710A1 (ja) | 仕様構成装置および方法 | |
US10547535B2 (en) | Relay device, display device, connection information transmission method, and network configuration display method | |
JP6917145B2 (ja) | 検査システム、検査方法及び検査プログラム | |
US9568550B1 (en) | Identifying failure indicating scan test cells of a circuit-under-test | |
CN106979794B (zh) | 传感器测试方法及装置 | |
JP6813637B1 (ja) | 伝送装置および伝送方法 | |
US20050259596A1 (en) | Topology map displaying system | |
JP2603159B2 (ja) | 直列制御装置のノ−ドチェック装置及びその方法 | |
CN113742242A (zh) | 一种接口测试方法及装置 | |
CN114116439A (zh) | 调试信息输出方法、装置、软件调试设备及存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180907 |