CN113535731B - 一种基于启发式的报文状态交互自学习方法及装置 - Google Patents
一种基于启发式的报文状态交互自学习方法及装置 Download PDFInfo
- Publication number
- CN113535731B CN113535731B CN202110829099.6A CN202110829099A CN113535731B CN 113535731 B CN113535731 B CN 113535731B CN 202110829099 A CN202110829099 A CN 202110829099A CN 113535731 B CN113535731 B CN 113535731B
- Authority
- CN
- China
- Prior art keywords
- heuristic
- matrix
- state machine
- message
- forming
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000003993 interaction Effects 0.000 title claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims abstract description 28
- 238000013499 data model Methods 0.000 claims abstract description 26
- 238000013508 migration Methods 0.000 claims abstract description 26
- 230000005012 migration Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000013515 script Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000010276 construction Methods 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开一种基于启发式的报文状态交互自学习方法及装置。所述方法包括通过脚本或者图形界面构建数据模型,对数据模型的字段进行类型标记;构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵;进行报文的数据流锁定,将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件;将状态机触发条件和状态机迁移条件构成二维状态机迁移表。本发明提出的一种基于启发式的报文状态交互自学习方法,是一种创新的协议状态模型逆向方法,可以实现数据模型的启发,快速准确的构建状态模型,可以解决完全手动构建的繁琐,也可以解决完全自动化逆向准确度不足的问题。
Description
技术领域
本发明涉及工控安全技术领域,尤其涉及一种基于启发式的报文状态交互自学习方法及装置。
背景技术
模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。
在传统模糊测试中,对于私有协议往往要采取用户通过脚本来实现测试或者提供图形界面来帮助客户实现协议数据模型的搭建,但是对于状态模型,却是测试中的难题,为了解决这个问题,本发明提出一种基于数据模型启发来达到快速精准逆向状态模型的方法。
发明内容
本发明提供了一种基于启发式的报文状态交互自学习方法,包括:
通过脚本或者图形界面构建数据模型,对数据模型的字段进行类型标记;
构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵;
进行报文的数据流锁定,将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件;
将状态机触发条件和状态机迁移条件构成二维状态机迁移表。
如上所述的基于启发式的报文状态交互自学习方法,其中,对数据模型的字段进行类型标记,包括标记数据模型的字段为报文头、校验字段、认证字段、功能码、长度、报文子结构。
如上所述的基于启发式的报文状态交互自学习方法,其中,通过桥接模式或者上传pcap类型的报文进行报文的数据流锁定。
如上所述的基于启发式的报文状态交互自学习方法,其中,对上位机发送的控制报文的启发矩阵进行解析保存为一个状态机的触发条件,对下位机发送的响应报文的启发矩阵进行解析,并形成一个迁移条件,重复上述操作直到不再产生新的触发条件和迁移条件,得到所有触发条件和迁移条件。
本发明还提供一种基于启发式的报文状态交互自学习方法,其特征在于,包括:所述装置执行上述任一项所述的基于启发式的报文状态交互自学习方法。
本发明还提供一种计算机存储介质,其特征在于,包括:至少一个存储器和至少一个处理器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行上述任一项所述的一种基于启发式的报文状态交互自学习方法。
本发明实现的有益效果如下:本发明提出的一种基于启发式的报文状态交互自学习方法,是一种创新的协议状态模型逆向方法,可以实现数据模型的启发,快速准确的构建状态模型,可以解决完全手动构建的繁琐,也可以解决完全自动化逆向准确度不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种基于启发式的报文状态交互自学习方法流程图;
图2是本发明实施例二提供的一种基于启发式的报文状态交互自学习装置示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种基于启发式的报文状态交互自学习方法,通过构建私有报文的数据模型,使用自学习的方法获取状态模型,用于模糊测试中协议状态机逆向的范畴。如图1所示,所述方法具体包括:
步骤110、通过脚本或者图形界面构建数据模型。
步骤120、对数据模型的字段进行类型标记。
其中,类型标记包括标记数据模型的字段为报文头、校验字段、认证字段、功能码、长度、报文子结构等。
步骤130、构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵。
步骤140、通过桥接模式或者上传pcap类型的报文进行报文的数据流锁定。
步骤150、将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件。
具体地,对上位机发送的控制报文的启发矩阵进行解析保存为一个状态机的触发条件,对下位机发送的响应报文的启发矩阵进行解析,并形成一个迁移条件,重复上述操作直到不再产生新的触发条件和迁移条件,得到所有触发条件和迁移条件。
步骤160、将状态机触发条件和状态机迁移条件构成二维状态机迁移表。
实施例二
如图2所示,本发明实施例二提供一种基于启发式的报文状态交互自学习装置20,应用于模糊测试中,包括数据模型构建模块210、启发矩阵构建模块220、数据流锁定模块230和二维状态机迁移表构建模块240;
数据模型构建模块,用于通过脚本或者图形界面构建数据模型;
启发矩阵构建模块,用于对数据模型的字段进行类型标记,构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵;
数据流锁定模块,用于通过桥接模式或者上传pcap类型的报文进行报文的数据流锁定;
二维状态机迁移表构建模块,用于将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件,将状态机触发条件和状态机迁移条件构成二维状态机迁移表。
与上述实施例对应的,本发明实施例提供一种计算机存储介质,包括:至少一个存储器和至少一个处理器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行一种基于启发式的报文状态交互自学习方法。
与上述实施例对应的,本发明实施例提供一种计算机可读存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被处理器执行一种基于启发式的报文状态交互自学习方法。
本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的一种基于启发式的报文状态交互自学习方法。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (5)
1.一种基于启发式的报文状态交互自学习方法,其特征在于,包括:
通过脚本或者图形界面构建数据模型,对数据模型的字段进行类型标记;
构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵;
进行报文的数据流锁定,将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件;
具体包括:对上位机发送的控制报文的启发矩阵进行解析保存为一个状态机的触发条件,对下位机发送的响应报文的启发矩阵进行解析,并形成一个迁移条件,重复上述操作直到不再产生新的触发条件和迁移条件,得到所有触发条件和迁移条件;
将状态机触发条件和状态机迁移条件构成二维状态机迁移表。
2.如权利要求1所述的基于启发式的报文状态交互自学习方法,其特征在于,对数据模型的字段进行类型标记,包括标记数据模型的字段为报文头、校验字段、认证字段、功能码、长度、报文子结构。
3.如权利要求1所述的基于启发式的报文状态交互自学习方法,其特征在于,通过桥接模式或者上传pcap类型的报文进行报文的数据流锁定。
4.一种基于启发式的报文状态交互自学习装置,其特征在于,包括:所述装置执行如权利要求1-3任一项所述的基于启发式的报文状态交互自学习方法。
5.一种计算机存储介质,其特征在于,包括:至少一个存储器和至少一个处理器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行如权利要求1-3任一项所述的一种基于启发式的报文状态交互自学习方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110829099.6A CN113535731B (zh) | 2021-07-21 | 2021-07-21 | 一种基于启发式的报文状态交互自学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110829099.6A CN113535731B (zh) | 2021-07-21 | 2021-07-21 | 一种基于启发式的报文状态交互自学习方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535731A CN113535731A (zh) | 2021-10-22 |
CN113535731B true CN113535731B (zh) | 2024-04-16 |
Family
ID=78120395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110829099.6A Active CN113535731B (zh) | 2021-07-21 | 2021-07-21 | 一种基于启发式的报文状态交互自学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535731B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980240A (zh) * | 2006-12-08 | 2007-06-13 | 杭州华为三康技术有限公司 | 数据流的模式匹配方法及装置 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
CN109547409A (zh) * | 2018-10-19 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种用于对工业网络传输协议进行解析的方法及系统 |
CN110661778A (zh) * | 2019-08-14 | 2020-01-07 | 中国电力科学研究院有限公司 | 一种基于逆向分析模糊测试工控网络协议的方法及系统 |
WO2020014399A1 (en) * | 2018-07-10 | 2020-01-16 | Listat Ltd. | Decentralized cybersecure privacy network for cloud communication and global e-commerce |
WO2020104265A1 (en) * | 2018-11-23 | 2020-05-28 | Koninklijke Philips N.V. | Coverage-based fuzzing of interactive applications |
CN111723181A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种基于主动学习的工控协议逆向分析方法 |
-
2021
- 2021-07-21 CN CN202110829099.6A patent/CN113535731B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980240A (zh) * | 2006-12-08 | 2007-06-13 | 杭州华为三康技术有限公司 | 数据流的模式匹配方法及装置 |
CN105763392A (zh) * | 2016-02-19 | 2016-07-13 | 中国人民解放军理工大学 | 一种基于协议状态的工控协议模糊测试方法 |
WO2020014399A1 (en) * | 2018-07-10 | 2020-01-16 | Listat Ltd. | Decentralized cybersecure privacy network for cloud communication and global e-commerce |
CN109547409A (zh) * | 2018-10-19 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种用于对工业网络传输协议进行解析的方法及系统 |
WO2020104265A1 (en) * | 2018-11-23 | 2020-05-28 | Koninklijke Philips N.V. | Coverage-based fuzzing of interactive applications |
CN110661778A (zh) * | 2019-08-14 | 2020-01-07 | 中国电力科学研究院有限公司 | 一种基于逆向分析模糊测试工控网络协议的方法及系统 |
CN111723181A (zh) * | 2020-06-17 | 2020-09-29 | 国家计算机网络与信息安全管理中心 | 一种基于主动学习的工控协议逆向分析方法 |
Non-Patent Citations (3)
Title |
---|
一种基于FSM的BGP-4协议模糊测试方法;康红凯;计算机工程与应用;20151109(第06期);111-117 * |
基于状态标注的协议状态机逆向方法;黄笑言;陈性元;祝宁;唐慧林;;计算机应用;20131201(第12期);78-86 * |
基于状态的工控协议Fuzzing测试技术;张亚丰;洪征;吴礼发;周振吉;孙贺;;计算机科学;20170515(第05期);138-146 * |
Also Published As
Publication number | Publication date |
---|---|
CN113535731A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543463B (zh) | 数据安全访问方法、装置、计算机设备及存储介质 | |
WO2019144549A1 (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
KR101507469B1 (ko) | 소스 코드 분석 서비스 제공 방법 | |
WO2021120975A1 (zh) | 一种监控方法及装置 | |
CN108076017B (zh) | 一种数据包的协议解析方法及装置 | |
CN109787974B (zh) | 报文数据流生成方法、装置、计算机设备和存储介质 | |
CN107707561B (zh) | 渗透测试方法及装置 | |
JP2019522920A (ja) | ボットマスター発見システムおよび方法 | |
CN110826035A (zh) | 一种浏览器快速登录方法、装置、系统及存储介质 | |
WO2019153492A1 (zh) | 实现web与原生功能交互的方法、电子装置及可读存储介质 | |
DE102015121809A1 (de) | Funkdongle und Verfahren zur drahtlosen Übertragung von Daten von einem Computer zu zumindest einem Feldgerät | |
ES2818588T3 (es) | Método y dispositivo para evitar que el servidor sea atacado | |
CN112966274B (zh) | Web安全漏洞检测方法、扫描器、存储介质及电子设备 | |
CN103401930A (zh) | 一种基于Web Service的工业监控方法及装置 | |
CN113312627A (zh) | 一种基于知识图谱的联合利用方法、装置、系统 | |
CN115695043A (zh) | 漏洞扫描攻击检测方法、模型训练方法及装置 | |
CN113535731B (zh) | 一种基于启发式的报文状态交互自学习方法及装置 | |
CN113238923B (zh) | 基于状态机的业务行为溯源方法及系统 | |
CN111211902A (zh) | 一种基于企业浏览器实现的数字签名方法和装置 | |
CN112653668B (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
Baroni et al. | Computing with infinite argumentation frameworks: The case of AFRAs | |
CN113472798A (zh) | 一种网络数据包的回溯解析方法、装置、设备及介质 | |
US20170093873A1 (en) | Transparent overlay and headless browser execution for welcome flow | |
CN115544520A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |