1.本公开大体涉及一种基于大数据的网络监控系统及网络监控方法。
背景技术:
2.随着计算机技术、网络技术和通信技术的普及,信息化已经成为各组织机构实现稳定发展和提高竞争力的有力保障。在信息化建设中,网络安全尤为重要,若网络受到攻击,有可能对组织机构的资产造成损害,进而造成重大的损失。因此,如何提升对网络攻击的防御能力并能够及时发现网络攻击行为已经成为各组织机构的研究方向。
3.目前,常常利用网络安全工具例如防火墙、漏洞扫描工具或基于网络流量数据的入侵检测系统对网络攻击行为进行识别。入侵检测系统通过对采集的网络流量数据进行分析,并以可视化的方式呈现给网络安全负责人,以使网络安全负责人能够对网络流量数据进行监控并及时发现网络攻击行为。然而,上述的网络攻击行为识别的方式往往难以适应日益增长的海量的网络流量数据,容易出现丢包、漏报等情况,还有可能无法支持历史的网络流量数据的回放。
技术实现要素:
4.本公开是鉴于上述的状况而提出的,其目的在于提供一种能够降低丢包率、漏报率和存储成本的基于大数据的网络监控系统及网络监控方法。
5.为此,本公开的第一方面提供了基于大数据的网络监控系统,是基于网络流量数据进行网络监控的网络监控系统,包括采集器、解析器、基于消息队列的消息集群服务器、第一处理模块、第二处理模块、第一存储模块、第二存储模块、监控模块、流量回放模块以及资产管理模块;所述采集器配置为从网络设备中获取所述网络流量数据,将所述网络流量数据拷贝至内核缓冲区;所述解析器配置为基于共享内存方式从所述内核缓冲区读取所述网络流量数据并对所述网络流量数据进行解析以获得协议数据,创建包括所述协议数据的协议消息并将所述协议消息发送至所述消息集群服务器;所述消息集群服务器配置为通过分布式方式部署,用于接收所述协议消息、存储所述协议消息、以及为所述第一处理模块和所述第二处理模块提供所述协议消息中的协议数据;所述第一处理模块配置为从所述消息集群服务器读取所述协议消息中的协议数据,通过用于获取告警信息的告警引擎、基于黑名单获取黑名单标签的黑名单引擎和基于白名单获取白名单标签的白名单引擎对所述协议数据进行检测以获取包括所述协议数据和检测信息的分析数据并将所述分析数据关联资产信息和地理信息后存储至所述第一存储模块,其中,若存在所述检测信息,所述检测信息包括所述告警信息、所述黑名单标签和所述白名单标签中的至少一种;所述第二处理模块配置为从所述消息集群服务器读取所述协议消息中的协议数据,对所述协议数据依次进行序列化和压缩处理以获取压缩协议数据,将所述压缩协议数据存储至所述第二存储模块;所述第一存储模块配置为存储第一预设时间内的分析数据、以及分析数据关联的资产信息和地理信息;所述第二存储模块配置为存储第二预设时间内的压缩协议数据,其中,所
述压缩协议数据基于所述压缩协议数据的接收时间存储在相应的存储空间中,各个存储空间用于存储对应时间范围内的压缩协议数据,所述第一预设时间小于所述第二预设时间;所述监控模块配置为从所述第一存储模块获取所述分析数据、以及所述分析数据关联的资产信息和地理信息并进行输出;所述流量回放模块配置为从所述第二存储模块获取预设时间范围内的压缩协议数据,对该压缩协议数据进行解压和反序列化处理以获取所述协议数据,利用所述第一处理模块对所述协议数据进行分析以获取所述分析数据、以及与所述分析数据关联的资产信息和地理信息并输出;所述资产管理模块配置为管理所述资产信息。在这种情况下,能够满足实时查询和历史查询的需求,且存储成本较低,另外,基于消息集群服务器对协议数据进行管理,能够降低耦合性并支持分布式部署,进而提高大数据的处理能力,降低丢包率,另外,基于告警信息、黑名单标签和白名单标签能够识别被误报或漏报的协议数据,能够降低漏报率。
6.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述第一存储模块配置和/或所述第二存储模块配置为通过分布式方式部署。由此,能够支持海量数据的存储。
7.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述资产信息包括资产名称、资产地址和资产负责人信息,所述地理信息包括经纬度信息和地理名称。在这种情况下,能够在资产被攻击时,及时联系到相应的资产负责人进行处理。由此,能够降低资产被损害的风险,另外,能够直观地获得攻击来源。
8.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述黑名单引擎配置为管理所述黑名单、以及基于所述黑名单对所述协议数据进行标记以获取所述黑名单标签;所述白名单引擎配置为管理所述白名单、以及基于所述白名单对所述协议数据进行标记以获取所述白名单标签。在这种情况下,能够管理白名单和黑名单并利用白名单和黑名单对协议数据进行标记。由此,后续能够基于白名单和黑名单识别是否存在误报或漏报的情况。
9.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述告警引擎包括具有监控规则的规则引擎、具有情报信息的情报引擎、以及用于检测攻击来源的攻击来源引擎;所述规则引擎配置为管理所述监控规则和利用所述监控规则对所述协议数据进行规则匹配以获取第一告警信息;所述情报引擎配置为管理所述情报信息和利用所述情报信息对所述协议数据进行情报匹配以获取第二告警信息;所述攻击来源引擎配置为管理所述攻击来源和将所述协议数据的来源地址与所述攻击来源进行匹配以获取第三告警信息;所述告警信息包括所述第一告警信息、所述第二告警信息和所述第三告警信息。在这种情况下,能够较全面地对协议数据进行检测。由此,能够减低漏报率。
10.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述第一告警信息、所述第二告警信息和所述第三告警信息具有对应的评分,该评分分别基于所述监控规则、所述情报信息和所述攻击来源的评分获得;所述网络监控系统还包括评分模块,所述评分模块配置为获取所述分析数据的告警信息中的评分并进行汇总以获取总评分,在进行所述汇总中,获取评分最高的第一告警信息的评分作为第一评分,获取评分最高的第二告警信息的评分作为第二评分,将所述第三告警信息的评分作为第三评分,基于所述第一评分、所述第二评分和所述第三评分获取所述总评分。在这种情况下,能够对分析数据对应的危
急程度进行量化。由此,能够方便且快速地识别出危急程度高的网络攻击行为。
11.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述监控模块还配置为若所述检测信息中存在告警信息和白名单标签,则判断存在误报的协议数据并突出该检测信息对应的分析数据以识别被误报的协议数据,若所述检测信息中不存在告警信息且存在黑名单标签,则判断存在漏报的协议数据并突出该检测信息对应的分析数据以识别被漏报的协议数据。由此,能够基于白名单识别被误报的协议数据和基于黑名单识别被漏报的协议数据。
12.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述网络监控系统还包括动态加载机制,所述动态加载机制配置为当规则信息发生改变时,创建包括改变信息的规则改变消息,将所述规则改变消息发送至所述消息集群服务器,各个规则信息对应的监听程序监听所述消息集群服务器以发现规则改变消息,进而从所述消息集群服务器读取所述规则改变消息并基于所述规则改变消息重新加载所述规则信息,以利用重新加载的规则信息对所述协议数据进行检测以获取所述检测信息,其中,所述规则信息包括所述监控规则、所述白名单、所述黑名单和所述攻击来源。在这种情况下,能够基于消息集群服务器重新加载规则信息。由此,能够降低耦合性。
13.另外,在本公开的第一方面所涉及的网络监控系统中,可选地,所述监控规则包括第一监控规则和第二监控规则,所述第一监控规则为启动所述规则引擎前设定好的监控规则,所述第一监控规则在所述规则引擎启动时自动加载;所述第二监控规则为启动所述规则引擎后用户通过可视化界面进行自定义的监控规则,所述第二监控规则通过所述动态加载机制进行加载。在这种情况下,根据管理监控规则的对象对监控规则进行分类和管理,能够较好地满足网络监控的需求。另外,还支持动态加载用户自定义的监控规则,能够适应网络情况的变化。由此,能够降低误报率和漏报率且方便管理监控规则。
14.本公开的第二方面提供了一种基于大数据的网络监控方法,是基于网络流量数据进行网络监控的网络监控方法,包括:从网络设备中获取所述网络流量数据,将所述网络流量数据拷贝至内核缓冲区;基于共享内存方式从所述内核缓冲区读取所述网络流量数据并对所述网络流量数据进行解析以获得协议数据,创建包括所述协议数据的协议消息并将所述协议消息发送至通过分布式方式部署且基于消息队列的消息集群服务器进行管理;从所述消息集群服务器读取所述协议消息中的协议数据,通过用于获取告警信息的告警引擎、基于黑名单获取黑名单标签的黑名单引擎和基于白名单获取白名单标签的白名单引擎对所述协议数据进行检测以获取包括所述协议数据和检测信息的分析数据并将所述分析数据关联资产信息和地理信息后存储至第一存储模块,其中,第一存储模块用于存储第一预设时间内的分析数据、以及分析数据关联的资产信息和地理信息,若存在所述检测信息,所述检测信息包括所述告警信息、所述黑名单标签和所述白名单标签中的至少一种;从所述消息集群服务器读取所述协议消息中的协议数据,对所述协议数据依次进行序列化和压缩处理以获取压缩协议数据,将所述压缩协议数据存储至第二存储模块,其中,所述第二存储模块用于存储第二预设时间内的压缩协议数据,所述压缩协议数据基于所述压缩协议数据的接收时间存储在相应的存储空间中,各个存储空间用于存储对应时间范围内的压缩协议数据,所述第一预设时间小于所述第二预设时间;从所述第一存储模块获取所述分析数据、以及所述分析数据关联的资产信息和地理信息并进行输出;并且从所述第二存储模块获取
预设时间范围内的压缩协议数据,对该压缩协议数据进行解压和反序列化处理以获取所述协议数据,对所述协议数据进行所述检测以获取所述分析数据并将所述分析数据关联资产信息和地理信息后输出。在这种情况下,能够满足实时查询和历史查询的需求,且存储成本较低,另外,基于消息集群服务器对协议数据进行管理,能够降低耦合性并支持分布式部署,进而提高大数据的处理能力,降低丢包率,另外,基于告警信息、黑名单标签和白名单标签能够识别被误报或漏报的协议数据,能够降低漏报率。
15.根据本公开,提供一种能够降低丢包率、漏报率和存储成本的基于大数据的网络监控系统及网络监控方法。
附图说明
16.现在将仅通过参考附图的例子进一步详细地解释本公开,其中:
17.图1是示出了本公开示例所涉及的基于大数据的网络监控系统的应用场景图示意图。
18.图2是示出了本公开示例所涉及的基于大数据的网络监控系统的框图。
19.图3是示出了本公开示例所涉及的基于大数据的网络监控系统的另一种示例的框图。
20.图4是示出了本公开示例所涉及的基于大数据的网络监控系统的另一种示例的框图。
21.图5是示出了本公开示例所涉及的基于大数据的网络监控方法的流程图。
具体实施方式
22.以下,参考附图,详细地说明本公开的优选实施方式。需要说明的是,本公开中的术语“包括”和“具有”以及它们的任何变形,例如所包括或所具有的一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可以包括或具有没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本公开所描述的所有方法可以以任何合适的顺序执行,除非在此另有指示或者与上下文明显矛盾。
23.本公开涉及的基于大数据的网络监控系统及网络监控方法能够降低丢包率、漏报率和存储成本。本公开涉及的基于大数据的网络监控系统有时也可以称为网络监控系统、监控系统、攻击检测系统、攻击识别系统或入侵检测系统等。另外,本公开涉及的网络监控方法有时也可以称为网络监控方法、监控方法、攻击检测方法、攻击识别方法或入侵检测方法。以下结合附图进行详细描述本公开。此外,本公开的示例描述的应用场景是为了更加清楚的说明本公开的技术方案,并不构成对于本公开提供的技术方案的限定。
24.图1是示出了本公开示例所涉及的基于大数据的网络监控系统100的应用场景图示意图。如图1所示,网络监控系统100可以获得经过流量汇集设备21的网络流量数据以通过监控网络流量数据识别网络攻击行为。流量汇集设备21可以汇集组织机构内的多个流量设备22的网络流量数据。在一些示例中,组织机构内的终端设备23可以通过流量设备22和流量汇集设备21连接到互联网24并与其他连接到互联网24上的设备进行交互,进而产生网络流量数据。
25.在一些示例中,流量汇集设备21可以用于汇集组织机构内的网络流量数据。在一
些示例中,流量汇集设备21可以用于连接到互联网24的设备。例如,流量汇集设备21可以是路由器。在一些示例中,经过流量汇集设备21的网络流量数据可以通过流量镜像的方式复制至网络监控系统100中。也即可以以旁路的方式获取网络流量数据。在这种情况下,通过流量镜像的方式能够在不影响原有网络的情况下,将流量汇集设备21的网络流量数据复制到网络监控系统100中,进而能够对网络流量数据进行分析和监控。在一些示例中,网络监控系统100的网络设备例如网卡可以接收复制的网络流量数据。
26.在一些示例中,流量镜像可以通过包括但不限于是端口镜像(port monitoring)和分光器(optical splitter)流量采集等方式实现。在一些示例中,流量设备22可以是组织机构内的用于区域通信例如局域网通信的设备。例如,流量设备22可以是交换机。在这种情况下,局域网内的终端设备23能够通过流量设备22进行交互。在一些示例中,局域网内的终端设备23能够通过流量设备22和流量汇集设备21连接到互联网24。但本公开的示例不限于此,在另一些示例中,终端设备23也可以直接通过流量汇集设备21连接到互联网24。
27.在一些示例中,终端设备23可以是组织机构内能够产生网络流量数据的设备。作为终端设备23的示例,如图1所示,终端设备23可以包括但不限于是应用服务器23a、打印机23b、个人计算机23c和数据库服务器23d等。在一些示例中,组织机构可以包括但不限于是企业单位、事业单位和社会团体等。
28.在一些示例中,网络监控系统100可以获得经过流量设备22的网络流量数据。在这种情况下,能对基于流量设备22进行交互产生的网络流量数据进行监控。在一些示例中,网络监控系统100可以获得流量设备22之间的网络流量数据。在这种情况下,能对流量设备22之间的网络流量数据进行监控。
29.在一些示例中,网络流量数据可以是能够连接网络的设备在网络上所产生的数据流量。在这种情况下,通过分析网络流量数据可以了解网络流量的使用情况、识别网络攻击行为和提高网络安全。
30.本实施方式中,网络监控系统100可以基于网络流量数据进行网络监控。以下,结合附图详细描述本公开涉及的网络监控系统100。图2是示出了本公开示例所涉及的基于大数据的网络监控系统100的框图。
31.如图2所示,在一些示例中,网络监控系统100可以包括采集器110。采集器110可以采集网络流量数据。
32.在一些示例中,采集器110可以配置为从网络设备例如网卡中获取网络流量数据。在一些示例中,从网络设备获取的网络流量数据可以是对经过流量汇集设备21的网络流量数据进行复制获得的。在一些示例中,网络设备例如网卡可以设置在用于接收复制的网络流量数据的设备上。
33.在一些示例中,用于接收复制的网络流量数据的设备可以是服务器。在一些示例中,服务器可以包括一个或多个处理器和一个或多个存储器。其中,处理器可以包括中央处理单元、图形处理单元以及能够处理数据的其它任何电子部件,能够执行计算机程序指令。存储器可以用于存储计算机程序指令。
34.在一些示例中,采集器110可以将从网络设备获取的网络流量数据拷贝至内核缓冲区。内核缓冲区可以是内核空间中分配一块缓冲区。在这种情况下,后续可以基于共享内存方式从内核缓冲区读取网络流量数据进行解析,进而减少拷贝和系统调用。由此,能够提
高网络流量数据的采集效率和降低丢包率。
35.如图2所示,在一些示例中,网络监控系统100可以包括解析器111。解析器111可以配置为对网络流量数据进行解析以获得协议数据。
36.在一些示例中,解析器111可以配置为从内核缓冲区读取网络流量数据。在这种情况下,能够减少拷贝和系统调用。由此,能够提高网络流量数据的采集效率和降低丢包率。在一些示例中,可以基于共享内存方式从内核缓冲区读取网络流量数据。具体地,解析器111可以将解析器111对应的用户空间映射到内核缓冲区以使解析器111能够直接从内核缓冲区中读取网络流量数据。在一些示例中,可以通过mmap函数共享内存。也即,可以通过mmap函数将解析器111对应的用户空间映射到内核缓冲区。但本公开的示例不限于此,在另一些示例中,网络流量数据也可以从用户空间读取。在另一些示例中,网络流量数据可以是存储在存储介质例如硬盘上的数据。
37.在一些示例中,协议数据可以包括不同协议的字段。作为示例,不同协议的字段例如可以包括来源地址和目的地址。在一些示例中,协议数据可以具有接收时间。在一些示例中,接收时间可以是采集器110获得网络流量数据的时间。
38.在一些示例中,解析器111可以解析的协议包括但不限于网际协议版本4(internet protocol version 4,ipv4)、互联网协议第6版(internet protocol version 6,ipv6)、传输控制协议(transmission control protocol,tcp)、用户数据报协议(user datagram protocol,udp)、流控制传输协议(stream control transmission protocol,sctp)、互联网控制信息协议版本4(internet control message protocol version 4,)icmpv4、互联网控制信息协议版本六(internet control message protocol version 4,icmpv6)、通用路由封装协议(generic routing encapsulation,gre)、以太网协议(ethernet)、点对点协议(point to point protocol,ppp)、以太网上的点对点协议(point
‑
to
‑
point protocol over ethernet,pppoe)、原始数据报套接字(raw)、安全套接字协议(secure sockets layer,sll)、虚拟局域网(virtual local area network,vlan)、qinq、多协议标签交换(multi
‑
protocol label switching,mpls)、流量镜像协议(erspan)、虚拟可扩展的局域网(virtual extensible local area network,vxlan)、超文本传输协议(hyper text transfer protocol,http)、安全套接字协议(secure sockets layer,ssl)、安全传输层协议(transport layer security,tls)、微软的软件程序级的网络传输协议(server message block,smb)、dcerpc、简单邮件传输协议(simple mail transfer protocol,smtp)、文件传输协议(file transfer protocol,ftp)、安全外壳协议(secure shell,ssh)、域名系统(domain name system,dns)、modbus、enip/cip、分布式网络协议3(distributed network protocol 3,dnp3)、网络文件系统(network file system,nfs)、网络时间协议(network time protocol,ntp)、动态主机配置协议(dynamic host configuration protocol,dhcp)、简单文件传输协议(trivial file transfer protocol,tftp)、krb5、互联网密钥交换协议第2版(internet key exchange version 2,ikev2)、会话初始协议(session initiation protocol,sip)、简单网络管理协议(simple network management protocol,snmp)和远程显示协议(remote display protocol,rdp)等。
39.在一些示例中,解析器111可以配置为创建协议消息并将协议消息发送至消息集
群服务器112。协议消息可以包括协议数据。在一些示例中,可以将协议消息发送至消息集群服务器112。
40.如图2所示,在一些示例中,网络监控系统100可以包括消息集群服务器112。消息集群服务器112可以接收和存储包括协议数据的协议消息。也即消息集群服务器112可以对协议消息进行管理。
41.在一些示例中,消息集群服务器112可以是基于消息队列对协议消息进行管理的集群。具体地,消息集群服务器112可以通过消息队列接收协议消息、存储协议消息、以及提供协议消息。在这种情况下,通过消息集群服务器112对协议消息进行统一管理,能够降低耦合性。在一些示例中,消息集群服务器112可以为处理模块113(稍后描述)提供协议消息中的协议数据。
42.在一些示例中,消息集群服务器112可以运行一个或多个分布式系统。也即,消息集群服务器112可以通过分布式方式部署。由此,能够对大数据量的网络流量数据进行处理。在一些示例中,消息集群服务器112可以通过生产者、消费者的模式对协议消息进行管理。例如,解析器111可以为协议消息的生产者,使用协议消息的模块或程序可以为协议消息的消费者。在一些示例中,处理模块113可以为协议消息的消费者。在一些示例中,消息集群服务器112可以基于kafka集群实现。
43.另外,在一些示例中,消息集群服务器112还可以接收包括日志信息(例如组织机构内的设备的日志)的协议消息。在这种情况下,能够结合日志信息对网络流量数据进行监控。由此,能够提高识别网络攻击行为的准确率。
44.如图2所示,在一些示例中,网络监控系统100可以包括处理模块113。处理模块113可以对协议消息中的协议数据进行处理以获取分析数据、分析数据关联的资产信息和地理信息(可以简称为关联数据)、和/或压缩协议数据。
45.在一些示例中,处理模块113可以包括第一处理模块113a(参见图2)。第一处理模块113a可以配置为对协议数据进行检测以获取分析数据。在一些示例中,第一处理模块113a可以配置为从消息集群服务器112读取协议消息中协议数据。也即,消息集群服务器112可以为第一处理模块113a提供协议消息中的协议数据。
46.图3是示出了本公开示例所涉及的基于大数据的网络监控系统100的另一种示例的框图。如图3所示,在一些示例中,网络监控系统100可以包括告警引擎116、黑名单引擎117和白名单引擎118中的至少一种引擎。
47.在一些示例中,第一处理模块113a可以通过告警引擎116、黑名单引擎117和白名单引擎118对协议数据进行检测以获取分析数据。
48.在一些示例中,分析数据可以包括协议数据和检测信息。在一些示例中,检测信息可以基于告警引擎116、黑名单引擎117和白名单引擎118获得。在这种情况下,告警信息可以包括第一告警信息、第二告警信息和第三告警信息。在一些示例中,若存在检测信息(也即检测信息不为空值),检测信息可以包括告警信息、黑名单标签和白名单标签中的至少一种。在一些示例中,检测信息还可以包括总评分和/或告警等级。总评分和/或告警等级可以由评分模块121(稍后描述)获得。
49.在一些示例中,第一处理模块113a可以通过告警引擎116对协议数据进行检测以获取告警信息。也即,告警引擎116可以用于获取告警信息。在一些示例中,告警引擎116可
以包括规则引擎、情报引擎、以及攻击来源引擎。在一些示例中,规则引擎可以具有监控规则。在一些示例中,情报引擎可以具有情报信息。在一些示例中,攻击来源引擎可以用于检测攻击来源。在这种情况下,能够较全面地对协议数据进行检测。由此,能够减低漏报率。
50.如上所述,在一些示例中,告警引擎116可以包括规则引擎。在一些示例中,规则引擎可以配置为管理监控规则。在一些示例中,规则引擎可以配置为利用监控规则对协议数据进行规则匹配以获取第一告警信息。
51.在一些示例中,管理监控规则可以包括新增监控规则、修改监控规则和删除监控规则。在一些示例中,监控规则可以用于对协议数据中的字段的值进行匹配以获取第一告警信息。由此,能够获得符合监控规则的协议数据。在一些示例中,监控规则可以具有评分。在这种情况下,基于监控规则的评分能够获取与该监控规则对应的第一告警信息的评分,进而能够获得协议数据的总评分和/或告警等级。
52.在一些示例中,监控规则可以包括第一监控规则和第二监控规则。在一些示例中,第一监控规则可以为预先定义好的监控规则(也可以称为内置监控规则)。在一些示例中,第一监控规则可以为启动规则引擎前设定好的监控规则。在一些示例中,第一监控规则可以在规则引擎启动时自动加载。在一些示例中,第一监控规则可以由开发人员进行管理。在一些示例中,第二监控规则可以为启动规则引擎后用户例如网络安全负责人通过可视化界面例如浏览器界面进行自定义的监控规则(也可以称为用户自定义规则)。在一些示例中,第二监控规则可以通过动态加载机制119(稍后描述)加载。在这种情况下,根据管理监控规则的对象对监控规则进行分类和管理,能够较好地满足网络监控的需求。另外,还支持动态加载用户自定义的监控规则,能够适应网络情况的变化。由此,能够降低误报率和漏报率且方便管理监控规则。
53.在一些示例中,第一监控规则可以包括协议类型、规则编号、数据流向、告警内容、规则内容、评分和匹配字段。在一些示例中,第一监控规则还可以包括告警标识、规则内容匹配时是否区分大小写的标识、规则版本、规则创建时间和规则更新时间。由此,能够较全面地对监控规则进行配置。
54.另外,协议类型可以为不同的协议(也即解析器111可以解析的协议)。例如协议类型可以为上述的http、ftp或ppp等。规则编号可以唯一标识一条监控规则。另外,数据流向可以表示监控规则对应的网络流量数据的流向、来源地址和目的地址。在一些示例中,网络流量数据的流向可以包括外网至内网、和内网至外网两个流向。在一些示例中,来源地址和目的地址可以分别包括互联网协议地址(internet protocol address,ip地址)和端口。另外,告警内容可以为监控规则的描述信息。作为告警内容的示例,例如告警内容可以为“疑似尝试sql注入行为”。在一些示例中,第一告警信息可以包括告警内容。另外,规则内容可以用于判断协议数据中的字段的值是否存在符合规则内容对应的格式的数据。在一些示例中,规则内容可以是正则表达式或固定的字符串。另外,匹配字段可以为协议数据中的字段。作为匹配字段的示例,例如http协议对应的协议数据中的匹配字段可以为http_uri。另外,告警标识可以标识监控规则是否会产生告警。
55.在一些示例中,第二监控规则可以包括规则名称、规则编号、规则告警等级、匹配范围、匹配字段和匹配值。由此,能够较简单地对监控规则进行配置。除非特别说明,第二监控规则中与第一监控规则中相同的配置例如规则编号均适用于第二监控规则,参照第一监
控规则中的相关描述。
56.在一些示例中,规则告警等级可以包括危急、高危、中危和低危。由此,能够更直观地获得第二监控规则对应的危急程度。在一些示例中,规则告警等级可以与评分相对应。也即,规则告警等级与评分之间可以相互转化。例如,若评分取值范围为0至12分,则可以令10至12分对应危急、7至9分对应高危、4至6分对应中危、1至3分对应低危。在一些示例中,规则告警等级转为评分时,规则告警等级可以对应相应范围的中位数。例如危急可以对应10至12分这个范围的中位数,也即危急可以对应11分。由此,规则告警等级与评分能够相互转化。在一些示例中,第二监控规则的匹配范围可以包括全网、内网和外网。匹配范围为全网可以匹配全部来源地址。匹配范围为内网可以匹配来源地址为内网的地址。匹配范围为外网可以匹配来源地址为外网的地址。在一些示例中,第二监控规则的匹配值可以为固定的字符串。由此,能够方便用户对第二监控规则进行配置。
57.如上所述,在一些示例中,告警引擎116可以包括情报引擎。在一些示例中,情报引擎可以配置为管理情报信息。在一些示例中,情报引擎可以配置为利用情报信息对协议数据进行情报匹配以获取第二告警信息。在一些示例中,管理情报信息可以包括新增情报信息、修改情报信息和删除情报信息。在一些示例中,情报信息可以包括恶意互联网协议地址、恶意域名、矿池地址和木马文件中的至少一种。在这种情况下,能够为网络攻击行为提供更加有利的证据。在一些示例中,情报信息可以具有评分。在这种情况下,基于情报信息的评分获取与该情报信息对应的第二告警信息的评分,进而能够获得协议数据的总评分和/或告警等级。
58.如上所述,在一些示例中,告警引擎116可以包括攻击来源引擎。在一些示例中,攻击来源引擎可以配置为管理攻击来源。在一些示例中,攻击来源引擎可以配置为将协议数据的来源地址与攻击来源进行匹配以获取第三告警信息。在一些示例中,攻击来源可以包括攻击互联网协议地址和攻击域名。在一些示例中,管理攻击来源可以包括新增攻击来源、修改攻击来源和删除攻击来源。在一些示例中,攻击来源可以具有评分。在这种情况下,基于攻击来源的评分获取与该攻击来源对应的第三告警信息的评分,进而能够获得协议数据的总评分和/或告警等级。
59.在一些示例中,第一处理模块113a可以通过黑名单引擎117对协议数据进行检测以获取黑名单标签。在一些示例中,黑名单引擎117可以基于黑名单获取黑名单标签。在一些示例中,黑名单引擎117可以配置为管理黑名单。在一些示例中,黑名单引擎117可以配置为基于黑名单对协议数据进行标记以获取黑名单标签。在这种情况下,能够管理黑名单并利用黑名单对协议数据进行标记。由此,后续能够基于黑名单识别是否存在漏报的情况。
60.在一些示例中,若分析数据中的检测信息中不存在告警信息且存在黑名单标签(也即存在被标识为黑名单却未产生告警信息的协议数据),则可以判断存在被漏报的协议数据。由此,能够识别被漏报的协议数据。在一些示例中,针对漏报的协议数据可以通过告警引擎116配置相应的监控规则、情报信息或攻击来源以识别漏报的协议数据。在这种情况下,通过黑名单引擎117能够识别是否存在漏报的情况,进而调整告警引擎116。由此,能够降低漏报率。
61.在一些示例中,黑名单可以包括匹配字段和匹配值。匹配字段可以为协议数据中的字段。在一些示例中,匹配值可以为固定的字符串。具体地,若协议数据中的字段与黑名
单的匹配字段一致,且协议数据中的字段的值存在黑名单的匹配值,则可以对协议数据进行标记以获取黑名单标签。
62.在一些示例中,第一处理模块113a可以通过白名单引擎118对协议数据进行检测以获取白名单标签。在一些示例中,白名单引擎118可以基于白名单获取白名单标签。在一些示例中,白名单引擎118可以配置为管理白名单。在一些示例中,白名单引擎118可以配置为基于白名单对协议数据进行标记以获取白名单标签。在这种情况下,能够管理白名单并利用白名单对协议数据进行标记。由此,后续能够基于白名单识别是否存在误报的情况。
63.在一些示例中,若检测信息中存在告警信息和白名单标签(也即存在被标识为白名单却产生告警信息的协议数据),则可以判断存在被误报的协议数据。由此,能够识别被误报的协议数据。在一些示例中,针对误报的协议数据可以通过告警引擎116配置监控规则、情报信息或攻击来源以识别被误报的协议数据。在这种情况下,通过白名单引擎118能够识别是否存在误报的情况,进而调整告警引擎116。由此,能够降低误报率。
64.在一些示例中,白名单可以包括匹配字段和匹配值。匹配字段可以为协议数据中的字段。在一些示例中,匹配值可以为固定的字符串。具体地,若协议数据中的字段与白名单的匹配字段一致,且协议数据中的字段的值存在白名单的匹配值,则可以对协议数据进行标记以获取白名单标签
65.在一些示例中,第一处理模块113a还可以配置为将分析数据关联资产信息和地理信息。由此,能够直观地获得被攻击的资产以及攻击来源。
66.在一些示例中,第一处理模块113a可以配置为将分析数据关联资产信息。在一些示例中,资产信息可以包括资产名称、资产地址和资产负责人信息。在这种情况下,能够在资产被攻击时,及时联系到相应的资产负责人进行处理。由此,能够降低资产被损害的风险。在一些示例中,可以通过资产地址关联分析数据中的来源地址和/或目的地址(也即协议数据中的来源地址和/或目的地址)以使分析数据关联资产信息。在一些示例中,第一处理模块113a可以配置为将分析数据关联地理信息。在一些示例中,地理信息可以包括经纬度信息和地理名称。由此,能够直观地获得攻击来源。在一些示例中,可以通过分析数据中的来源地址和/或目的地址(也即协议数据中的来源地址和/或目的地址)获取地理信息以使分析数据关联地理信息。例如,可以通过来源地址中的互联网协议地址或域名获取地理信息。
67.在一些示例中,第一处理模块113a还可以配置为将分析数据关联资产信息和地理信息后进行存储。在一些示例中,第一处理模块113a还可以配置为将分析数据关联资产信息和地理信息后存储至第一存储模块114a(稍后描述)。
68.在一些示例中,处理模块113可以包括第二处理模块113b(参见图2)。第二处理模块113b可以配置为对协议数据依次进行序列化和压缩处理以获取压缩协议数据。在这种情况下,能够减少协议数据的大小,后续存储时能够降低存储空间。由此,能够降低存储成本。
69.在一些示例中,可以利用avro中间件对协议数据进行序列化。由此,能够获得二进制形式的协议数据。在一些示例中,可以利用snappy算法对序列化后的协议数据进行压缩。由此,能够提高压缩的效率。
70.在一些示例中,第二处理模块113b可以配置为从消息集群服务器112读取协议消息中的协议数据。也即,消息集群服务器112可以为第二处理模块113b提供协议消息中的协
议数据。在一些示例中,第二处理模块113b还可以配置为对压缩协议数据进行存储。在一些示例中,第二处理模块113b还可以配置为将压缩协议数据存储至第二存储模块114b中(稍后描述)。由此,能够降低存储成本。
71.如图2所示,在一些示例中,网络监控系统100可以包括存储模块114。存储模块114可以存储处理模块113获得的数据。在一些示例中,存储模块114可以存储第一处理模块113a获得的分析数据和/或关联信息。在一些示例中,存储模块114可以存储第二处理模块113b获得的压缩协议数据。
72.在一些示例中,存储模块114可以包括第一存储模块114a(参见图2)。第一存储模块114a可以配置为存储第一预设时间内的分析数据、以及关联信息。在一些示例中,第一预设时间可以小于等于半年。例如,第一预设时间可以为1个月、2个月、3个月、4个月、5个月或半年等。在一些示例中,第一存储模块114a可以配置为删除超过第一预设时间的分析数据。在这种情况下,存储较短时间范围内的分析数据、以及分析数据关联的资产信息和地理信息,在满足实时数据查询的情况下,能够降低存储成本。但本公开的示例不限于此,第一预设时间可以根据实际情况例如存储成本的预算进行设置。
73.在一些示例中,第一存储模块114a可以通过分布式方式部署。由此,能够支持海量数据的存储。在一些示例中,第一存储模块114a可以支持全文检索。由此,能够更有利于对分析数据进行实时查询。在一些示例中,第一存储模块114a可以基于elasticsearch对分析数据以及关联信息进行存储。在这种情况下,能够支持全文检索。由此,能够方便地对分析数据进行实时查询。
74.在一些示例中,存储模块114可以包括第二存储模块114b(参见图2)。第二存储模块114b可以配置为存储第二预设时间内的压缩协议数据。在一些示例中,第二预设时间可以大于等于1年。例如,第二预设时间可以为1年、2年、3年或5年等。在这种情况下,存储较长时间范围内的压缩协议数据,在尽量降低存储成本的情况下,能够支持对实时性要求不太高的历史的协议数据的查询。但本公开的示例不限于此,第二预设时间可以根据实际情况例如存储成本的预算进行设置。
75.在一些示例中,在第二存储模块114b中,压缩协议数据可以基于压缩协议数据的接收时间(也可以称为协议数据的接收时间)存储在相应的存储空间例如文件夹中,各个存储空间可以用于存储相应时间范围内的压缩协议数据。也即,压缩协议数据可以按接收时间存储到相应的存储空间。在这种情况下,后续能够根据查询时间定位到相应的存储空间,进而能够获得查询时间对应的时间范围内的压缩协议数据并进行流量回放。
76.在一些示例中,存储空间对应的时间范围可以按小时进行设置。例如,可以以预设小时例如一个小时、两个小时或三个小时为一个周期,将压缩协议数据存储至相应的周期对应的存储空间中。作为示例,例如若压缩协议数据的接收时间为2021
‑
06
‑
01 11:01:00,存储空间以一个小时为周期进行设置,则可以将该压缩协议数据存储至2021年06月01日11点对应的存储空间中。在这种情况下,能够根据查询时间定位到相应的存储空间,进而能够获取相应的压缩协议数据进行流量回放。
77.在一些示例中,第一预设时间可以小于第二预设时间。在这种情况下,根据使用协议数据的需求设置相应的存储时间,能够在满足实时查询的情况下,利用较少的存储空间存储较长时间的数据以支持历史的协议数据的查询。由此,能够降低存储成本。
78.在一些示例中,第二存储模块114b可以通过分布式方式部署。由此,能够支持海量数据的存储。在一些示例中,第二存储模块114b可以是分布式文件系统。在这种情况下,能够利用较低配置的硬件进行承载。由此,能够降低存储成本。在一些示例中,第二存储模块114b可以基于hadoop分布式文件系统(hadoop distributed file system,hdfs)对压缩协议数据进行存储。在这种情况下,能够支持海量压缩协议数据的存储。
79.如图2所示,在一些示例中,网络监控系统100可以包括显示模块115。显示模块115可以显示分析数据以及关联信息、和/或对压缩协议数据进行流量回放。
80.在一些示例中,显示模块115可以包括监控模块115a(参见图2)。监控模块115a可以配置为获取分析数据以及关联信息并进行输出。由此,能够基于较全面的信息进行网络监控以识别网络攻击行为。在一些示例中,监控模块115a可以配置为从存储模块114获取分析数据以及关联信息并进行输出。在一些示例中,监控模块115a可以配置为从第一存储模块114a获取分析数据以及关联信息并进行输出。在这种情况下,能够实时且快速地查询较短的时间范围内分析数据、以及分析数据关联的资产信息和地理信息。由此,能够快速地识别网络攻击行为。但本公开的示例不限于此,在另一些示例中,监控模块115a也可以配置为获取分析数据并进行输出。
81.如上所述,检测信息可以包括告警信息、黑名单标签和白名单标签中的至少一种。在一些示例中,监控模块115a还配置为突出被误报的协议数据和/或被漏报的协议数据。具体地,若分析数据中的检测信息中存在告警信息和白名单标签(也即存在被标识为白名单却产生告警信息的协议数据),则可以判断存在误报的协议数据并突出该检测信息对应的分析数据以识别被误报的协议数据。若分析数据中的检测信息中不存在告警信息且存在黑名单标签(也即存在被标识为黑名单却未产生告警信息的协议数据),则可以判断存在漏报的协议数据并突出该检测信息对应的分析数据以识别被漏报的协议数据。由此,能够基于白名单识别被误报的协议数据和基于黑名单识别被漏报的协议数据。在一些示例中,可以利用不同的颜色或不同的图标突出被误报的协议数据或被漏报的协议数据。
82.在一些示例中,显示模块115可以包括流量回放模块115b(参见图2)。流量回放模块115b可以配置为获取压缩协议数据并进行检测以获取分析数据和/或关联信息并输出。由此,能够对压缩协议数据进行流量回放。
83.在一些示例中,在流量回放模块115b中,可以对压缩协议数据进行解压和反序列化处理以获取协议数据,然后对协议数据进行检测以获取分析数据和/或关联信息。在一些示例中,可以利用snappy算法对压缩协议数据进行压缩以获取解压后的压缩协议数据。在一些示例中,可以利用avro中间件对解压后的压缩协议数据进行反序列化。
84.在一些示例中,在流量回放模块115b中,可以利用第一处理模块113a对协议数据进行检测以获取分析数据和/或关联信息。在一些示例中,压缩协议数据可以从第二存储模块114b获取。在这种情况下,能够在较低存储成本的情况下,支持历史的协议数据的查询。具体地,可以从第二存储模块114b获取预设时间范围内的压缩协议数据,对该压缩协议数据进行解压和反序列化处理以获取协议数据,利用第一处理模块113a对协议数据进行关联信息以获取分析数据、以及关联信息并进行输出。在一些示例中,预设时间范围可以包括起始时间和结束时间。由此,能够查询起始时间至结束时间内的压缩协议数据。
85.在一些示例中,网络监控系统100还可以包括动态加载机制119(参见图3)。动态加
载机制119可以配置为监测规则信息的变化,并重新加载规则信息。在一些示例中,规则信息可以包括监控规则、白名单、黑名单和攻击来源中的至少一种。由此,能够动态加载多种规则信息。
86.具体地,在动态加载机制119中,当规则信息发生改变时,可以创建包括改变信息的规则改变消息,将规则改变消息发送至消息集群服务器112,各个规则信息对应的监听程序监听所述消息集群服务器112以发现规则改变消息,进而可以从消息集群服务器112读取规则改变消息并基于规则改变消息重新加载规则信息,以利用重新加载的规则信息对协议数据进行检测以获取检测信息。在这种情况下,能够基于消息集群服务器112重新加载规则信息。由此,能够降低耦合性。
87.在一些示例中,各个规则信息对应的监听程序可以为规则引擎、黑名单引擎117、白名单引擎118和攻击来源引擎等各个引擎中设置的监听程序。例如,规则引擎中设置的监听程序可以从消息集群服务器112读取规则改变消息并基于规则改变消息重新加载监控规则例如第二监控规则,以利用重新加载的监控规则对协议数据进行检测以获取第一告警信息。其他引擎类似,此处不再赘述。
88.图4是示出了本公开示例所涉及的基于大数据的网络监控系统100的另一种示例的框图。如图4所示,在一些示例中,网络监控系统100可以包括资产管理模块120。资产管理模块120可以配置为管理资产信息。在一些示例中,管理资产信息可以包括新增资产信息、修改资产信息和删除资产信息。在一些示例中,资产可以是对组织机构具有价值的资源且作为安全策略保护的对象。例如,资产可以是组织机构内的信息系统或硬件设备。在一些示例中,根据资产的表现形式,可以将资产分为数据、软件、硬件、服务和人员等类型。
89.如图4所示,在一些示例中,网络监控系统100可以包括评分模块121。评分模块121可以配置为获取分析数据的告警信息中的评分并进行汇总以获取总评分。第一告警信息、第二告警信息、第三告警信息可以分别具有评分。在一些示例中,可以基于第一告警信息、第二告警信息和第三告警信息中的至少一种告警信息的评分进行汇总以获取总评分。
90.在一些示例中,在进行汇总中,可以获取评分最高的第一告警信息的评分作为第一评分,可以获取评分最高的第二告警信息的评分作为第二评分,可以将第三告警信息的评分作为第三评分。在一些示例中,可以基于第一评分、第二评分和第三评分获取总评分。在这种情况下,能够对分析数据对应的危急程度进行量化。由此,能够方便且快速地识别出危急程度高的网络攻击行为。在一些示例中,可以对第一评分、第二评分和第三评分进行加权求和以获取总评分。在一些示例中,可以对第一评分、第二评分和第三评分进行求和以获取总评分。
91.在一些示例中,评分模块121还配置为基于总评分获取分析数据对应的告警等级。由此,能够直观地获得分析数据对应的危急程度。在一些示例中,告警等级可以包括危急、高危、中危和低危。告警等级与总评分的对应关系可以参见第二监控规则中的规则告警等级与评分相互转换的相关描述。
92.以下,结合图5详细描述本公开的基于大数据的网络监控方法。网络监控方法应用于上述的网络监控系统100中。除非特别说明,网络监控系统100涉及的相关描述均适用于网络监控方法。图5是示出了本公开示例所涉及的基于大数据的网络监控方法的流程图。
93.在一些示例中,如图5所示,网络监控方法可以包括采集网络流量数据(步骤
s110)。在一些示例中,在步骤s110中,可以从网络设备中获取网络流量数据。在一些示例中,可以将网络流量数据拷贝至内核缓冲区。具体描述可以参见采集器110的相关描述。
94.在一些示例中,如图5所示,网络监控方法可以包括解析网络流量数据以获取协议数据(步骤s120)。在一些示例中,在步骤s120中,可以基于共享内存方式从内核缓冲区读取网络流量数据并对网络流量数据进行解析以获得协议数据。具体描述可以参见解析器111的相关描述。
95.在一些示例中,如图5所示,网络监控方法可以包括将包括协议数据的协议消息发送至基于消息队列的消息集群服务器112进行管理(步骤s130)。在一些示例中,消息集群服务器112可以通过分布式方式部署。在一些示例中,可以创建包括协议数据的协议消息并将协议消息发送至消息集群服务器112进行管理。具体描述可以参见解析器111和消息集群服务器112的相关描述。
96.在一些示例中,如图5所示,网络监控方法可以包括对协议数据进行检测以获取分析数据、以及分析数据关联的资产信息和地理信息(步骤s141)。在一些示例中,在步骤s141中,可以从消息集群服务器112读取协议消息中的协议数据。在一些示例中,可以通过告警引擎116、黑名单引擎117和白名单引擎118对协议数据进行检测以获取分析数据。在一些示例中,分析数据可以包括协议数据和检测信息。在一些示例中,若存在检测信息,检测信息可以包括告警信息、黑名单标签和白名单标签中的至少一种。在一些示例中,分析数据可以与资产信息和地理信息进行关联以获得分析数据关联的资产信息和地理信息。具体描述可以参见告警引擎116、黑名单引擎117、白名单引擎118以及第一处理模块113a的相关描述。
97.在一些示例中,如图5所示,网络监控方法可以包括将分析数据、以及分析数据关联的资产信息和地理信息存储至第一存储模块114a(步骤s142)。在一些示例中,第一存储模块114a可以用于存储第一预设时间内的分析数据、以及分析数据关联的资产信息和地理信息。具体描述可以参见第一存储模块114a的相关描述。
98.在一些示例中,如图5所示,网络监控方法可以包括从第一存储模块114a读取分析数据、以及分析数据关联的资产信息和地理信息并输出(步骤s143)。具体描述可以参见监控模块115a的相关描述。
99.在一些示例中,如图5所示,网络监控方法可以包括对协议数据依次进行序列化和压缩处理以获取压缩协议数据(步骤s151)。在一些示例中,在步骤s151中,可以从消息集群服务器112读取协议消息中的协议数据。具体描述可以参见第二处理模块113b的相关描述。
100.在一些示例中,如图5所示,网络监控方法可以包括将压缩协议数据存储至第二存储模块114b(步骤s152)。在一些示例中,第二存储模块114b用可以于存储第二预设时间内的压缩协议数据。在一些示例中,压缩协议数据可以基于压缩协议数据的接收时间存储在相应的存储空间中。在一些示例中,各个存储空间用可以于存储对应时间范围内的压缩协议数据。在一些示例中,第一预设时间可以小于第二预设时间。具体描述可以参见第二存储模块114b的相关描述。
101.在一些示例中,如图5所示,网络监控方法可以包括从第二存储模块114b读取压缩协议数据并进行检测以获取分析数据并将分析数据关联资产信息和地理信息后输出(步骤s153)。在一些示例中,可以从第二存储模块114b中获取预设时间范围内的压缩协议数据。在一些示例中,可以对该压缩协议数据进行解压和反序列化处理以获取协议数据并对协议
数据进行检测。具体描述可以参见流量回放模块115b的相关描述。
102.本公开的网络监控系统100及网络监控方法基于共享内存方式从网络设备获取网络流量数据并进行解析以获得协议数据,通过分布式部署的基于消息队列的消息集群服务器112对包括协议数据的协议消息进行管理,对于消息集群服务器112中的协议数据,一方面对协议数据进行检测以获得能够支持实时查询的分析数据以及分析数据关联的资产信息和地理信息并进行存储,另一方面对协议数据进行序列化和压缩以获得能够支持历史查询的压缩协议数据并进行存储。在这种情况下,能够满足实时查询和历史查询的需求,且存储成本较低,另外,基于消息集群服务器112对协议数据进行管理,能够降低耦合性并支持分布式部署,进而提高大数据的处理能力,降低丢包率,另外,基于告警信息、黑名单标签和白名单标签能够识别被误报或漏报的协议数据,能够降低漏报率。
103.虽然以上结合附图和实施方式对本发明进行了具体说明,但是可以理解,上述说明不以任何形式限制本发明。本领域技术人员在不偏离本发明的实质精神和范围的情况下可以根据需要对本发明进行变形和变化,这些变形和变化均落入本发明的范围内。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。