CN110929118B - 网络数据处理方法、设备、装置、介质 - Google Patents
网络数据处理方法、设备、装置、介质 Download PDFInfo
- Publication number
- CN110929118B CN110929118B CN201911067293.4A CN201911067293A CN110929118B CN 110929118 B CN110929118 B CN 110929118B CN 201911067293 A CN201911067293 A CN 201911067293A CN 110929118 B CN110929118 B CN 110929118B
- Authority
- CN
- China
- Prior art keywords
- parameter
- request
- character
- network
- data processing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 105
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000007781 pre-processing Methods 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000011176 pooling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013145 classification model Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 101100127184 Culex quinquefasciatus ken1 gene Proteins 0.000 description 4
- 101100127185 Culex quinquefasciatus ken2 gene Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种网络数据处理方法、设备、装置、介质。所述方法包括:接收网络访问数据;确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符;基于所述至少一个字符确定所述请求参数的参数向量;利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量;以及基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别。
Description
技术领域
本公开涉及数据处理领域,具体的涉及一种网络数据处理方法、设备、装置、介质。
背景技术
在对网络数据进行处理的过程中,为了判断网络数据中的负载(也称为实际数据)的类型,需要利用规则系统或人工提取的负载特征确定负载的用途。在这种情况下,规则系统和人工提取的特征需要包含复杂而完备内容,才能避免对于网络数据的负载类型的错误判断。为了维护规则系统和人工提取特征的过程需要耗费大量的资源。
发明内容
本公开提供了一种网络数据处理方法、设备、装置、介质。
根据本公开的一方面,提供了一种网络数据处理方法,包括:接收网络访问数据;确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符;基于所述至少一个字符确定所述请求参数的参数向量;利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量;以及基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别。
在一些实施例中,所述网络访问请求是http请求。
在一些实施例中,所述网络数据处理方法还包括对所述网络访问数据进行预处理,所述预处理包括:对所述网络访问请求进行格式转换,以得到具有预定格式的请求参数。
在一些实施例中,所述预定格式的请求参数包括至少一个键值对,所述预处理还包括:将所述键值对中的键参数替换为预定字符。
在一些实施例中,基于所述至少一个字符确定用于所述请求参数的参数向量包括:对所述至少一个字符进行编码,以得到用于所述至少一个字符的字符编码;通过组合所述至少一个字符的字符编码得到所述请求参数的参数向量。
在一些实施例中,对所述至少一个字符进行编码包括:基于ASCII码对所述至少一个字符进行编码。
在一些实施例中,对所述至少一个字符进行编码还包括:过滤所述请求参数中不属于ASCII码表的字符。
在一些实施例中,利用所述参数向量确定所述请求参数的参数特征向量包括:利用嵌入层对所述参数向量进行处理,以得到所述请求参数的参数矩阵,其中所述参数矩阵包括对应于每个字符的字符向量;以及利用卷积网络中的至少一个卷积层对所述参数矩阵进行卷积处理,以得到所述请求参数的参数特征向量。
在一些实施例中,基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别包括:基于所述参数特征向量确定请求参数属于预定义的请求类别的概率;以及将具有最高概率值的请求类别确定为所述请求参数所属的请求类别。
在一些实施例中,所述请求类别包括至少一个指示网络攻击的请求类别。
根据本申请的另一方面,还提供了一种网络数据处理设备,包括:接收单元,配置成接收网络访问数据;请求参数确定单元,配置成确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符;参数向量确定单元,配置成基于所述至少一个字符确定所述请求参数的参数向量;参数特征确定单元,配置成利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量;以及分类单元,配置成基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别。
在一些实施例中,所述网络访问请求是http请求。
在一些实施例中,所述网络数据处理设备还包括预处理单元,所述预处理单元配置成对所述网络访问请求进行格式转换,以得到具有预定格式的请求参数。
在一些实施例中,其中所述预定格式的请求参数包括至少一个键值对,所述预处理单元还配置成:将所述键值对中的键参数替换为预定字符。
在一些实施例中,所述参数向量确定单元配置成:对所述至少一个字符进行编码,以得到用于所述至少一个字符的字符编码;通过组合所述至少一个字符的字符编码得到所述请求参数的参数向量。
在一些实施例中,对所述至少一个字符进行编码包括:基于ASCII码对所述至少一个字符进行编码。
在一些实施例中,对所述至少一个字符进行编码还包括:过滤所述请求参数中不属于ASCII码表的字符。
在一些实施例中,所述参数特征确定单元配置成:利用嵌入层对所述参数向量进行处理,以得到所述请求参数的参数矩阵,其中所述参数矩阵包括对应于每个字符的字符向量;以及利用卷积网络中的至少一个卷积层对所述参数矩阵进行卷积处理,以得到所述请求参数的参数特征向量。
在一些实施例中,所述分类单元配置成:基于所述参数特征向量确定所述请求参数属于预定义的请求类别的概率;以及将具有最高概率值的请求类别确定为所述请求参数所属的请求类别。
在一些实施例中,所述请求类别包括至少一个指示网络攻击的请求类别。
根据本申请的又一方面,还提供了一种网络数据处理装置,包括:一个或多个处理器;和一个或多个存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器运行时,执行如前所述的网络数据处理方法。
根据本申请的又一方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如前所述的网络数据处理方法。
根据本公开实施例的网络数据处理方法,能够方便地从网络数据中提取负载的参数特征,并且能够根据参数特征确定网络数据所属的类别,从而实现对于网络数据快速而有效的分类。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请的网络数据处理系统的示例性的场景图;
图2示出了根据本申请的实施例的网络数据处理方法的示意性的流程图;
图3示出了charCNN网络的基本结构;
图4示出了根据本申请的实施例的网络数据处理设备的一种示意性的框图;
图5示出了根据本申请的实施例的网络数据处理系统的一种示例;
图6示出了根据本公开实施例的示例性计算设备的架构的示意图;
图7示出了根据本公开实施例的存储介质的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
卷积神经网络因为其强大的特征学习能力在计算机视觉等领域取得了很好的效果,且卷积操作因为其稀疏连接和权值共享等特性,能够有效降低深度神经网络模型的复杂,从而有效防止因为模型过于复杂导致的过拟合。
图1示出了根据本申请的网络数据处理系统的示例性的场景图。如图1所示,该网络数据处理系统100可以包括用户终端110、网络120、服务器130以及数据库140。
用户终端110可以是例如图1中示出的电脑110-1、手机110-2。可以理解的是,事实上,用户终端可以是能够执行数据处理的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能手机、智能家居设备、可穿戴设备、车载电子设备、监控设备等。用户终端110也可以是设置有电子设备的任何装备。
根据本申请提供的用户终端可以用于接收网络数据,并利用本申请提供的方法实现对网络数据进行处理。
在一些实施例中,可以利用用户终端的处理单元执行本申请提供的网络数据处理方法。在一些实现方式中,用户终端可以利用用户终端内置的程序执行本申请提供的网络数据处理方法。在另一些实现方式中,用户终端可以通过调用用户终端外部存储的程序执行本申请提供的网络数据处理方法。
在另一些实施例中,用户终端将接收的待处理的网络数据经由网络120发送至服务器130,并由服务器130执行本申请提供的网络数据处理方法。在一些实现方式中,服务器130可以利用服务器内置的程序执行本申请提供的网络数据处理方法。在另一些实现方式中,服务器130可以通过调用服务器外部存储的程序执行本申请提供的网络数据处理方法。
在一些实施例中,用户终端110还可以包括输出部件。例如,用户终端110可以包括显示器、扬声器等输出设备,并可以利用输出设备向用户输出网络数据处理方法的执行结果。例如,可以利用输出设备输出用户终端处理得到的执行结果,或者从服务器130接收的执行结果。
网络120可以是单个网络,或至少两个不同网络的组合。例如,网络120可以包括但不限于局域网、广域网、公用网络、专用网络等中的一种或几种的组合。
服务器130可以是一个单独的服务器,或一个服务器群组,群组内的各个服务器通过有线的或无线的网络进行连接。一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器130可以是本地的或远程的。
数据库140可以泛指具有存储功能的设备。数据库130主要用于存储从用户终端110和服务器130工作中所利用、产生和输出的各种数据。数据库140可以是本地的,或远程的。数据库140可以包括各种存储器、例如随机存取存储器(Random Access Memory(RAM))、只读存储器(Read Only Memory(ROM))等。以上提及的存储设备只是列举了一些例子,该系统可以使用的存储设备并不局限于此。
数据库140可以经由网络120与服务器130或其一部分相互连接或通信,或直接与服务器130相互连接或通信,或是上述两种方式的结合。
在一些实施例中,数据库150可以是独立的设备。在另一些实施例中,数据库150也可以集成在用户终端110和服务器140中的至少一个中。例如,数据库150可以设置在用户终端110上,也可以设置在服务器140上。又例如,数据库150也可以是分布式的,其一部分设置在用户终端110上,另一部分设置在服务器140上。
下文中将详细阐述本申请提供的网络数据处理方法的流程。
图2示出了根据本申请的实施例的网络数据处理方法的示意性的流程图。可以利用图1中示出的用户终端110或服务器130实现图2中示出的网络数据处理方法200。
在步骤S202中,可以接收网络访问数据。在一些实施例中,网络访问数据可以是用户终端发送至服务器的网络访问请求或服务器发送至用户终端的网络访问请求。例如,网络访问数据可以是基于http协议的数据。可以理解的是,网络访问数据也可以是基于任何TCI/IP协议以及任何其他网络协议的数据。下文中将以http请求为例解释本申请的原理。
在步骤S204中,可以确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符。
在一些实施例中,在执行步骤S204之前,方法200还可以包括预处理步骤。所述预处理步骤可以包括对所述网络访问请求进行格式转换,以得到具有预定格式的请求参数。
例如,http请求的参数的格式可以是键值对格式(如key1=value1&key2=value2格式)或json格式的字符串。预处理步骤可以包括将键值对格式的参数转换为json格式,或者将json格式的参数转换为键值对格式。可以理解的是,预处理步骤也可以包括将http请求的参数转换为任何其他预定义的格式。在下文中描述的实施例中,将以http请求的格式是键值对的格式为例描述本申请的原理。如果http请求中的负载(payload)被表示为其他格式,那么可以将负载的内容转换为键值对的格式。
在一种实现方式中,所述预处理步骤还包括,将所述键值对中的键(key)参数替换为预定字符。例如,当http请求的负载被标识为key1=value1&key2=value2,可以将key1和key2中的所有字符替换为预定的字符,例如N或其他任意字符。例如,对于uin=123&id=1的负载,可以将其预处理为NNN=123&NN=1。
在http请求中,键参数key一般是与网络业务相关的内容。针对不同的业务类型,其键参数可以是不同的。然而,在判断http请求的类型的过程中,http请求的特征通常体现在值参数value的部分。
因此,可以通过将http请求的键参数替换为预定的字符,从而能够简化网络数据的内容,并能够进一步简化后续针对网络数据的处理过程。
在步骤S206中,可以基于所述至少一个字符确定所述请求参数的参数向量。
在一些实施例中,基于所述至少一个字符确定用于所述请求参数的参数向量可以包括对所述至少一个字符进行编码,以得到用于所述至少一个字符的字符编码。例如,可以基于ASCII码对所述至少一个字符进行编码。这样能够保证每个字符都有一个固定而统一的编码形式。在一些实现方式中,编码的字符可以是十进制、八进制、十六进制的形式。在一些实施例中,可以过滤所述请求参数中不属于ASCII码表的字符。也就是说,在下文中的网络数据处理过程中,不再考虑请求参数中不属于ASCII码表的字符。
然后,可以通过组合所述至少一个字符的字符编码得到所述请求参数的参数向量。以请求参数中的至少一个字符被表示为十进制的形式为例,可以确定所述请求参数的参数向量,其中所述参数向量的每个元素被表示为每个字符的编码,并且所述参数向量中的元素是按照所述请求参数的字符串中的字符排列顺序进行排列的。
在一些实施例中,也可以根据字符编码将每个字符表示为相应的字符空间中的表达(例如坐标),并根据所述请求参数的字符串中的字符排列顺序对每个字符的表达进行排列,从而得到参数向量的表达形式。尽管本申请中采用的“参数向量”的描述方式,本领域技术人员可以理解,当用于字符表达形式具有更高的维度(例如一维、二维或三维)的形式时,参数向量也可以具有更高的维度。当字符编码的表达具有更高维度时,本领域技术人员可以相应地利用合适的数学工具对字符编码和包含字符编码的参数向量进行处理。
在步骤S208中,可以利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量。卷积网络可以包括嵌入层和至少一个卷积层。在一些实施例中,可以利用嵌入(embedding)层对所述参数向量进行处理,以得到所述请求参数的参数矩阵,其中所述参数矩阵包括对应于每个字符的字符向量。例如,可以通过嵌入层将表示字符的实数映射为表示该字符的字符向量。在这里,嵌入层能够将维数为所有字符的数量的高维空间嵌入到一个低维度的连续向量空间中,每个字符被映射为实数域上的向量。嵌入层可以实现为人工神经网络和/或概率模型等形式。通过将字符映射成对应的嵌入向量,可以维持字符间的关系,并使得本申请提供的网络数据处理模型能够更好地学习到参数特征中的规律。
然后,可以利用卷积网络中的至少一个卷积层对所述参数矩阵进行卷积处理,以得到所述请求参数的参数特征向量。
以1维的卷积神经网络为例,假定卷积神经网络的输入为g(x),卷积核函数为f(x),则f(x)和g(x)的卷积计算公式为:
其中k表示f(x)的元素个数,d代表执行卷积操作时的步长,c=k-d+1是卷积的偏移常量。
在步骤S210中,可以基于所述参数特征向量对所述请求参数进行分类以确定所述请求参数所属的请求类别。在一些实施例中,可以确定所述请求参数属于预定义的请求类别的概率,并将具有最高概率值的请求类别确定为所述请求参数所属的请求类别。
在一种实现方式中,可以通过对步骤S208得到的参数特征向量进行池化以得到池化后的参数特征向量。例如,可以对所述参数特征向量执行最大池化、最小池化、平均池化操作中的至少一个以得到池化后的参数特征向量。在一个示例中,最大池化可以表示为:
其中k表示f(x)的元素个数,d代表执行卷积操作时的步长,c=k-d+1。
然后,可以利用softmax(逻辑回归)函数对池化后的参数特征向量进行处理,以得到所述参数特征向量属于预定义的请求类别的概率。
在一个示例中,softmax函数可以表示为:
logits=Wss+bs (3)
其中Ws、bs是训练好的参数,s是(池化后的)参数特征向量,probi是所述参数特征向量属于预定义的请求类别的概率。
在一个实施例中,所述请求类别包括至少一个指示网络攻击的请求类别。例如,所述请求类别可以包括sql注入、xss、命令注入等请求类别中的至少一个。可以理解的是,本领域技术人员可以将请求类别设置成与网络请求相关联的任何类别。
在一种实现方式中,上述步骤S206至S208可以利用字符级卷积神经网络charCNN或与charCNN具有相同功能网络实现。
图3示出了charCNN网络的基本结构。
如图3所示,可以利用例如图2中的步骤S206中提供的编码操作对负载uin=123&id=1进行编码量化,然后可以利用charCNN中的嵌入层对编码后的负载进行嵌入,以得到对应于该负载的参数向量。
然后,可以利用charCNN网络中的至少一个卷积层和池化层对所述参数向量进行卷积处理和池化处理。如图3所示,charCNN网络中还包括全连接层。可以将经过卷积层和全连接层处理后得到的结果确定为用于所述负载uin=123&id=1的参数特征向量。
进一步地,可以利用softmax函数对全连接层输出的参数特征向量执行分类操作,并得到所述负载属于预定义的至少一个请求类别的概率。可以将具有最高概率值的请求类别确定为所述负载uin=123&id=1所属的请求类别。
利用本申请提供的网络数据处理方法,能够利用深度学习的方式提取网络访问数据中的数据特征,并且能够从原始的网络访问数据中学习到网络数据的规律,从而能够提高识别网络数据的类型的准确率。此外,通过利用深度学习方式确定的网络数据分类模型,当网络数据发生变形时,分类模型能够自适应地对变形后的网络数据进行分类,从而提高分类模型对于变形的网络数据的识别能力。
本申请提供的实施例中使用的人工神经网络可以是基于预设的训练集训练的。在一些实施例中,可以在实际的网络工作环境中采集网络访问数据作为训练数据,并利用人工判断和标注的方式确定训练数据所属的真实请求类型。
在训练过程中,可以利用图2中示出的网络数据处理方法对训练数据进行处理,并得到针对训练数据的处理结果,即,所述训练数据分别属于预设的每个请求类型的概率。利用交叉熵损失函数可以表示训练数据的训练结果和人工标注的训练数据的真实结果之间的损失,并且可以通过调整人工神经网络中的参数的方式使得减小训练结果和真实结果之间的损失实现对于人工神经网络的训练。
在一些实施例中,可以利用word2vector的方法对本申请使用的嵌入层进行预训练,从而得到嵌入层的初始参数,然后可以基于预训练得到的初始参数开始针对本申请使用的包含嵌入层的网络的训练。
在一些实施例中,可以利用模型服务模块实现上述方法200,利用模型训练模块实现上述训练过程。其中模型服务模块可以利用模型训练模块训练好的。在利用实现上述网络数据处理方法的设备执行上述方法200时,可以利用模型调用模块调用模型服务模块来获取利用方法200得到的数据处理结果。其中模型服务模块和模型训练模块可以存储在实现上述网络数据处理方法的设备中,也可以存储在独立于上述网络数据处理方法的设备的其他任何设备中。
在一些实施例中,在利用方法200得到数据处理结果后,可以利用告警展示模块可以用于实时展示当前所有的告警详情及统计信息。例如,当确定当前处理的网络访问数据属于攻击类别时,可以利用告警展示模块向用户发出告警信息和关于告警的统计信息。用户可以根据告警展示模块展示的告警信息和统计信息对于网络访问的情况进行进一步的分析。进一步地,还可以利用告警处置模块根据数据处理结果执行相应的处置功能。例如,当确定当前处理的网络访问数据属于攻击类别时,可以调用系统的自动封禁功能,并对与当前处理的网络访问数据相关联的网络地址进行封禁。上述模块均可以实现为软件代码的形式。
图4示出了根据本申请的实施例的网络数据处理设备的一种示意性的框图。如图4所示,网络数据处理设备400可以包括接收单元410、请求参数确定单元420、参数向量确定单元430、参数特征确定单元440以及分类单元450。
接收单元410可以配置成接收网络访问数据。在一些实施例中,网络访问数据可以是用户终端发送至服务器的网络访问请求或服务器发送至用户终端的网络访问请求。例如,网络访问数据可以是基于http协议的数据。可以理解的是,网络访问数据也可以是基于任何TCI/IP协议以及任何其他网络协议的数据。下文中将以http请求为例解释本申请的原理。
请求参数确定单元420可以配置成确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符。
在一些实施例中,设备400还可以包括预处理单元(未图示)。所述预处理单元可以配置成对所述网络访问请求进行格式转换,以得到具有预定格式的请求参数。
例如,http请求的参数的格式可以是键值对格式(如key1=value1&key2=value2格式)或json格式的字符串。预处理步骤可以包括将键值对格式的参数转换为json格式,或者将json格式的参数转换为键值对格式。可以理解的是,预处理步骤也可以包括将http请求的参数转换为任何其他预定义的格式。在下文中描述的实施例中,将以http请求的格式是键值对的格式为例描述本申请的原理。如果http请求中的负载(payload)被表示为其他格式,那么可以将负载的内容转换为键值对的格式。
在一种实现方式中,所述预处理单元还配置成将所述键值对中的键(key)参数替换为预定字符。例如,当http请求的负载被标识为key1=value1&key2=value2,可以将key1和key2中的所有字符替换为预定的字符,例如N或其他任意字符。例如,对于uin=123&id=1的负载,可以将其预处理为NNN=123&NN=1。
在http请求中,键参数key一般是与网络业务相关的内容。针对不同的业务类型,其键参数可以是不同的。然而,在判断http请求的类型的过程中,http请求的特征通常体现在值参数value的部分。
因此,可以通过将http请求的键参数替换为预定的字符,从而能够简化网络数据的内容,并能够进一步简化后续针对网络数据的处理过程。
参数向量确定单元430可以配置成基于所述至少一个字符确定所述请求参数的参数向量。
在一些实施例中,基于所述至少一个字符确定用于所述请求参数的参数向量可以包括对所述至少一个字符进行编码,以得到用于所述至少一个字符的字符编码。例如,可以基于ASCII码对所述至少一个字符进行编码。这样能够保证每个字符都有一个固定而统一的编码形式。在一些实现方式中,编码的字符可以是十进制、八进制、十六进制的形式。在一些实施例中,可以过滤所述请求参数中不属于ASCII码表的字符。也就是说,在下文中的网络数据处理过程中,不再考虑请求参数中不属于ASCII码表的字符。
然后,可以通过组合所述至少一个字符的字符编码得到所述请求参数的参数向量。以请求参数中的至少一个字符被表示为十进制的形式为例,可以确定所述请求参数的参数向量,其中所述参数向量的每个元素被表示为每个字符的编码,并且所述参数向量中的元素是按照所述请求参数的字符串中的字符排列顺序进行排列的。
在一些实施例中,也可以根据字符编码将每个字符表示为相应的字符空间中的表达(例如坐标),并根据所述请求参数的字符串中的字符排列顺序对每个字符的表达进行排列,从而得到参数向量的表达形式。尽管本申请中采用的“参数向量”的描述方式,本领域技术人员可以理解,当用于字符表达形式具有更高的维度(例如一维、二维或三维)的形式时,参数向量也可以具有更高的维度。下文中以字符编码被表示为实数,参数向量为一维的形式描述本申请的原理。当字符编码的表达具有更高维度时,本领域技术人员可以相应地利用合适的数学工具对字符编码和包含字符编码的参数向量进行处理。
参数特征确定单元440可以配置成利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量。所述卷积网络可以包括嵌入层和至少一个卷积层。在一些实施例中,可以利用嵌入(embedding)层对所述参数向量进行处理,以得到所述请求参数的参数矩阵,其中所述参数矩阵包括对应于每个字符的字符向量。例如,可以通过嵌入层将表示字符的实数映射为表示该字符的字符向量。在这里,嵌入层能够将维数为所有字符的数量的高维空间嵌入到一个低维度的连续向量空间中,每个字符被映射为实数域上的向量。嵌入层可以实现为人工神经网络和/或概率模型等形式。例如,可以利用主成分分析和/或t-分布邻域嵌入算法(t-SNE)来实现对字符空间的降维。又例如,也可以利用矩阵映射的方式实现对字符空间的降维。通过将字符映射成对应的嵌入向量,可以维持字符间的关系,并使得本申请提供的网络数据处理模型能够更好地学习到参数特征中的规律。
所述卷积网络可以包括至少一个卷积层。可以利用所述至少一个卷积层对所述参数矩阵进行卷积处理,以得到所述请求参数的参数特征向量。
分类单元450可以配置成基于所述参数特征向量对所述请求参数进行分类以确定所述请求参数所属的请求类别。在一些实施例中,可以确定所述请求参数属于预定义的请求类别的概率,并将具有最高概率值的请求类别确定为所述请求参数所属的请求类别。
在一种实现方式中,可以通过对参数特征确定单元440确定的参数特征向量进行池化以得到池化后的参数特征。例如,可以对所述参数特征向量执行最大池化、最小池化、平均池化操作中的至少一个以得到池化后的参数特征向量。
然后,可以利用softmax(逻辑回归)函数对池化后的参数特征向量进行处理,以得到请求参数属于预定义的请求类别的概率。
在一个实施例中,所述请求类别包括至少一个指示网络攻击的请求类别。例如,所述请求类别可以包括sql注入、xss、命令注入等请求类别中的至少一个。可以理解的是,本领域技术人员可以将请求类别设置成与网络请求相关联的任何类别。
利用本申请提供的网络数据处理设备,能够利用深度学习的方式提取网络访问数据中的数据特征,并且能够从原始的网络访问数据中学习到网络数据的规律,从而能够提高识别网络数据的类型的准确率。此外,通过利用深度学习方式确定的网络数据分类模型,当网络数据发生变形时,分类模型能够自适应地对变形后的网络数据进行分类,从而提高分类模型对于变形的网络数据的识别能力。
图5示出了根据本申请的实施例的网络数据处理系统的一种示例。图5中示出的系统中的各模块均可以实现为软件代码的形式,并可以利用计算设备的处理单元实现图5中示出的各个模块。
如图5所示,网络数据处理系统可以包括用于采集接收到的网络访问数据的数据采集模块和数据预处理模块,其中所述数据预处理模块可以用于实现前文中描述的预处理操作并对接收到的网络访问数据进行预处理,以得到网络访问数据的参数向量。
然后,可以利用模型调用模块调用模型服务模块,其中模型服务模块可以利用模型训练模块训练好的,并可以用于实现图2中描述的步骤S206至步骤S210并得到针对网络访问数据的处理结果。模型调用模块还可以用于调用模型服务模块得到的数据处理结果,即得到网络访问数据所属的请求类别。在一些实现方式中,可以利用gRPC或者是REST接口进行调用模型服务模块。
告警展示模块可以用于实时展示当前所有的告警详情及统计信息。例如,当确定当前处理的网络访问数据属于攻击类别时,可以利用告警展示模块向用户发出告警信息和关于告警的统计信息。用户可以根据告警展示模块展示的告警信息和统计信息对于网络访问的情况进行进一步的分析。
此外,系统还可以包括告警处置模块。例如,当确定当前处理的网络访问数据属于攻击类别时,可以调用系统的自动封禁功能,并对与当前处理的网络访问数据相关联的网络地址进行封禁。
在一些实施例中,系统中的数据采集模块、数据预处理模块、模型调用模块、告警展示模块和告警处置模块可以位于用户终端内,而模型服务模块和模型训练模块可以位于服务器端。本领域技术人员可以理解,根据实际情况的需要,也可以将上述模块任意安排在用户终端或服务器端。例如,上述模块可以都位于用户终端,或者上述模块中的任意一个或多个模块可以位于用户终端,而其他的模块可以分布于一个或多个服务器端,只要上述模块间存在能够实现本申请提供的网络数据处理方法所需的通信和数据交换即可。
根据本公开实施例的方法或装置也可以借助于计算设备的架构来实现。图6示出了该计算设备的架构。如图6所示,计算设备600可以包括总线610、一个或至少两个CPU620、只读存储器(ROM)630、随机存取存储器(RAM)640、连接到网络的通信端口650、输入/输出组件660、硬盘670等。计算设备600中的存储设备,例如ROM 630或硬盘670可以存储本申请提供的网络数据处理方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备600可以包括用户界面680。当然,图6所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图6示出的计算设备中的一个或至少两个组件。
根据本公开的又一方面,还提供了一种计算机可读存储介质。图7示出了根据本公开实施例的存储介质700的示意图。
如图7所示,所述计算机存储介质702上存储有计算机可读指令701。当所述计算机可读指令701由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的网络数据处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (12)
1.一种网络数据处理方法,包括:
接收网络访问数据;
确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符;
基于所述至少一个字符确定所述请求参数的参数向量;
利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量;以及
基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别,
所述网络数据处理方法还包括:
对所述网络访问数据进行预处理,所述预处理包括对所述网络访问数据进行格式转换,以得到具有预定格式的请求参数,
其中所述预定格式的请求参数包括至少一个键值对,所述预处理还包括:
将所述键值对中的键参数中的所有字符替换为统一的预定字符,且不改变所述键值对中的值参数。
2.如权利要求1所述的网络数据处理方法,其中所述网络访问数据是http请求。
3.如权利要求1所述的网络数据处理方法,其中,基于所述至少一个字符确定用于所述请求参数的参数向量包括:
对所述至少一个字符进行编码,以得到用于所述至少一个字符的字符编码;
通过组合所述至少一个字符的字符编码得到所述请求参数的参数向量。
4.如权利要求3所述的网络数据处理方法,其中,对所述至少一个字符进行编码包括:
基于ASCII码对所述至少一个字符进行编码。
5.如权利要求4所述的网络数据处理方法,其中,对所述至少一个字符进行编码还包括:
过滤所述请求参数中不属于ASCII码表的字符。
6.如权利要求1所述的网络数据处理方法,其中所述卷积网络包括嵌入层和至少一个卷积层,利用所述参数向量确定所述请求参数的参数特征向量包括:
利用嵌入层对所述参数向量进行处理,以得到所述请求参数的参数矩阵,其中所述参数矩阵包括对应于每个字符的字符向量;以及
利用所述至少一个卷积层对所述参数矩阵进行卷积处理,以得到所述请求参数的参数特征向量。
7.如权利要求1所述的网络数据处理方法,其中,基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别包括:
基于所述参数特征向量确定所述请求参数属于预定义的请求类别的概率;以及
将具有最高概率值的请求类别确定为所述请求参数所属的请求类别。
8.如权利要求1所述的网络数据处理方法,其中,所述请求类别包括至少一个指示网络攻击的请求类别。
9.一种网络数据处理设备,包括:
接收单元,配置成接收网络访问数据;
请求参数确定单元,配置成确定所述网络访问数据的请求参数,其中所述请求参数包括至少一个字符;
参数向量确定单元,配置成基于所述至少一个字符确定所述请求参数的参数向量;
参数特征确定单元,配置成利用卷积网络对所述参数向量进行处理以确定所述请求参数的参数特征向量;以及
分类单元,配置成基于所述参数特征向量进行分类以确定所述请求参数所属的请求类别,
其中,所述网络数据处理设备还包括预处理单元,所述预处理单元配置成对所述网络访问数据进行格式转换,以得到具有预定格式的请求参数,
其中所述预定格式的请求参数包括至少一个键值对,所述预处理单元还配置成:
将所述键值对中的键参数中的所有字符替换为统一的预定字符,且不改变所述键值对中的值参数。
10.如权利要求9所述的网络数据处理设备,其中所述网络访问数据是http请求。
11.一种网络数据处理装置,包括:
一个或多个处理器;和
一个或多个存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器运行时,执行如权利要求1-8中任一项所述的网络数据处理方法。
12.一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求1-8中任一项所述的网络数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067293.4A CN110929118B (zh) | 2019-11-04 | 2019-11-04 | 网络数据处理方法、设备、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067293.4A CN110929118B (zh) | 2019-11-04 | 2019-11-04 | 网络数据处理方法、设备、装置、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929118A CN110929118A (zh) | 2020-03-27 |
CN110929118B true CN110929118B (zh) | 2023-12-19 |
Family
ID=69852318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067293.4A Active CN110929118B (zh) | 2019-11-04 | 2019-11-04 | 网络数据处理方法、设备、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929118B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806739B (zh) * | 2021-09-16 | 2022-04-19 | 北京华清信安科技有限公司 | 基于深度学习的业务访问数据检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309675A (zh) * | 2018-09-21 | 2019-02-05 | 华南理工大学 | 一种基于卷积神经网络的网络入侵检测方法 |
CN109388943A (zh) * | 2018-09-29 | 2019-02-26 | 杭州时趣信息技术有限公司 | 一种识别xss攻击的方法、装置和计算机可读存储介质 |
CN109660522A (zh) * | 2018-11-29 | 2019-04-19 | 华东师范大学 | 面向综合电子系统的基于深层自编码器的混合入侵检测方法 |
-
2019
- 2019-11-04 CN CN201911067293.4A patent/CN110929118B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109309675A (zh) * | 2018-09-21 | 2019-02-05 | 华南理工大学 | 一种基于卷积神经网络的网络入侵检测方法 |
CN109388943A (zh) * | 2018-09-29 | 2019-02-26 | 杭州时趣信息技术有限公司 | 一种识别xss攻击的方法、装置和计算机可读存储介质 |
CN109660522A (zh) * | 2018-11-29 | 2019-04-19 | 华东师范大学 | 面向综合电子系统的基于深层自编码器的混合入侵检测方法 |
Non-Patent Citations (4)
Title |
---|
CNN and RNN based payload classification methods for attack detection;Hongyu Liu等;Knowledge-Based Systems;第332–341页 * |
Hongyu Liu等.CNN and RNN based payload classification methods for attack detection.Knowledge-Based Systems.2018,第332–341页. * |
基于深度卷积神经网络的SQL 注入攻击检测;叶永辉等;集美大学学报( 自然科学版);第234-240页 * |
文全刚等.汇编语言程序设计——基于ARM体系结构(第3版).北京航空航天大学出版社,2016,第7页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110929118A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11087180B2 (en) | Risky transaction identification method and apparatus | |
WO2022105117A1 (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
CN110175170B (zh) | 数据优化处理方法、装置、计算机设备及存储介质 | |
CN112231592A (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
CN114398557B (zh) | 基于双画像的信息推荐方法、装置、电子设备及存储介质 | |
CN113553582A (zh) | 恶意攻击检测方法、装置及电子设备 | |
CN116452810A (zh) | 一种多层次语义分割方法、装置、电子设备及存储介质 | |
CN115496970A (zh) | 图像任务模型的训练方法、图像识别方法以及相关装置 | |
CN112995414A (zh) | 基于语音通话的行为质检方法、装置、设备及存储介质 | |
CN116540876A (zh) | 一种基于个体信息的个性化联邦学习的人体动作识别方法 | |
CN114299304B (zh) | 一种图像处理方法及相关设备 | |
WO2021042895A1 (zh) | 基于神经网络的验证码识别方法、系统及计算机设备 | |
CN110929118B (zh) | 网络数据处理方法、设备、装置、介质 | |
CN110855474B (zh) | Kqi数据的网络特征提取方法、装置、设备及存储介质 | |
CN109992960B (zh) | 一种伪造参数检测方法、装置、电子设备及存储介质 | |
CN116127400A (zh) | 基于异构计算的敏感数据识别系统、方法及存储介质 | |
CN113139490B (zh) | 一种图像特征匹配方法、装置、计算机设备及存储介质 | |
CN116091844A (zh) | 一种基于边缘计算的图像数据处理方法及系统 | |
CN115546554A (zh) | 敏感图像的识别方法、装置、设备和计算机可读存储介质 | |
CN114513578A (zh) | 外呼方法、装置、计算机设备及存储介质 | |
CN114117037A (zh) | 意图识别方法、装置、设备和存储介质 | |
CN116405330B (zh) | 基于迁移学习的网络异常流量识别方法、装置和设备 | |
CN111401317A (zh) | 视频分类方法、装置、设备及存储介质 | |
CN116662415B (zh) | 基于数据挖掘的智能匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021441 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |