CN103546443A - 结合网络流量分析和消息聚类的网络协议逆向分析方法 - Google Patents
结合网络流量分析和消息聚类的网络协议逆向分析方法 Download PDFInfo
- Publication number
- CN103546443A CN103546443A CN201210246795.5A CN201210246795A CN103546443A CN 103546443 A CN103546443 A CN 103546443A CN 201210246795 A CN201210246795 A CN 201210246795A CN 103546443 A CN103546443 A CN 103546443A
- Authority
- CN
- China
- Prior art keywords
- message
- procotol
- protocol
- analysis
- conversed 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.)
- Pending
Links
Images
Abstract
本发明公开了一种结合网络流量分析和消息聚类的网络协议逆向分析方法,其包括步骤:S1.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量;S2.对捕获的网络流量按五元组进行分流;S3.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息;S4.以流为单位,假设捕获了s条流,对这s条流进行聚类;S5.将s条流聚类成少量k个关键协议交互过程后,对其进行保存;S6.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。该方法通过结合逆向分析,能够得到目标网络协议的具体交互过程;该方法是自动化地进行,得到的结果准确、简洁。
Description
技术领域
本发明涉及网络协议分析和网络应用逆向分析技术领域,尤其涉及一种结合网络流量分析和消息聚类的网络协议逆向分析方法。
背景技术
随着互联网的发展,各种新的应用和未知私有协议导致网络越来越复杂、多样化和难以管理,因此,逆向工程(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算法的基本步骤为:
(1)从s个数据对象任意选择k个对象作为初始聚类中心;
(2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3)重新计算每个(有变化)聚类的均值(中心对象);
(4)计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2)。
本发明的方法通过结合传统逆向分析过程,统筹流量与应用的分析,以应用逆向分析为基础,流量分析为主要手段,自动化的分析得到目标协议的交互过程和协议详情。在流量分析中,进行软件流量的监控和捕获、五元组分流、消息分析和特征提取以及消息聚类等过程,其中消息分析与聚类过程都需要结合应用逆向分析的部分结果进行。通过基于应用层面的静态分析与动态调试结果和流量层面的协议消息分析结果的结合,最终得到以状态机为形式的协议结构、交互过程等最终结果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以 做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (6)
1.一种结合网络流量分析和消息聚类的网络协议逆向分析方法,其特征在于,该方法包括以下步骤:
S1.对目标网络协议应用进行逆向分析,捕获该应用产生的网络流量;
S2.对捕获的网络流量按五元组进行分流;
S3.结合逆向分析结果,在反编译的汇编代码中,将发包或者收包定义为一个消息,一个流包含多个消息;
S4.以流为单位,假设捕获了s条流,对这s条流进行聚类;
S5.将s条流聚类成少量k个关键协议交互过程后,对其进行保存;
S6.k个关键协议交互过程再经过状态机标准简化算法,得到最简形式,即为系统最终协议分析的结果。
2.根据权利要求1所述的网络协议逆向分析方法,其特征在于,在步骤S3中,发包即为同一个函数构造的发出的内容,收包即为同一个函数解析的内容。
3.根据权利要求1或2所述的网络协议逆向分析方法,其特征在于,在步骤S3中,一个消息包含一个或多个包。
4.根据权利要求1所述的网络协议逆向分析方法,其特征在于,在步骤S4中,聚类方法采用k-means算法。
5.根据权利要求1所述的网络协议逆向分析方法,其特征在于,在步骤S5中,对k个关键协议交互过程采用确定有限自动机的形式进行保存。
6.根据权利要求1所述的网络协议逆向分析方法,其特征在于,在步骤S2中,所述五元组即源IP地址、目的IP地址、源端口号、目的端口号、协议号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246795.5A CN103546443A (zh) | 2012-07-16 | 2012-07-16 | 结合网络流量分析和消息聚类的网络协议逆向分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246795.5A CN103546443A (zh) | 2012-07-16 | 2012-07-16 | 结合网络流量分析和消息聚类的网络协议逆向分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103546443A true CN103546443A (zh) | 2014-01-29 |
Family
ID=49969499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210246795.5A Pending CN103546443A (zh) | 2012-07-16 | 2012-07-16 | 结合网络流量分析和消息聚类的网络协议逆向分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546443A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901971A (zh) * | 2015-06-23 | 2015-09-09 | 北京东方棱镜科技有限公司 | 对网络行为进行安全分析的方法和装置 |
CN110602073A (zh) * | 2019-09-02 | 2019-12-20 | 西安电子科技大学 | 基于信息论的无人机飞控协议字段划分方法 |
CN111314279A (zh) * | 2019-11-25 | 2020-06-19 | 北京航空航天大学 | 一种基于网络流量的未知协议逆向系统 |
CN113452672A (zh) * | 2021-05-11 | 2021-09-28 | 国网天津市电力公司电力科学研究院 | 基于协议逆向分析的电力物联网终端流量异常分析方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447995A (zh) * | 2008-12-30 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种识别p2p数据流的方法、装置和系统 |
CN101695035A (zh) * | 2009-10-21 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | 流量识别方法及装置 |
CN101854330A (zh) * | 2009-04-02 | 2010-10-06 | 上海互联网络交换中心 | 互联网的网络应用采集与分析方法及系统 |
US8838780B2 (en) * | 2009-02-02 | 2014-09-16 | Level 3 Communications, Llc | Analysis of network traffic |
-
2012
- 2012-07-16 CN CN201210246795.5A patent/CN103546443A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447995A (zh) * | 2008-12-30 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种识别p2p数据流的方法、装置和系统 |
US8838780B2 (en) * | 2009-02-02 | 2014-09-16 | Level 3 Communications, Llc | Analysis of network traffic |
CN101854330A (zh) * | 2009-04-02 | 2010-10-06 | 上海互联网络交换中心 | 互联网的网络应用采集与分析方法及系统 |
CN101695035A (zh) * | 2009-10-21 | 2010-04-14 | 成都市华为赛门铁克科技有限公司 | 流量识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
李城龙等: "融合自动化逆向和聚类分析的协议识别方法", 《计算机科学与探索》 * |
田园等: "一种逆向分析协议状态机模型的有效方法", 《计算机工程与应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901971A (zh) * | 2015-06-23 | 2015-09-09 | 北京东方棱镜科技有限公司 | 对网络行为进行安全分析的方法和装置 |
CN104901971B (zh) * | 2015-06-23 | 2019-03-15 | 北京东方棱镜科技有限公司 | 对网络行为进行安全分析的方法和装置 |
CN110602073A (zh) * | 2019-09-02 | 2019-12-20 | 西安电子科技大学 | 基于信息论的无人机飞控协议字段划分方法 |
CN110602073B (zh) * | 2019-09-02 | 2021-05-18 | 西安电子科技大学 | 基于信息论的无人机飞控协议字段划分方法 |
CN111314279A (zh) * | 2019-11-25 | 2020-06-19 | 北京航空航天大学 | 一种基于网络流量的未知协议逆向系统 |
CN111314279B (zh) * | 2019-11-25 | 2021-11-19 | 北京航空航天大学 | 一种基于网络流量的未知协议逆向方法 |
CN113452672A (zh) * | 2021-05-11 | 2021-09-28 | 国网天津市电力公司电力科学研究院 | 基于协议逆向分析的电力物联网终端流量异常分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815112B (zh) | 一种基于深度包检测的海量数据监控系统及方法 | |
US8510830B2 (en) | Method and apparatus for efficient netflow data analysis | |
US10511505B2 (en) | Systems and methods to recreate real world application level test packets for network testing | |
CN106790170B (zh) | 一种数据包过滤方法及装置 | |
CN104506484A (zh) | 一种私有协议分析与识别方法 | |
US20140365634A1 (en) | Programmable Network Analytics Processing via an Inspect/Apply-Action Applied to Physical and Virtual Entities | |
CN106034056A (zh) | 一种业务安全分析的方法和系统 | |
CN110336808B (zh) | 一种面向电力工控网络的攻击溯源方法及系统 | |
KR101438212B1 (ko) | 소프트웨어 정의 네트워크 심층패킷분석 방법 및 이를 이용하는 소프트웨어 정의 네트워크 시스템 | |
CN103546443A (zh) | 结合网络流量分析和消息聚类的网络协议逆向分析方法 | |
CN104038382B (zh) | 网络监视系统 | |
CN104243237A (zh) | P2p流检测方法和设备 | |
CN112241439A (zh) | 一种攻击组织发现方法、装置、介质和设备 | |
WO2016169121A1 (zh) | 一种链路分析的方法、设备及系统 | |
JP2018537921A (ja) | Skypeの異なる機能の通信フローに基づく識別方法及び装置 | |
CN113364624A (zh) | 基于边缘计算的混合云流量采集方法和系统 | |
CN107592554A (zh) | 直播视频转发方法及装置 | |
CN106230632A (zh) | 网络环路的处理方法及装置 | |
CN107360062B (zh) | Dpi设备识别结果的验证方法、系统及dpi设备 | |
CN116232777B (zh) | SDN-IIOT中基于统计度量的DDoS攻击检测与防御方法及相关设备 | |
US11595419B2 (en) | Communication monitoring system, communication monitoring apparatus, and communication monitoring method | |
CN102223261A (zh) | 一种针对报文进行采样的方法及装置 | |
TWI704782B (zh) | 骨幹網路異常流量偵測方法和系統 | |
CN106375351A (zh) | 一种异常域名检测的方法及装置 | |
CN101789884B (zh) | 网络入侵检测的负载均衡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140129 |
|
RJ01 | Rejection of invention patent application after publication |