CN114117429A - 一种网络流量的检测方法及装置 - Google Patents
一种网络流量的检测方法及装置 Download PDFInfo
- Publication number
- CN114117429A CN114117429A CN202111433625.3A CN202111433625A CN114117429A CN 114117429 A CN114117429 A CN 114117429A CN 202111433625 A CN202111433625 A CN 202111433625A CN 114117429 A CN114117429 A CN 114117429A
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- data
- gateway
- data packets
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络流量管理技术领域,公开了一种网络流量的检测方法及装置。其中,该方法包括:网关获取服务器上的指定端口对应的待检测网络流量;网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据,该预设规则为针对流量类型设定的分类规则;网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据;网关将待分发流量数据分发至与对应的流量类型相关联的服务节点;服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。通过实施本发明,网关以及各个服务节点均可以直接对流量数据进行独立的异常检测,无需借助其他方式进行检测,节省了恶意流量的检测时间,提高了恶意流量的检测效率。
Description
技术领域
本发明涉及网络流量管理技术领域,具体涉及一种网络流量的检测方法及装置。
背景技术
恶意爬虫、自动机、模拟器等恶意软件越来越多的威胁着互联网的健康发展,恶意软件通常是通过伪造真实用户发起请求而在应用层攻击网站、APP或者API来获取互联网数据,以达到获利的目的。为了保证隐私数据不被窥探,通常采用加密手段以对隐私数据进行保护,然而加密能够像隐藏其他隐私信息一样隐藏恶意软件,从而带来一系列蠕虫、木马以及病毒等恶意流量。
为了应对这一问题,目前常见的方法是解密流量,并使用诸如新一代防火墙等设备查看流量;还可以在云端设置一个检测中心,将待检测的流量转发到检测中心,采用集中式流量管理检测方法进行集中式检测,或者在流量入口的网关处,设置一个防火墙,用特定的规则处理流量,以识别出加密流量中潜藏的安全威胁;还可以是授权获取用户秘钥,对输入的流量的先进行解密,然后对解密后的数据进行检测,以判断每条流量的安全性。但是解密流量耗时较长,且需要在网络中添加额外的设备;集中式流量管理检测方法中的所有流量需要经过中央控制转发检测,其检测效率较低;授权解密方法中的流量被解密后进行恶意流量分析,继而进行后续传输,导致传输性能的损耗较大。
发明内容
有鉴于此,本发明实施例提供了一种网络流量的检测方法及装置,以解决加密流量检测耗时较长、效率较低、传输损耗较大的问题。
根据第一方面,本发明实施例提供了一种网络流量的检测方法,所述方法应用于服务器,所述服务器中设置有网关以及多个微服务对应的服务节点,不同的微服务对应于不同的服务节点,包括:网关获取服务器上的指定端口对应的待检测网络流量;网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据;所述预设规则为针对流量类型设定的分类规则;网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据;网关将所述待分发流量数据分发至与对应的流量类型相关联的服务节点;服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。
本发明实施例提供的网络流量的检测方法,服务器网关通过获取服务器指定端口对应的待检测网络流量,并按照针对流量类型设定的分类规则对待检测网络流量进行分类处理,得到对应于各个流量类型的流量数据,并对各个流量类型的流量数据进行异常检测,将经过异常检测得到待分发流量数据分发至对应于流量类型相关联的服务节点,服务节点在其微服务启动时对其接收到的流量数据进行异常检测。该方法中服务器中网关以及各个服务节点均可以直接对流量数据进行独立的异常检测,无需借助其他方式进行检测,从而节省了恶意流量的检测时间,提高了恶意流量的检测效率,且服务节点伴随微服务的启动自动进行相应流量数据的异常检测,由此实现了异常检测的自动化,无需人为操作,同时避免了因流量数据在完成异常检测后需要进行后续传输而导致传输性能损耗较大的问题,保证了流量数据的传输性能。
结合第一方面,在第一方面的第一实施方式中,网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据,包括:网关提取所述各个流量类型的流量数据对应的第一流量特征;将所述第一流量特征输入至流量异常检测模型,得到流量检测结果;基于所述流量检测结果,确定出所述待分发流量数据;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
结合第一方面第一实施方式,在第一方面的第二实施方式中,所述网关提取所述各个流量类型的流量数据对应的第一流量特征,包括:提取所述各个流量类型的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;或,提取所述各个流量类型的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;以及提取所述各个流量类型的流量数据相对应的安全传输层协议的握手数据包;解析所述握手数据包,得到所述握手数据包对应的握手信息。
本发明实施例提供的网络流量的检测方法,网关通过提取各个流量类型的流量数据对应的流量特征,将流量特征输入至流量异常检测模型以得到流量检测结果。通过将该流量异常检测模型部署在网关进行流量数据的异常检测,进一步减轻了后续服务节点的恶意流量检测压力。网关通过提取各个流量类型流量数据对应的多个维度的流量特征,保证了流量数据的异常检测准确性。
结合第一方面,在第一方面的第三实施方式中,服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测,包括:服务节点提取其接收到的来自网关的流量数据所对应的第二流量特征;将所述第二流量特征输入至流量异常检测模型,得到流量检测结果;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
结合第一方面第三实施方式,在第一方面的第四实施方式中,所述服务节点提取其接收到的来自网关的流量数据所对应的第二流量特征,包括:服务节点提取其接收到的来自网关的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;或,服务节点提取其接收到的来自网关的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;以及提取所述其接收到的来自网关的流量数据相对应安全传输层协议的握手数据包;解析所述握手数据包,得到所述握手数据包对应的握手信息。
本发明实施例提供的网络流量的检测方法,服务节点通过提取来自网关的流量数据对应的流量特征,将该流量特征输入至流量异常检测模型以得到流量检测结果。通过将该流量异常检测模型部署在各个服务节点进行流量数据的异常检测,且其部署在服务节点中能够跟随服务的启动而启动,进一步保证了各个服务节点能够对加密的恶意流量进行直接检测。服务节点通过提取各个流量类型流量数据对应的多个维度的流量特征,保证了流量数据的异常检测准确性。
结合第一方面,在第一方面的第五实施方式中,网关获取服务器指定端口对应的待检测网络流量,包括:网关获取服务器上的指定端口接收到的所有的流量数据包;判断所有的流量数据包中是否存在不完整的流量数据包;当存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为所述待检测网络流量。
本发明实施例提供的网络流量的检测方法,网关通过获取服务器上的指定端口接收到的所有流量数据包,当接收到的流量数据包中存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为待检测网络流量,保证网关能够从流量数据中提取出完整的网络流,进一步保证了流量数据的检测效率和检测准确率。
根据第二方面,本发明实施例提供了一种网络流量的检测装置,所述装置应用于服务器,所述装置包括:网关,用于获取服务器上的指定端口对应的待检测网络流量;按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据;所述预设规则为针对流量类型设定的分类规则;对各个流量类型的流量数据进行异常检测,得到待分发流量数据;将所述待分发流量数据分发至与对应的流量类型相关联的服务节点;服务节点,用于在其微服务启动时对其接收的来自网关的流量数据进行异常检测。
结合第二方面,在第二方面的第一实施方式中,所述网关还用于提取所述各个流量类型的流量数据对应的第一流量特征;将所述第一流量特征输入至流量异常检测模型,得到流量检测结果;基于所述流量检测结果,确定出所述待分发流量数据;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
结合第二方面,在第二方面的第二实施方式中,所述服务节点还用于提取其接收到的来自网关的流量数据所对应的第二流量特征;将所述第二流量特征输入至流量异常检测模型,得到流量检测结果;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
结合第二方面,在第二方面的第三实施方式中,所述网关还用于获取服务器上的指定端口接收到的所有的流量数据包;判断所有的流量数据包中是否存在不完整的流量数据包;当存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为所述待检测网络流量。
需要说明的是,本发明实施例提供的网络流量的检测的相应有益效果,请参见网络流量的检测方法中相应内容的描述,在此不再赘述。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例中服务器的结构示意图;
图2是根据本发明实施例的网络流量的检测方法的流程图;
图3是根据本发明实施例的网络流量的检测方法的另一流程图;
图4是根据本发明实施例的网络流量的检测方法的另一流程图;
图5是根据本发明实施例的网络流量的检测方法的测试结果图;
图6是根据本发明实施例的网络流量的检测装置的结构框图;
图7是根据本发明实施例的网络流量的检测系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于加密能够像隐藏其他隐私信息一样隐藏恶意软件,从而带来一系列蠕虫、木马以及病毒等恶意流量。为了应对这一问题,目前常见的方法是解密流量,并使用诸如新一代防火墙等设备查看流量;还可以在云端设置一个检测中心,将待检测的流量转发到检测中心,采用集中式流量管理检测方法进行集中式检测,或者在流量入口的网关处,设置一个防火墙,用特定的规则处理流量,以识别出加密流量中潜藏的安全威胁;还可以是授权获取用户秘钥,对输入的流量的先进行解密,然后对解密后的数据进行检测,以判断每条流量的安全性。但是上述方法均存在一定的缺陷。
基于此,本发明技术方案通过在服务器的网关以及服务节点分别设置网络流量检测装置以同时对外部流量和内部流量进行异常检测,且网关和各个服务节点均能直接对流量数据进行独立的异常检测,无需借助其他方式进行检测,节省了恶意流量的检测时间,提高了恶意流量的检测效率,保证了流量数据的传输性能。
根据本发明实施例,提供了一种网络流量的检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种网络流量的检测方法,可用于服务器,该服务器中设置有网关以及多个微服务对应的服务节点,不同的微服务对应于不同的服务节点,以图1所示的服务器架构图为例,将轻量级的流量检测装置以边车代理的形式部署在网关以及各个微服务中,其流量检测装置可以通过流量管控的中间件的代理配置文件实现按需配置,无需人为频繁操作,在完成流量检测装置的配置后,其能够随着微服务的启动而启动。具体地,在网关流量入口处设置有网关代理以对外部网络流量进行接收,并将其输入至网关中所设置网络流量检测装置进行流量异常检测;在每个服务节点的流量入口处同样设置有代理以接收网关分发的流量数据,且每个微服务对应的服务节点中设置网络流量检测装置以检测各个服务节点(例如服务节点1、服务节点2以及服务节点3)接收到的流量数据,同时,各个服务节点之间还可以进行互相通信,且服务节点中设置网络流量检测装置还可以对服务节点之间通讯的流量数据进行异常检测,流量数据的异常检测可以伴随服务节点的微服务的启动而启动。
图2是根据本发明实施例的网络流量的检测的流程图,如图2所示,该流程包括如下步骤:
S11,网关获取服务器上的指定端口对应的待检测网络流量。
待检测网络流量为服务器上的指定端口所接收到的外部加密流量,指定端口为服务器连接网关的端口。待检测网络流量可以通过设置在网关中的网络流量检测装置对服务器上指定端口的流量数据包进行抓取确定。其中,该网络流量检测装置可以设置在网关的代理模块中,通过代理模块对待检测网络流量进行转发和检测。
S12,网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据,其中,预设规则为针对流量类型设定的分类规则。
当服务器中的网关获取到待检测网络流量时,可以调用针对流量类型设定的分类规则对待检测网络流量进行分类,得到各个流量类型的流量数据。该分类规则可以为流量特征,也可以为流量数据对应的服务标识,此处对预设规则不作具体限定。
S13,网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据。
服务器中的网关可以对各个流量类型的流量数据进行一次异常检测,以确定当前各个流量类型的流量数据是否存在恶意流量,当网关确定各个流量类型的流量数据中存在恶意流量时,则丢弃恶意流量,得到待分发流量数据,若网关确定各个流量类型的流量数据中不存在恶意流量时,则将各个流量类型对应的流量数据确定为待分发流量数据。
S14,网关将待分发流量数据分发至与对应的流量类型相关联的服务节点。
不同的微服务对应于不同的服务节点,不同的微服务所对应的流量类型不同。网关可以将其确定的待分发流量数据分发至与各个流量类型相关联的服务节点上,的设置于服务器网关中的网络流量检测装置在确定出各个流量类型流量数据后,将其分别转发至对应的服务节点。
S15,服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。
每个服务节点中设置有网络流量检测装置,以对其接收到的流量数据进行异常检测,并根据其流量数据的检测结果对其流量数据进行转发或丢弃。其中,该网络流量检测装置在服务节点启动其微服务的过程中启动,随着微服务的退出而同时退出。服务器中的各个服务节点在接收的来自网关的流量数据后,通过其内设置的网络流量检测装置即可直接对流量数据进行异常检测,以确定该流量数据是否为恶意流量或是否包含恶意流量,该异常检测伴随微服务的启动自动生成,由此实现了各个服务节点对流量数据的独立自动化检测,整个检测过程无需人为操作。
本实施例提供的网络流量的检测方法,服务器网关通过获取服务器指定端口对应的待检测网络流量,并按照针对流量类型设定的分类规则对待检测网络流量进行分类处理,得到对应于各个流量类型的流量数据,并对各个流量类型的流量数据进行异常检测,将经过异常检测得到待分发流量数据分发至对应于流量类型相关联的服务节点,服务节点在其微服务启动时对其接收到的流量数据进行异常检测。该方法中服务器中网关以及各个服务节点均可以直接对流量数据进行独立的异常检测,无需借助其他方式进行检测,从而节省了恶意流量的检测时间,提高了恶意流量的检测效率,且服务节点伴随微服务的启动自动进行相应流量数据的异常检测,由此实现了异常检测的自动化,无需人为操作,同时避免了因流量数据在完成异常检测后需要进行后续传输而导致传输性能损耗较大的问题,保证了流量数据的传输性能。
在本实施例中提供了一种网络流量的检测方法,可用于服务器,该服务器中设置有网关以及多个微服务对应的服务节点,不同的微服务对应于不同的服务节点,如图1所示。图3是根据本发明实施例的网络流量的检测的流程图,如图3所示,该流程包括如下步骤:
S21,网关获取服务器上的指定端口对应的待检测网络流量。详细说明参见上述实施例对应步骤S11的相关描述,此处不再赘述。
S22,网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据,其中,预设规则为针对流量类型设定的分类规则。详细说明参见上述实施例对应步骤S12的相关描述,此处不再赘述。
S23,网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据。
具体地,上述步骤S23可以包括:
S231,网关提取各个流量类型的流量数据对应的第一流量特征。
第一流量特征为网关所确定的各个流量类型的流量数据所对应的特征,网关可以通过流量解析工具对其获取到的待检测流量数据进行特征提取,以便确定流量数据中是否存在恶意流量。具体地,第一流量特征可以包括关联数据包属性信息、域名解析属性信息以及安全传输层协议(Transport Layer Security,TLS)元数据。其中,域名解析属性信息可以包括关联超文本传输协议(Hyper Text Transfer Protocol,HTTP)属性和关联域名(Domain Name System,DNS)属性,TLS元数据可以包括TLS流统计特征以及TLS流握手信息。
具体地,上述步骤S241可以包括:
(1)提取各个流量类型的流量数据相对应的流的数据包,该流的数据包包括流的元数据,流的元数据包括字节数、数据包数量、端口信息以及持续时间。
通过流量解析工具能够从各个流量类型的流量数据NetFlow中解析出流的数据包,以确定流的元数据Flow Metadata,即与TLS无关的功能。具体地,流的元数据可以包括:字节数、数据包数量、端口信息以及持续时间。其中,字节数为进出的字节数Nb of inboundbytes&Nb of outbound bytes,即本次回话传入与传出字节数的数量;数据包数量为进出的数据包数Nb of inbound packets&Nb of outbound packets,即本次回话传入与传出数据包的数量;端口信息包括临时源端口Ephemeral src port以及TLS目的端口Usual TLSdestination port,该临时源端口通常由操作系统在49152–65535范围内随机选择,TLS目的端口用于服务器在特定端口上侦听TLS连接,其端口中的任何内容都可能被视为可疑;持续时间为流的持续时间Flow duration,即本次回话的持续时间。
(2)基于预设频率对流的数据包进行分析,确定流的数据包相对应的分布特征,该分布特征用于表征流的数据包中各项元数据的分布状态。
预设频率用于表征提取数据包相关信息的时间间隔,分布特征Distribution是对流的数据包以预设频率进行分析的结果,其根据提取的数据包相关信息确定,不能直接从数据包中提取得到,该预设频率可以根据经验值确定,此处不作具体限定。
具体地,用于确定流的数据包的相关信息可以包括:数据包的长度序列、数据包的时间序列、字节距离均值、字节距离方差以及字节熵等。其中,数据包的长度序列Sequenceof packet length指的是对于一个数据包,它的长度被统计在一个区间中,例如一个数据包的长度是100,而设置的区间间隔是150,则长度为100的数据包将被统计到[0,150]的数据包长度区间,以此类推,第二个区间为[151,300]……;数据包的时间序列Sequence ofpacket time与数据包的长度序列一致,统计的数据包的长度序列替换成数据包的到达时间即可;字节距离均值Byte dist mean为长度为256的数组,用于对数据包的有效负载中遇到的每个字节值进行计数,并计算均值;字节距离的方差Byte diststd为长度为256的数组,用于对数据包的有效负载中遇到的每个字节值进行计数,并计算方差;字节熵Byteentropy为长度为256的数组,用于对数据包的有效负载中遇到的每个字节值进行计数,并计算熵。
在得到流的元数据以及流的数据包对应的分布特征后,以流的元数据中的端口信息以及持续时间表征域名解析属性信息,以流的元数据中的字节数、数据包数量以及流的数据包对应的分布特征表征关联数据包属性。
可选地,上述步骤S241还可以包括:
(3)提取各个流量类型的流量数据相对应的安全传输层协议握手数据包。
流量数据由多个数据包构成,TLS元数据对应于TLS握手数据包,网关可以基于流量解析工具从各个流量类型的流量数据中提取相应的TLS握手数据包,其中,TLS握手数据包包括ClientHello、ServerHello、Certificate。
(4)解析握手数据包,得到握手数据包对应的握手信息。
对TLS握手数据包进行解析,从中提取TLS握手数据包对应的握手信息,该握手信息包括TLS流统计特征和TLS流握手信息,并以TLS流统计特征和TLS流握手信息作为表征TLS元数据的特征信息。具体地,该TLS流统计特征和TLS流握手信息包含于如下特征信息中:密码套件Ciphersuites,该密码套件中包含非对称加密算法、对称加密算法以及数据摘要算法;扩展Extensions,用于声明协议对某些新功能的支持,或者携带在握手进行中需要的额外数据;扩展的数量Nb of extensions,即TLS证书所支持的扩展数量;支持的组Supported Groups,其属于TLS的扩展,主要用于标识客户机的应用程序以及在客户端支持的椭圆曲线上通知服务器;点的格式Point Formats,属于TLS的扩展,主要用于通知服务器椭圆曲线点的紧凑表示;客户端密钥长度Client’skey length;证书有效期Certificate’svalidity,该有效期为证书失效时间减去证书生效时间的天数;证书中SAN的数量Certificate’s nb of SAN,表示允许证书覆盖域名的数量;自签名证书Self-signedcertificate,用于表示该证书是否为自签名证书。
S232,将第一流量特征输入至流量异常检测模型,得到流量检测结果,其中,流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
将从各个类型的流量数据中所提取到的第一流量特征组合成特征向量,并将其输入至异常检检测模型,异常检测模型能够根据输入的特征向量输出对应的数值,例如0到1之间的数值,使用该数值判定特征向量对应的流量数据是否为恶意流量。
具体地,流量异常检测模型可以为在线机器学习模型XGBoost[2],其目标函数由两部分构成,第一部分为梯度提升算法损失,第二部分为正则化项。其中。损失函数定义为:
其中,L(φ)为损失函数,n为训练函数样本数,即流量特征组成的特征向量的数量,l是对单个样本的损失函数,例如凸函数,yi为模型对训练样本的预测值,yi'为训练样本的真实标签值,Ω(f)为正则化项。
其中,正则化项定义了模型的复杂程度:
其中,γ和λ为预先设置的参数,w为决策树所有叶子节点值形成的向量,T为决策树中的叶子节点数。
在训练流量异常检测模型时,对提取得到的流量特征样本依次进行特征校验、特征选择以及特征标准化,其中,特征校验主要是对特征信息进行合法性、有效性进行校验,如数据的长度、类型、数值的范围等是否合理;特征选择是在进行训练的过程中,对重要性较小的流量特征予以剔除,保留重要的流量特征,一方面减少训练数据,有助于模型训练速度的加快,另一方面减少了冗余特征,准确性得到提高;特征标准化是在进行训练时,对于字符、字符串类型的流量特征进行哈希处理,将其统一成相应的维度,对于数字类型的流量特征,则根据其最大值、最小值进行标准化。最终将通过特征校验、特征选择以及特征标准化的流量特征组成特征向量对在线机器学习模型进行训练,得流量异常检测模型。在流量异常检测模型训练完成后,采用joblib库对该模型进行持久化,并运行服务器将该流量异常检测模型加载至网关。
S233,基于流量检测结果,确定出待分发流量数据。
网关对各个流量类型的流量数据进行异常检测得到流量检测结果,基于流量检测结果确定各个流量类型的流量数据中是否包含有恶意流量。若包含有恶意流量则将恶意流量予以丢弃处理,将剔除恶意流量后的流量数据确定为待分发流量数据;若不包含恶意流量,则将各个流量类型的流量数据确定为待分发流量数据。
S24,网关将待分发流量数据分发至与对应的流量类型相关联的服务节点。详细说明参见上述实施例对应步骤S14的相关描述,此处不再赘述。
S25,服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。详细说明参见上述实施例对应步骤S15的相关描述,此处不再赘述。
具体地,上述步骤S25可以包括:
S251,服务节点提取其接收到的来自网关的流量数据所对应的第二流量特征。
第二流量特征为服务节点所接收到的来自网关的流量数据所对应的特征,服务节点可以通过流量解析工具对其接收到的来自网关的流量数据进行特征提取,以便确定流量数据中是否存在恶意流量。
具体地,上述步骤S251可以包括:
(1)服务节点提取其接收到的来自网关的流量数据相对应的流的数据包,流的数据包包括流的元数据,流的元数据包括字节数、数据包数量、端口信息以及流的持续时间。
(2)基于预设频率对流的数据包进行分析,确定流的数据包相对应的分布特征,分布特征用于表征流的数据包中各项元数据的分布状态。
可选地,上述步骤S251可以包括:
(3)提取其接收到的来自网关的流量数据相对应安全传输层协议的握手数据包。
(4)解析握手数据包,得到握手数据包对应的握手信息。
服务节点提取第二流量特征的方式与提取第一流量特征的方式相同,详细说明参见第一流量特征的提取说明,此处不再赘述。
S252,将第二流量特征输入至流量异常检测模型,得到流量检测结果,其中,流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
服务节点将第二流量特征输入至流量异常检测模型进行异常检测与网关将第一流量特征输入至流量异常检测模型进行异常检测的方式相同,详细说明参见上述相关说明,此处不再赘述。
本发明实施例提供的网络流量的检测方法,网关通过提取各个流量类型的流量数据对应的流量特征,将流量特征输入至流量异常检测模型以得到流量检测结果。通过将该流量异常检测模型部署在网关进行流量数据的异常检测,进一步减轻了后续服务节点的恶意流量检测压力。网关通过提取各个流量类型流量数据对应的多个维度的流量特征,保证了流量数据的异常检测准确性。
服务节点通过提取来自网关的流量数据对应的流量特征,将该流量特征输入至流量异常检测模型以得到流量检测结果。通过将该流量异常检测模型部署在各个服务节点进行流量数据的异常检测,且其部署在服务节点中能够跟随服务的启动而启动,进一步保证了各个服务节点能够对加密的恶意流量进行直接检测。服务节点通过提取各个流量类型流量数据对应的多个维度的流量特征,保证了流量数据的异常检测准确性。
在本实施例中提供了一种网络流量的检测方法,可用于服务器,该服务器中设置有网关以及多个微服务对应的服务节点,不同的微服务对应于不同的服务节点,如图1所示。图4是根据本发明实施例的网络流量的检测的流程图,如图4所示,该流程包括如下步骤:
S31,网关获取服务器上的指定端口对应的待检测网络流量。
具体地,上述步骤S31可以包括:
S311,网关获取服务器上的指定端口接收到的所有的流量数据包。
网关通过抓包工具对服务器上的指定端口接收到的所有的流量数据包进行抓取。例如服务器网关可以通过wireshark对服务器上的指定端口接收到的流量数据包进行抓取。
S312,判断所有的流量数据包中是否存在不完整的流量数据包。
由于网关所接收到的流量数据包中可能会存在有不完整的数据包,对于不完整的数据包,其携带的流量信息亦不完整,网关可以选择丢弃该不完整的数据包。因此,在抓取到流量数据包时,网关可以对各个流量数据包进行完整性检测,以确定是否存在有不完整的流量数据包。当存在不完整的流量数据包时,执行步骤S313,否则将所有流量数据包确定为待检测网络流量。
S313,过滤掉不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为待检测网络流量。
预设规则为不完整流量数据包的过滤规则,服务器网关可以根据设定的过滤规则对其抓取到的不完整的流量数据包进行过滤,以保证其抓取到的流量数据包均为完整数据包,继而通过流量解析工具对完整数据包进行解析,提取各个完整流量数据包所对应的网络流量。
S32,网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据,其中,预设规则为针对流量类型设定的分类规则。详细说明参见上述实施例对应步骤S12的相关描述,此处不再赘述。
S33,网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据。
S34,网关将待分发流量数据分发至与对应的流量类型相关联的服务节点。详细说明参见上述实施例对应步骤S14的相关描述,此处不再赘述。
S35,服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。详细说明参见上述实施例对应步骤S15的相关描述,此处不再赘述。
本实施例提供的网络流量的检测方法,网关通过获取服务器上的指定端口接收到的所有流量数据包,当接收到的流量数据包中存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为待检测网络流量,保证网关能够从流量数据中提取出完整的网络流,进一步保证了流量数据的检测效率和检测准确率。
采用上述网络流量的检测方法对来自黄云环境中的样本进行测试,其中正样本数量包括:本地采集234条,开源论文7229条,IXIA测试仪流量28149条,总计35612条;负样本数量包括:Lastline(安全公司)349条,MTA(某恶意流量分析的网站)8083条,Stratoshpere(安全公司)7848条,IXIA测试仪流量4854条,总计21134条。将本技术方案所述的网络流量的检测方法与现有已公开技术方案进行对比,实验结果如图5所示,其中,假阳性(FalsePositive Rate)表示模型错误分类且本身为负例,真阳性(True Positive Rate)表示模型正确分类且本身为正例。通过实验结果可知,本技术方案提供的网络流量的检测方法,明显保证了流量数据的异常检测准确性。
在本实施例中还提供了一种网络流量的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种网络流量的检测装置,用于如图1所示的服务器,如图6所示,该装置包括:
网关,用于获取服务器上的指定端口对应的待检测网络流量;按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据;该预设规则为针对流量类型设定的分类规则;对各个流量类型的流量数据进行异常检测,得到待分发流量数据;将待分发流量数据分发至与对应的流量类型相关联的服务节点。详细说明参见上述实施例对应的相关描述,此处不再赘述。
服务节点42,用于在其微服务启动时对其接收的来自网关的流量数据进行异常检测。详细说明参见上述实施例对应的相关描述,此处不再赘述。
本实施例提供的网络流量的检测装置,服务器中的各个服务节点均可以直接对流量数据进行独立的异常检测,无需借助其他方式进行检测,从而节省了恶意流量的检测时间,提高了恶意流量的检测效率,且服务节点伴随微服务的启动自动进行相应流量数据的异常检测,由此实现了异常检测的自动化,无需人为操作,同时避免了因流量数据在完成异常检测后需要进行后续传输而导致传输性能损耗较大的问题,保证了流量数据的传输性能。
可选地,网关41还用于提取各个流量类型的流量数据对应的第一流量特征;将第一流量特征输入至流量异常检测模型,得到流量检测结果;基于流量检测结果,确定出待分发流量数据;其中,流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。详细说明参见上述实施例对应的相关描述,此处不再赘述。
可选地,服务节点42还用于提取其接收到的来自网关的流量数据所对应的第二流量特征;将第二流量特征输入至流量异常检测模型,得到流量检测结果;其中,流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。详细说明参见上述实施例对应的相关描述,此处不再赘述。
可选地,网关还用于获取服务器上的指定端口接收到的所有的流量数据包;判断所有的流量数据包中是否存在不完整的流量数据包;当存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为所述待检测网络流量。详细说明参见上述实施例对应的相关描述,此处不再赘述。
上述网关和服务节点的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例提供一种网络流量的检测系统,如图7所示,包括:服务器51和控制设备52,服务器51与控制设备52之间通信连接;服务器51中设置有网关511以及与网关511通信连接的多个服务节点(服务节点1、服务节点2和服务节点3等),且不同的服务节点对应于不同类型的微服务。网关511中设置的代理能够获取服务器上的指定端口对应的待检测网络流量,网关511则可以按照预设规则将待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据,并将各个流量类型的流量数据输入至网关511中设置的网络流量检测装置中,以使网络流量检测装置对各个流量类型的流量数据进行异常检测,即对服务器51通过路由器所接收到的外部网络流量进行异常检测。网关511将通过异常检测的流量数量作为待分发流量数据,将其按照流量类型分发至相关联的服务节点1、服务节点2以及服务节点3,服务节点1、服务节点2以及服务节点3中分别设置有代理以接收来自网关的流量数据,并将其接收到的流量数据输入各个服务节点设置的网络流量检测装置,通过该网络流量检测装置对其接收到的流量数据进行异常检测,即不同的服务节点1、服务节点2以及服务节点3均能进行独立的网络流量异常检测,当检测到流量数据中存在恶意流量时根据该恶意流量生成告警信息,将该告警信息反馈至控制设备52,由控制设备52根据该告警信息中断进程或提醒技术人员及时采取应对措施。
本实施例提供的网络流量的检测系统,不仅能够外部流量数据进行异常检测,还可以对各个服务节点的流量数据进行异常检测,同时实现了外部流量和各个服务节点所对应内部流量的独立检测,无需借助其他方式进行检测,节省了恶意流量的检测时间,提高了恶意流量的检测效率,避免了因流量数据在完成异常检测后需要进行后续传输而导致传输性能损耗较大的问题,保证了流量数据的传输性能。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种网络流量的检测方法,其特征在于,所述方法应用于服务器,所述服务器中设置有网关以及多个微服务对应的服务节点,不同的微服务对应于不同的服务节点,包括:
网关获取服务器上的指定端口对应的待检测网络流量;
网关按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据;所述预设规则为针对流量类型设定的分类规则;
网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据;
网关将所述待分发流量数据分发至与对应的流量类型相关联的服务节点;
服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测。
2.根据权利要求1所述的方法,其特征在于,网关对各个流量类型的流量数据进行异常检测,得到待分发流量数据,包括:
网关提取所述各个流量类型的流量数据对应的第一流量特征;
将所述第一流量特征输入至流量异常检测模型,得到流量检测结果;
基于所述流量检测结果,确定出所述待分发流量数据;
其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
3.根据权利要求2所述的方法,其特征在于,所述网关提取所述各个流量类型的流量数据对应的第一流量特征,包括:
提取所述各个流量类型的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;
基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;
或,
提取所述各个流量类型的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;
基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;以及
提取所述各个流量类型的流量数据相对应的安全传输层协议的握手数据包;
解析所述握手数据包,得到所述握手数据包对应的握手信息。
4.根据权利要求1所述的方法,其特征在于,服务节点在其微服务启动时对其接收的来自网关的流量数据进行异常检测,包括:
服务节点提取其接收到的来自网关的流量数据所对应的第二流量特征;
将所述第二流量特征输入至流量异常检测模型,得到流量检测结果;
其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
5.根据权利要求4所述的方法,其特征在于,所述服务节点提取其接收到的来自网关的流量数据所对应的第二流量特征,包括:
服务节点提取其接收到的来自网关的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;
基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;
或,
服务节点提取其接收到的来自网关的流量数据相对应的流的数据包,所述流的数据包包括流的元数据,所述流的元数据包括字节数、数据包数量、端口信息以及流的持续时间;
基于预设频率对所述流的数据包进行分析,确定所述流的数据包相对应的分布特征,所述分布特征用于表征流的数据包中各项元数据的分布状态;以及
提取所述其接收到的来自网关的流量数据相对应安全传输层协议的握手数据包;
解析所述握手数据包,得到所述握手数据包对应的握手信息。
6.根据权利要求1所述的方法,其特征在于,网关获取服务器指定端口对应的待检测网络流量,包括:
网关获取服务器上的指定端口接收到的所有的流量数据包;
判断所有的流量数据包中是否存在不完整的流量数据包;
当存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为所述待检测网络流量。
7.一种网络流量的检测装置,其特征在于,所述装置应用于服务器,所述装置包括:
网关,用于获取服务器上的指定端口对应的待检测网络流量;按照预设规则对待检测流量数据进行分类处理,得到对应于各个流量类型的流量数据;所述预设规则为针对流量类型设定的分类规则;对各个流量类型的流量数据进行异常检测,得到待分发流量数据;将所述待分发流量数据分发至与对应的流量类型相关联的服务节点;
服务节点,用于在其微服务启动时对其接收的来自网关的流量数据进行异常检测。
8.根据权利要求7所述的装置,其特征在于,所述网关还用于提取所述各个流量类型的流量数据对应的第一流量特征;将所述第一流量特征输入至流量异常检测模型,得到流量检测结果;基于所述流量检测结果,确定出所述待分发流量数据;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
9.根据权利要求7所述的装置,其特征在于,所述服务节点还用于提取其接收到的来自网关的流量数据所对应的第二流量特征;将所述第二流量特征输入至流量异常检测模型,得到流量检测结果;其中,所述流量异常检测模型是基于异常流量特征样本训练预设分类模型得到的。
10.根据权利要求7所述的装置,其特征在于,所述网关还用于获取服务器上的指定端口接收到的所有的流量数据包;判断所有的流量数据包中是否存在不完整的流量数据包;当存在不完整的流量数据包时,过滤掉所述不完整的流量数据包,得到完整的流量数据包,把完整的流量数据包确定为所述待检测网络流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111433625.3A CN114117429A (zh) | 2021-11-29 | 2021-11-29 | 一种网络流量的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111433625.3A CN114117429A (zh) | 2021-11-29 | 2021-11-29 | 一种网络流量的检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114117429A true CN114117429A (zh) | 2022-03-01 |
Family
ID=80371860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111433625.3A Pending CN114117429A (zh) | 2021-11-29 | 2021-11-29 | 一种网络流量的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666162A (zh) * | 2022-04-29 | 2022-06-24 | 北京火山引擎科技有限公司 | 一种流量检测方法、装置、设备及存储介质 |
-
2021
- 2021-11-29 CN CN202111433625.3A patent/CN114117429A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666162A (zh) * | 2022-04-29 | 2022-06-24 | 北京火山引擎科技有限公司 | 一种流量检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6453976B2 (ja) | ネットワークシステム、制御装置、通信制御方法および通信制御プログラム | |
CN104937886B (zh) | 日志分析装置、信息处理方法 | |
CN111277587A (zh) | 基于行为分析的恶意加密流量检测方法及系统 | |
US8015605B2 (en) | Scalable monitor of malicious network traffic | |
US20240089301A1 (en) | Method and system for capture of visited links from encrypted and non-encrypted network traffic | |
CN111245860A (zh) | 一种基于双维度特征的加密恶意流量检测方法和系统 | |
US20130298254A1 (en) | Methods and systems for detecting suspected data leakage using traffic samples | |
KR102088299B1 (ko) | 분산 반사 서비스 거부 공격 탐지 장치 및 방법 | |
US20100309800A1 (en) | Network Monitoring And Intellectual Property Protection Device, System, And Method | |
JP2008306706A (ja) | シグナリングフローの異常を検知する方法及び装置 | |
CN111447232A (zh) | 一种网络流量检测方法及装置 | |
JP2006279930A (ja) | 不正アクセス検出方法及び装置、並びに不正アクセス遮断方法及び装置 | |
CN106815511B (zh) | 信息处理装置和方法 | |
Liu et al. | Maldetect: A structure of encrypted malware traffic detection | |
US11711398B2 (en) | Distributed network security service | |
WO2023173790A1 (zh) | 一种基于数据包的加密流量分类系统 | |
CN113518042B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112217763A (zh) | 一种基于机器学习的隐蔽tls通信流检测方法 | |
CN109474485A (zh) | 基于网络流量信息检测僵尸网络的方法、系统及存储介质 | |
Iglesias et al. | DAT detectors: uncovering TCP/IP covert channels by descriptive analytics | |
Hareesh et al. | Anomaly detection system based on analysis of packet header and payload histograms | |
CN114117429A (zh) | 一种网络流量的检测方法及装置 | |
Papadogiannaki et al. | Network intrusion detection in encrypted traffic | |
Papadogiannaki et al. | Head (er) hunter: Fast intrusion detection using packet metadata signatures | |
WO2016201876A1 (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 |