The invention provides a message based delimiter recognition network protocol reverse analysis method, which comprises the following steps: in software controllable dynamic execution environment, the network protocol software implementation of the corresponding target network receiving function, access data buffer, and record all the executed instruction sequence; the data buffer mark according to the multi label stain, taint propagation the execution sequence of instructions for byte level, recording instruction sequences acquired stain; extract instruction from the instruction sequence for the number of records, operating as a potential constant delimiter; according to the scope of the corresponding potential stain labels are delimited, if the sequence of action the continuous domain with length greater than 2, then the potential delimiter as delimiters; based on the v. separator field dividing the data buffer, and base The field relationship is extracted from its scope, and the reverse analysis of the network protocol is realized.
【技术实现步骤摘要】
一种基于消息字段分隔符识别的网络协议逆向分析方法
本专利技术属于网络安全
,尤其涉及一种采用二进制软件基于消息字段分隔符识别的网络协议逆向分析方法。
技术介绍
随着社会的不断发展和进步,互联网在社会各个领域的应用越来越广泛,其中,作为互联网主机和服务器之间进行网络通信基本规范的网络协议,扮演着越来越重要角色。网络协议及其实现的分析逐渐成为软件安全分析的重要领域之一,尤其是在网络痕迹提取、网络审计管理、网络攻击检测等领域得到广泛应用,对网络协议的逆向分析技术提出了更高的要求。工业界和学术界纷纷投入到协议自动化逆向方法的研究,并取得了大量成果,其分析方法主要以流量分析方法为主,即截获客户端和服务端之间的通信流量,通过各种聚类分析方法提取协议消息中相似的语法结构和有意义的关键字。代表性工作包括ProtocolInformatics项目提出的字节序列匹配和对齐的字段切分方法,RolePlay和ScriptGen等工作也是在网络地址、字节和Cookie等特征字段识别的基础上进行字节级的序列匹配方法实现消息格式恢复,微软的CuiWeiDong等提出的基于消息内二进制和字 ...
【技术保护点】
一种基于消息字段分隔符识别的网络协议逆向分析方法,其步骤包括:在可控软件动态执行环境下,令网络协议对应的目标软件执行网络接收函数,获取缓冲区数据,并记录所有的执行指令序列;将所述缓冲区数据标记为污点,并根据所述执行指令序列进行字节级的多标签污点传播,获取污点的指令记录序列;从所述指令记录序列中提取比较指令,该比较指令包含两个操作数,一带有污点标签,另一为单字节或双字节常数,将为常数的操作数视为潜在分隔符;根据污点标签得到对应潜在分隔符的作用域,如果作用域的序列连续且长度大于2,则所述潜在分隔符视为分隔符;基于所诉分隔符对所述缓冲区数据进行字段划分,并基于其作用域提取字段关系 ...
【技术特征摘要】
1.一种基于消息字段分隔符识别的网络协议逆向分析方法,其步骤包括:在可控软件动态执行环境下,令网络协议对应的目标软件执行网络接收函数,获取缓冲区数据,并记录所有的执行指令序列;将所述缓冲区数据标记为污点,并根据所述执行指令序列进行字节级的多标签污点传播,获取污点的指令记录序列;从所述指令记录序列中提取比较指令,该比较指令包含两个操作数,一带有污点标签,另一为单字节或双字节常数,将为常数的操作数视为潜在分隔符;根据污点标签得到对应潜在分隔符的作用域,如果作用域的序列连续且长度大于2,则所述潜在分隔符视为分隔符;基于所诉分隔符对所述缓冲区数据进行字段划分,并基于其作用域提取字段关系,实现网络协议的逆向分析。2.根据权利要求1所述的方法,其特征在于,所述可控软件动态执行环境基于用户态、内核驱动或者虚拟机技术实现。3.根据权利要求1所述的方法,其特征在于,所述网络接受函数在Windows系统上为recv、recvfrom、WSARecv、WSARecvFrom、NtFileDeviceIoControl。4.根据权利要求1所述的方法,其特征在于,所述多标签污点传播的步骤包括污点标记、污点传播计算和污点相关信息提取。5.根据权利要求4所述的方法,其特征在于,所述污点标记的方法是:将特定内存地址标记为原始污点标签,设置与被分析进程内存空间相同...
【专利技术属性】
技术研发人员:闫佳,苏璞睿,杨轶,和亮,聂楚江,贾相堃,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。