CN113535731A - 一种基于启发式的报文状态交互自学习方法及装置 - Google Patents

一种基于启发式的报文状态交互自学习方法及装置 Download PDF

Info

Publication number
CN113535731A
CN113535731A CN202110829099.6A CN202110829099A CN113535731A CN 113535731 A CN113535731 A CN 113535731A CN 202110829099 A CN202110829099 A CN 202110829099A CN 113535731 A CN113535731 A CN 113535731A
Authority
CN
China
Prior art keywords
heuristic
matrix
message
state machine
learning method
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.)
Granted
Application number
CN202110829099.6A
Other languages
English (en)
Other versions
CN113535731B (zh
Inventor
王方立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Winicssec Technologies Co Ltd
Original Assignee
Beijing Winicssec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Winicssec Technologies Co Ltd filed Critical Beijing Winicssec Technologies Co Ltd
Priority to CN202110829099.6A priority Critical patent/CN113535731B/zh
Publication of CN113535731A publication Critical patent/CN113535731A/zh
Application granted granted Critical
Publication of CN113535731B publication Critical patent/CN113535731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; 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 (6)

1.一种基于启发式的报文状态交互自学习方法,其特征在于,包括:
通过脚本或者图形界面构建数据模型,对数据模型的字段进行类型标记;
构建启发矩阵,对数据模型中的字段进行提取,并形成关键字段启发矩阵;
进行报文的数据流锁定,将上位机发送的控制报文的启发矩阵形成状态机触发条件,将下位机发送的响应报文的启发矩阵形成状态机迁移条件;
将状态机触发条件和状态机迁移条件构成二维状态机迁移表。
2.如权利要求1所述的基于启发式的报文状态交互自学习方法,其特征在于,对数据模型的字段进行类型标记,包括标记数据模型的字段为报文头、校验字段、认证字段、功能码、长度、报文子结构。
3.如权利要求1所述的基于启发式的报文状态交互自学习方法,其特征在于,通过桥接模式或者上传pcap类型的报文进行报文的数据流锁定。
4.如权利要求1所述的基于启发式的报文状态交互自学习方法,其特征在于,对上位机发送的控制报文的启发矩阵进行解析保存为一个状态机的触发条件,对下位机发送的响应报文的启发矩阵进行解析,并形成一个迁移条件,重复上述操作直到不再产生新的触发条件和迁移条件,得到所有触发条件和迁移条件。
5.一种基于启发式的报文状态交互自学习方法,其特征在于,包括:所述装置执行如权利要求1-4任一项所述的基于启发式的报文状态交互自学习方法。
6.一种计算机存储介质,其特征在于,包括:至少一个存储器和至少一个处理器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行如权利要求1-4任一项所述的一种基于启发式的报文状态交互自学习方法。
CN202110829099.6A 2021-07-21 2021-07-21 一种基于启发式的报文状态交互自学习方法及装置 Active CN113535731B (zh)

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 true CN113535731A (zh) 2021-10-22
CN113535731B 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)

* Cited by examiner, † Cited by third party
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 国家计算机网络与信息安全管理中心 一种基于主动学习的工控协议逆向分析方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
康红凯: "一种基于FSM的BGP-4协议模糊测试方法", 计算机工程与应用, no. 06, 9 November 2015 (2015-11-09), pages 111 - 117 *
张亚丰;洪征;吴礼发;周振吉;孙贺;: "基于状态的工控协议Fuzzing测试技术", 计算机科学, no. 05, 15 May 2017 (2017-05-15), pages 138 - 146 *
黄笑言;陈性元;祝宁;唐慧林;: "基于状态标注的协议状态机逆向方法", 计算机应用, no. 12, 1 December 2013 (2013-12-01), pages 78 - 86 *

Also Published As

Publication number Publication date
CN113535731B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
CN110209652B (zh) 数据表迁移方法、装置、计算机设备和存储介质
WO2019144549A1 (zh) 漏洞测试方法、装置、计算机设备和存储介质
EP3270319B1 (en) Method and apparatus for generating dynamic security module
CN108256322B (zh) 安全测试方法、装置、计算机设备和存储介质
CN110826035A (zh) 一种浏览器快速登录方法、装置、系统及存储介质
JP2004164617A (ja) クロスサイトスクリプティング脆弱性の自動検出
CN111290742A (zh) 参数验证方法、装置、电子设备及可读存储介质
CN109766694A (zh) 一种工控主机的程序协议白名单联动方法及装置
CN108363588B (zh) 实现web与原生功能交互的方法、电子装置及可读存储介质
CN113312627B (zh) 一种基于知识图谱的联合利用方法、装置、系统
US20210392023A1 (en) Method for determining size of demodulation reference signal indication information, device and storage medium
CN110826978A (zh) 一种基于企业浏览器的统一待办事项处理方法和装置
CN111709026B (zh) 静态安全检测方法、装置、计算机设备和存储介质
CN112039900A (zh) 网络安全风险检测方法、系统、计算机设备和存储介质
CN109145651B (zh) 一种数据处理方法及装置
CN113238923B (zh) 基于状态机的业务行为溯源方法及系统
CN110569987B (zh) 自动化运维方法、运维设备、存储介质及装置
CN113535731B (zh) 一种基于启发式的报文状态交互自学习方法及装置
CN112653668B (zh) 数据交互方法、装置、计算机设备和存储介质
CN107133514B (zh) 一种密码提示的方法及移动终端
CN113660265A (zh) 一种网络攻击测试方法、装置、电子设备及存储介质
CN106249912A (zh) 一种移动终端信息输入方法及移动终端
Baroni et al. Computing with infinite argumentation frameworks: The case of AFRAs
CN111680293A (zh) 基于互联网的信息监控管理方法、装置及服务器
WO2020253044A1 (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