CN103414708A - 嵌入式设备的协议自动逆向分析的方法及装置 - Google Patents
嵌入式设备的协议自动逆向分析的方法及装置 Download PDFInfo
- Publication number
- CN103414708A CN103414708A CN2013103303251A CN201310330325A CN103414708A CN 103414708 A CN103414708 A CN 103414708A CN 2013103303251 A CN2013103303251 A CN 2013103303251A CN 201310330325 A CN201310330325 A CN 201310330325A CN 103414708 A CN103414708 A CN 103414708A
- Authority
- CN
- China
- Prior art keywords
- message packet
- message
- analysis
- agreement
- embedded device
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种嵌入式设备的协议自动逆向分析的方法,包括以下步骤:对消息报文进行聚类分析,找出相同类型的消息报文;对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;对已得到消息报文格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;使用传感器采集环境数据,对比已关联消息报文中的一组消息报文序列的时间戳,标注语意信息。同时,本发明还公开了一种嵌入式设备的协议自动逆向分析的装置,包括以下模块:消息报文进行聚类分析模块;消息报文的格式获取模块;消息报文关联模块;标注语意信息模块。
Description
技术领域
本发明涉及区域网络与逆向工程技术领域,特别涉及一种嵌入式设备的协议自动逆向分析的方法及装置。
背景技术
随着通信技术、嵌入式设备的日趋成熟,已有多公司推出了面向民用的智能产品。由于部分基于无线局域网标准的协议技术具备结构简单、低功耗、低成本、可靠性高和技术成熟的特点,设备厂商大多选择具上述优点的无线协议技术作为民用设备的无线通信技术。
遗憾的是,由于目前尚无无线嵌入式芯片通用通信协议标准,因此各厂商对自己的设备都使用私有通信协议,不同厂商的设备无法互操作。用户如果采购了不同厂商的民用智能设备,则必须同时使用多个厂商的控制系统。
为了实现对这些设备的集中控制,人们必须了解设备的通信协议。目前,已有大量的工作致力于研究逆向分析网络中的通信协议。已有的方法主要包括两类:通过分析协议消息报文实现对通信协议的分析,以及通过分析二进制程序实现对通信协议的分析。然而,由于传统的报文分析大多关注了解协议结构本身,而忽略了对协议报文消息含义的分析;此外,由于采用无线协议的设备大多为嵌入式设备,二进制程序几乎无法获取,无法通过分析二进制程序实现对通信协议的分析。并且,传统对于民用智能产品消息报文的分析是基于手动截取,人工分析的,自动化程度低。事实上,在民用智能产品的协议逆向分析中,人们更关注如何通过逆向分析实现对异构协议设备的集中控制,因此在这种情况下,分析协议报文消息的含义就显得尤为重要。
发明内容
(一)要解决的技术问题
本发明的目的在于解决传统由于传统的报文分析大多关注了解协议结构本身,而忽略了对协议报文消息含义分析、并且自动化程度不高的问题。
(二)技术方案
本发明采用以下技术方案:
一种嵌入式设备的协议自动逆向分析的方法,包括以下步骤:
1)对消息报文进行聚类分析,找出相同类型的消息报文;
2)对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;
3)对已得到消息报文格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;
4)使用传感器采集环境数据,对比已关联消息报文中的一组消息报文序列的时间戳,标注语意信息。
优选的,所述步骤1)包括以下步骤:
使用基于n-gram的距离定义,得到距离矩阵;
使用层次聚类方法聚类,得到相同类型的报文。
进一步的,所述的使用基于n-gram的距离定义,得到距离矩阵的方法为,
记ns表示两个消息报文的n-gram元组的最长公共子序列的长度,nt表示两个消息报文的n-gram元组的总数,距离的计算公式为:
更进一步的,所述的使用层次聚类方法聚类,得到相同类型的报文的方法为,使用层次聚类方法,对已得到的距离矩阵进行聚类分析,得到聚类树,选取树中恰当的层次,输出聚类结果。
优选的,所述步骤2)包括以下步骤:
使用基于评分策略的动态规划算法,计算比对得分的最大值;
根据比对得分的最大值计算过程,生成初步比对结果;
对初步比对结果进行合并,生成最终比对结果。
进一步的,所述的使用基于评分策略的动态规划算法,计算比对得分的最大值的方法为,
记n个序列为x1,x2,…,xn,第i个序列的第j个字符为xi,j,s[t1,t2,…,tn]表示n个序列前缀的比对得分的最大值,则
其中μ、σ为常数。
更进一步的,所述对初步比对结果进行合并,生成最终比对结果的方法为,对于上述公式当都相等时,该位内容可变,但长度固定,用#字符标记;对于上述公式至少有部分不相等的情形,该位可选,用*字符标记;合并连续的#字符,并记录其数量;合并连续的*字符。
优选的,所述步骤3)的消息报文关联方法为,扫描同一设备消息报文的时间戳,如果相邻报文的时间戳之差小于第一阈值,则将其关联为一组。
优选的,所述步骤4)包括以下步骤:
在已部署嵌入式设备的环境中,部署若干传感器,校准传感器与网络嗅探器的时钟使其同步;
使用传感器采集环境的状态数据,使用嵌入式设备的控制器控制该区域内的设备,收集数据;
对比传感器数据的时间戳与步骤3)中的一组消息报文序列的时间戳,如果两个时间戳之差小于第二阈值,则对该组消息报文序列标注该传感器对应的语意信息。
一种嵌入式设备的协议自动逆向分析的装置,包括以下模块:
消息报文进行聚类分析模块,用于对消息报文进行聚类分析,找出相同类型的消息报文;
消息报文的格式获取模块,用于对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;
消息报文关联模块,用于对已得到消息报文格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;
标注语意信息模块,用于对传感器采集环境数据与已关联消息报文中的一组消息报文序列的时间戳进行对比,标注语意信息。
(三)有益效果
本发明通过采用本发明的对消息报文进行聚类分析,找出相同类型的消息报文;对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;对已得到消息报文格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;使用传感器采集环境数据,对比已关联消息报文中的一组消息报文序列的时间戳,标注语意信息的方法和相应的装置,解决了传统由于传统的报文分析大多关注了解协议结构本身,而忽略了对协议报文消息含义分析、并且自动化程度不高的问题。
附图说明
图1是本发明的一种嵌入式设备的协议自动逆向分析方法的流程图;
图2是本发明的一种嵌入式设备的协议自动逆向分析装置的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。
如图1所示的一种嵌入式设备的协议自动逆向分析方法的流程图,如图2所示的一种嵌入式设备的协议自动逆向分析装置的示意图,在本实施例中,使用图2所示的设备和如图2所示的方法进而完成一种嵌入式设备的协议自动逆向分析,以下实施例以此方案为例。
实施例
步骤1:使用消息报文进行聚类分析模块,找出相同类型的消息报文:
记ns表示两个消息报文的n-gram元组的最长公共子序列的长度,nt表示两个消息报文的n-gram元组的总数(除去ns中的公共部分),距离的计算公式为:
计算每两个消息的距离,得到距离矩阵。采用层次聚类的方法对距离矩阵进行聚类分析,得到聚类树,选取树中恰当的层次,输出聚类结果。
步骤2,使用消息报文的格式获取模块,对相同类型的消息报文进行比对,找出消息报文中固定与变化的部分,得到消息报文的格式,
具体方法如下:
记n个序列为x1,x2,…,xn,第i个序列的第j个字符为xi,j,s[t1,t2,…,tn]表示n个序列前缀的比对得分的最大值,则
其中μ、σ为常数。
对于这样的状态转移方程,可以使用自顶向下或自底向上的方法求解。
根据状态转移的逆过程,可以构造比对结果。
对于公式的其他情形,即为相等的字符为匹配结果。
扫描得到的初步比对结果,合并连续的#字符,并记录其数量;合并连续的*字符。
步骤3:使用消息报文关联模块,对消息报文序列的进行时序分析,找出时间间隔低于阈值的消息报文,将其关联为一组:
扫描同一设备消息报文的时间戳,如果相邻报文的时间戳之差小于阈值δ1,则将其关联为一组。阈值的取值根据具体的情况进行选取,由消息报文的类别决定。
步骤4:使用标注语意信息模块,应用传感器采集环境数据,对比前述方法中的一组消息报文序列的时间戳,标注语意信息:
在已部署智能家居设备的场景中,部署若干传感器,校准传感器与网络嗅探器的时钟使其同步。
使用传感器采集环境的状态数据,使用智能家居设备的控制器控制该区域内的设备,在完成数据的收集工作后,对比传感器数据的时间戳与步骤4中的一组消息报文序列的时间戳,如果两个时间戳之差小于阈值δ2,则对该组消息报文序列标注该传感器对应的语意信息。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。
Claims (10)
1.一种嵌入式设备的协议自动逆向分析的方法,其特征在于,包括以下步骤:
1)对消息报文进行聚类分析,找出相同类型的消息报文;
2)对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;
3)对已得到格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;
4)使用传感器采集环境数据,对比已关联消息报文中的一组消息报文序列的时间戳,标注语意信息。
2.根据权利要求1所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述步骤1)包括以下步骤:
使用基于n-gram的距离定义,得到距离矩阵;
使用层次聚类方法聚类,得到相同类型的报文。
3.根据权利要求2所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述的使用基于n-gram的距离定义,得到距离矩阵的方法为,
记ns表示两个消息报文的n-gram元组的最长公共子序列的长度,nt表示两个消息报文的n-gram元组的总数,距离的计算公式为:
4.根据权利要求3所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述的使用层次聚类方法聚类,得到相同类型的报文的方法为,使用层次聚类方法,对已得到的距离矩阵进行聚类分析,得到聚类树,选取树中恰当的层次,输出聚类结果。
5.根据权利要求1所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述步骤2)包括以下步骤:
使用基于评分策略的动态规划算法,计算比对得分的最大值;
根据比对得分的最大值计算过程,生成初步比对结果;
对初步比对结果进行合并,生成最终比对结果。
8.如权利要求1所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述步骤3)的消息报文关联方法为,扫描同一设备消息报文的时间戳,如果相邻报文的时间戳之差小于第一阈值,则将其关联为一组。
9.根据权利要求1所述的嵌入式设备的协议自动逆向分析的方法,其特征在于,所述步骤4)包括以下步骤:
在已部署嵌入式设备的环境中,部署若干传感器,校准传感器与网络嗅探器的时钟使其同步;
使用传感器采集环境的状态数据,使用嵌入式设备的控制器控制该区域内的设备,收集数据;
对比传感器数据的时间戳与步骤3)中的一组消息报文序列的时间戳,如果两个时间戳之差小于第二阈值,则对该组消息报文序列标注该传感器对应的语意信息。
10.一种嵌入式设备的协议自动逆向分析的装置,其特征在于,包括以下模块:
消息报文进行聚类分析模块,用于对消息报文进行聚类分析,找出相同类型的消息报文;
消息报文的格式获取模块,用于对已找出的相同类型的消息报文进行比对,找出消息报文中固定的部分与变化的部分,得到消息报文的格式;
消息报文关联模块,用于对已得到消息报文格式的消息报文序列进行时序分析,设定阈值,并找出时间间隔低于阈值的消息报文,将其关联为一组;
标注语意信息模块,用于对传感器采集环境数据与已关联消息报文中的一组消息报文序列的时间戳进行对比,标注语意信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310330325.1A CN103414708B (zh) | 2013-08-01 | 2013-08-01 | 嵌入式设备的协议自动逆向分析的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310330325.1A CN103414708B (zh) | 2013-08-01 | 2013-08-01 | 嵌入式设备的协议自动逆向分析的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414708A true CN103414708A (zh) | 2013-11-27 |
CN103414708B CN103414708B (zh) | 2016-05-18 |
Family
ID=49607694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310330325.1A Active CN103414708B (zh) | 2013-08-01 | 2013-08-01 | 嵌入式设备的协议自动逆向分析的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414708B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825784A (zh) * | 2014-03-24 | 2014-05-28 | 中国人民解放军信息工程大学 | 一种非公开协议字段识别方法及系统 |
CN104023018A (zh) * | 2014-06-11 | 2014-09-03 | 中国联合网络通信集团有限公司 | 一种文本协议的逆向解析方法和系统 |
CN105049336A (zh) * | 2015-08-12 | 2015-11-11 | 深圳前海珩昌科技有限公司 | 即时通信消息的处理方法、服务器、客户端及系统 |
WO2018076778A1 (zh) * | 2016-10-24 | 2018-05-03 | 深圳光启合众科技有限公司 | 机器人及应用在机器人上的数据处理方法和系统 |
CN108449356A (zh) * | 2018-04-04 | 2018-08-24 | 国家计算机网络与信息安全管理中心 | 一种基于多序列比对的在线协议格式推断方法 |
CN108600195A (zh) * | 2018-04-04 | 2018-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于增量学习的快速工控协议格式逆向推断方法 |
CN109040081A (zh) * | 2018-08-10 | 2018-12-18 | 哈尔滨工业大学(威海) | 一种基于bwt的协议字段逆向分析系统及方法 |
CN110489130A (zh) * | 2018-05-31 | 2019-11-22 | 北京数聚鑫云信息技术有限公司 | 一种基于客户端的业务数据提取方法及装置 |
CN113452672A (zh) * | 2021-05-11 | 2021-09-28 | 国网天津市电力公司电力科学研究院 | 基于协议逆向分析的电力物联网终端流量异常分析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010053153A1 (en) * | 2000-06-19 | 2001-12-20 | Wolfgang Bartsch | Decoding device for analyzing communication protocols |
CN102891852A (zh) * | 2012-10-11 | 2013-01-23 | 中国人民解放军理工大学 | 基于报文分析的协议格式自动推断方法 |
-
2013
- 2013-08-01 CN CN201310330325.1A patent/CN103414708B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010053153A1 (en) * | 2000-06-19 | 2001-12-20 | Wolfgang Bartsch | Decoding device for analyzing communication protocols |
CN102891852A (zh) * | 2012-10-11 | 2013-01-23 | 中国人民解放军理工大学 | 基于报文分析的协议格式自动推断方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825784A (zh) * | 2014-03-24 | 2014-05-28 | 中国人民解放军信息工程大学 | 一种非公开协议字段识别方法及系统 |
CN103825784B (zh) * | 2014-03-24 | 2017-08-08 | 中国人民解放军信息工程大学 | 一种非公开协议字段识别方法及系统 |
CN104023018A (zh) * | 2014-06-11 | 2014-09-03 | 中国联合网络通信集团有限公司 | 一种文本协议的逆向解析方法和系统 |
CN105049336A (zh) * | 2015-08-12 | 2015-11-11 | 深圳前海珩昌科技有限公司 | 即时通信消息的处理方法、服务器、客户端及系统 |
WO2018076778A1 (zh) * | 2016-10-24 | 2018-05-03 | 深圳光启合众科技有限公司 | 机器人及应用在机器人上的数据处理方法和系统 |
CN108600195A (zh) * | 2018-04-04 | 2018-09-28 | 国家计算机网络与信息安全管理中心 | 一种基于增量学习的快速工控协议格式逆向推断方法 |
CN108449356A (zh) * | 2018-04-04 | 2018-08-24 | 国家计算机网络与信息安全管理中心 | 一种基于多序列比对的在线协议格式推断方法 |
CN108600195B (zh) * | 2018-04-04 | 2022-01-04 | 国家计算机网络与信息安全管理中心 | 一种基于增量学习的快速工控协议格式逆向推断方法 |
CN108449356B (zh) * | 2018-04-04 | 2022-03-11 | 国家计算机网络与信息安全管理中心 | 一种基于多序列比对的在线协议格式推断方法 |
CN110489130A (zh) * | 2018-05-31 | 2019-11-22 | 北京数聚鑫云信息技术有限公司 | 一种基于客户端的业务数据提取方法及装置 |
CN110489130B (zh) * | 2018-05-31 | 2021-01-08 | 北京数聚鑫云信息技术有限公司 | 一种基于客户端的业务数据提取方法及装置 |
CN109040081A (zh) * | 2018-08-10 | 2018-12-18 | 哈尔滨工业大学(威海) | 一种基于bwt的协议字段逆向分析系统及方法 |
CN109040081B (zh) * | 2018-08-10 | 2020-08-04 | 哈尔滨工业大学(威海) | 一种基于bwt的协议字段逆向分析系统及方法 |
CN113452672A (zh) * | 2021-05-11 | 2021-09-28 | 国网天津市电力公司电力科学研究院 | 基于协议逆向分析的电力物联网终端流量异常分析方法 |
CN113452672B (zh) * | 2021-05-11 | 2023-01-10 | 国网天津市电力公司电力科学研究院 | 基于协议逆向分析的电力物联网终端流量异常分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103414708B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414708A (zh) | 嵌入式设备的协议自动逆向分析的方法及装置 | |
CN102831057B (zh) | 一种用功能图分析软件功能变更及其影响的方法 | |
CN105045391A (zh) | 智能手表手势输入方法及智能手表 | |
CN105373472B (zh) | 一种基于数据库的统计准确性的测试方法及测试系统 | |
WO2007053457A3 (en) | Group sorted consolidation of data in an intrusion management system | |
EP3456081B1 (en) | Methods and systems for optimizing wireless network performance using behavioral profiling of network devices | |
CN103207730B (zh) | 一种可定位拖拉式流程图生成方法及流程图生成器 | |
CN102801548A (zh) | 一种智能预警的方法、装置及信息系统 | |
CN103020031A (zh) | 一种智能更新数据透视表的方法及装置 | |
CN102122430B (zh) | 农产品信息采集器及采集方法 | |
CN105069574A (zh) | 一种业务流程行为相似度分析的新方法 | |
CN105574230A (zh) | 面向协作图的基于Petri网的过程编排可实现性分析方法 | |
CN105303584A (zh) | 基于激光雷达的运动目标检测方法及装置 | |
CN104731705A (zh) | 一种基于复杂网络的脏数据传播路径发现方法 | |
CN112653675A (zh) | 一种基于深度学习的智能入侵检测方法及其装置 | |
CN103955192B (zh) | 一种用于污水处理厂的曲线报表数据采样方法 | |
CN104168590B (zh) | 一种用于微功率无线通信协议分析的方法 | |
EP4181476A1 (en) | Network data analysis method, network data analysis functional network element and communication system | |
CN109155014A (zh) | 实时风力市场预报分析的数据驱动调用 | |
CN205427670U (zh) | 基于msp430f169的远程农田气象信息监测系统 | |
CN103578003A (zh) | 基于Petri网寻找电子商务模型变化区域的新方法 | |
CN106815017A (zh) | 一种动态语言性能分析及展示方法和系统 | |
CN113687895B (zh) | 一种设备信息的展示方法及装置 | |
CN202102592U (zh) | 一种双源分布式车辆位置数据采集系统 | |
CN101571797A (zh) | 自动测试用例产生系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |