CN105530098A - 一种协议指纹自动提取方法及系统 - Google Patents

一种协议指纹自动提取方法及系统 Download PDF

Info

Publication number
CN105530098A
CN105530098A CN201510882745.XA CN201510882745A CN105530098A CN 105530098 A CN105530098 A CN 105530098A CN 201510882745 A CN201510882745 A CN 201510882745A CN 105530098 A CN105530098 A CN 105530098A
Authority
CN
China
Prior art keywords
node
data
field
fingerprint
packet
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
CN201510882745.XA
Other languages
English (en)
Other versions
CN105530098B (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.)
BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
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 BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING HAOHAN DATA INFORMATION TECHNOLOGY Co Ltd
Priority to CN201510882745.XA priority Critical patent/CN105530098B/zh
Publication of CN105530098A publication Critical patent/CN105530098A/zh
Application granted granted Critical
Publication of CN105530098B publication Critical patent/CN105530098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种协议指纹自动提取方法及系统,所述方法包括以下步骤:调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;获得待分析的进程的流量数据包;将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。本发明与人工提取协议指纹的方法相比,自动提取协议指纹更加精准、快速高效、省时省力。

Description

一种协议指纹自动提取方法及系统
技术领域
本发明属于网络技术领域,尤其涉及一种协议指纹自动提取方法及系统。
背景技术
从网络运行和管理者角度说,希望对本地网络信息的访问、读写等操作受到保护和控制,避免出现“陷门”、病毒、非法存取、拒绝服务和网络资源非法占用和非法控制等威胁,制止和防御网络黑客的攻击。对安全保密部门来说,他们希望对非法的、有害的或涉及国家机密的信息进行过滤和防堵,避免机要信息泄露,避免对社会产生危害,对国家造成巨大损失。
在网络协议识别领域,出现了协议指纹识别技术,网络协议指纹,广泛应用于计算机安全的各个方面,例如流量识别、入侵检测系统、网络监控等。现有的协议指纹识别方法为:如要分析QQ旋风的协议指纹,让有协议指纹提取经验的工程师,通过使用抓包工具,如wireshark反复多次抓取数据包,抓包(packetcapture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓到数据包后,人眼对比分析数据报文,提取出QQ旋风的数据报文携带的协议指纹特征。因为不断涌现新的应用软件需要提取协议指纹特征,旧的应用软件也在不断在更新版本,很可能指纹特征需要修改维护,重新提取,这样工作量就很大,比如QQ软件分多个平台的版本,PC平台、安卓平台、ios平台,包括聊天、语音、视频、文件等协议,并且每隔一段时间就有新版本出现,这些都需要投入人力进行分析维护。
因此,如何自动高效地提取协议指纹,降低工作人员的工作强度,提高工作效率,成为技术人员需要考虑的问题。
发明内容
本发明所要解决的技术问题是提供一种协议指纹自动提取方法及系统,提高协议指纹提取的自动化水平,降低工作人员的工作强度,提高工作效率。
为了解决上述技术问题,本发明提供了一种协议指纹自动提取方法,所述方法包括以下步骤:
调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
获得待分析的进程的流量数据包;
将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。
优选的,所述三元组为:IP+端口+协议类型;所述五元组为:源IP+源端口+目的IP+目的端口+协议类型。
优选的,所述对于一个节点,将所有会话的首个报文内容相互比对,包括:
查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
为了解决上述技术问题,本发明还提供了一种协议指纹自动提取系统,所述系统包括:
数据包获取模块,用于调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
进程确定模块,用于获得待分析的进程的流量数据包;
数据包划分模块,用于将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
指纹获取模块,用于将一个节点的所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹,直至获得所有节点的流量数据包的协议指纹。
优选的,所述数据包划分模块,进一步用于确定所述三元组为:IP+端口+协议类型;确定所述五元组为:源IP+源端口+目的IP+目的端口+协议类型。
优选的,所述指纹获取模块,进一步用于查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
本发明的协议指纹自动提取方法及系统,根据三元组(IP+端口+协议类型)确定一个节点,五元组(源IP+源端口+目的IP+目的端口+协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。本发明与人工提取协议指纹的方法相比,自动提取协议指纹更加精准、快速高效、省时省力。
附图说明
图1为本发明实施例的协议指纹自动提取方法流程图。
图2为本发明实施例的协议指纹自动提取系统结构示意图。
图3为本发明的实际工作流程图。
图4为本发明应用实例中的指纹自动提取演示例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的主要思想是:根据三元组(IP+端口+协议类型)确定一个节点,五元组(源IP+源端口+目的IP+目的端口+协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。
参照图1所示,本发明实施例的协议指纹自动提取方法流程图。所述方法包括以下步骤:
步骤101,调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
步骤102,获得待分析的进程的流量数据包;
步骤103,根据三元组(IP+端口+协议类型)确定一个节点,五元组(源IP+源端口+目的IP+目的端口+协议类型)确定一条会话,将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
步骤104,对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;
步骤105,重复步骤104,直到获得所有节点的流量数据包的协议指纹。
在本发明的一个优选实施例中,步骤104中的具体处理方法为:鉴于指纹一般存在于报文的固定字节或者非固定字节,拿到某个节点的报文后,首先对比固定字节,即查找固定字节重复性最高的内容作为第一字段,看是否固定位置存在指纹,如固定字节04-07字节存在十六进制值表示的\x03\x07\x09\x08字段指纹,然后再对比非固定字节,即除固定字节外的其他字节重复性最高的内容作为第二字段,看是否存在非固定位置的指纹,如除固定字节外的其他字节存在十六进制值表示的\x78\x98\x90字段指纹。最后综合得出,该类的指纹特征为04-07字节为\x03\x07\x09\x08字段,并且含有位置不固定的\x78\x98\x90字段。
参照图2所示,为本发明实施例的协议指纹自动提取系统结构示意图。所述系统包括:
数据包获取模块201,用于调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
进程确定模块202,用于获得待分析的进程的流量数据包;
数据包划分模块203,用于将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
指纹获取模块204,用于将一个节点的所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹,直至获得所有节点的流量数据包的协议指纹。
在本发明的一个优选实施例中,所述数据包划分模块203,进一步用于确定所述三元组为:IP+端口+协议类型;确定所述五元组为:源IP+源端口+目的IP+目的端口+协议类型。
在本发明的一个优选实施例中,所述指纹获取模块204,进一步用于查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
参照图3所示,为本发明的实际工作流程图。下面对采用本发明的协议指纹自动提取方法及系统对协议指纹进行提取的实际工作过程进行详细描述:
步骤301:进程抓包;
选择网卡,开始抓包;
反复操作协议软件(如QQ旋风)驱动流量;
关闭协议软件,停止抓包;
步骤302:选择要分析的协议进程;
选择要分析的协议进程,如QQ旋风的进程为QQDownload.exe,这样分析的时候就会读取该进程的流量;
步骤303:分析该进程流量;
将流量按节点(三元组)进行归类;
将每个节点的会话(五元组)报文进行对比分析;
先取出固定字节的指纹;
再取出非固定字节的指纹;
整合固定字节的指纹和非固定字节的指纹,生成最后的该节点的特征指纹;
步骤304:输出协议指纹特征;
输出该进程的所有协议指纹。
参照图4所示,为本发明应用实例中的指纹自动提取演示例示意图,以FTP控制连接特征为例:
报文如下:
报文1:220ChrisSandersFTPServer;
报文2:220Serv-UFTP-Serverv2.5fforWinSockready...;
报文3:220myFTPok。
具体处理过程:
1、先比较固定位置特征,发现0-3字节位置出现(220);
2、再比较非固定位置特征,发现出现FTP关键字(FTP);
3、结合1与2,FTP控制连接特征为(220.*FTP)。
对于类似Http格式的协议,采用将Http报文按行分割,相同的Key之间进行比对,Key有Host、Cookie、User-Agent等,如Host的行与Host的行对比,Cookie与Cookie的行进行对比,比对方法跟上面一样。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种协议指纹自动提取方法,其特征在于,所述方法包括以下步骤:
调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
获得待分析的进程的流量数据包;
将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
对于一个节点,将所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹;直到获得所有节点的流量数据包的协议指纹。
2.如权利要求1所述的方法,其特征在于,所述三元组为:IP+端口+协议类型;所述五元组为:源IP+源端口+目的IP+目的端口+协议类型。
3.如权利要求1所述的方法,其特征在于,所述对于一个节点,将所有会话的首个报文内容相互比对,包括:
查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
4.一种协议指纹自动提取系统,其特征在于,所述系统包括:
数据包获取模块,用于调用进程抓包工具对指定的电脑网卡进行抓包,输出各进程流量的数据包;
进程确定模块,用于获得待分析的进程的流量数据包;
数据包划分模块,用于将待分析的流量数据包按三元组确定的节点自动归类,每一个节点按五元组分成多个会话;
指纹获取模块,用于将一个节点的所有会话的首个报文内容相互比对,获得所有首个报文内容中重复性高的字段,作为该节点的流量数据包的协议指纹,直至获得所有节点的流量数据包的协议指纹。
5.如权利要求4所述的系统,其特征在于,所述数据包划分模块,进一步用于确定所述三元组为:IP+端口+协议类型;确定所述五元组为:源IP+源端口+目的IP+目的端口+协议类型。
6.如权利要求4所述的系统,其特征在于,所述指纹获取模块,进一步用于查找所有首个报文中固定字节重复性最高的内容作为第一字段,再查找所有首个报文中除固定字节外的其他字节重复性最高的内容作为第二字段,将所述第一字段和所述第二字段综合,作为该节点的流量数据包的协议指纹。
CN201510882745.XA 2015-12-04 2015-12-04 一种协议指纹自动提取方法及系统 Active CN105530098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510882745.XA CN105530098B (zh) 2015-12-04 2015-12-04 一种协议指纹自动提取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510882745.XA CN105530098B (zh) 2015-12-04 2015-12-04 一种协议指纹自动提取方法及系统

Publications (2)

Publication Number Publication Date
CN105530098A true CN105530098A (zh) 2016-04-27
CN105530098B CN105530098B (zh) 2018-10-09

Family

ID=55772112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510882745.XA Active CN105530098B (zh) 2015-12-04 2015-12-04 一种协议指纹自动提取方法及系统

Country Status (1)

Country Link
CN (1) CN105530098B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995602A (zh) * 2017-12-29 2019-07-09 中国移动通信集团设计院有限公司 一种协议识别的方法、系统和装置
CN111786971A (zh) * 2020-06-19 2020-10-16 杭州安恒信息技术股份有限公司 主机爆破攻击的防御方法、装置和计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845066A (zh) * 2006-05-16 2006-10-11 北京启明星辰信息技术有限公司 一种自动协议识别方法及系统
CN101789931B (zh) * 2009-12-31 2012-12-05 暨南大学 一种基于数据挖掘的网络入侵检测系统及方法
EP2724492A2 (en) * 2011-06-27 2014-04-30 McAfee, Inc. System and method for protocol fingerprinting and reputation correlation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1845066A (zh) * 2006-05-16 2006-10-11 北京启明星辰信息技术有限公司 一种自动协议识别方法及系统
CN101789931B (zh) * 2009-12-31 2012-12-05 暨南大学 一种基于数据挖掘的网络入侵检测系统及方法
EP2724492A2 (en) * 2011-06-27 2014-04-30 McAfee, Inc. System and method for protocol fingerprinting and reputation correlation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995602A (zh) * 2017-12-29 2019-07-09 中国移动通信集团设计院有限公司 一种协议识别的方法、系统和装置
CN109995602B (zh) * 2017-12-29 2021-03-16 中国移动通信集团设计院有限公司 一种协议识别的方法、系统和装置
CN111786971A (zh) * 2020-06-19 2020-10-16 杭州安恒信息技术股份有限公司 主机爆破攻击的防御方法、装置和计算机设备

Also Published As

Publication number Publication date
CN105530098B (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN107135093B (zh) 一种基于有限自动机的物联网入侵检测方法及检测系统
US11102223B2 (en) Multi-host threat tracking
CN105450442B (zh) 一种网络拓扑排查方法及其系统
US10104124B2 (en) Analysis rule adjustment device, analysis rule adjustment system, analysis rule adjustment method, and analysis rule adjustment program
CN103607399A (zh) 基于暗网的专用ip网络安全监测系统及方法
CN102739457B (zh) 一种基于dpi和svm技术的网络流量识别方法
CN110401624A (zh) 源网荷系统交互报文异常的检测方法及系统
US20110154492A1 (en) Malicious traffic isolation system and method using botnet information
CN103780610A (zh) 基于协议特征的网络数据恢复方法
CN104115463A (zh) 用于处理网络元数据的流式传输方法和系统
CN105103496A (zh) 用于提取和保存用于分析网络通信的元数据的系统和方法
US20170295193A1 (en) Adaptive anomaly context description
JP2016508353A (ja) ネットワークメタデータを処理する改良されたストリーミング方法およびシステム
JP2015015581A (ja) 監視装置、監視方法及びプログラム
CN103997489A (zh) 一种识别DDoS僵尸网络通信协议的方法及装置
CN107666486A (zh) 一种基于报文协议特征的网络数据流恢复方法及系统
CN105007175A (zh) 一种基于openflow的流深度关联分析方法及系统
CN105635170A (zh) 基于规则对网络数据包进行识别的方法和装置
CN107204965A (zh) 一种密码破解行为的拦截方法及系统
CN112491883A (zh) 一种检测web攻击的方法、装置、电子装置和存储介质
CN107707549B (zh) 一种自动提取应用特征的装置及方法
Wang et al. Benchmark data for mobile app traffic research
Thi et al. Federated learning-based cyber threat hunting for apt attack detection in SDN-enabled networks
CN105530098A (zh) 一种协议指纹自动提取方法及系统
CN104660584B (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 218, 2nd Floor, Building A, No. 119 West Fourth Ring North Road, Haidian District, Beijing, 100000

Patentee after: HAOHAN DATA TECHNOLOGY CO.,LTD.

Address before: Room 102, building 14, No. 45, Beiwa Road, Haidian District, Beijing 100089

Patentee before: HAOHAN DATA TECHNOLOGY CO.,LTD.

CP02 Change in the address of a patent holder