CN110213243A - 一种基于动态污点分析的工业通信协议逆向分析方法 - Google Patents

一种基于动态污点分析的工业通信协议逆向分析方法 Download PDF

Info

Publication number
CN110213243A
CN110213243A CN201910401745.1A CN201910401745A CN110213243A CN 110213243 A CN110213243 A CN 110213243A CN 201910401745 A CN201910401745 A CN 201910401745A CN 110213243 A CN110213243 A CN 110213243A
Authority
CN
China
Prior art keywords
stain
function
data
dynamic
analysis
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
CN201910401745.1A
Other languages
English (en)
Other versions
CN110213243B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910401745.1A priority Critical patent/CN110213243B/zh
Priority to PCT/CN2019/101245 priority patent/WO2020228160A1/zh
Publication of CN110213243A publication Critical patent/CN110213243A/zh
Application granted granted Critical
Publication of CN110213243B publication Critical patent/CN110213243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开了一种基于动态污点分析的工业通信协议逆向分析方法,包括:对协议可执行程序动态插桩,对协议报文接收和处理的相关函数与指令进行监控,并在此基础上进行动态污点分析。在动态污点分析过程中记录相应信息,输出到日志文件,并根据日志文件分析协议格式。本方法能够基于工业控制系统通信协议的可执行程序在动态运行中自动分析出协议格式信息,不需要获得程序的源代码,避免了繁琐耗时的人工动态调试分析过程,使得对工业控制系统中未知通信协议的格式逆向分析过程变得简单高效。

Description

一种基于动态污点分析的工业通信协议逆向分析方法
技术领域
本发明涉及工业通信网络与协议逆向工程技术领域,特别涉及一种基于动态污点分析的工业通信协议逆向分析方法。
背景技术
随着工业网络的发展,许多工业控制系统应用的协议使用基于TCP协议栈的应用层协议。与互联网协议不同,在工业控制系统应用的众多协议之中,许多都是不同厂商私有的非标准非公开协议。而在工业控制系统安全越发重要的今天,这些非标准非公开协议给诸如防火墙,入侵检测,深度包解析等安全防御机制带来了挑战。
传统的协议逆向分析方法基于人工分析,具有耗时,易错,不通用等缺点。目前有许多研究和应用工具针对以文本格式为主的计算机协议,而缺乏针对基本采用二进制格式的工业控制协议的逆向分析方法,且工业控制协议具有的内在格式特点也是之前的方法不曾考虑的。因此,针对工业控制协议特点的协议逆向分析方法目前工业控制安全系统所需要的。
发明内容
本发明的目的在于针对现有工业通信协议逆向分析技术的不足,提出一种基于动态污点分析技术的工业通信协议的逆向分析方法。
本发明的目的是通过以下技术方案实现的:一种基于动态污点分析的工业通信协议逆向分析方法,该方法包括以下步骤:
步骤1:对工业控制系统中未知协议的可执行程序进行插桩,通过分析报文接收函数,定位通信过程中报文数据的内存位置与长度,并将这些数据标记为污点数据,完成污点初始化。
步骤2:对可执行程序中的内存拷贝函数和数据读写汇编指令进行插桩,监控所有污点数据在程序动态运行过程中的传播过程,并将传播到的寄存器和内存全部标记为污点,完成污点的传播。
步骤3:在可执行程序运行过程中记录函数调用的上下文,并记录所有涉及污点数据的指令和函数操作,将这些记录输出到日志文件。
步骤4:编写脚本分析日志文件,针对可执行程序,构建包含污点数据的函数调用关系图,判断报文的字段边界,输出该未知协议的格式。
进一步地,所述步骤1和2中,基于动态二进制插桩工具提供的多粒度插桩接口对工业控制系统中未知协议的可执行程序进行插桩,所述多粒度插桩接口包括动态库、函数、指令。
进一步地,所述步骤1和步骤2中,在使用Pintool工具对操作系统的标准动态库进行函数粒度插桩时,由于标准动态库一般经过编译器优化,Pintool无法定位到函数的退出位置;基于此缺陷,将标准动态库的函数包装一层外层函数,将包装后的函数编译成本地动态库,并使可执行程序优先选择该库中函数,完成对函数入口和出口的插桩;所述外层函数与原函数的名称与参数类型相同。
进一步地,所述步骤1和步骤2中,
a.使用map数据结构保存每个污点数据的污点状态,用于记录和查询可执行程序运行过程中各个寄存器和内存的污点信息;
b.对于每个寄存器和内存,记录的污点信息包括:是否污点、污点数据源地址、污点数据字节数、是否大端序;
c.提供函数接口处理污点传播的多种情况,包括污点数据读写,污点数据与、或、移位计算。
进一步地,所述步骤1具体包括:
a.对标准动态库中recv,recvfrom,recvmsg函数作为污点输入源进行插桩;
b.对Unix/Linux的系统调用read函数作为污点输入源进行插桩。
6.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤2具体包括:
a.对寄存器、内存、立即数之间的数据传送指令插桩,分析污点数据的传播过程;
b.对读取多个字节相关的算数运算指令插桩,分析污点数据的字节组合情况;
c.对标准动态库中memcpy,memmove函数插桩,分析污点数据的整体拷贝情况。
进一步地,所述步骤3具体包括,
a.对可执行程序中任意一个函数,记录可执行程序运行过程中函数进入和退出状态;
b.对步骤1和步骤2中的污点相关指令和函数,记录可执行程序运行过程中所有涉及污点数据的指令和函数操作;
c.两类记录按时序顺序输出到日志文件,污点数据信息嵌套在函数上下文记录中。
进一步地,所述步骤4中,基于日志文件进行离线分析,将日志中的每个函数视为一个函数节点,每个函数内部的污点数据视为一个数据节点,两类节点在处理过程中形成父子节点关系,通过脚本输出包含污点数据的函数调用关系图。
进一步地,所述步骤4中,判断报文的字段边界基于以下判别规则:
a.数据节点中单独字节视为一个协议字段;
b.数据节点中作为整体读取的多个字节视为一个协议字段;
c.数据节点中不连续的字节,前一个字节的末尾和后一个字节的起始均视为字段边界;
d.数据节点中前后均为字段边界的字节视为一个协议字段。
与现有技术相比,本发明具有以下优势:
1.不需要程序源码,只需要运行协议可执行程序,且没侵入性。
2.通过动态污点分析,准确分析出协议各个字节在程序运行过程中的流向,以得出准确的协议字段分界结果。
3.不针对特定协议程序,具有普适性。
附图说明
图1是本发明方法的架构图;
图2是本发明方法中内存和寄存器设计类的UML图;
图3是以modbus协议为例的结果树状图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的基本架构如图1,协议可执行程序在动态污点分析环境中接收协议数据报文并运行。运行过程中污点分析程序将报文数据作为污点数据初始化,并监控相关函数和指令完成污点数据传播。此外污点分析程序将必要的信息输出到日志文件,经过分析脚本处理后输出协议格式信息。
基于动态二进制插桩工具Pintool提供的对映像,函数,轨迹,指令等插桩接口,对目标协议的二进制可执行程序中污点分析相关的函数和指令进行插桩,记录协议数据在可执行程序中的传播过程。具体的,Pintool提供了RTN_InsertCall和InsertPredicatedCall函数来对函数和指令插入回调函数。
操作系统中标准动态库经过编译器优化,插桩工具Pintool可能无法定位到函数返回指令地址。因而无法对函数返回位置插入回调函数。通过编写目标函数的包装函数,并将其编译成动态库。通过设定LD_PRELOAD关键字,可执行程序将优先加载其中同名函数,从而让Pintool准确定位。以recv函数的包装函数为例,包装函数和原函数同名、同类型,内部实现调用真实的recv函数
在数据污点传播过程中,对于每个包含污点数据的寄存器或内存,分别设计了RegT类和MemT类用于储存污点数据状态,包括污点源地址,数据长度,是否大端格式等,而且统一使用map数据结构来保存众多的污点数据。寄存器的map数据结构和相关算法包装在Register类中,内存的相应在Memory类中。各个类的关系与数据结构如图2所示。Memory类和Register类都对外提供了以下函数接口:
1.isTainted方法:返回内存地址或寄存器是否被标记为污点数据。
2.taint方法:将目标内存地址或寄存器标记为污点数据。
3.untaint方法:去除目标内存地址或寄存器的污点标记。
4.src方法:返回内存地址或寄存器污点数据源地址。
5.offset方法:返回内存地址或寄存器污点数据对应报文数据偏移位置。
6.size方法:返回内存地址或寄存器污点数据的字节长度
7.value方法:返回内存地址或寄存器污点数据的值。
其中寄存器的类相较于内存类多了shift字段和方法。shift字段和bigendian字段用于处理寄存器读取的数据是否为大端数据。例如,报文中两个字段0x010x11按照大端方式表示16进制数字0x111,小端CPU为了正确读取该数据需要单独读取两个字节按照指定方式拼接起来,其对应的二进制代码如下:
对于shr eax,0x8,eax被左移8bit,监控shr等指令,设置对应寄存器的shift属性。对于add eax,edx,两个字节按照大端格式读取,监控add等指令,设置对应寄存器的size、bigendian属性。
通过Pintool函数插桩接口RTN_InsertCall,对网络接收函数插桩,包括标准动态库中的recv,recvfrom,recvmsg函数和Unix/Linux操作系统下的系统调用read函数。设计不同回调函数,定位这些函数中协议数据接收缓冲区地址和协议数据长度,并将对应内存区域标记为污点数据,完成协议数据污点初始化。以recv函数为例子,插桩接口RTN_InsertCall可以传递函数运行时的参数与返回值,其中参数buffer即协议数据接受位置。
RTN_InsertCall(
rtn,IPOINT_BEFORE,(AFUNPTR)recv_point,
IARG_ADDRINT,filter::entry,
IARG_FUNCARG_ENTRYPOINT_VALUE,0,//socket
IARG_FUNCARG_ENTRYPOINT_VALUE,1,//buf
IARG_FUNCARG_ENTRYPOINT_VALUE,2,//len
IARG_FUNCARG_ENTRYPOINT_VALUE,3,//flags
IARG_REG_VALUE,REG_RAX,//ret
IARG_END);
通过Pintool指令插桩接口INS_InsertPredicatedCall,对数据移动指令mov,cmov,push,pop插桩,分析寄存器、内存、立即数之间存在的污点数据传播。通过Pintool函数插桩接口,对标准动态库中memcpy,memmove函数插桩,分析内存拷贝过程中污点数据的整体移动。对数据运算指令xor,and,or,shl,shr插桩,分析多个字节污点数据按照大端或者小端端序读取过程。在上述分析过程中,同时输出污点数据信息到日志文件,主要是涉及的污点数据所在原报文位置中的偏移量。
通过Pintool函数插桩接口RTN_InsertCall对可执行程序中或者协议处理相关动态库中的每个函数插桩,记录函数进入和退出信息,包括函数名称或符号,线程ID,进入或者退出标记,函数返回地址,函数起始地址,函数结束地址。其中函数返回地址,函数起始地址,函数结束地址用于函数回溯调用者。
程序运行过程中,如下格式的文本数据将被输出到日志文件。
通过Python脚本处理日志,遍历污点信息和函数上下文信息,构造包含污点数据的函数调用树状结构,并用pydot包提供的接口调用Graphviz中的dot可视化工具输出该树状结构。该树状结构中,每个函数以节点表示。每个节点包含子函数的节点或者函数中使用污点数据的信息。
根据树状图显示的信息,按照设定规则刻画通信报文字节分割边界。其一,函数的边界作为通信报文字节边界,例如函数A只处理过字节2,那么字节2可视为一个协议字段,和字节1、字节3之间有字段边界。其二,函数中存在指令读取连续字节,例如函数B处理过多个字节按照格式1,[2,3],4总共4个字节,其中[2,3]表示读取字节2,3作为整体,那么字节2,3可视为一个协议字段,与字节1,4之间有字节边界。根据以上规则,最终得到该协议的格式信息。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (9)

