CN110896388B - 网络流量分析方法、装置、计算机可读介质 - Google Patents
网络流量分析方法、装置、计算机可读介质 Download PDFInfo
- Publication number
- CN110896388B CN110896388B CN201811062522.9A CN201811062522A CN110896388B CN 110896388 B CN110896388 B CN 110896388B CN 201811062522 A CN201811062522 A CN 201811062522A CN 110896388 B CN110896388 B CN 110896388B
- Authority
- CN
- China
- Prior art keywords
- request message
- message
- protocol structure
- response message
- response
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
涉及网络技术领域,尤其涉及一种网络流量分析方法、装置和计算机可读介质,用于有效确定网络流量中请求消息与响应消息的对应关系。在本发明实施例提供的一种网络流量分析方法中,接收至少一个第一请求消息及各自的第一响应消息;提取每一个第一请求消息的协议结构的特征信息,确定响应消息的至少一种可能的协议结构并提取特征信息;对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种网络流量分析方法、装置和计算机可读介质。
背景技术
今天,网络安全的问题日渐突出。诸如防火墙、反病毒软件和入侵检测系统等安全解决方案可用于阻止网络攻击。但是,这些安全解决方案仅能检测或阻止部分已知的网络攻击。
蜜罐系统通过模仿易被攻击的系统而从攻击者处收集信息,记录和分析攻击者的攻击行为。有助于对攻击者的攻击行为和方法加以了解,进而发现未知的网络中的安全漏洞。
在现有的蜜罐系统中,包括物理蜜罐和虚拟蜜罐。其中,物理蜜罐具有高互动性,但成本较高;虚拟蜜罐是通过软件模拟真实物理蜜罐,成本较低,但由于采用人工方式创建,响应的模式比较固定,因此容易被攻击者识别,互动性较差。无论是物理蜜罐还是虚拟蜜罐,其绝大多是静态的,通常无法根据请求消息的变化而进行动态响应,并且当需要增加新功能时,也需要重新设计蜜罐系统,改动较大。
发明内容
本发明提供一种网络流量分析方法、装置和计算机可读介质。根据本发明提供的方案,可确定网络流量中请求消息与响应消息的对应关系。在确定该对应关系后,即可根据请求消息动态生成对应的响应消息,当该方案应用于蜜罐系统中时,可实现对请求消息的动态响应。
第一方面,提供一种网络流量分析方法,用于分析一个网络流量中的消息,该方法包括:接收至少一个第一请求消息,以及对于每一个第一请求消息,接收响应于该第一请求消息的一个第一响应消息;对于每一个第一请求消息,提取该第一请求消息的协议结构的特征信息,确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构,对于该第一响应消息的每一种可能的协议结构,提取该协议结构的特征信息,对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息。
其中,通过分析得到真实的网络流量中的请求消息和响应消息的协议结构的特征,从而找到响应消息和请求消息之间的对应关系,进而在收到一条请求消息后,可根据该对应关系动态生成响应消息。
可选地,该方法还包括:接收一个第二请求消息,并接收响应于所述第二请求消息的一个第二响应消息;从所述至少一个第一请求消息中,确定N个第一请求消息,与所述至少一个第一请求消息中的其他消息相比,所述第二请求消息的协议结构与所述N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于所述至少一个第一请求消息的个数;按照记录的所述N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的所述第二请求消息的响应消息;确定生成的所述第二请求消息的每一个模拟的响应消息与所述第二响应消息的协议结构的相似程度;根据相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
其中,在确定响应消息和请求消息之间的对应关系时,可确定响应消息的多个可能的协议结构的特征信息。在收到新的请求消息时,针对响应消息的每一种可能的协议结构的特征信息分别生成模拟的响应消息,通过将模拟的响应消息与真实的响应消息进行比较,确定各个可能的协议结构的特征信息的可信度。从而更准确地确定请求消息与响应消息的对应关系。
可选地,所述方法还包括:接收一个第三请求消息;按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的所述第一请求消息;按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
其中,在收到新的请求消息时,可根据可信度最高的协议结构的特征信息生成响应消息,从而实现准确、动态地响应请求消息。
可选地,所述方法还包括:对应于每一个第一请求消息,记录响应于该第一请求消息的第一响应消息;在收到所述第三请求消息之后,还包括:查找与所述第三请求消息相同的第一请求消息;从已记录的每一个所述第一请求消息的协议结构的特征信息中确定与所述第三请求消息的协议结构最相符的特征信息,按照记录的该最相符的特征信息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息,包括:若找到与所述第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的所述第三请求消息的响应消息;若未找到与所述第三请求消息相同的第一请求消息,则按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
其中,记录每一个真实的第一请求消息所对应的真实的第一响应消息。在收到信的请求消息时,首先比较请求消息是否相同,如果相同,则将记录的请求消息对应的真实的响应消息作为生成的模拟的响应消息来发送,加快了消息生成的速度,且提高的生成的响应消息的准确性。
第二方面,提供一种网络流量分析装置,用于分析一个网络流量中的消息,包括:一个接收模块,用于接收至少一个第一请求消息,以及对于每一个第一请求消息,接收响应于该第一请求消息的一个第一响应消息;一个分析模块,用于对于每一个第一请求消息,提取该第一请求消息的协议结构的特征信息;确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构;对于该第一响应消息的每一种可能的协议结构,提取该协议结构的特征信息;对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息。
其中,通过分析得到真实的网络流量中的请求消息和响应消息的协议结构的特征,从而找到响应消息和请求消息之间的对应关系,进而在收到一条请求消息后,可根据该对应关系动态生成响应消息。
可选地,所述接收模块,还用于接收一个第二请求消息,并接收响应于所述第二请求消息的一个第二响应消息;所述装置还包括一个生成模块,用于:从所述至少一个第一请求消息中,确定N个第一请求消息,与所述至少一个第一请求消息中的其他请求消息相比,所述第二请求消息的协议结构与所述N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于所述至少一个第一请求消息的个数,以及按照记录的所述N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的所述第二请求消息的响应消息;所述装置还包括一个评估模块,用于:确定生成的所述第二请求消息的每一个模拟的响应消息与所述第二响应消息的协议结构的相似程度;根据相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
其中,在确定响应消息和请求消息之间的对应关系时,可确定响应消息的多个可能的协议结构的特征信息。在收到新的请求消息时,针对响应消息的每一种可能的协议结构的特征信息分别生成模拟的响应消息,通过将模拟的响应消息与真实的响应消息进行比较,确定各个可能的协议结构的特征信息的可信度。从而更准确地确定请求消息与响应消息的对应关系。
可选地,所述接收模块,还用于接收一个第三请求消息;所述生成模块,还用于:按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的所述第一请求消息;按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
其中,在收到新的请求消息时,可根据可信度最高的协议结构的特征信息生成响应消息,从而实现准确、动态地响应请求消息。
可选地,所述分析模块,还用于对应于每一个第一请求消息,记录响应于该第一请求消息的第一响应消息;所述生成模块,还用于查找与所述第三请求消息相同的第一请求消息;所述生成模块在生成一个模拟的所述第三请求消息的响应消息时,具体用于:若找到与所述第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的所述第三请求消息的响应消息,以及若未找到与所述第三请求消息相同的第一请求消息,则按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
其中,记录每一个真实的第一请求消息所对应的真实的第一响应消息。在收到信的请求消息时,首先比较请求消息是否相同,如果相同,则将记录的请求消息对应的真实的响应消息作为生成的模拟的响应消息来发送,加快了消息生成的速度,且提高的生成的响应消息的准确性。
第三方面,提供一种网络流量分析装置,包括:至少一个存储器,用于存放计算机可读代码;至少一个处理器,用于执行所述存储器存放的所述计算机可读代码,执行如第一方面或第一方面的任一种可能的实现方式所提供的方法。
第四方面,提供一种计算机可读介质,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,执行如第一方面或第一方面的任一种可能的实现方式所提供的方法。
结合上述任一方面或任一方面的任一种可能的实现方式,所述协议结构的特征信息包括下列信息中的至少一种:消息的长度;消息中时间相关字段的位置;消息中可打印字段的位置;用于指示消息长度的字段的位置;用于指示消息边界的字段的特征;用于指示消息顺序的字段的位置。
附图说明
图1示出了本发明实施例中获取网络流量的方式。
图2示出了本发明实施例中对网络流量分析的过程。
图3为本发明实施例提供的网络流量分析方法的流程图。
图4为本发明实施例提供的网络流量分析装置的一种结构示意图。
图5为本发明实施例提供的网络流量分析装置的另一种结构示意图。
附图标记列表:
10:网络流量分析装置 20:网络流量分发装置 30:真实的网络设备
40:网络流量 50:模拟的响应消息
101:接收模块 102:分析模块 103:生成模块
104:评估模块 105:特征信息库 106:存储器
107:处理器 108:网络接口
S301:接收第一请求消息和第一响应消息
S302:分析并记录第一请求消息和第一响应消息的协议结构的特征信息
S303:接收第二请求消息和第二响应消息
S304:根据已记录的特征信息生成第二请求消息的模拟的响应消息
S305:比较模拟的响应消息和第二响应消息
S306:根据比较结果调整特征信息的可信度
S307:接收第三请求消息
S308:按照具有最高可信度的特征信息生成模拟的第三请求消息的响应消息
具体实施方式
如前所述,现有的蜜罐系统无法实现对请求消息的动态响应。本发明实施例中,通过分析得到真实的网络流量中的请求消息和响应消息的协议结构的特征,从而找到响应消息和请求消息之间的对应关系,进而在收到一条请求消息后,可根据该对应关系动态生成响应消息。
除了蜜罐系统,本发明实施例提供的方案还可应用于其他场景,比如用于网络协议测试系统,可生成各种动态的响应消息;再比如用于确定异常的响应消息,从而查找网络的安全漏洞等。
进一步地,在确定响应消息和请求消息之间的对应关系时,可确定响应消息的多个可能的协议结构的特征信息。在收到新的请求消息时,针对响应消息的每一种可能的协议结构的特征信息分别生成模拟的响应消息,通过将模拟的响应消息与真实的响应消息进行比较,确定各个可能的协议结构的特征信息的可信度。从而更准确地确定请求消息与响应消息的对应关系。
进一步地,在收到新的请求消息时,可根据可信度最高的协议结构的特征信息生成响应消息,从而实现准确、动态地响应请求消息。
为了使本发明实施例的目的、技术方案和优点更加清楚明白,以下参照附图本发明实施例进一步详细说明。其中,后续描述的实施例仅仅是本发明实施例的一部分,而非全部的实施例。
图1示出了本发明实施例中获取网络流量的方式。如图1所示,网络流量分发装置20获取网络流量40,并从真实的网络设备30处获取响应消息。网络流量分发装置20将获取的网络流量40和真实的响应消息发送至网络流量分析装置10。可选地,网络流量分发装置20可生成发送至真实的网络设备30和从真实的网络设备30处接收的各消息的镜像,并发送至网络流量分析装置10,网络流量分发装置20能够获得网络流量40中的所有细节,比如网络流量中具体字段的含义、值等。。
其中,网络流量40可以是同一种应用层协议的网络流量。应用层协议可为传输层之上的应用层协议,比如传输控制协议(Transmission Control Protocol)层之上的超文本传输协议(Hypertext Transfer Protocol,HTTP);再比如TCP层之上的文本传输协议(File Transfer Protocol,FTP),用户数据报协议(User Datagram Protocol,UDP)层之上的域名系统(Domain Name System,DNS)协议等。
网络流量40中可包括多个请求消息、多个响应消息。网络流量分发装置20一方面将收到的请求消息发送至真实的网络设备30,一方面该请求消息发送至本发明实施例提供的网络流量分析装置10。
网络流量分析装置10实现对网络流量的分析,确定该网络流量中请求消息和响应消息之间的对应关系。
下面,结合图2和图3说明本发明实施例中网络流量分析的过程。如图2所示,来自网络流量分发装置20的网络流量首先被网络流量分析装置10的接收模块101所接收。
在图3所示的步骤S301中,接收模块101接收至少一个第一请求消息和每一个请求消息的第一响应消息,并发送至分析模块102。
在步骤S302中,分析模块102对每一个第一请求消息和对应的第一响应消息进行分析。具体地,对于每一个请求消息,分析模块102可提取第一请求消息的协议结构的特征信息,并确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构。分析模块102推测一个第一响应消息的每一种可能的协议结构,并提取每一种协议结构的特征信息。对于每一个请求消息,分析模块102在特征信息库105中关联地记录该第一请求消息,该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息。
其中,请求消息和响应消息的协议结构的特征信息可包括下列信息中的至少一种:
1、消息的长度(message length);
2、消息中时间相关字段的位置,包括消息中与时间相关的字节和位置,包括:二进制时间戳、日期、时区、小时、秒等;
3、消息中可打印字段的位置,包括消息中可打印的字节和位置;
4、用于指示消息长度的字段的位置;
5、用于指示消息边界的字段的特征,比如“\r”、“\n”、“{}”、0x00等;
6、用于指示消息顺序的字段的位置,该字段的值在前后的消息中保持一定的顺序。
对于一个请求消息,对应于每一种推测的响应消息的协议结构,分别生成一条记录。一种可能的数据组织方式如下:其中一行对应于特征信息库105中的一条记录。可选地,该记录中还可记录该请求消息的响应消息。对应于本发明实施例一个可选的实施方式,由评估模块104对响应消息的每一种可能的协议结构进行评估,并赋予可信度,可信度可取值0~100,值越高,可信度越高。可信度可如下表中最后一列所示。
在步骤S302中,通过提取请求消息和响应消息的每一种可能的协议结构的特征信息,初步确定的请求消息和响应消息的对应关系。
可选地,进一步地,在步骤S303中,接收模块101从网络流量40中接收一个第二请求消息,并接收响应于第二请求消息的第二响应消息。接收模块101将收到的第二请求消息和第二响应消息发送至生成模块103。
在步骤S304中,生成模块103从特征信息库105中记录的至少一个第一请求消息中,确定N个第一请求消息。该N个第一请求消息满足:与特征信息库105中记录的其他请求消息相比,第二请求消息的协议结构与该N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于至少一个第一请求消息的个数,比如N=3。其中,可采用特征比对的方法,将第二请求消息的协议结构与特征信息库105中记录的每一个请求消息的协议结构的特征信息进行比较,从而确定该N个第一请求消息。生成模块103可按照该特征信息库105中该N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的第二请求消息的响应消息。生成模块103生成的各响应消息可统一记为响应消息50。生成模块103生成每一个模拟的第二请求消息的响应消息被发送至评估模块104。
在步骤S305中,评估模块104对收到的模拟的响应消息进行评估。具体地,评估模块104可确定生成的第二请求消息的每一个模拟的响应消息与第二响应消息的协议结构的相似程度。
在步骤S306中,评估模块104根据步骤S305中确定的相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
步骤S303至步骤S306可重复执行,通过不断地接收第二请求消息,生成模拟的响应消息,再用模拟的响应消息与真实的响应消息比较来不断调整特征信息库105中响应消息的各种可能的协议结构的特征信息的可信度,从而使得响应消息的协议结构的特征信息越来越精确。当然,通过步骤S303中接收的第二请求消息,也可再进一步生成特征信息库105中的记录,增加响应消息的各种可能的协议结构的特征信息,再通过置信度从众多的可能的协议结构的特征信息中确定最接近真实的响应消息的协议结构的特征信息。通过大量的消息训练使得请求消息和响应消息的对应关系越来越精确。
进一步地,在得到的较精确的请求消息和响应消息的对应关系之后,还可据此生成模拟的响应消息并发送,实现虚拟蜜罐的准确、动态的响应。具体地,
在步骤S307中,接收模块101接收第三请求消息。
在步骤S308中,生成模块103按照特征信息库105中记录的每一个第一请求消息的协议结构的特征信息,确定与第三请求消息的协议结构最相符的第一请求消息。与步骤S304类似,也可采用特征对比的方式确定与第三请求消息的协议结构最相符的第一请求消息,并按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的第三请求消息的响应消息。进一步地,可将该生成的模拟的响应消息发送出去。
可选地,在前述的步骤S302中,分析模块102在特征信息库105中对应于每一个第一请求消息,还记录了响应于该第一请求消息的第一响应消息。相应地在步骤S308中,生成模块103首先查找与所述第三请求消息相同的第一请求消息(可通过分别计算第三请求消息的hash值和每一条第一请求消息的hash值,再进行hash值比较,与第三请求消息的hash值相同的第一请求消息即可视为与第三请求消息相同的第一请求消息。)进一步地,若找到与第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的第三请求消息的响应消息,无需进行前述的协议结构的特征信息的比较。若未找到与第三请求消息相同的第一请求消息,则按照已记录的每一个第一请求消息的协议结构的特征信息,确定与第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的第三请求消息的响应消息。由于hash运算较简单,能够实现快速查找,与特征对比相比较,能够快速找到协议结构相符的第一请求消息。可选地,分析模块102可将每一条第一请求消息的hash值计算出来,对应于第一请求消息记录在特征信息库105中。这样当收到一条第三请求消息时,无需再计算各第一请求消息的哈希值,缩短了查找的时间。
图4为本发明实施例提供的网络流量分析装置10的一种结构示意图。该装置10中包括的各模块的实现方式可如前述的图2中的各模块的实现。下面,结合图4对该装置的各模块的实现机制进一步说明。该装置10可包括:
一个接收模块101,用于接收至少一个第一请求消息,以及对于每一个第一请求消息,接收响应于该第一请求消息的一个第一响应消息;
一个分析模块102,用于对于每一个第一请求消息,提取该第一请求消息的协议结构的特征信息;确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构;对于该第一响应消息的每一种可能的协议结构,提取该协议结构的特征信息;对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息。
其中,可选地,该装置10还可包括一个特征信息库105,用于存储收到的请求消息、响应消息、消息的特征信息、以及后续描述中的可信度等信息。
可选地,所述接收模块101,还用于接收一个第二请求消息,并接收响应于所述第二请求消息的一个第二响应消息;
所述装置10还包括一个生成模块103,用于:从所述至少一个第一请求消息中,确定N个第一请求消息,与所述至少一个第一请求消息中的其他请求消息相比,所述第二请求消息的协议结构与所述N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于所述至少一个第一请求消息的个数,以及按照记录的所述N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的所述第二请求消息的响应消息;
所述装置10还包括一个评估模块104,用于:确定生成的所述第二请求消息的每一个模拟的响应消息与所述第二响应消息的协议结构的相似程度;根据相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
可选地,所述接收模块101,还用于接收一个第三请求消息;
所述生成模块103,还用于:按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的所述第一请求消息;按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
可选地,所述分析模块102,还用于对应于每一个第一请求消息,记录响应于该第一请求消息的第一响应消息;
所述生成模块103,还用于查找与所述第三请求消息相同的第一请求消息;
所述生成模块103在生成一个模拟的所述第三请求消息的响应消息时,具体用于:若找到与所述第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的所述第三请求消息的响应消息,以及若未找到与所述第三请求消息相同的第一请求消息,则按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
可选地,所述协议结构的特征信息包括下列信息中的至少一种:消息的长度;消息中时间相关字段的位置;消息中可打印字段的位置;用于指示消息长度的字段的位置;用于指示消息边界的字段的特征;用于指示消息顺序的字段的位置。
图5为本发明实施例提供的网络流量分析装置10的另一种结构示意图。如图5所示,该装置10可包括:至少一个存储器106,用于存放计算机可读代码;至少一个处理器107,用于执行所述存储器106存放的所述计算机可读代码,执行图3所示的方法。其中至少一个存储器106和至少一个处理器107之前可通过总线连接。此外,该网络流量分析装置10还可提供至少一个网络接口,用于接收网络流量。网络接口和存储器106以及处理器107之间也可通过总线通信。
图4所示的网络流量分析装置10中的各模块可视为图5所示的至少一个存储器106中存储的计算机可读代码中的程序模块,由至少一个处理器107调用以执行本发明实施例提供的分析方法。其中,程序模块可以以操作系统、应用程序模块和其他程序模块的形式包含于计算设备中,并且还可以物理地存储在已知的若干存储器设备中。程序模块可以包括但是不限于:用于执行特定操作的例程、子例程、程序、对象、部件和数据结构或者一类将根据本发明描述的特定抽象数据。
此外,上述各模块也可视为由硬件和软件组合而实现的各个功能模块,网络流量分析装置10在执行访问控制方法时涉及的各种功能。上述各模块还也可视为由硬件实现的各个功能模块,用于实现网络流量分析装置10在执行访问控制方法时涉及的各种功能,比如预先将访问控制方法中涉及的各流程的控制逻辑烧制到诸如现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片或复杂可编程逻辑器件(Complex ProgrammableLogic Device,CPLD)中,而由这些芯片或器件执行上述各模块的功能,具体实现方式可依工程实践而定。
此外,本发明实施例还提供一种计算机可读介质,该计算机可读介质存储有计算机可读代码,当该计算机可读代码被至少一个处理器执行时,实现如图3所示的方法。
综上,本发明实施例提供一种网络流量分析方法、装置和计算机可读介质。采用本发明实施例,可确定一个请求消息和一个响应消息之间的对应关系,并据此可自动生成一个请求消息的响应消息,响应消息不是预先定义的,而是从真实的网络设备处不断学习得到的。通过大量的真实的请求消息和对应的响应消息的训练,使得生成的模拟的响应消息能够更接近真实的响应消息。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由至少两个物理实体实现,或者,可以由至少两个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific IntegratedCircuits,ASIC)等)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明实施例进行了详细展示和说明,然而本发明实施例不限于这些已揭示的实施例,基于上述实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明实施例的保护范围之内。
Claims (10)
1.网络流量分析方法,用于分析一个网络流量中的消息,其特征在于,包括:
接收至少一个第一请求消息,以及对于每一个第一请求消息,接收响应于该第一请求消息的一个第一响应消息;
对于每一个第一请求消息,
提取该第一请求消息的协议结构的特征信息;
确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构;
对于该第一响应消息的每一种可能的协议结构,提取该协议结构的特征信息;
对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息;
接收一个第二请求消息,并接收响应于所述第二请求消息的一个第二响应消息;
从所述至少一个第一请求消息中,确定N个第一请求消息,与所述至少一个第一请求消息中的其他消息相比,所述第二请求消息的协议结构与所述N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于所述至少一个第一请求消息的个数;
按照记录的所述N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的所述第二请求消息的响应消息;
确定生成的所述第二请求消息的每一个模拟的响应消息与所述第二响应消息的协议结构的相似程度;
根据相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
2.如权利要求1所述的方法,其特征在于,还包括:
接收一个第三请求消息;
按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的所述第一请求消息;
按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
3.如权利要求2所述的方法,其特征在于,还包括:
对应于每一个第一请求消息,记录响应于该第一请求消息的第一响应消息;
在收到所述第三请求消息之后,还包括:查找与所述第三请求消息相同的第一请求消息;
从已记录的每一个所述第一请求消息的协议结构的特征信息中确定与所述第三请求消息的协议结构最相符的特征信息,按照记录的该最相符的特征信息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息,包括:
若找到与所述第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的所述第三请求消息的响应消息;
若未找到与所述第三请求消息相同的第一请求消息,则按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
4.如权利要求1~3任一项所述的方法,其特征在于,所述协议结构的特征信息包括下列信息中的至少一种:
消息的长度;
消息中时间相关字段的位置;
消息中可打印字段的位置;
用于指示消息长度的字段的位置;
用于指示消息边界的字段的特征;
用于指示消息顺序的字段的位置。
5.网络流量分析装置(10),用于分析一个网络流量(100)中的消息,其特征在于,包括:
一个接收模块(101),用于接收至少一个第一请求消息,以及对于每一个第一请求消息,接收响应于该第一请求消息的一个第一响应消息;
一个分析模块(102),用于对于每一个第一请求消息,
提取该第一请求消息的协议结构的特征信息;
确定响应于该第一请求消息的第一响应消息的至少一种可能的协议结构;
对于该第一响应消息的每一种可能的协议结构,提取该协议结构的特征信息;
对应于该第一请求消息,记录该第一请求消息的协议结构的特征信息,以及该第一请求消息的第一响应消息的每一种可能的协议结构的特征信息;
所述接收模块(101),还用于接收一个第二请求消息,并接收响应于所述第二请求消息的一个第二响应消息;
所述装置(10)还包括一个生成模块(103),用于:
从所述至少一个第一请求消息中,确定N个第一请求消息,与所述至少一个第一请求消息中的其他请求消息相比,所述第二请求消息的协议结构与所述N个第一请求消息的特征信息更相符,其中N为正整数,且N不大于所述至少一个第一请求消息的个数,以及
按照记录的所述N个第一请求消息中每一个所对应的第一响应消息的每一种可能的协议结构的特征信息,分别生成一个模拟的所述第二请求消息的响应消息;
所述装置(10)还包括一个评估模块(104),用于:
确定生成的所述第二请求消息的每一个模拟的响应消息与所述第二响应消息的协议结构的相似程度;
根据相似程度调整每一种可能的响应消息的协议结构的特征信息的可信度,其中,一个模拟的响应消息的相似程度越大,用于生成该模拟的响应消息的第一响应消息的可能的协议结构的特征信息的可信度增高的可能性越大。
6.如权利要求5所述的装置(10),其特征在于,
所述接收模块(101),还用于接收一个第三请求消息;
所述生成模块(103),还用于:
按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的所述第一请求消息;
按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
7.如权利要求6所述的装置,其特征在于,
所述分析模块(102),还用于对应于每一个第一请求消息,记录响应于该第一请求消息的第一响应消息;
所述生成模块(103),还用于查找与所述第三请求消息相同的第一请求消息;
所述生成模块(103)在生成一个模拟的所述第三请求消息的响应消息时,具体用于:
若找到与所述第三请求消息相同的第一请求消息,则将该相同的第一请求消息所对应的第一响应消息作为生成的模拟的所述第三请求消息的响应消息,以及
若未找到与所述第三请求消息相同的第一请求消息,则按照已记录的每一个所述第一请求消息的协议结构的特征信息,确定与所述第三请求消息的协议结构最相符的第一请求消息,按照记录的该最相符的第一请求消息所对应的可信度最高的第一响应消息的可能的协议结构的特征信息,生成一个模拟的所述第三请求消息的响应消息。
8.如权利要求5~7任一项所述的装置(10),其特征在于,所述协议结构的特征信息包括下列信息中的至少一种:
消息的长度;
消息中时间相关字段的位置;
消息中可打印字段的位置;
用于指示消息长度的字段的位置;
用于指示消息边界的字段的特征;
用于指示消息顺序的字段的位置。
9.网络流量分析装置(10),其特征在于,包括:
至少一个存储器(106),用于存放计算机可读代码;
至少一个处理器(107),用于执行所述存储器(106)存放的所述计算机可读代码,执行如权利要求1-4任一项所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可读代码,当所述计算机可读代码被至少一个处理器执行时,执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062522.9A CN110896388B (zh) | 2018-09-12 | 2018-09-12 | 网络流量分析方法、装置、计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811062522.9A CN110896388B (zh) | 2018-09-12 | 2018-09-12 | 网络流量分析方法、装置、计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110896388A CN110896388A (zh) | 2020-03-20 |
CN110896388B true CN110896388B (zh) | 2022-07-05 |
Family
ID=69784863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811062522.9A Active CN110896388B (zh) | 2018-09-12 | 2018-09-12 | 网络流量分析方法、装置、计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110896388B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR9703913A (pt) * | 1997-07-16 | 1999-03-09 | Intelcom Telecomunicacoes Ltda | Sistema identificador de chamadas telefônicas para linha ocupada em chamada em esfera |
US6311278B1 (en) * | 1998-09-09 | 2001-10-30 | Sanctum Ltd. | Method and system for extracting application protocol characteristics |
CN101282251B (zh) * | 2008-05-08 | 2011-04-13 | 中国科学院计算技术研究所 | 一种应用层协议识别特征挖掘方法 |
WO2016031103A1 (ja) * | 2014-08-25 | 2016-03-03 | 日本電気株式会社 | セキュリティシステム、セキュリティ方法、及びコンピュータ可読媒体 |
CN106156078A (zh) * | 2015-03-31 | 2016-11-23 | 西门子公司 | 数据分析方法与装置 |
CN106549808A (zh) * | 2016-11-17 | 2017-03-29 | 北京安天电子设备有限公司 | 一种网络环境模拟方法及系统 |
-
2018
- 2018-09-12 CN CN201811062522.9A patent/CN110896388B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110896388A (zh) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324311B (zh) | 漏洞检测的方法、装置、计算机设备和存储介质 | |
US10601848B1 (en) | Cyber-security system and method for weak indicator detection and correlation to generate strong indicators | |
US10791131B2 (en) | Processing network data using a graph data structure | |
US8533581B2 (en) | Optimizing security seals on web pages | |
US9584541B1 (en) | Cyber threat identification and analytics apparatuses, methods and systems | |
US11522902B2 (en) | Reliability calculation apparatus, reliability calculation method and program | |
US11019096B2 (en) | Combining apparatus, combining method, and combining program | |
US11270001B2 (en) | Classification apparatus, classification method, and classification program | |
US11539742B2 (en) | Application security through multi-factor fingerprinting | |
CN112565226A (zh) | 请求处理方法、装置、设备及系统和用户画像生成方法 | |
CN112769803B (zh) | 网络威胁的检测方法、装置和电子设备 | |
CN114205128A (zh) | 网络攻击分析方法、装置、电子设备及存储介质 | |
US10417422B2 (en) | Method and apparatus for detecting application | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
KR101541244B1 (ko) | Pc 및 공유기 등의 dns 변조를 통한 파밍 공격 방지 방법 및 시스템 | |
CN110392032B (zh) | 检测异常url的方法、装置及存储介质 | |
CN112583827B (zh) | 一种数据泄露检测方法及装置 | |
CN110896388B (zh) | 网络流量分析方法、装置、计算机可读介质 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
US11973773B2 (en) | Detecting and mitigating zero-day attacks | |
TW201928746A (zh) | 偵測惡意程式的方法和裝置 | |
US11763004B1 (en) | System and method for bootkit detection | |
CN108683670B (zh) | 基于网站应用系统访问的恶意流量识别方法及系统 | |
US11184369B2 (en) | Malicious relay and jump-system detection using behavioral indicators of actors | |
CN113037746A (zh) | 客户端指纹提取、身份识别和网络安全检测的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |