当前位置: 首页 > 专利查询>清华大学专利>正文

结合网络流量分析和消息聚类的网络协议逆向分析方法技术

技术编号:9620577 阅读:87 留言:0更新日期:2014-01-30 09:26
本发明专利技术公开了一种结合网络流量分析和消息聚类的网络协议逆向分析方法,其包括步骤:S1.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量;S2.对捕获的网络流量按五元组进行分流;S3.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息;S4.以流为单位,假设捕获了s条流,对这s条流进行聚类;S5.将s条流聚类成少量k个关键协议交互过程后,对其进行保存;S6.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。该方法通过结合逆向分析,能够得到目标网络协议的具体交互过程;该方法是自动化地进行,得到的结果准确、简洁。

Network protocol reverse analysis method combining network traffic analysis and message clustering

The invention discloses a combined analysis of network traffic and message clustering network protocol reverse analysis method, which comprises the following steps: S1. reverse analysis of target network protocol application, the application of network traffic capture; S2. of the network traffic captured by five tuple of S3. combined with reverse flow; the results of the analysis, in Decompilation the compilation of code, the received packet is defined as a contract or a message, a stream contains multiple messages; S4. using flow unit, that captured the s stream, the s S5. s clustering stream; stream clustering into a small amount of K key agreement process, save the S6.k key agreement; interaction process after simplified algorithm state machine, get the most simple form, which is ultimately the result of the agreement analysis system. By combining reverse analysis, the method can get the specific interaction process of the target network protocol. The method is automated and the result is accurate and concise.

【技术实现步骤摘要】

本专利技术涉及网络协议分析和网络应用逆向分析
,尤其涉及一种。
技术介绍
随着互联网的发展,各种新的应用和未知私有协议导致网络越来越复杂、多样化和难以管理,因此,逆向工程(Reverse Engineering)技术被越来越广泛的应用于网络协议分析与破解领域。在传统应用逆向分析中,对软件进行查壳与脱壳、静态分析、关键函数动态调试等分析步骤,其中关键函数按照调试的顺序主要包括收发包函数(recv/send (TCP), recv_from/send_to (UDP))、包构造和解析函数、加/解密函数。但是由于现有网络协议越来越复杂、对协议与应用软件本身的保护越来越严密,对目标网络协议的逆向工程耗费的时间和人力也越来越多。因此迫切需要自动化的逆向系统对网络协议进行自动化的分析和破解,一方面可以通过该系统自动、快速的得到分析结果或中间结果,节省人力和时间的消耗;另一方面通过标准化的逆向流程和二进制的对比分析,可以弥补人工逆向的一些疏忽和不足。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是提供一种,以克服上述缺陷,在原有应用的逆向分析基础上,通过对目标应用流量的深入分析,自动化地得到网络协议的交互过程和协议结构。(二)技术方案为了解决上述技术问题,本专利技术提供一种,该方法包括以下步骤:S1.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量;S2.对捕获的网络流量按五元组进行分流;S3.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息;S4.以流为单位,假设捕获了 s条流,对这s条流进行聚类;S5.将s条流聚类成少量k个关键协议交互过程后,对其进行保存;S6.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。其中,在步骤S3中,发包即为同一个函数构造的发出的内容,收包即为同一个函数解析的内容。其中,在步骤S3中,一个消息包含一个或多个包。其中,在步骤S4中,聚类方法采用k-means算法。其中,在步骤S5中,对k个关键协议交互过程采用确定有限自动机的形式进行保存。其中,在步骤S2中,所述五元组即源IP地址、目的IP地址、源端口号、目的端口号、协议号。(三)有益效果本专利技术上述技术方案所提供的网络协议逆向分析方法,通过结合逆向分析,能够得到目标网络协议的具体交互过程,该交互过程以状态机的形式保存,能够用于网络协议识别、网络协议管理、网络协议改进等重要领域;此外,该方法是自动地进行的,经过聚类和状态机简化,得到的结果准确、简洁,能够代表流量中出现过的网络协议标准交互过程。本专利技术的方法通过结合传统逆向分析过程,统筹流量与应用的分析,以应用逆向分析为基础,流量分析为主要手段,自动化的分析得到目标协议的交互过程和协议详情。在流量分析中,进行软件流量的监控和捕获、五元组分流、消息分析和特征提取以及消息聚类等过程,其中消息分析与聚类过程都需要结合应用逆向分析的部分结果进行。通过基于应用层面的静态分析与动态调试结果和流量层面的协议消息分析结果的结合,最终得到以状态机为形式的协议结构、交互过程等最终结果。以上说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。【附图说明】图1为根据本专利技术一种实施方式的的流程图。【具体实施方式】下面结合附图和实施例,对本专利技术的【具体实施方式】作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。现在参考图1,本实施例的,包括以下步骤:S1.对目标网络协议应用进行逆向分析,捕获该目标网络协议应用所产生的网络流量。S2.对捕获的网络流量按五元组进行分流。所述五元组即源IP地址、目的IP地址、源端口号、目的端口号、协议号。S3.结合逆向分析结果,在反编译的汇编代码中,同一个函数构造的发出的内容(发包)或者同一个函数解析的内容(收包)定义为一个消息,通常一个流包含多个消息,一个消息包含一个或多个包,即一个或多个发包或收包。S4.以流为单位,假设捕获了 s条流,对这s条划分消息的流进行聚类。聚类方法采用k-means算法,k-means算法将在下文具体介绍。由于所述目标网络协议应用产生的流量都是遵从其网络协议的,因此使用k-means聚类算法绝大部分情况都可以收敛。S5.将s条流聚类成少量k个关键协议交互过程后,以确定有限自动机(Deterministic Finite Automaton, DFA)的形式保存。S6.k个关键协议交互过程最终再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。下面对本专利技术中采用的k-means算法进行简单介绍。k-means算法接受输入量k ;然后将s个数据对象划分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”来进行计算的。k-means算法的工作过程说明如下:首先从s个数据对象任意选择k个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。k-means算法的基本步骤为:(I)从s个数据对象任意选择k个对象作为初始聚类中心;(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;(3)重新计算每个(有变化)聚类的均值(中心对象);(4)计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)。本专利技术的方法通过结合传统逆向分析过程,统筹流量与应用的分析,以应用逆向分析为基础,流量分析为主要手段,自动化的分析得到目标协议的交互过程和协议详情。在流量分析中,进行软件流量的监控和捕获、五元组分流、消息分析和特征提取以及消息聚类等过程,其中消息分析与聚类过程都需要结合应用逆向分析的部分结果进行。通过基于应用层面的静态分析与动态调试结果和流量层面的协议消息分析结果的结合,最终得到以状态机为形式的协议结构、交互过程等最终结果。以上所述仅是本专利技术的优选实施方式,应当指出,对于本
的普通技术人员来说,在不脱离本专利技术技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
一种结合网络流量分析和消息聚类的网络协议逆向分析方法,其特征在于,该方法包括以下步骤:S1.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量;S2.对捕获的网络流量按五元组进行分流;S3.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息;S4.以流为单位,假设捕获了s条流,对这s条流进行聚类;S5.将s条流聚类成少量k个关键协议交互过程后,对其进行保存;S6.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。

【技术特征摘要】
1.一种结合网络流量分析和消息聚类的网络协议逆向分析方法,其特征在于,该方法包括以下步骤: 51.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量; 52.对捕获的网络流量按五元组进行分流; 53.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息; 54.以流为单位,假设捕获了s条流,对这s条流进行聚类; 55.将s条流聚类成少量k个关键协议交互过程后,对其进行保存; 56.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。2.根据权利要求1所述的网络协议逆向分析方...

【专利技术属性】
技术研发人员:薛一波李城龙王兆国
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1