1.一种基于动态污点分析的工业通信协议逆向分析方法,其特征在于,包括以下步骤:
步骤1:对工业控制系统中未知协议的可执行程序进行插桩,通过分析报文接收函数,定位通信过程中报文数据的内存位置与长度,并将这些数据标记为污点数据,完成污点初始化。
步骤2:对可执行程序中的内存拷贝函数和数据读写汇编指令进行插桩,监控所有污点数据在程序动态运行过程中的传播过程,并将传播到的寄存器和内存全部标记为污点,完成污点的传播。
步骤3:在可执行程序运行过程中记录函数调用的上下文,并记录所有涉及污点数据的指令和函数操作,将这些记录输出到日志文件。
步骤4:编写脚本分析日志文件,针对可执行程序,构建包含污点数据的函数调用关系图,判断报文的字段边界,输出该未知协议的格式。
2.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤1和2中,基于动态二进制插桩工具提供的多粒度插桩接口对工业控制系统中未知协议的可执行程序进行插桩,所述多粒度插桩接口包括动态库、函数、指令。
3.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤1和步骤2中,在使用Pintool工具对操作系统的标准动态库进行函数粒度插桩时,将标准动态库的函数包装一层外层函数,将包装后的函数编译成本地动态库,并使可执行程序优先选择该库中函数,完成对函数入口和出口的插桩;所述外层函数与原函数的名称与参数类型相同。
4.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤1和步骤2中,
a.使用map数据结构保存每个污点数据的污点状态,用于记录和查询可执行程序运行过程中各个寄存器和内存的污点信息;
b.对于每个寄存器和内存,记录的污点信息包括:是否污点、污点数据源地址、污点数据字节数、是否大端序;
c.提供函数接口处理污点传播的多种情况,包括污点数据读写,污点数据与、或、移位计算。
5.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤1具体包括:
a.对标准动态库中recv,recvfrom,recvmsg函数作为污点输入源进行插桩;
b.对Unix/Linux的系统调用read函数作为污点输入源进行插桩。
6.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤2具体包括:
a.对寄存器、内存、立即数之间的数据传送指令插桩,分析污点数据的传播过程;
b.对读取多个字节相关的算数运算指令插桩,分析污点数据的字节组合情况;
c.对标准动态库中memcpy,memmove函数插桩,分析污点数据的整体拷贝情况。
7.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤3具体包括,
a.对可执行程序中任意一个函数,记录可执行程序运行过程中函数进入和退出状态;
b.对步骤1和步骤2中的污点相关指令和函数,记录可执行程序运行过程中所有涉及污点数据的指令和函数操作;
c.两类记录按时序顺序输出到日志文件,污点数据信息嵌套在函数上下文记录中。
8.根据权利要求1所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤4中,基于日志文件进行离线分析,将日志中的每个函数视为一个函数节点,每个函数内部的污点数据视为一个数据节点,两类节点在处理过程中形成父子节点关系,通过脚本输出包含污点数据的函数调用关系图。
9.根据权利要求8所述基于动态污点分析的工业通信协议逆向分析方法,其特征在于,所述步骤4中,判断报文的字段边界基于以下判别规则:
a.数据节点中单独字节视为一个协议字段;
b.数据节点中作为整体读取的多个字节视为一个协议字段;
c.数据节点中不连续的字节,前一个字节的末尾和后一个字节的起始均视为字段边界;
d.数据节点中前后均为字段边界的字节视为一个协议字段。
CN201910401745.1A 2019-05-15 2019-05-15 一种基于动态污点分析的工业通信协议逆向分析方法 Active CN110213243B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910401745.1A CN110213243B (zh) 2019-05-15 2019-05-15 一种基于动态污点分析的工业通信协议逆向分析方法
PCT/CN2019/101245 WO2020228160A1 (zh) 2019-05-15 2019-08-18 一种基于动态污点分析的工业通信协议逆向分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910401745.1A CN110213243B (zh) 2019-05-15 2019-05-15 一种基于动态污点分析的工业通信协议逆向分析方法

Publications (2)

Publication Number Publication Date
CN110213243A true CN110213243A (zh) 2019-09-06
CN110213243B CN110213243B (zh) 2020-05-12

Family

ID=67787241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910401745.1A Active CN110213243B (zh) 2019-05-15 2019-05-15 一种基于动态污点分析的工业通信协议逆向分析方法

Country Status (2)

Country Link
CN (1) CN110213243B (zh)
WO (1) WO2020228160A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857681A (zh) * 2020-06-08 2020-10-30 北京大学 一种c++系统的软件定义化关键函数定位与提取方法
CN111984311A (zh) * 2020-07-03 2020-11-24 华南理工大学 一种基于运行日志的软件结构复现的方法
CN112905184A (zh) * 2021-01-08 2021-06-04 浙江大学 一种基于插桩的基本块粒度下工控协议语法逆向分析方法
CN113271237A (zh) * 2021-06-16 2021-08-17 山石网科通信技术股份有限公司 工控协议的解析方法、装置、存储介质及处理器
CN117370988A (zh) * 2023-10-13 2024-01-09 北京航空航天大学 一种工业控制程序自动化逆向分析方法与流程

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用
CN104063325A (zh) * 2014-07-11 2014-09-24 电子科技大学 一种针对嵌入式软件的测试用例自动化生成装置及其方法
CN105787305A (zh) * 2016-02-26 2016-07-20 西北大学 一种抵抗符号执行和污点分析的软件保护方法
CN106709290A (zh) * 2016-12-16 2017-05-24 江苏通付盾科技有限公司 一种应用安全性分析方法及装置
CN108255711A (zh) * 2017-12-29 2018-07-06 湖南优利泰克自动化系统有限公司 一种基于污点分析的plc固件模糊测试系统及测试方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893280B2 (en) * 2009-12-15 2014-11-18 Intel Corporation Sensitive data tracking using dynamic taint analysis
CN102521543B (zh) * 2011-12-23 2014-03-26 中国人民解放军国防科学技术大学 一种基于动态污点分析进行消息语义解析的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用
CN104063325A (zh) * 2014-07-11 2014-09-24 电子科技大学 一种针对嵌入式软件的测试用例自动化生成装置及其方法
CN105787305A (zh) * 2016-02-26 2016-07-20 西北大学 一种抵抗符号执行和污点分析的软件保护方法
CN106709290A (zh) * 2016-12-16 2017-05-24 江苏通付盾科技有限公司 一种应用安全性分析方法及装置
CN108255711A (zh) * 2017-12-29 2018-07-06 湖南优利泰克自动化系统有限公司 一种基于污点分析的plc固件模糊测试系统及测试方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘豫: "《基于动态污点分析的恶意代码通信协议逆向分析方法》", 《电子学报》 *
徐欣: "《动态数据流分析技术在恶意软件分析中的应用研究》", 《中国优秀硕士论文全文库信息科技辑》 *
李美剑: "《基于动态二进制分析的协议模型逆向提取及其应用研究》", 《中国博士学位论文全文库信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857681A (zh) * 2020-06-08 2020-10-30 北京大学 一种c++系统的软件定义化关键函数定位与提取方法
CN111984311A (zh) * 2020-07-03 2020-11-24 华南理工大学 一种基于运行日志的软件结构复现的方法
CN111984311B (zh) * 2020-07-03 2022-04-22 华南理工大学 一种基于运行日志的软件结构复现的方法
CN112905184A (zh) * 2021-01-08 2021-06-04 浙江大学 一种基于插桩的基本块粒度下工控协议语法逆向分析方法
CN112905184B (zh) * 2021-01-08 2024-03-26 浙江大学 一种基于插桩的基本块粒度下工控协议语法逆向分析方法
CN113271237A (zh) * 2021-06-16 2021-08-17 山石网科通信技术股份有限公司 工控协议的解析方法、装置、存储介质及处理器
CN113271237B (zh) * 2021-06-16 2022-12-13 山石网科通信技术股份有限公司 工控协议的解析方法、装置、存储介质及处理器
CN117370988A (zh) * 2023-10-13 2024-01-09 北京航空航天大学 一种工业控制程序自动化逆向分析方法与流程

