CN113709135B - Ssl流量审计采集系统与方法 - Google Patents
Ssl流量审计采集系统与方法 Download PDFInfo
- Publication number
- CN113709135B CN113709135B CN202110977301.XA CN202110977301A CN113709135B CN 113709135 B CN113709135 B CN 113709135B CN 202110977301 A CN202110977301 A CN 202110977301A CN 113709135 B CN113709135 B CN 113709135B
- Authority
- CN
- China
- Prior art keywords
- session
- message
- quintuple
- audit
- fpga 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.)
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种SSL流量审计采集系统及其方法,该系统包括:FPGA器件,其接收报文,从接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,并根据查找结果来确定建立会话、丢弃会话和上送会话;以及中央处理器(CPU),其从FPGA器件接收报文,从所接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,根据查找结果来确定建立会话、进行深度报文检测以生成流量审计日志,并构造会话丢包消息发送给FPGA器件进行处理,其中所述会话丢包信息包含所述会话五元组以及丢包动作,并且FPGA器件接收所述中央处理器的所述会话丢包消息,并根据会话丢包消息设置会话转发状态。报文通过FPGA器件辅助处理,后续会话流量就不用上送CPU进行处理,从而减轻CPU处理SSL流量审计的负担。
Description
技术领域
本公开涉及流量SSL流量审计采集系统和方法,尤其涉及通过由网站访问信息生成的流量审计日志来提升SSL流量审计性能的SSL流量审计采集系统和方法。
背景技术
过去,在大部分WEB应用中,浏览器通常利用超文本传输协议HTTP协议与服务器进行数据传输。然而,HTTP是超文本传输协议,信息是明文传输。在超文本传输协议HTTP协议下,出于信息安全考虑,诸如电子商务或在线财务账户之类的安全敏感信息必须在加密后才能在浏览器与服务器之前进行传输。
为了提高数据传输的安全性,在1990年代中期定义所谓安全超文本传输协议HTTPS来满足进行安全通信的需求。在这种安全超文本传输协议HTTPS下,人们访问带有以HTTPS://开头的统一资源定位器(URL)的网页,当要将信息回送给服务器时,浏览器的HTTPS层会对其进行加密,而且从服务器处收到的确认回单也会以加密形式进行传输,到达时带有HTTPS://的统一资源定位器,它会通过浏览器的HTTPS子层对送达的信息进行解密。
经过多年的发展,目前大部分浏览器与WEB服务器之间的数据传输已经采用了安全超文本传输协议HTTPS。HTTPS作为具有安全性的SSL加密传输协议,其安全基础便是SSL,加密操作需要SSL协助完成。SSL协议及其继任者TLS协议,是为网络安全提供安全性及数据完整性的一种安全协议。SSL/TLS协议位于TCP/IP协议和应用层协议之间,可为各种应用层协议(例如FTP、TELNET协议等)提供安全性保证。SSL/TLS协议也是目前最广泛应用的HTTP协议安全。
SSL/TLS协议包括两层:记录层协议和握手协议。记录协议为高层握手协议提供基本的安全服务,保证数据完整性,具体包括压缩解压缩、加解密、计算和校验MAC等。握手层协议包括握手协议、密码参数修改协议、告警协议和应用数据协议,用于通信双方认证、协商加密算法和生成私钥等。
由SSL/TLS协议保护的高层协议在客户端与服务器之间传输的是密文数据,流量审计分析业务需要从SSL加密流量中提取访问网站、证书、加密套件等信息。然而,随着用户对安全及隐私的重视以及5G的发展,网络中的SSL流量越来越大,对流量审计系统性能带来了越来越大的挑战,需要流量审计系统越来越多,硬件成本越来越高,同时对能源及机房空间的需求也同步提升,投资越来越大。
图1示出了一种典型的流量审计系统。如图1所示,该流量审计系统100包括中央处理器(CPU)130和网络控制器(网卡)120。数据流量经过网络控制器(网卡)120进入CPU 130进行处理。数据流量上送CPU 130后,CPU 130根据会话五元组(源IP、目的IP、源端口、目的端口、协议)建立会话;基于会话进行SSL流量审计采集;从SSL握手协商报文里面提取访问网站、证书、加密套件等信息;提取完成后,交给日志管理单元进行处理,一般发送到日志采集平台,对于同一条会话的后续报文一般予以丢弃,以节约性能。
流量审计系统100还可以包括交换器件110,在这种情况下,数据流量先经过交换器件110的交换芯片,然后经过网络控制器(网卡)120进入CPU 130进行处理。
在这种现有技术方案中,存在至少两个不足。其一是所有网络流量都上送到CPU进行处理,但由于SSL后续流量是加密的,上送CPU进行处理后基本上都会进行丢弃,这会大大加重CPU处理负担及业务复杂性,影响系统性能。其二也是所有网络流量都上送到CPU进行处理,从而影响系统性能,导致流量审计系统越来越多,因而造成硬件成本越来越高,同时对能源及机房空间的需求也同步提升,投资越来越大,也不绿色环保。
因此,需要一种能够不用将数据流量上送到CPU进行处理就可以实现对SSL流量进行采集审计的系统和方法。
发明内容
本公开为了解决上述现有技术问题而提出一种不仅能实现对SSL流量进行采集审计,而且能够大大减轻CPU处理SSL流量的负担的系统及其方法。
根据本公开的一个方面,提供一种SSL流量审计采集系统,该SSL流量审计采集系统可以包括:FPGA器件,其接收报文,从接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,并根据查找结果来确定建立会话、丢弃会话和上送会话;以及中央处理器,其从所述FPGA器件接收报文,从所接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,根据查找结果来确定建立会话、进行深度报文检测以生成流量审计日志,并构造会话丢包消息发送给所述FPGA器件进行处理,其中所述会话丢包信息包含所述会话五元组以及丢包动作,并且所述FPGA器件接收所述中央处理器的所述会话丢包消息,并根据会话丢包消息设置会话转发状态。
根据本公开的一个实施例,如果所述FPGA器件查找不到包含所述会话五元组的会话,则根据所述会话五元组建立会话,而如果所述FPGA器件查找到包含所述会话五元组的会话,则查找会话中的丢包标志位,以检查是否需要丢弃该报文,如果需要丢弃报文,那么直接丢弃,否则将该报文上送给所述中央处理器。
根据本公开的一个实施例,如果所述中央处理器找不到包含所述会话五元组的会话,根据会话五元组建立会话,而如果查找到包含所述会话五元组的会话,则进行深度报文检测,并且如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,其表示后续此条会话报文均要进入SSL流量审计采集以提取安全访问网站的必要信息,来生成流量审计日志。
根据本公开的一个实施例,所述SSL流量审计采集系统还包括:网络控制器,其联接在所述FPGA器件与所述中央处理器之间,所述FPGA器件通过其向所述中央处理器上送报文,而所述中央处理器通过其发送报文;以及交换器件,其包括以太网卡和以太网接口,所述以太网卡从Web网上接收报文,并且当系统处于收包方向时所述FPGA器件通过以太网口与该交换器件相联以接收报文,而当系统处于发包方向时所述中央处理器通过网络控制器和交换器件的以太网口相联以发送报文。
根据本公开的一个实施例,所述FPGA器件包括:FPGA会话管理单元,其接收报文,从报文内容中提取报文的会话五元组,根据报文的会话五元组查询会话,如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果找到包含所述会话五元组的会话,则查找会话中的丢包标志位,以检查是否需要丢弃该报文,如果需要丢弃报文,那么直接丢弃,否则将报文上送到所述中央处理器进行处理;以及FPGA消息管理单元,其接收所述中央处理器的消息报文,解析报文以发现会话丢包消息,并在发现会话丢包消息后,根据会话丢包消息设置会话转发状态。
根据本公开的一个实施例,所述中央处理器包括:CPU会话管理单元,其接收报文,然后从所接收到的报文内容中提取该报文的会话五元组,根据报文的会话五元组查询会话,如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话;深度报文检测单元,其在所述CPU会话管理单元找到包含所述会话五元组的会话时,对从所述CPU会话管理单元所接收的报文基于会话维度进行深度报文检测分析以检测报文所属于的类型,如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,其表示后续此条会话报文均要进入SSL流量审计采集;SSL流量审计采集单元,其判断从所述深度报文检测单元所接收到的会话上是否有审计标志位,并对有审计标志位的会话进行SSL流量审计采集以提取安全访问网站的必要信息,来生成流量审计日志;日志管理单元,对审计日志进行维护管理;以及CPU消息管理单元,其根据业务要求,对所述FPGA器件提交的消息进行业务处理。
根据本公开的一个方面,提供一种用于SSL流量审计采集系统的流量审计采集方法,该SSL流量审计采集系统包括FPGA器件,其接收报文,从接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,并根据查找结果来确定建立会话、丢弃会话和上送会话;以及中央处理器,其从所述FPGA器件接收报文,从所接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,根据查找结果来确定建立会话、进行深度报文检测以生成流量审计日志,并构造会话丢包消息发送给所述FPGA器件进行处理,该流量审计采集方法包括以下步骤:所述FPGA器件接收报文并从报文内容中提取报文的会话五元组,根据会话五元组查找会话,如果所述FPGA器件找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果能找到包含所述会话五元组的会话,则查找会话丢包标志位,以检查是否需要丢弃报文,如果需要丢弃报文,那么直接丢弃,否则将报文上送到所述中央处理器进行处理;所述中央处理器接收报文,从报文内容中提取报文的会话五元组,根据会话五元组查找会话,并且如果所述中央处理器找不到包含所述会话五元组的会话,则根据会话五元组建立会话;如果所述中央处理器找到了会话,则对所接收的报文基于会话维度进行深度报文检测分析以检测报文所属于的类型,如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,其表示后续此条会话报文均要进入SSL流量审计采集;对有审计标志位的会话进行SSL流量审计采集以提取安全访问网站的信息,来生成流量审计日志并对审计日志进行维护管理;根据业务要求,对FPGA器件提交的消息进行业务处理;并且所述FPGA器件接收所述中央处理器的消息报文,解析报文以发现会话丢包消息,并在发现会话丢包消息后,根据会话丢包消息设置会话转发状态。
根据本公开的一个实施例,所述业务处理包括生成基于会话的会话丢包消息,以通知所述FPGA器件后续报文不用上送所述中央处理器。
根据本公开的一个实施例,所述会话转发状态包括会话丢包标志位以便丢弃后续会话报文,从而控制报文上送所述中央处理器。
根据本公开的一个实施例,所述会话五元组包括报文的源IP、目的IP、协议号、源端口、目的端口。
利用上述技术方案,系统或方法一旦提取到访问网站、证书、加密套件等信息后,就将审计日志交付给日志管理单元处理,后续会话流量不用上送CPU进行处理,从而大大减轻CPU处理SSL流量的负担,提升了SSL流量审计采集系统性能,减少了硬件投资成本,降低了对能源及机房空间的需求,绿色环保。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种典型的流量审计系统;
图2示出了根据本公开的一个实施例的SSL流量审计采集系统;
图3示出了根据本公开的一个实施例的FPGA器件的框图;
图4示出了根据本公开的一个实施例的CPU的框图;以及
图5是根据本公开的用于SSL流量审计采集系统的流量审计采集方法的流程图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
以下将描述本公开的具体实施方式,需要指出的是,在这些实施方式的具体描述过程中,为了进行简明扼要的描述,本说明书不可能对实际的实施方式的所有特征均作详尽的描述。应当可以理解的是,在任意一种实施方式的实际实施过程中,正如在任意一个工程项目或者设计项目的过程中,为了实现开发者的具体目标,为了满足系统相关的或者商业相关的限制,常常会做出各种各样的具体决策,而这也会从一种实施方式到另一种实施方式之间发生改变。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本公开公开的内容相关的本领域的普通技术人员而言,在本公开揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本公开的内容不充分。
除非另作定义,权利要求书和说明书中使用的技术术语或者科学术语应当为本公开所属技术领域内具有一般技能的人士所理解的通常意义。本公开专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”或者“一”等类似词语并不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同元件,并不排除其他元件或者物件。“联接”或者“相联”等类似的词语并非限定于物理的或者机械的联接,也不限于是直接的还是间接的联接。
本公开提供了新颖的SSL流量审计采集系统和方法,其通过在现有技术的SSL流量审计采集系统和方法的基础上,增加一个FPGA芯片作为以太网卡,来提取到访问网站、证书、加密套件等信息,并根据所提取到的信息直接生成流量审计日志并交付给日志管理单元处理,因此后续会话流量不用上送CPU进行处理,从而不仅能实现对SSL流量进行采集审计,还大大减轻CPU处理SSL流量的负担,提升了整个SSL流量审计采集系统性能,减少了硬件投资成本,降低了对能源及机房空间的需求,绿色环保。
本公开新增添的FPGA芯片是一种现场可编程门阵列(Field Programmable GateArray),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,作为专用集成电路(ASIC)领域中的一种半定制电路而出现。
图2示出了根据本公开的一个实施例的SSL流量审计采集系统。如图2所示,该SSL流量审计采集系统200包括中央处理器(CPU)230、网络控制器220、交换器件210以及FPGA器件240。
交换器件210包括多个入接口(在图2中示出为附图标记eth0~ethN)和以太网口(在图2中示出为附图标记ieth)。这里的入接口和以太网口个数是示意性而非限制性的,在根据本公开的其他实施例中,以太网口的个数也可以是多个,而入接口的个数可以是一个。
在SSL流量审计采集系统收包时,交换器件210将入接口(eth0~ethN)收到的报文通过以太网口(ieth)发送给FPGA器件240。
交换器件210的其他方面与现有技术的SSL流量审计采集系统的交换器件相似,因此将不在此赘述。
还需要说明的是,流量审计系统200与现有技术的SSL流量审计采集系统一样,也可以不包括交换器件210。在这种情况下,数据流量直接被发送给FPGA器件240进行后续处理。
图2中的网络控制器220与现有技术的SSL流量审计采集系统的网络控制器具有相似的结构和功能,因此也不在此赘述。
该FPGA器件240包括FPGA芯片作为以太网卡。由于FPGA芯片可以扩展以太网接口,所以收包方向FPGA器件240和交换器件210通过以太网口相联以接收报文,而发包方向CPU230则通过网络控制器220和交换器件210的以太网口相联以发送报文。
FPGA器件240从交换器件210收到报文后,从报文内容中提取报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),根据会话五元组查找会话,如果找不到包含所述会话五元组的会话,根据会话五元组建立会话。如果能找到包含所述会话五元组的会话,则查找会话中的丢包标志位,以检查是否需要丢弃该报文。如果需要丢弃报文,那么直接丢弃,否则将报文通过网络控制器220上送到CPU 230进行处理。
FPGA器件240还从CPU 230接收消息并对该消息进行解析,以发现会话丢包消息。在发现会话丢包消息后,FPGA器件240设置会话丢包标志位,此条会话后续报文直接丢弃,不用上送CPU 230进行处理,从而大大减轻了CPU 230处理SSL流量的负担。
该CPU 230通过PCIE总线访问并管理FPGA器件240。CPU 230从FPGA器件240收到报文后,从报文内容中提取报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),并根据会话五元组查找会话。如果找不到包含所述会话五元组的会话,根据会话五元组建立会话。如果能找到包含所述会话五元组的会话,则进行深度报文检测,而如果经过深度报文检测发现是SSL协议报文,在会话上设置审计标志位,后续此条会话报文均要进入SSL流量审计采集,以提取访问网站、证书、加密套件等信息,待提取信息完成后,生成流量审计日志。
在此同时,该CPU 230还构造会话丢包消息发送给FPGA器件240进行处理,会话丢包信息包含会话五元组以及丢包动作。
以下将对FPGA器件240和CPU 230的结构和功能进一步详细描述。
图3示出了根据本公开的一个实施例的FPGA器件240的框图。如图3所示,该FPGA器件240包括FPGA会话管理单元310和FPGA消息管理单元320。
FPGA会话管理单元310收到报文,从报文内容中提取报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),根据报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口)查询会话,并且如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果找到包含所述会话五元组的会话,则查找会话中的丢包标志位,以检查是否需要丢弃该报文。如果需要丢弃报文,那么直接丢弃,否则将报文通过网络控制器220(如图2所示)上送到CPU 230进行处理。
FPGA消息管理单元320负责接收CPU 230的消息报文,支持解析报文,以发现会话丢包消息。在发现会话丢包消息后,根据会话丢包消息设置会话转发状态,如通过设置会话丢包标志位丢弃后续会话报文,从而控制报文是否上送CPU 230。
图4示出了根据本公开的一个实施例的CPU 230的框图。如图4所示,该CPU 230主要包含CPU会话管理单元410、深度报文检测单元420、SSL流量审计单元430、日志管理单元440、CPU消息管理单元450。
CPU会话管理单元410具有与图3中所示的FPGA会话管理单元310相似的结构和功能,但CPU会话管理单元410不是从图2所示的交换器件210而是从图3所示的网络控制器220接收报文,然后从所接收到的报文内容中提取该报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),根据报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口)查询会话,并且如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果找到包含所述会话五元组的会话,则将其交给深度报文检测单元420进行深度报文检测分析。
深度报文检测单元420对从CPU会话管理单元410所接收的报文基于会话维度进行深度报文检测分析,以检测报文所属于的应用层协议、病毒、攻击等。如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,以表示后续此条会话报文均要进入SSL流量审计采集,以提取访问网站、证书、加密套件等信息,待提取信息完成后,生成流量审计日志。
SSL流量审计采集单元430判断从深度报文检测单元420接收到的会话上是否有深度报文检测单元420设置的审计标志位,并对有审计标志位的会话进行SSL流量审计采集以提取访问网站、证书、加密套件等信息,并待提取信息完成后,生成流量审计日志。
日志管理单元440对审计日志进行维护管理,如支持以TLV、JSON、XML、SYSLOG等格式进行发送。
CPU消息管理单元450根据业务要求,对如图2所示的FPGA器件240提交的消息进行业务处理,如生成基于会话的丢包消息,以通知FPGA器件240的FPGA消息管理单元320(如图3所示),后续报文不用上送CPU 230。
图5是根据本公开的用于SSL流量审计采集系统的流量审计采集方法的流程图。在图5的步骤S510中,在FPGA器件收到报文后,从报文内容中提取报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),根据会话五元组查找会话,如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话。如果能找到包含所述会话五元组的会话,则查找会话丢包标志位,以检查是否需要丢弃报文,如果需要丢弃报文,那么直接丢弃,否则将报文通过网络控制器上送到CPU进行处理。
接下来,在步骤S520中,CPU接收到报文后,从报文内容中提取报文的会话五元组(源IP、目的IP、协议号、源端口、目的端口),根据会话五元组查找会话,并且如果找不到包含所述会话五元组的会话,则根据会话五元组建立会话。
如果在步骤S520中找到了会话,则在步骤S530中对所接收的报文基于会话维度进行深度报文检测分析,以检测报文所属于的应用层协议、病毒、攻击等。如果经过深度报文检测发现是SSL协议报文,在会话上设置审计标志位,后续此条会话报文均要进入SSL流量审计采集,以提取访问网站、证书、加密套件等信息,待提取信息完成后,生成流量审计日志。
在步骤S540中,对有审计标志位的会话进行SSL流量审计采集以提取访问网站、证书、加密套件等信息,并待提取信息完成后,生成流量审计日志。
在步骤S550中,对审计日志进行维护管理,如支持以TLV、JSON、XML、SYSLOG等格式进行发送。
在步骤S560中,根据业务要求,对FPGA器件提交的消息进行业务处理,如生成基于会话的丢包消息,以通知FPGA器件后续报文不用上送CPU。
最后,在步骤S570中,FPGA器件接收CPU的消息报文,支持解析报文,以发现会话丢包消息。在发现会话丢包消息后,根据会话丢包消息设置会话转发状态,如通过设置会话丢包标志位丢弃后续会话报文,从而控制报文是否上送CPU 230。
本公开根据上述技术方案,不仅能实现对SSL流量进行审计,而且一旦提取到访问网站、证书、加密套件等信息后,通过生成流量审计日志,将审计日志交付给日志管理单元440(如图所示)处理,后续会话流量就不用上送CPU 230(如图2所示)进行处理,从而大大减轻CPU 230处理SSL流量审计的负担,提升了SSL流量审计采集系统性能,减少了硬件投资成本,降低了对能源及机房空间的需求,绿色环保。
概括而言,硬件上需要增加一个FPGA芯片通过PCIE与CPU互联。设备在硬件设计中除了CPU、网络控制器、交换芯片(Switch)等关键器件外,还需要增加一个FPGA芯片作为以太网卡,CPU通过PCIE总线访问管理FPGA芯片。由于FPGA芯片可以扩展以太网接口,所以收包方向FPGA芯片和交换芯片(Switch)通过以太网口相连,而发包方向CPU则通过网络控制器和交换芯片(Switch)以太网口相连。在收包时,交换芯片(Switch)将入接口(Eth0~EthN)收到的报文通过与FPGA芯片相连的以太网口(上图侧ieth接口)发送给FPGA芯片。FPGA芯片收到报文后,从报文内容中提取报文的五元组(源IP、目的IP、协议号、源Port、目的Port),根据五元组查找会话,如果找不到会话,根据五元组建立会话。如果能找到会话,查找会话丢包标志位,检查是否需要丢弃报文,如果需要丢弃报文,那么直接丢弃,否则将报文通过网络控制器上送到CPU进行处理。CPU收到报文后,从报文内容中提取报文的五元组(源IP、目的IP、协议号、源Port、目的Port),根据五元组查找会话,如果找不到会话,根据五元组建立会话。如果能找到会话,进行DPI深度业务分析,经过DPI分析,如果发现是SSL协议报文,在会话上设置审计标志位,后续此条会话报文均要进入SSL流量审计模块进行处理,以提取访问网站、证书、加密套件等信息,待提取信息完成后,构造审计日志发到日志处理模块进行处理;同时构造会话丢包消息发送给FPGA进行处理,会话丢包信息包含会话五元组以及丢包动作,FPGA消息处理模块收到消息后,对消息进行解析,发现是会话丢包消息后,设置会话丢包标志位,此条会话后续报文直接丢弃,不用上送CPU进行处理,从而大大减轻了CPU处理SSL流量的负担。
本公开的FPGA会话管理单元负责根据报文五元组(源IP、目的IP、协议号、源Port、目的Port)建立会话、老化会话,以及根据查询条件会话查询等功能。本公开的FPGA消息管理单元负责接收CPU消息报文,支持解析报文,根据消息消息设置会话转发状态,如通过设置会话报文丢弃标志位丢弃后续会话报文,从而控制报文是否上送CPU。本公开的CPU会话管理单元同FPGA会话管理单元。本公开的DPI深度包检测单元对接收的报文基于会话维度进行DPI深度包检测,以检测报文所属于的应用层协议、病毒、攻击等。本公开的CPU SSL流量审计单元对SSL流量进行审计,以提取访问网站、证书、加密套件等信息。本公开的CPU日志管理单元对审计日志进行管理,如支持TLV、JSON、XML、SYSLOG等格式进行发送。本公开的CPU消息管理单元根据业务模块生成和FPGA通信的消息,以进行业务处理,如生成基于会话的丢包消息,通知FPGA后续报文不上送CPU。
以上结合具体实施例描述了本公开的基本原理,但是需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和系统的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。
因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者系统的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
还需要指出的是,在本公开的系统和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (9)
1.一种SSL流量审计采集系统,该SSL流量审计采集系统包括:
FPGA器件,其接收报文,从接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,并根据查找结果来确定建立会话、丢弃会话和上送会话;以及
中央处理器,其从所述FPGA器件接收报文,从所接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,根据查找结果来确定建立会话、进行深度报文检测以生成流量审计日志,并构造会话丢包消息发送给所述FPGA器件进行处理,
其中,所述FPGA器件包括:FPGA会话管理单元,其接收报文从报文内容中提取报文的会话五元组,根据会话五元组查找会话,如果所述FPGA器件找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果能找到包含所述会话五元组的会话,则查找会话丢包标志位,以检查是否需要丢弃报文,如果需要丢弃报文,那么直接丢弃,否则将报文上送到所述中央处理器进行处理;以及FPGA 消息管理单元,其接收所述中央处理器的消息报文,解析报文以发现会话丢包消息,并在发现会话丢包消息后,根据会话丢包消息设置会话转发状态;以及
所述中央处理器包括:CPU会话管理单元,其接收报文,从报文内容中提取报文的会话五元组,根据会话五元组查找会话,并且如果所述中央处理器找不到包含所述会话五元组的会话,则根据会话五元组建立会话;深度报文检测单元,其在所述CPU会话管理单元找到包含所述会话五元组的会话时,对从所述CPU会话管理单元所接收的报文基于会话维度进行深度报文检测分析以检测报文所属于的类型,如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,其表示后续此条会话报文均要进入SSL流量审计采集;SSL流量审计采集单元,其判断从所述深度报文检测单元所接收到的会话上是否有审计标志位,并对有审计标志位的会话进行SSL流量审计采集以提取安全访问网站的必要信息,来生成流量审计日志;日志管理单元,对审计日志进行维护管理;以及CPU消息管理单元,其根据业务要求,对所述FPGA器件提交的消息进行业务处理。
2.根据权利要求1所述的SSL流量审计采集系统,还包括:
网络控制器,其联接在所述FPGA器件与所述中央处理器之间,所述FPGA器件通过其向所述中央处理器上送报文,而所述中央处理器通过其发送报文;以及
交换器件,其包括以太网卡和以太网接口,所述以太网卡从Web网上接收报文,并且当系统处于收包方向时所述FPGA器件通过以太网口与该交换器件相联以接收报文,而当系统处于发包方向时所述中央处理器通过网络控制器和交换器件的以太网口相联以发送报文。
3.根据权利要求1所述的SSL流量审计采集系统,其中所述业务处理包括生成基于会话的会话丢包消息,以通知所述FPGA器件后续报文不用上送所述中央处理器。
4.根据权利要求1-3之一所述的SSL流量审计采集系统,其中所述会话转发状态包括会话丢包标志位以便丢弃后续会话报文,从而控制报文上送所述中央处理器。
5.根据权利要求1-3之一所述的SSL流量审计采集系统,其中所述会话五元组包括报文的源IP、目的IP、协议号、源端口、目的端口。
6.一种用于SSL流量审计采集系统的流量审计采集方法,该SSL流量审计采集系统包括FPGA器件,其接收报文,从接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,并根据查找结果来确定建立会话、丢弃会话和上送会话;以及中央处理器,其从所述FPGA器件接收报文,从所接收到的报文内容中提取报文的会话五元组,根据所述会话五元组查找会话,根据查找结果来确定建立会话、进行深度报文检测以生成流量审计日志,并构造会话丢包消息发送给所述FPGA器件进行处理,该流量审计采集方法包括以下步骤:
所述FPGA器件接收报文并从报文内容中提取报文的会话五元组,根据会话五元组查找会话,如果所述FPGA器件找不到包含所述会话五元组的会话,则根据会话五元组建立会话,而如果能找到包含所述会话五元组的会话,则查找会话丢包标志位,以检查是否需要丢弃报文,如果需要丢弃报文,那么直接丢弃,否则将报文上送到所述中央处理器进行处理;
所述中央处理器接收报文,从报文内容中提取报文的会话五元组,根据会话五元组查找会话,并且如果所述中央处理器找不到包含所述会话五元组的会话,则根据会话五元组建立会话;
如果所述中央处理器找到了会话,则对所接收的报文基于会话维度进行深度报文检测分析以检测报文所属于的类型,如果经过深度报文检测发现是SSL协议报文,则在会话上设置审计标志位,其表示后续此条会话报文均要进入SSL流量审计采集;
对有审计标志位的会话进行SSL流量审计采集以提取安全访问网站的信息,来生成流量审计日志并对审计日志进行维护管理;
根据业务要求,对FPGA器件提交的消息进行业务处理;并且
所述FPGA器件接收所述中央处理器的消息报文,解析报文以发现会话丢包消息,并在发现会话丢包消息后,根据会话丢包消息设置会话转发状态。
7.根据权利要求6所述的流量审计采集方法,其中所述业务处理包括生成基于会话的会话丢包消息,以通知所述FPGA器件后续报文不用上送所述中央处理器。
8.根据权利要求6所述的流量审计采集方法,其中所述会话转发状态包括会话丢包标志位以便丢弃后续会话报文,从而控制报文上送所述中央处理器。
9.根据权利要求6所述的流量审计采集方法,其中所述会话五元组包括报文的源IP、目的IP、协议号、源端口、目的端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977301.XA CN113709135B (zh) | 2021-08-24 | 2021-08-24 | Ssl流量审计采集系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110977301.XA CN113709135B (zh) | 2021-08-24 | 2021-08-24 | Ssl流量审计采集系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709135A CN113709135A (zh) | 2021-11-26 |
CN113709135B true CN113709135B (zh) | 2023-02-07 |
Family
ID=78668887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110977301.XA Active CN113709135B (zh) | 2021-08-24 | 2021-08-24 | Ssl流量审计采集系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709135B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014048A (zh) * | 2007-02-12 | 2007-08-08 | 杭州华为三康技术有限公司 | 分布式防火墙系统及实现防火墙内容检测的方法 |
CN102739473A (zh) * | 2012-07-09 | 2012-10-17 | 南京中兴特种软件有限责任公司 | 一种应用智能网卡的网络检测方法 |
CN104364761A (zh) * | 2012-06-15 | 2015-02-18 | 思杰系统有限公司 | 用于在集群网络中转发流量的系统和方法 |
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和系统 |
CN106101007A (zh) * | 2016-05-24 | 2016-11-09 | 杭州迪普科技有限公司 | 处理报文的方法及装置 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和系统 |
CN109936513A (zh) * | 2019-02-18 | 2019-06-25 | 网宿科技股份有限公司 | 基于fpga的数据报文处理方法、智能网卡和cdn服务器 |
CN110222503A (zh) * | 2019-04-26 | 2019-09-10 | 西安交大捷普网络科技有限公司 | 一种大数据流负载下的数据库审计方法、系统与设备 |
CN112055032A (zh) * | 2020-09-21 | 2020-12-08 | 迈普通信技术股份有限公司 | 一种报文处理方法、装置、电子设备及存储介质 |
CN112822722A (zh) * | 2020-12-30 | 2021-05-18 | 联想未来通信科技(重庆)有限公司 | 一种数据报文的传输方法和装置 |
CN113141281A (zh) * | 2021-04-23 | 2021-07-20 | 山东英信计算机技术有限公司 | 一种fpga加速器、网络参数测量系统、方法及介质 |
-
2021
- 2021-08-24 CN CN202110977301.XA patent/CN113709135B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014048A (zh) * | 2007-02-12 | 2007-08-08 | 杭州华为三康技术有限公司 | 分布式防火墙系统及实现防火墙内容检测的方法 |
CN104364761A (zh) * | 2012-06-15 | 2015-02-18 | 思杰系统有限公司 | 用于在集群网络中转发流量的系统和方法 |
CN102739473A (zh) * | 2012-07-09 | 2012-10-17 | 南京中兴特种软件有限责任公司 | 一种应用智能网卡的网络检测方法 |
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和系统 |
CN106101007A (zh) * | 2016-05-24 | 2016-11-09 | 杭州迪普科技有限公司 | 处理报文的方法及装置 |
CN109714302A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 算法的卸载方法、装置和系统 |
CN109936513A (zh) * | 2019-02-18 | 2019-06-25 | 网宿科技股份有限公司 | 基于fpga的数据报文处理方法、智能网卡和cdn服务器 |
CN110222503A (zh) * | 2019-04-26 | 2019-09-10 | 西安交大捷普网络科技有限公司 | 一种大数据流负载下的数据库审计方法、系统与设备 |
CN112055032A (zh) * | 2020-09-21 | 2020-12-08 | 迈普通信技术股份有限公司 | 一种报文处理方法、装置、电子设备及存储介质 |
CN112822722A (zh) * | 2020-12-30 | 2021-05-18 | 联想未来通信科技(重庆)有限公司 | 一种数据报文的传输方法和装置 |
CN113141281A (zh) * | 2021-04-23 | 2021-07-20 | 山东英信计算机技术有限公司 | 一种fpga加速器、网络参数测量系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113709135A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425047B2 (en) | Traffic analysis method, common service traffic attribution method, and corresponding computer system | |
Narayan et al. | A survey of automatic protocol reverse engineering tools | |
US20210258791A1 (en) | Method for http-based access point fingerprint and classification using machine learning | |
EP3691217B1 (en) | Web traffic logging system and method for detecting web hacking in real time | |
US8566452B1 (en) | Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels | |
US7483384B2 (en) | System and method for monitoring network traffic | |
EP2810412B1 (en) | Systems and methods for extracting structured application data from a communications link | |
US8418233B1 (en) | Rule based extensible authentication | |
CN112822167B (zh) | 异常tls加密流量检测方法与系统 | |
US10498618B2 (en) | Attributing network address translation device processed traffic to individual hosts | |
US11196833B1 (en) | Proxy server synchronizer | |
CN102664935B (zh) | 一种web类用户行为和用户信息的关联输出方法及系统 | |
Tamboli et al. | Secure and efficient CoAP based authentication and access control for Internet of Things (IoT) | |
CN111314288B (zh) | 中继处理方法、装置、服务器和存储介质 | |
CN113518042B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Bachupally et al. | Network security analysis using Big Data technology | |
EP3963862B1 (en) | Intermediary handling of identity services to guard against client side attack vectors | |
US11601431B2 (en) | Split-tiered point-to-point inline authentication architecture | |
Vithanage et al. | A Secure corroboration protocol for internet of things (IoT) devices using MQTT version 5 and LDAP | |
US8972543B1 (en) | Managing clients utilizing reverse transactions | |
CN113709135B (zh) | Ssl流量审计采集系统与方法 | |
CN115622744A (zh) | 一种加密流量下的web漏洞扫描攻击检测系统 | |
Wannigama et al. | Unveiling Behavioral Transparency of Protocols Communicated by IoT Networked Assets | |
Yan et al. | MARS: Automated Protocol Analysis Framework for Internet of Things | |
Wannigama et al. | Unveiling Behavioral Transparency of Protocols Communicated by IoT Networked Assets (Full Version) |
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 |