CN111385293A - 一种网络风险检测方法和装置 - Google Patents
一种网络风险检测方法和装置 Download PDFInfo
- Publication number
- CN111385293A CN111385293A CN202010141868.9A CN202010141868A CN111385293A CN 111385293 A CN111385293 A CN 111385293A CN 202010141868 A CN202010141868 A CN 202010141868A CN 111385293 A CN111385293 A CN 111385293A
- Authority
- CN
- China
- Prior art keywords
- network
- address
- risk
- network request
- data 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
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种网络风险检测方法和装置;本发明实施例在接收客户端发送的网络请求后,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并采用云服务器将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;该方案可以提高客户端的网络风险检测的准确率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种网络风险检测方法和装置。
背景技术
近年来,随着互联网技术的飞速发展,互联网上的信息也越来越多。为了获取网络信息,就需要找到网络信息对应的网络地址。网络信息中也存在一些有害信息,比如,钓鱼网站、带有病毒或漏洞的下载资源或色情网站等。当用户通过客户端或者终端获取到这些有害信息时,就会产生网络风险,导致用户的信息或财产受到损失。为了避免网络风险,需要去检测用户获取的网络地址(URL链接或网页域名)是否存在网络风险。现有技术主要是通过应用程序内显示网页页面的控件(WebView控件)来获取网页页面的网络地址,并对获取到的网络地址进行检测。
在对现有技术的研究和实践过程中,本发明的发明人发现通过WebView控件来获取网络地址,只能获取到应用程序内通过WebView控件加载的网络地址,获取的方式相对单一,且范围较小,因此,会导致网络风险检测的准确率不足。
发明内容
本发明实施例提供一种网络风险检测方法和装置。可以提高网络风险检测的准确性。
一种网络风险检测方法,包括:
接收客户端发送的网络请求,所述网络请求携带网络请求数据包;
在所述网络请求数据包中筛选出端口数据,所述端口数据包括目的端口信息;
根据所述网络请求数据包,确定所述网络地址的地址类型;
根据所述目的端口信息,从所述网络请求数据包中提取出与所述地址类型对应的网络地址,并将所述网络地址与预设风险数据库中的风险网络地址进行匹配;
当所述网络地址与风险网络地址匹配成功时,确定所述网络请求存在网络风险。
相应的,本发明实施例提供一种网络风险检测装置,包括:
接收单元,用于接收客户端发送的网络请求,所述网络请求携带网络请求数据包;
筛选单元,用于在所述网络请求数据包中筛选出端口数据,所述端口数据包括目的端口信息;
确定单元,用于根据所述网络请求数据包,确定所述网络地址的地址类型;
提取单元,用于根据所述目的端口信息,从所述网络请求数据包中提取出与所述地址类型对应的网络地址,并将所述网络地址与预设风险数据库中的风险网络地址进行匹配;
检测单元,用于当所述网络地址与风险网络地址匹配成功时,确定所述网络请求存在网络风险。
可选的,在一些实施例中,所述提取单元具体可以用于根据所述目的端口信息,在所述网络请求数据包中识别出地址存储区域;在所述地址存储区域提取出与所述地址类型对应的网络地址。
可选的,在一些实施例中,所述确定单元具体可以用于根据所述端口数据,确定所述客户端的目标身份标识;在预设白名单集合中查询所述目标身份标识,所述预设白名单集合至少包括一个安全客户端的身份标识,所述安全客户端为无网络风险的客户端;当所述预设白名单集合中存在所述目标身份标识时,确定所述网络请求不存在网络风险;当所述预设白名单集合中不存在所述目标身份标识时,根据所述网络请求数据包,确定所述网络地址的地址类型。
可选的,在一些实施例中,所述确定单元,具体可以用于识别所述网络请求数据包的类型;当所述网络请求数据包为无连接型数据包,确定所述网络地址的地址类型为域名地址;当所述网络请求数据包为连接型数据包时,根据所述网络请求数据包中的数据传输协议类型,确定所述网络地址的地址类型。
可选的,在一些实施例中,所述确定单元,具体可以用于在所述网络请求数据包中筛选出数据传输协议信息;根据所述数据传输协议信息,识别所述网络请求数据包中的数据传输协议类型;当所述数据传输协议的类型为普通传输协议时,确定所述网络地址的地址类型为定位地址;当所述数据传输协议的类型为加密传输协议时,确定所述网络地址的地址类型为域名地址。
可选的,在一些实施例中,所述提取单元,具体可以用于当所述网络请求数据包为无连接型数据包时,根据所述目的端口信息,在所述网络请求数据包中识别出应答信息,在所述应答信息筛选出第一预设关键字段对应的区域,将所述第一预设关键词对应的区域作为第一地址存储区域;当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为定位地址时,在所述网络请求数据包筛选出第二预设关键字段对应的至少两个子区域,将所述子区域作为第二地址存储区域;当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为域名地址时,在所述网络请求数据包中筛选出第三预设关键字段对应的区域,将所述第三预设关键字段对应的区域作为第三地址存储区域。
可选的,在一些实施例中,所述提取单元,具体可以用于当所述网络请求数据包为无连接型数据包时,在所述第一地址存储区域中提取所述域名地址对应的网络地址;当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为定位地址时,在所述第二地址存储区域中提取出至少两个定位地址对应的子网络地址,将所述子网络地址进行组合,得到所述网络地址;当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为域名地址时,在所述第三地址存储区域中提取所述域名地址对应的网络地址。
可选的,在一些实施例中,所述提取单元,具体可以用于当所述网络地址的类型为域名地址时,将所述网络地址与预设风险数据库中的风险网络地址进行匹配;当所述网络地址类型为定位地址时,将所述网络地址进行分割,得到域名子地址和路径子地址,将所述网络地址和域名子地址分别与预设风险数据库中的风险网络地址进行匹配。
可选的,在一些实施例中,所述筛选单元,具体可以用于在本地数据库中查询所述源端口信息与身份标识的映射关系;当所述本地数据库中存在所述映射关系时,根据所述源端口数据和映射关系,确定所述客户端的身份标识;当所述本地数据库中未存在所述映射关系时,在所述本地数据库中查询到所述网络连接文件,并对所述网络连接文件进行解析,得到所述源端口信息与身份标识的当前映射关系,根据所述当前映射关系,确定所述客户端的身份标识。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的网络风险检测方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种网络风险检测方法中的步骤。
本申请实施例在接收客户端发送的网络请求,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;由于该方案可以直接获取客户端发送的网络请求,对网络请求中携带的网络请求数据包进行解析,得到网络请求中对应的网络地址,可以覆盖到终端或服务器内所有客户端的网络请求,还可以获得多种地址类型的网络地址,因此,可以提高终端或服务器内客户端的网络风险检测的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的网络风险检测方法的场景示意图;
图2是本发明实施例提供的网络风险检测方法的流程示意图;
图3是本发明实施例提供的提取网络地址并于风险网络地址匹配的示意图
图4是本发明实施例提供的在第一地址存储去取提取网络地址的示意图;
图5是本发明实施例提供的在第二地址存储区域提取网络地址的示意图;
图6是本发明实施例提供的在第三地址存储区域提取网络地址的示意图;
图7是本发明实施例提供的服务器中预设风险数据库进行风险监测的示意图;
图8是本发明实施例提供的网络风险检测方法的另一种流程示意图;
图9是本发明实施例提供的网络风险检测装置的结构示意图;
图10是本发明实施例提供的网络风险检测装置的确定单元的结构示意图;
图11是本发明实施例提供的网络风险检测装置的提取单元的结构示意图;
图12是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种网络风险检测方法、装置和计算机可读存储介质。其中,该网络风险检测装置可以集成在电子设备中,该网络设备可以是服务器,也可以是终端等设备。
例如,参见图1,以网络风险检测装置集成在电子设备中为例,电子设备接收客户端发送的网络请求,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,然后,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险,当网络地址与风险网络地址匹配失败时,确定网络请求不存在网络风险,可以允许客户端根据该网络请求,获取网络地址对应的网络资源。
其中,该将网络地址与预设风险数据库的风险网络地址匹配可以基于云平台进行匹配或检测,得到匹配结果或检测结果,而云平台也称云计算平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从网络风险检测装置的角度进行描述,该网络风险检测装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算(PC,Personal Computer)等设备。
一种网络风险检测方法,包括:
接收客户端发送的网络请求,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险。
如图2所示,该网络风险检测方法的具体流程如下:
101、接收客户端发送的网络请求。
其中,网络请求携带网络请求数据包。该网络请求数据包可以是连接网络需要数据组成的数据包,比如,可以理解为是传输控制协议(Transmission Control Protocol,TCP)/网络互连协议(Internet Protocol,IP)定义了一个在因特网上传输的包。它是由首部和数据两部分组成。在数据部分,可能是对用户数据报协议(User Datagram Protocol,UDP)数据包或传输控制协议(Transmission Control Protocol,TCP)的封装。因此,网络请求数据包的类型可以有多种。TCP数据包和UDP数据分别对应不用类型的网络请求数据包。
例如,可以直接接收拦截组件发送的拦截到的网络请求,在拦截到的网络请求中获取网络请求携带的网络请求数据包。比如,客户端向互联网服务器发送网络请求,在互联网服务器接收到网络请求并向客户端发送对应的网络资源之前,将该网络请求通过拦截组件拦截下来,譬如,系统组件VpnService(一种拦截网络请求的组件)将所有客户端发送的网络请求进行拦截,并将拦截到的网络请求发送至网络风险检测装置,网络风险检测装置通过接收拦截组件发送的网络请求,在网络请求中获取到携带的网络请求数据包。针对多个客户端发送网络请求时,VpnService组件是可以拦截全部的网络请求时,因此,不会导致存在有部分网络请求被漏检。
可选的,针对破解了最高控制权限的终端中,即在root(超级管理员)环境下还可以采用React Native(一种获取网络状态的函数)函数来获取客户端代码调用系统应用程序接口连接(API Connect)发起的网络请求,在获取到的网络请求中提取出网络请求数据包。
102、在网络请求数据包中筛选出端口数据。
其中,端口数据可以为网络请求数据包中用于判断数据发送方向的数据。端口数据可以包括源端口信息和目的端口信息。源端口信息可以为本机程序用来发送数据的端口,可以理解为描述这个请求数据包中的数据来自于哪一个客户端的端口信息。而目的端口就是对方主机用来接收数据的端口,可以理解为描述这个请求数据包中的数据要发送到哪一个接收服务器或装置的端口。
其中,目标身份标识可以客户端的身份证明文件(User Identification,UID)。
例如,可以直接在网络请求数据包中获取到端口数据,比如,根据网络请求数据包中的数据类型,在网络请求数据包的数据存储区域筛选存储有源端口信息和目的端口信息的数据,将这些数据作为的端口数据。
103、根据网络请求数据包,确定网络地址的地址类型。
例如,根据端口数据,确定客户端的目标身份标识,在预设白名单集合中查询目标身份标识,当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险,当预设白名单集合中不存在目标身份标识时,根据端口数据,确定网络地址的地址类型。具体可以如下:
S1、根据端口数据,确定客户端的目标身份标识。
例如,根据端口数据中的源端口信息,在本地数据库中查询源端口信息与客户端的身份标识的映射关系,当本地数据库中存在源端口与客户端的身份标识的映射关系时,根据查询到映射关系时和源端口信息就可以确定发送网络请求的客户端的目标身份标识,比如,映射关系中源端口信息1对应的是客户端的身份标识A,源端口信息2对应的客户端的身份标识B,当在网络请求数据包中筛选的源端口信息为源端口信息1,根据这个映射关系,可以确定发送网络请求的客户端的目标身份标识为身份标识B。当本地数据库中未存在源端口信息与身份标识的映射关系时,在本地数据库中查询到网络连接文件,并对该网络连接文件解析,比如,在网络请求数据中对/proc/net/tcp和/proc/net/udp文件进行解析,即可得到全部的源端口信息与客户端身份标识的当前映射关系。根据当前映射关系,从而确定客户端的目标身份标识。
S2、在预设白名单集合中查询目标身份标识。
其中,预设白名单集合包括至少一个安全客户端的身份标识。所谓安全客户端可以为经过对客户端进行安全评估和检测后认定不存在安全风险的客户端。
例如,在预设白名单集合中查询目标身份标识,比如,将目标身份标识作为查询条件,在预设白名单集合中查询是否存在该目标标识,如果存在,就说明该目标身份标识的客户端为安全客户端,如果不存在,就说明该目标身份标识对应的客户端不为安全客户端。
S3、当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险。
例如,当预设白名单集合中存在目标身份标识时,意味着该目标身份标识对应的客户端为预设的安全客户端之一,因此,可以判定安全客户端发送的网络请求不存在网络风险。就可以将该放行该网络请求,使得客户端可以获取网络请求中网络地址对应的网络资源。
S4、当预设白名单集合中不存在目标身份标识时,根据网络请求数据包,确定网络地址的地址类型。
例如,当预设白名单集合中不存在目标身份标识时,意味着该目标身份标识对应的客户端不是预设的安全客户端之一。此时,无法直接判断该网络请求是否存在网络风险,因此,需要根据网络请求数据包中的数据,确定网络地址的地址类型,再做进一步的检验。
可选的,进一步检验的过程可以先根据端口数据确定网络地址的地址类型。首先识别网络请求数据包的类型,网络请求数据包的类型主要通过该网络请求数据包中的包含的数据的类型来进行分类,比如,当网络请求数据包中包含的UDP数据包时,可以认定该网络请求数据包为无连接型数据包。当网络请求数据包中包含TCP数据包时,可以认定该网络请求数据包为连接型数据包。无连接型数据包在数据传输中无需连接,即可传输,连接型数据包在数据传输过程中需要与传输对象连接才能传输。当网络请求包为无连接型数据包时,可以确定网络地址的地址类型为域名地址。当网络请求包为连接型数据包时,还需要根据网络请求数据包中的通信协议类型来确定网络地址的地址类型。比如,需要在网络请求数据包中筛选出数据传输协议信息,根据数据传输协议信息,来识别网络请求数据包中的数据传输协议类型,数据传输协议类型可以分为两种,普通传输协议和加密传输协议,其中,普通传输协议可以为超文本传输协议(Hyper Text Transfer Protocol,HTTP),加密传输协议可以为超文本传输安全协议(Hyper Text Transfer Protocol over SecureSocketLayer,HTTPS)。当数据传输协议为普通传输协议时,可以确定网络地址的地址类型为定位地址,比如,定位地址可以为统一资源定位标志(Uniform Resource Locator,URL),表示信息资源在互联网上统一且唯一的网络地址,包括域名地址和全路径地址。譬如http://config.xxxx.net/rcmdxxx/1/7/cfginfog.dat,由域名地址config.xxxx.net和全路径地址rcmdxxx/1/7/cfginfog.dat组成。当数据传输协议为加密传输协议时,可以确定网络地址的地址类型为域名地址,比如,skeyxxx.browser.xx.com。域名地址与定位地址最大的区别在于域名地址没有全路径信息,域名地址为定位地址的子网络地址。
104、根据目的端口信息,从网络请求数据包中提取出于地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配。
例如,可以根据目的端口信息,在网络请求数据包中识别出地址存储区域,在该地址存储区域提取出于地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,如图3所示,具体可以如下:
C1、根据目的端口信息,在网络请求数据包中识别出地址存储区域。
例如,可以根据网络请求数据包的类型和地址类型,在网络请求数据包中识别出地址存储区域,具体可以如下:
(1)当网络请求数据包为无连接型数据包时,根据目的端口信息,在网络请求数据包中识别出应答信息,在应答信息中筛选出第一预设关键字段对应的区域,将第一预设关键字段对应的区域作为第一地址存储区域。
例如,当网络请求数据包为无连接型数据包时,比如,为UDP数据包时,根据目的端口信息,对网络请求数据包进行DNS解析,识别出报文的应答信息,在应答信息中筛选出Queries字段对应的区域,将Queries字段对应的区域作为第一地址存储区域。
(2)当网络请求数据包为连接型数据包,且网络地址的地址类型为定位地址时,在网络请求数据包筛选出第二预设关键字段对应的至少两个子区域,将子区域作为第二地址存储区域。
例如,当网络请求数据包为连接型数据包,比如,可以为TCP数据包,网络地址的地址类型为定位地址时,在网络请求数据包中筛选出全路径地址存储区域和域名地址存储对应的第二预设关键字段,第二预设关键字段可以为GET和Host字段,因此,筛选出GET字段和Host字段分别对应的子区域,将两个子区域作为第二地址存储区域。
(3)当网络请求数据包为连接型数据包,且网络地址的地址类型为域名地址时,在网络请求数据包中筛选出第三预设关键字段对应的区域,将第三预设关键字段对应的区域作为第三地址存储区域。
例如,当网络请求数据包为连接型数据包,比如,可以为TCP数据包,网络地址的地址类型与域名地址时,在网络请求数据包中筛选出第三预设关键字段对应的区域,比如,第三预设关键字段可以ServerName字段,将ServerName字段对应的区域作为第三地址存储区域。
C2、在地址存储区域提取出与地址类型对应的网络地址。
例如,根据网络请求数据包和地址类型的不同,在不同的地址存储区域提取出与地址类型对应的网络地址,具体可以如下:
(1)当网络请求数据包为无连接型数据包时,在第一地址存储区域中提取域名地址对应的网络地址。
例如,当网络请求数据包为无连接型数据包时,比如,可以为UDP数据包时,当目的端口信息为53,如图4所示,在第一存储区域提取域名地址对应的网络地址为skeyxxx.browser.xx.com。
(2)当网络请求数据包为连接型数据包,且网络地址的地址类型为定位地址时,在第二地址存储区域中提取出至少两个定位地址对应的子网络地址,将子网络地址进行组合,得到网络地址。
例如,当网络请求数据包为连接型数据包,比如,可以为TCP数据包时,且网络地址的地址类型与定位地址时,如图5所示,在第二地址存储区域中提取出GET字段对应的全路径网络地址rcmdxxx/1/7/cfginfog.dat和Host字段对应的域名网络地址config.xxxx.net,按照域名地址在前,全路径网络地址再后的排列顺序,将域名网络地址和全路径网络地址进行组合,再添加上前缀http://,就可以得到定位地址http://config.xxxx.net/rcmdxxxx/1/7/cfginfog.dat。
(3)当网络请求数据包为连接型数据包,且网络地址的地址类型为域名地址时,在第三地址存储区域中提取域名地址对应的网络地址。
例如,当网络请求数据包为连接型数据包,比如,可以为TCP数据包,且网络地址的地址类型为域名地址时,在第三地址存储区域中提出去域名地址对应的网络地址,比如,如图6所示,在ServerName关键字段对应的第三地址存储区域中识别出域名地址对应的网络地址可以为skeyxxx.browser.xx.com。
C3、将网络地址与预设风险库中的风险网络地址进行匹配。
例如,可以根据网络地址的类型不同,将网络地址与预设风险库中的风险网络地址进行匹配,具体可以如下:
(1)当网络地址的类型为域名地址时,将网络地址与预设风险数据库中的风险网络地址进行匹配。
例如,当网络地址的类型为域名地址时,直接将网络地址与预设风险数据库中的风险网络地址进行匹配,比如,当网络地址为skeyxxx.browser.xx.com,直接将skeyxxx.browser.xx.com与预设风险数据库中的风险网络地址进行匹配。
(2)当网络地址类型为定位地址时,将网络地址进行分割,得到域名子地址和路径子地址,将网络地址和域名子地址分别与预设风险数据库中的风险网络地址进行匹配。
例如,当网络地址类型为定位地址时,将网络地址进行分割,比如,定位地址为http://config.xxxx.net/rcmdxxxx/1/7/cfginfog.dat,将定位地址分割域名子地址config.xxxx.net和路径子地址rcmdxxxx/1/7/cfginfog.dat,再将整个定位地址和域名子地址分别于预设风险数据库中的风险网络地址进行匹配。
将网络地址与预设风险数据库中的风险网络地址进行匹配时,该预设风险数据库可以设定在服务器或者终端上。
可选的,当设定在服务器上时,具体检测或匹配过程可以如图7所示,需要风险网络检测装置将网络地址上传至服务器,由服务器上的预设风险数据库对上传的网络地址进行风险检测,风险检测的过程也是一个与风险网络地址匹配的过程。其中,预设风险数据库中可以包括多个子数据库,比如应用程序包(Android application package,APK)链接风险库、虚假钓鱼网站风险库、色情网站链接库和合作方风险库,其中,合作方风险库可以为合作方采集到的风险网络地址上传至合作方风险库中。针对预设风险数据库中还可以引入第三方的数据服务,比如,定期对预设风险数据库中的风险网络地址进行大数据识别,确保收录到预设风险数据库的风险网络地址的准确,还可以定期或不定期对预设风险数据库中的风险网络地址进行更新,合作第三方的数据库也可以由合作方定期或不定期进行更新。
可选的,还可以将预设风险数据库采用区块链进行存储,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
可选的,当设定在终端上时,预设风险数据库相当于本地数据库中,这样就可以直接在预设风险数据库中进行网络地址的匹配,还可以提高检测的速度。还可以定期或不定期对终端上的预设风险数据库的风险网络地址进行更新。
105、当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险。
例如,当网络地址与风险网络地址匹配成功时,比如,网络请求中的网络地址skeyxxx.browser.xx.com与虚假钓鱼网站链接匹配成功时,说明该网络地址可以为虚假钓鱼网站链接,因此,该网络地址存在风险,驳回客户端的网络请求。当网络地址与风险网络地址匹配不成功时,说明该网络地址为安全网络地址,不存在风险,放行客户端发送的网络请求,使得客户端在网络服务器中获取所述网络地址对应的网络资源。
由以上可知,本申请实施例在接收客户端发送的网络请求后,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;由于该方案可以直接获取客户端发送的网络请求,对网络请求中携带的网络请求数据包进行解析,得到网络请求中对应的网络地址,可以覆盖到终端或服务器内所有客户端的网络请求,还可以获得多种地址类型的网络地址,因此,可以提高终端或服务器内客户端的网络风险检测的准确率。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该风险网络检测装置具体集成在电子设备,电子设备为终端,无连接型数据包为UDP数据包,连接型数据包为TCP数据包,普通传输协议为HTTP,加密传输协议为HTTPS为例进行说明。
如图8所示,一种网络风险检测方法,具体流程如下:
201、终端接收客户端发送的网络请求。
例如,客户端向互联网服务器发送网络请求,在互联网服务器接收到网络请求并向客户端发送对应的网络资源之前,终端接收系统组件VpnService拦截的该网络请求,并在网络请求中获取到网络请求携带的网络请求数据包。
可选的,在root环境下,终端还可以通过React Native函数来获取客户端代码调用系统应用程序接口连接(API Connect)发起的网络请求,在获取到的网络请求中提取出网络请求数据包。
202、终端在网络请求数据包中筛选出端口数据。
例如,终端根据网络请求数据包中数据的类型在网络请求数据包的数据存储区域中筛选存储的源端口信息和目的端口信息的数据,将这些数据作为端口数据。203、终端根据端口数据,确定客户端的目标身份标识,并在预设白名单集合中查询目标身份标识。
例如,终端根据端口数据,在本地数据库中查询源端口信息与客户端的身份标识的映射关系,根据查询到映射关系时和源端口信息就可以确定发送网络请求的客户端的目标身份标识,比如,映射关系中源端口信息1对应的是客户端的身份标识A,源端口信息2对应的客户端的身份标识B,当在网络请求数据包中筛选的源端口信息为源端口信息1,根据这个映射关系,可以确定发送网络请求的客户端的目标身份标识为身份标识B。当本地数据库中未存在源端口信息与身份标识的映射关系时,在网络请求数据中对/proc/net/tcp和/proc/net/udp文件进行解析,即可得到全部的源端口信息与客户端身份标识的当前映射关系。根据当前映射关系,从而确定客户端的目标身份标识。将目标身份标识作为查询条件,在预设白名单集合中查询是否存在该目标标识,如果存在,就说明该目标身份标识的客户端为安全客户端,如果不存在,就说明该目标身份标识对应的客户端不为安全客户端。
204、当预设白名单集合中存在目标身份标识时,终端确定网络请求不存在网络风险。
例如,当预设白名单集合中存在目标身份标识时,终端确认该目标身份标识对应的客户端为预设的安全客户端之一,因此,可以判定安全客户端发送的网络请求不存在网络风险。终端就可以将该放行该网络请求,使得客户端可以获取网络请求中网络地址对应的网络资源。
205、当预设白名单集合中不存在目标身份标识时,终端根据网络请求数据包,确定网络地址的地址类型。
例如,当预设白名单集合中不存在目标身份标识时,终端确认该目标身份标识对应的客户端不是预设的安全客户端之一。此时,无法直接判断该网络请求是否存在网络风险,因此,需要根据网络请求数据包中的数据,确定网络地址的地址类型,再做进一步的检验。
可选的,终端需要根据网络请求数据包中的数据,确定网络请求中的网络地址的地址类型。具体的过程如下:
(1)终端识别网络请求数据包的类型。
例如,终端可以根据网络请求数据包中包含的数据的类型进行分类,根据分类结果来识别网络请求数据包的类型。当网络请求数据包中包含UDP数据时,可以识别该网络请求数据包的类型为UDP数据包。当网络请求数据包中包含TCP数据时,可以识别该网络请求数据包的类型为TCP数据包。
(2)当网络请求数据包为UDP数据包时,终端根据端口数据,确定网络地址的地址类型为域名地址。
例如,当网络请求数据包为UDP数据包时,终端可以直接确定网络地址的地址类型为域名地址,比如,这种域名可以为config.idduba.net。
(3)当网络请求数据包为TCP数据包时,终端根据网络请求数据包中的数据传输协议类型,确定网络地址的地址类型。
例如,当网络请求数据包为TCP数据包时,终端识别TCP数据包中的数据传输协议类型,比如,可以在网络数据包中筛选出数据传输协议信息,根据数据传输协议信息,来识别TCP数据包中的数据传输协议类型,当数据传输协议信息为HTTP协议信息时,可以确定TCP数据包的数据传输协议为HTTP协议,当数据传输协议信息为HTTPS协议信息时,可以确定TCP数据包的数据传输协议为HTTPS协议,当TCP数据包中的数据传输协议为HTTP协议时,终端可以确定网络地址的地址类型为定位地址,定位地址可以由域名地址和全路径地址构成,比如,http://config.xxxx.net/rcmdxxx/1/7/cfginfog.dat。当数据传输协议为HTTPS协议时,终端可以确定网络地址的地址类型为域名地址,比如,skeyxxx.browser.xx.com。
206、终端根据目的端口信息,在网络请求数据包中识别出地址存储区域。
例如,终端可以根据网络请求数据包的类型和地址类型,在网络请求数据包中识别出地址存储区域,具体可以如下:
(1)当网络请求数据包为UDP数据包时,终端根据目的端口信息,在网络请求数据包中识别出应答信息,在应答信息中筛选出第一预设关键字段对应的区域,将第一预设关键字段对应的区域作为第一地址存储区域。
例如,当网络请求数据包为UDP数据包时,终端根据目的端口信息,在网络请求数据包中识别出报文的应答信息,在应答信息中筛选出Queries字段对应的区域,将Queries字段对应的区域作为第一地址存储区域。
(2)当网络请求数据包为TCP数据包,且网络地址的地址类型为定位地址时,终端在网络请求数据包筛选出第二预设关键字段对应的至少两个子区域,将子区域作为第二地址存储区域。
例如,当网络请求数据包为TCP数据包,网络地址的地址类型为定位地址时,在网络请求数据包中筛选出全路径地址存储区域和域名地址存储对应的第二预设关键字段,第二预设关键字段可以为GET和Host字段,因此,筛选出GET字段和Host字段分别对应的子区域,将两个子区域作为第二地址存储区域。
(3)当网络请求数据包为TCP数据包,且网络地址的地址类型为域名地址时,在网络请求数据包中筛选出第三预设关键字段对应的区域,将第三预设关键字段对应的区域作为第三地址存储区域。
例如,当网络请求数据包为TCP数据包,网络地址的地址类型与域名地址时,在网络请求数据包中筛选出ServerName字段对应的区域,将ServerName字段对应的区域作为第三地址存储区域。
207、终端在地址存储区域提取出与地址类型对应的网络地址。
例如,终端根据网络请求数据包和地址类型的不同,在不同的地址存储区域提取出与地址类型对应的网络地址,具体可以如下:
(1)当网络请求数据包为UDP数据包时,在第一地址存储区域中提取域名地址对应的网络地址。
例如,当网络请求数据包为UDP数据包时,当目的端口信息为53,如图3所示,在第一存储区域提取域名地址对应的网络地址为skeyxxx.browser.xx.com。
(2)当网络请求数据包为TCP数据包,且网络地址的地址类型为定位地址时,在第二地址存储区域中提取出至少两个定位地址对应的子网络地址,将子网络地址进行组合,得到网络地址。
例如,当网络请求数据包为TCP数据包,且网络地址的地址类型与定位地址时,如图4所示,在第二地址存储区域中提取出GET字段对应的全路径网络地址config.xxxx.net和Host字段对应的域名网络地址rcmdxxx/1/7/cfginfog.dat,按照域名地址在前,全路径网络地址再后的排列顺序,将域名网络地址和全路径网络地址进行组合,再添加上前缀http://,就可以得到定位地址http://config.xxxx.net/rcmdxxxx/1/7/cfginfog.dat。
(3)当网络请求数据包为TCP数据包,且网络地址的地址类型为域名地址时,在第三地址存储区域中提取域名地址对应的网络地址。
例如,当网络请求数据包为TCP数据包,且网络地址的地址类型为域名地址时,如图5所示,在ServerName关键字段对应的第三地址存储区域中识别出域名地址对应的网络地址可以为skeyxxx.browser.xx.com。
208、终端将网络地址与预设风险库中的风险网络地址进行匹配。
例如,终端可以根据网络地址的类型不同,将网络地址与预设风险库中的风险网络地址进行匹配,具体可以如下:
(1)当网络地址的类型为域名地址时,将网络地址与预设风险数据库中的风险网络地址进行匹配。
例如,当网络地址为skeyxxx.browser.xx.com,直接将skeyxxx.browser.xx.com与预设风险数据库中的风险网络地址进行匹配。
(2)当网络地址类型为定位地址时,将网络地址进行分割,得到域名子地址和路径子地址,将网络地址和域名子地址分别与预设风险数据库中的风险网络地址进行匹配。
例如,当定位地址为http://config.xxxx.net/rcmdxxxx/1/7/cfginfog.dat时,将定位地址分割域名子地址config.xxxx.net和路径子地址rcmdxxxx/1/7/cfginfog.dat,再将http://config.xxxx.net/rcmdxxxx/1/7/cfginfog.dat和config.xxxx.net分别于预设风险数据库中的风险网络地址进行匹配。
可选的,终端将网络地址与预设风险数据库中的风险网络地址进行匹配时,该预设风险数据库可以设定在服务器或者终端上。
可选的,当设定在服务器上时,具体检测或匹配过程可以如图6所示,需要终端将网络地址上传至服务器,由服务器上的预设风险数据库对上传的网络地址进行风险检测,风险检测的过程也是一个与风险网络地址匹配的过程。其中,预设风险数据库中可以包括多个子数据库,比如APK链接风险库、虚假钓鱼网站风险库、色情网站链接库和合作方风险库,针对预设风险数据库中还可以引入第三方的数据服务,比如,定期对预设风险数据库中的风险网络地址进行大数据识别,确保收录到预设风险数据库的风险网络地址的准确,还可以定期或不定期对预设风险数据库中的风险网络地址进行更新,合作第三方的数据库也可以由合作方定期或不定期进行更新。
可选的,还可以将预设风险数据库采用区块链进行存储,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
可选的,当设定在终端上时,预设风险数据库相当于终端的本地数据库中,这样就可以直接在预设风险数据库中进行网络地址的匹配,还可以提高检测的速度。还可以定期或不定期对终端上的预设风险数据库的风险网络地址进行更新。
209、当网络地址与风险网络地址匹配成功时,终端确定网络请求存在网络风险。
例如,当网络请求中的网络地址skeyxxx.browser.xx.com与虚假钓鱼网站链接匹配成功时,说明该网络地址可以为虚假钓鱼网站链接,因此,该网络地址存在风险,驳回客户端的网络请求。当该网络地址与风险网络地址匹配不成功时,说明该网络地址为安全网络地址,不存在风险,放行客户端发送的网络请求,使得客户端在网络服务器中获取所述网络地址对应的网络资源。
由以上可知,本实施例中终端接收客户端发送的网络请求后,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;由于该方案可以直接获取客户端发送的网络请求,对网络请求中携带的网络请求数据包进行解析,得到网络请求中对应的网络地址,可以覆盖到终端或服务器内所有客户端的网络请求,还可以获得多种地址类型的网络地址,因此,可以提高终端或服务器内客户端的网络风险检测的准确率。
为了更好地实施以上方法,本发明实施例还提供一种网络风险检测装置,该网络风险检测装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图9所示,该网络风险检测装置可以包括接收单元301、筛选单元302、确定单元303、提取单元304和检测单元305,如下:
(1)接收单元301;
接收单元301,用于接收客户端发送的网络请求,所述网络请求携带网络请求数据包。
例如,接收单元301,具体可以用于直接接收拦截组件发送的拦截到的网络请求,在拦截到的网络请求中获取网络请求携带的网络请求数据包。
(2)筛选单元302;
筛选单元302,用于在网络请求数据包中筛选出端口数据。
例如,筛选单元302,具体可以用于根据网络请求数据包中数据的类型,在网络请求数据包的数据存储区域筛选存储的源端口信息和目的端口信息的数据,将这些数据作为端口数据。
(3)确定单元303;
确定单元303,用于根据网络请求数据包,确定网络地址的地址类型;
其中,确定单元303还可以包括第一确定单元3031、查询子单元3032、第二确定子单元3033和第三确定子单元3034,如图10所示,具体可以如下:
第一确定单元3031,用于根据端口数据,确定客户端的目标身份标识;
查询子单元3032,用于在预设白名单集合中查询目标身份标识,预设白名单集合至少包括一个安全客户端的身份标识,安全客户端为无网络风险的客户端;
第二确定子单元3033,用于当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险;
第三确定子单元3034,用于当预设白名单集合中不存在目标身份标识时,根据端口数据,确定网络地址的地址类型。
例如,第一确定单元3031根据端口数据,确定客户端的目标身份标识,查询子单元3031在预设白名单集合中查询目标身份标识,预设白名单集合至少包括一个安全客户端的身份标识,安全客户端为无网络风险的客户端,第二确定子单元3032当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险,第三确定子单元3033当预设白名单集合中不存在目标身份标识时,根据端口数据,确定网络地址的地址类型。
(4)提取单元303;
提取单元304,用于根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配;
其中,提取单元304可以包括识别子单元3041、提取子单元3042和匹配子单元3043,如图11所示,具体可以如下:
识别子单元3041,用于根据目的端口信息,在网络请求数据包中识别出地址存储区域;
提取子单元3042,用于在地址存储区域提取出与地址类型对应的网络地址;
匹配子单元3043,用于将网络地址与预设风险数据库中的风险网络地址进行匹配。
例如,识别子单元3041于根据目的端口信息,在网络请求数据包中识别出地址存储区域,提取子单元3042在地址存储区域提取出与地址类型对应的网络地址,匹配子单元3043将网络地址与预设风险数据库中的风险网络地址进行匹配。
(5)检测单元305;
检测单元305,用于当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险。
例如,当网络地址与风险网络地址匹配成功时,判断该网络地址存在网络风险,驳回客户端的网络请求。当网络地址与风险网络地址匹配不成功时,说明该网络地址为安全网络地址,不存在风险,放行客户端发送的网络请求,使得客户端在网络服务器中获取所述网络地址对应的网络资源。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在接收单元301接收客户端发送的网络请求后,该网络请求携带网络请求数据包,筛选单元302在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,确定单元303根据网络请求数据包,确定网络地址的地址类型,提取单元304根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,检测单元305当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;由于该方案可以直接获取客户端发送的网络请求,对网络请求中携带的网络请求数据包进行解析,得到网络请求中对应的网络地址,可以覆盖到终端或服务器内所有客户端的网络请求,还可以获得多种地址类型的网络地址,因此,可以提高终端或服务器内客户端的网络风险检测的准确率。
本发明实施例还提供一种电子设备,如图12所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图12中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收客户端发送的网络请求,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险。
例如,接收拦截组件发送的拦截到的网络请求,在拦截到的网络请求中获取网络请求携带的网络请求数据包。在本地数据库中查询源端口信息与身份标识的映射关系,当本地数据库中存在映射关系时,根据源端口数据和映射关系,确定客户端的身份标识,当本地数据库中未存在映射关系时,在本地数据库中查询到网络连接文件,并对网络连接文件进行解析,得到源端口信息与身份标识的当前映射关系,根据当前映射关系,确定客户端的身份标识。在预设白名单集合中查询目标身份标识,预设白名单集合至少包括一个安全客户端的身份标识,安全客户端为无网络风险的客户端,当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险,当预设白名单集合中不存在目标身份标识时,根据网络请求数据包,确定网络地址的地址类型。根据目的端口信息,在网络请求数据包中识别出地址存储区域,在地址存储区域提取出与地址类型对应的网络地址,将网络地址与预设风险数据库中的风险网络地址进行匹配。当网络地址与风险网络地址匹配成功时,判断该网络地址存在网络风险,驳回客户端的网络请求。当网络地址与风险网络地址匹配不成功时,说明该网络地址为安全网络地址,不存在风险,放行客户端发送的网络请求,使得客户端在网络服务器中获取所述网络地址对应的网络资源。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在接收客户端发送的网络请求后,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险;由于该方案可以直接获取客户端发送的网络请求,对网络请求中携带的网络请求数据包进行解析,得到网络请求中对应的网络地址,可以覆盖到终端或服务器内所有客户端的网络请求,还可以获得多种地址类型的网络地址,因此,可以提高终端或服务器内客户端的网络风险检测的准确率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种网络风险检测方法中的步骤。例如,该指令可以执行如下步骤:
接收客户端发送的网络请求,该网络请求携带网络请求数据包,在网络请求数据包中筛选出端口数据,该端口数据包括目的端口信息,根据网络请求数据包,确定网络地址的地址类型,根据目的端口信息,从网络请求数据包中提取出与地址类型对应的网络地址,并将网络地址与预设风险数据库中的风险网络地址进行匹配,当网络地址与风险网络地址匹配成功时,确定网络请求存在网络风险。
例如,接收拦截组件发送的拦截到的网络请求,在拦截到的网络请求中获取网络请求携带的网络请求数据包。在本地数据库中查询源端口信息与身份标识的映射关系,当本地数据库中存在映射关系时,根据源端口数据和映射关系,确定客户端的身份标识,当本地数据库中未存在映射关系时,在本地数据库中查询到网络连接文件,并对网络连接文件进行解析,得到源端口信息与身份标识的当前映射关系,根据当前映射关系,确定客户端的身份标识。在预设白名单集合中查询目标身份标识,预设白名单集合至少包括一个安全客户端的身份标识,安全客户端为无网络风险的客户端,当预设白名单集合中存在目标身份标识时,确定网络请求不存在网络风险,当预设白名单集合中不存在目标身份标识时,根据网络请求数据包,确定网络地址的地址类型。根据目的端口信息,在网络请求数据包中识别出地址存储区域,在地址存储区域提取出与地址类型对应的网络地址,将网络地址与预设风险数据库中的风险网络地址进行匹配。当网络地址与风险网络地址匹配成功时,判断该网络地址存在网络风险,驳回客户端的网络请求。当网络地址与风险网络地址匹配不成功时,说明该网络地址为安全网络地址,不存在风险,放行客户端发送的网络请求,使得客户端在网络服务器中获取所述网络地址对应的网络资源。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种网络风险检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种网络风险检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种网络风险检测方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种网络风险检测方法,其特征在于,包括:
接收客户端发送的网络请求,所述网络请求携带网络请求数据包;
在所述网络请求数据包中筛选出端口数据,所述端口数据包括目的端口信息;
根据所述网络请求数据包,确定所述网络地址的地址类型;
根据所述目的端口信息,从所述网络请求数据包中提取出与所述地址类型对应的网络地址,并将所述网络地址与预设风险数据库中的风险网络地址进行匹配;
当所述网络地址与风险网络地址匹配成功时,确定所述网络请求存在网络风险。
2.根据权利要求1所述的网络风险检测方法,其特征在于,所述根据所述目的端口信息,从所述网络请求数据包中提取出与所述地址类型对应的网络地址,包括:
根据所述目的端口信息,在所述网络请求数据包中识别出地址存储区域;
在所述地址存储区域提取出与所述地址类型对应的网络地址。
3.根据权利1所述的网络风险检测方法,其特征在于,所述根据所述网络请求数据包,确定所述网络地址的地址类型,包括:
根据所述端口数据,确定所述客户端的目标身份标识;
在预设白名单集合中查询所述目标身份标识,所述预设白名单集合至少包括一个安全客户端的身份标识,所述安全客户端为无网络风险的客户端;
当所述预设白名单集合中存在所述目标身份标识时,确定所述网络请求不存在网络风险;
当所述预设白名单集合中不存在所述目标身份标识时,根据所述网络请求数据包,确定所述网络地址的地址类型。
4.根据权利要求3所述的网络风险检测方法,其特征在于,所述根据所述网络请求数据包,确定所述网络地址的地址类型,包括:
识别所述网络请求数据包的类型;
当所述网络请求数据包为无连接型数据包,确定所述网络地址的地址类型为域名地址;
当所述网络请求数据包为连接型数据包时,根据所述网络请求数据包中的数据传输协议类型,确定所述网络地址的地址类型。
5.根据权利要求4所述的网络风险检测方法,其特征在于,所述根据所述网络请求数据包中的数据传输协议类型,确定所述网络地址的地址类型,包括:
在所述网络请求数据包中筛选出数据传输协议信息;
根据所述数据传输协议信息,识别所述网络请求数据包中的数据传输协议类型;
当所述数据传输协议的类型为普通传输协议时,确定所述网络地址的地址类型为定位地址;
当所述数据传输协议的类型为加密传输协议时,确定所述网络地址的地址类型为域名地址。
6.根据权利要求5所述的网络风险检测方法,其特征在于,所述根据所述目的端口信息,在所述网络请求数据包中识别出地址存储区域,包括:
当所述网络请求数据包为无连接型数据包时,根据所述目的端口信息,在所述网络请求数据包中识别出应答信息,在所述应答信息筛选出第一预设关键字段对应的区域,将所述第一预设关键词对应的区域作为第一地址存储区域;
当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为定位地址时,在所述网络请求数据包筛选出第二预设关键字段对应的至少两个子区域,将所述子区域作为第二地址存储区域;
当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为域名地址时,在所述网络请求数据包中筛选出第三预设关键字段对应的区域,将所述第三预设关键字段对应的区域作为第三地址存储区域。
7.根据权利要求6所述的网络风险检测方法,其特征在于,所述在所述地址存储区域提取出与所述地址类型对应的网络地址,包括:
当所述网络请求数据包为无连接型数据包时,在所述第一地址存储区域中提取所述域名地址对应的网络地址;
当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为定位地址时,在所述第二地址存储区域中提取出至少两个定位地址对应的子网络地址,将所述子网络地址进行组合,得到所述网络地址;
当所述网络请求数据包为连接型数据包,且所述网络地址的地址类型为域名地址时,在所述第三地址存储区域中提取所述域名地址对应的网络地址。
8.根据权利要求7所述的网络风险检测方法,其特征在于,所述将所述网络地址与预设风险数据库中的风险网络地址进行匹配,包括:
当所述网络地址的类型为域名地址时,将所述网络地址与预设风险数据库中的风险网络地址进行匹配;
当所述网络地址类型为定位地址时,将所述网络地址进行分割,得到域名子地址和路径子地址,将所述网络地址和域名子地址分别与预设风险数据库中的风险网络地址进行匹配。
9.根据权利要求3所述的网络风险检测方法,其特征在于,所述端口数据还包括源端口信息,所述根据所述端口数据,确定所述客户端的目标身份标识,包括
在本地数据库中查询所述源端口信息与身份标识的映射关系;
当所述本地数据库中存在所述映射关系时,根据所述源端口数据和映射关系,确定所述客户端的身份标识;
当所述本地数据库中未存在所述映射关系时,在所述本地数据库中查询到所述网络连接文件,并对所述网络连接文件进行解析,得到所述源端口信息与身份标识的当前映射关系,根据所述当前映射关系,确定所述客户端的身份标识。
10.一种网络风险检测装置,其特征在于,包括:
接收单元,用于接收客户端发送的网络请求,所述网络请求携带网络请求数据包;
筛选单元,用于在所述网络请求数据包中筛选出端口数据,所述端口数据包括目的端口信息;
确定单元,用于根据所述网络请求数据包,确定所述网络地址的地址类型;
提取单元,用于根据所述目的端口信息,从所述网络请求数据包中提取出与所述地址类型对应的网络地址,并将所述网络地址与预设风险数据库中的风险网络地址进行匹配;
检测单元,用于当所述网络地址与风险网络地址匹配成功时,确定所述网络请求存在网络风险。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141868.9A CN111385293B (zh) | 2020-03-04 | 2020-03-04 | 一种网络风险检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141868.9A CN111385293B (zh) | 2020-03-04 | 2020-03-04 | 一种网络风险检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385293A true CN111385293A (zh) | 2020-07-07 |
CN111385293B CN111385293B (zh) | 2021-06-22 |
Family
ID=71218588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010141868.9A Active CN111385293B (zh) | 2020-03-04 | 2020-03-04 | 一种网络风险检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385293B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995152A (zh) * | 2021-02-07 | 2021-06-18 | 深信服科技股份有限公司 | 一种风险端口检测方法、装置、设备和介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420433A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 防御域名系统欺骗攻击的方法及装置 |
CN102035899A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 基于IPv6的局域网内的地址确定方法与装置 |
CN102281337A (zh) * | 2011-07-29 | 2011-12-14 | 赛尔网络有限公司 | 目的地址访问控制方法和系统 |
CN104134143A (zh) * | 2014-07-15 | 2014-11-05 | 北京奇虎科技有限公司 | 移动支付安全的保护方法、装置及云服务器 |
CN104363252A (zh) * | 2014-12-12 | 2015-02-18 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
CN104618351A (zh) * | 2015-01-15 | 2015-05-13 | 中国科学院信息工程研究所 | 一种识别dns欺骗攻击包及检测dns欺骗攻击的方法 |
CN105491033A (zh) * | 2015-11-30 | 2016-04-13 | 睿峰网云(北京)科技股份有限公司 | 一种钓鱼网站的识别方法及装置 |
US20170111389A1 (en) * | 2015-10-18 | 2017-04-20 | NxLabs Limited | Method and system for protecting domain name system servers against distributed denial of service attacks |
CN106656991A (zh) * | 2016-10-28 | 2017-05-10 | 上海百太信息科技有限公司 | 一种网络威胁检测系统及检测方法 |
CN107920020A (zh) * | 2013-03-08 | 2018-04-17 | 华为技术有限公司 | 报文处理方法和网关 |
CN108200068A (zh) * | 2018-01-08 | 2018-06-22 | 平安科技(深圳)有限公司 | 端口监控方法、装置、计算机设备及存储介质 |
CN108683666A (zh) * | 2018-05-16 | 2018-10-19 | 新华三信息安全技术有限公司 | 一种网页识别方法及装置 |
CN110392122A (zh) * | 2018-04-16 | 2019-10-29 | 腾讯大地通途(北京)科技有限公司 | 地址类型的确定方法和装置、存储介质、电子装置 |
CN110719291A (zh) * | 2019-10-16 | 2020-01-21 | 杭州安恒信息技术股份有限公司 | 一种基于威胁情报的网络威胁识别方法及识别系统 |
CN110830606A (zh) * | 2019-10-31 | 2020-02-21 | 瑞斯康达科技发展股份有限公司 | 解决异常dns缓存的方法、装置及计算机可读存储介质 |
-
2020
- 2020-03-04 CN CN202010141868.9A patent/CN111385293B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420433A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 防御域名系统欺骗攻击的方法及装置 |
CN102035899A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 基于IPv6的局域网内的地址确定方法与装置 |
CN102281337A (zh) * | 2011-07-29 | 2011-12-14 | 赛尔网络有限公司 | 目的地址访问控制方法和系统 |
CN107920020A (zh) * | 2013-03-08 | 2018-04-17 | 华为技术有限公司 | 报文处理方法和网关 |
CN104134143A (zh) * | 2014-07-15 | 2014-11-05 | 北京奇虎科技有限公司 | 移动支付安全的保护方法、装置及云服务器 |
CN104363252A (zh) * | 2014-12-12 | 2015-02-18 | 北京奇虎科技有限公司 | 网站安全检测方法与装置 |
CN104618351A (zh) * | 2015-01-15 | 2015-05-13 | 中国科学院信息工程研究所 | 一种识别dns欺骗攻击包及检测dns欺骗攻击的方法 |
US20170111389A1 (en) * | 2015-10-18 | 2017-04-20 | NxLabs Limited | Method and system for protecting domain name system servers against distributed denial of service attacks |
CN105491033A (zh) * | 2015-11-30 | 2016-04-13 | 睿峰网云(北京)科技股份有限公司 | 一种钓鱼网站的识别方法及装置 |
CN106656991A (zh) * | 2016-10-28 | 2017-05-10 | 上海百太信息科技有限公司 | 一种网络威胁检测系统及检测方法 |
CN108200068A (zh) * | 2018-01-08 | 2018-06-22 | 平安科技(深圳)有限公司 | 端口监控方法、装置、计算机设备及存储介质 |
CN110392122A (zh) * | 2018-04-16 | 2019-10-29 | 腾讯大地通途(北京)科技有限公司 | 地址类型的确定方法和装置、存储介质、电子装置 |
CN108683666A (zh) * | 2018-05-16 | 2018-10-19 | 新华三信息安全技术有限公司 | 一种网页识别方法及装置 |
CN110719291A (zh) * | 2019-10-16 | 2020-01-21 | 杭州安恒信息技术股份有限公司 | 一种基于威胁情报的网络威胁识别方法及识别系统 |
CN110830606A (zh) * | 2019-10-31 | 2020-02-21 | 瑞斯康达科技发展股份有限公司 | 解决异常dns缓存的方法、装置及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995152A (zh) * | 2021-02-07 | 2021-06-18 | 深信服科技股份有限公司 | 一种风险端口检测方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111385293B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543463B (zh) | 数据安全访问方法、装置、计算机设备及存储介质 | |
CN107277038A (zh) | 访问控制方法、装置以及系统 | |
IL275042A (en) | Security monitoring Level of application programming programming with self-adaptation | |
US11681804B2 (en) | System and method for automatic generation of malware detection traps | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
WO2014094151A1 (en) | System and method for monitoring data in a client environment | |
WO2015183698A1 (en) | Method and system for implementing data security policies using database classification | |
CN114679292B (zh) | 基于网络空间测绘的蜜罐识别方法、装置、设备及介质 | |
CN112073437B (zh) | 多维度的安全威胁事件分析方法、装置、设备及存储介质 | |
US11636208B2 (en) | Generating models for performing inline malware detection | |
US20210021611A1 (en) | Inline malware detection | |
CN110677384A (zh) | 钓鱼网站的检测方法及装置、存储介质、电子装置 | |
US20210200595A1 (en) | Autonomous Determination of Characteristic(s) and/or Configuration(s) of a Remote Computing Resource to Inform Operation of an Autonomous System Used to Evaluate Preparedness of an Organization to Attacks or Reconnaissance Effort by Antagonistic Third Parties | |
CN111510463B (zh) | 异常行为识别系统 | |
CN110597541A (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN112532605A (zh) | 一种网络攻击溯源方法及系统、存储介质、电子设备 | |
CN111385293B (zh) | 一种网络风险检测方法和装置 | |
CN110099041A (zh) | 一种物联网防护方法及设备、系统 | |
CN114745145B (zh) | 业务数据访问方法、装置和设备及计算机存储介质 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN116866076A (zh) | 网络蜜罐识别方法、装置、设备及存储介质 | |
CN113794731B (zh) | 识别基于cdn流量伪装攻击的方法、装置、设备和介质 | |
Kumar et al. | Intrusion detection system for grid computing using SNORT | |
CN115801292A (zh) | 访问请求的鉴权方法和装置、存储介质及电子设备 | |
CN103078771A (zh) | 基于p2p的僵尸网络分布式协作检测系统和方法 |
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 |