Also Published As

Publication number Publication date
CN110213243B (zh) 2020-05-12
WO2020228160A1 (zh) 2020-11-19

Similar Documents

Publication Publication Date Title
CN110213243A (zh) 一种基于动态污点分析的工业通信协议逆向分析方法
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
CN110287696B (zh) 一种反弹shell进程的检测方法、装置和设备
Kohl et al. The PVM 3.4 tracing facility and XPVM 1.1
CN112035359B (zh) 程序测试方法、装置、电子设备及存储介质
CN110286917A (zh) 文件打包方法、装置、设备及存储介质
CN112905184B (zh) 一种基于插桩的基本块粒度下工控协议语法逆向分析方法
CN111831574B (zh) 回归测试规划方法、装置、计算机系统和介质
CN113312618A (zh) 程序漏洞检测方法、装置、电子设备及介质
CN111240772B (zh) 一种基于区块链的数据处理方法、装置及存储介质
CN113194010A (zh) 一种非公开工业通信协议的字段语义分析方法
CN111124872A (zh) 基于差异代码分析的分支检测方法、装置及存储介质
JP4587976B2 (ja) アプリケーションの脆弱性検査方法および装置
JP2007241426A (ja) アプリケーションの障害原因の特定作業支援システム
CN116841564B (zh) 一种数据处理方法、装置、设备以及计算机可读存储介质
CN111026604B (zh) 一种日志文件解析方法及装置
KR100924519B1 (ko) 소프트웨어 보안 테스팅을 수행하기 위한 알려지지 않은파일 포맷 분석 시스템 및 방법
CN110020552B (zh) 一种基于有限状态自动机的Android应用跨组件污点数据流拼接方法
CN110554966B (zh) 一种驱动调试方法、行为分析方法及驱动调试系统
CN113868137A (zh) 埋点数据的处理方法、装置、系统和服务器
CN112181816A (zh) 一种基于场景的接口测试方法、装置、计算机设备及介质
CN113050987A (zh) 一种接口文档的生成方法、装置、存储介质及电子设备
CN107612919B (zh) 协议配置方法及装置
CN117395080B (zh) 加密系统扫描器的检测方法、装置、电子设备和存储介质
CN113721916B (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