CN115550014A - 应用程序防护方法及相关设备 - Google Patents
应用程序防护方法及相关设备 Download PDFInfo
- Publication number
- CN115550014A CN115550014A CN202211160278.6A CN202211160278A CN115550014A CN 115550014 A CN115550014 A CN 115550014A CN 202211160278 A CN202211160278 A CN 202211160278A CN 115550014 A CN115550014 A CN 115550014A
- Authority
- CN
- China
- Prior art keywords
- call request
- prototype
- application program
- protection model
- training samples
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 claims abstract description 106
- 238000003860 storage Methods 0.000 claims abstract description 21
- 238000000605 extraction Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开实施例提供了一种应用程序的防护方法、装置、计算机设备、可读存储介质及程序,涉及计算机技术领域。该方法包括:接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。本公开的方法在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用程序的防护方法装置、计算机设备、可读存储介质及程序。
背景技术
网络入侵检测系统能够鉴别网络流量,区分出正常流量和攻击流量,从而保证网络安全。目前,机器学习和深度学习方法已经广泛应用于网络入侵流量检测领域。对于样本数量较多的恶意样本,系统的检测效果较好。但是在实际情况中,某些攻击数据或新型恶意数据只有少量样本,导致模型难以学习到这类数据的特征,在检测时可能会将其放入白名单通过。
发明内容
本公开实施例提供了一种应用程序的防护方法、应用程序的防护方法、装置、计算机设备、可读存储介质及程序,涉及计算机技术领域,建立的调用请求的匹配模型,提升了匹配模型的匹配准确度。
本公开实施例提供了一种应用程序的防护方法,包括:接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。
在一个实施例中,方法还包括:对训练样本进行特征提取;根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模。
在一个实施例中,对训练样本进行特征提取包括:通过基于转换器的双向编码器表示BERT对训练样本进行特征提取。
在一个实施例中,根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示包括:获取所有训练样本的特征矩阵;将每个分类中所有训练样本的特征矩阵求和之后取平均,以获取训练样本的每个分类的原型表示。
在一个实施例中,根据调用请求的特征对第一原型表示进行更新包括:获取调用请求的特征矩阵;将调用请求的特征矩阵与第一原型表示的特征矩阵求和之后取平均,以获取更新后的第一原型表示。
在一个实施例中,根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别包括:根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,使用归一化指数函数获取调用请求属于所有原型表示的类别的概率;以概率最大的原型表示的类别为调用请求的类别。
在一个实施例中,提取调用请求的特征包括:通过基于转换器的双向编码器表示BERT提取调用请求的特征。
本公开实施例提供了一种应用程序的防护装置,包括:接收单元,用于接收用户程序的调用请求;提取单元,用于提取调用请求的特征;聚类单元,用于使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;更新单元,用于根据调用请求的特征对第一原型表示进行更新;距离单元,用于获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;分类单元,用于根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。
本公开实施例提供了一种计算机设备,包括处理器、存储器、输入输出接口;处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得计算机设备执行如上实施例中任一项的方法。
本公开实施例提供了一种计算机可读存储介质计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行如上实施例中任一项的方法。
本公开实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上实施例中任一项的方法。
本公开上述实施例中的应用程序的防护方法,通过接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别,在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施方式的应用程序的防护方法的示例性系统架构的示意图;
图2是本公开实施例提供的一种应用程序的防护方法的流程图;
图3是本公开实施例提供的一种应用程序的防护模型的建模流程图;
图4是本公开实施例提供的一种用户程序的调用请求识别方法流程图;
图5是本公开一个实施例的一个类型的初始原型表示的生成示意图;
图6示出了本公开一个实施例的原型表示更新示意图;
图7是本公开实施例提供的一种用户程序的调用请求识别方法的结构图;
图8是本公开实施例提供的一种应用程序的防护装置的结构示意图;
图9是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开实施例中,可以基于原型网络、转导学习和基于转换器的双向编码器表示(BERT,Bidirectional Encoder Representations from Transformer)技术,接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别,从而实现对调用请求的类别的识别,实现对调用请求的检测。
下面首先对本公开的一些术语进行说明:
原型网络,基本思路是对于每一个分类来创建一个原型表示(protoypiclarepresentation)。并且对于一个需要分类的查询,采用计算分类的原型向量和查询点的距离来进行确定。
基于转换器的双向编码器表示(BERT),是一个预训练的语言表征模型,它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的masked language model(MLM,遮挡语言模型),以致能生成深度的双向语言表征。
转导学习,事先观察了所有的数据,包括训练数据集和测试数据集。从已经观察到的训练数据集中学习,然后预测测试数据集的标签。即使不知道测试数据集的标签,也可以在学习过程中利用这些数据中的模式和其他信息。当前学习的知识直接推广到给定的数据上。相当于预测时,结合已有的训练数据和待预测数据,将已有数据的信息推广到测试数据上。
归一化指数函数(Softmax函数),在数学,尤其是概率论和相关领域中,归一化指数函数是逻辑函数的一种推广。它能将一个含任意实数的K维向量z“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。该函数多用于多分类问题中。
聚类,将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。
伪标签,假设现在有一个文本分类模型,以及大量的无标注数据。现在使用文本分类模型对无标注数据进行预测,挑选softmax之后概率最大的那个类别为当前无标注数据对应的标签。因为是无标注数据而且模型准确率不可能是百分之百,从而导致预测的这个标签并不清楚是不是精准,所以称之为“伪标签”。
图1示出了可以应用本公开实施方式的应用程序的防护方法的示例性系统架构100的示意图。
如图1所示,系统架构100可以包括终端101、102、103中的一种或多种,网络104和服务器105。网络104是用以在终端101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
终端101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器。终端103(也可以是终端101或102)访问服务器105以调用服务器105时,服务器105可以接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别,从而实现对调用请求的类别的识别,实现对调用请求的检测。
在对应用程序的防护模型建模时,工作人员可以使用终端101、102、103通过网络104与服务器105交互,以接收或发送消息等。例如工作人员通过终端103(也可以是终端101或102)向服务器105发送应用程序的防护模型的建模的指令时,服务器105可以对训练样本进行特征提取;根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模,从而根据训练样本完成应用程序的防护模型的建模。
其中,终端可以是手机(如终端101)或平板电脑(如终端102),还可以是台式计算机(如终端101)等,在此不做限制。其中,终端中可以显示应用程序,该应用程序可以是应用程序的防护的应用程序等。其中,图1中的终端仅为例举出的部分设备,在本公开中终端并不仅限于该图1中所例举的设备。
可以理解的是,本公开实施例中所提及的终端可以是一种用户设备,本公开实施例中的服务器包括但不限于服务器或服务器组成的集群。其中,以上所提及的终端可以是一种电子设备,包括但不限于手机、平板电脑、智能语音交互设备、智能家电、车载终端、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(Augmented Reality/Virtual Reality,AR/VR)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,MID),或者火车、轮船、飞行等场景下的终端设备等。
其中,以上所提及的服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。
可选的,本公开实施例中所涉及的数据可以存储在云平台中,或者可以基于云存储技术、区块链技术对该数据进行存储,在此不做限制。
在应用机器学习对用户程序的调用请求进行防护时,当样本数量较少时,网络入侵检测就是一个小样本学习问题。在这种情况下,传统的机器学习的深度学习方法会出现过拟合问题,检测效果不好,所以需要使用小样本领域的技术来解决这种问题。用于WAF(网站应用级入侵防御系统,Web Application Firewall)检测后的白名单日志数据,检测其中是否有漏报攻击数据。
图2是本公开实施例提供的一种应用程序的防护方法的流程图。本公开实施例提供的方法可以由图1实施例中的服务器执行。
如图2所示,本公开实施例提供的方法可以包括如下步骤。
在步骤S210中,接收用户程序的调用请求。
在该步骤中,服务器接收例如终端的调用请求。例如图1中终端103通过网络104访问服务器105时,向服务器105发出调用请求。
在步骤S220中,提取调用请求的特征。
在该步骤中,服务器提取调用请求的特征。在一个实施例中,通过BERT提取调用请求的特征,其中,BERT可以是经过训练数据训练的具有特征提取能力的BERT模型。
在步骤S230中,使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签。
在该步骤中,服务器使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签。其中应用程序的防护模型是根据训练数据训练完成的应用程序的防护模型,可以包括多个攻击类型的原型表示。
在该步骤中,通过聚类的方法,根据调用请求的特征与应用程序的防护模型的训练样本特征,确定调用请求的特征属于那个攻击类别,从而确定伪标签,进而确定调用请求可能对应的原型表示。
在步骤S240中,根据调用请求的特征对第一原型表示进行更新。
在该步骤中,服务器根据调用请求的特征对第一原型表示进行更新。在步骤S230中,确定了调用请求的伪标签,因此可以基于调用请求的特征对对应的伪标签对第一原型表示进行更新,从而实现根据预测数据对原型表示进行更新的目的。在一个实施例中,根据调用请求的特征对第一原型表示进行更新包括:获取调用请求的特征矩阵;将调用请求的特征矩阵与第一原型表示的特征矩阵求和之后取平均,以获取更新后的第一原型表示。
在步骤S250中,获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离。
在该步骤中,服务器获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离。
在步骤S260中,根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。
在该步骤中,服务器根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。在一个实施例中,根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,使用归一化指数函数获取调用请求属于所有原型表示的类别的概率;以概率最大的原型表示的类别为调用请求的类别。调用请求的类别例如为XSS(跨站脚本攻击)攻击、SQL(Structured Query Language,结构化查询语言)攻击或木马攻击等。
图1的应用程序的防护方法,通过接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别,在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
图3是本公开实施例提供的一种应用程序的防护模型的建模流程图。本公开实施例提供的建模方法可以由图1实施例中的终端和/或服务器执行。
如图3所示,本公开实施例提供的方法可以包括如下步骤。
在步骤S310中,对训练样本进行特征提取。
在该步骤中,终端和/或服务器对训练样本进行特征提取。在一个实施例总,通过BERT对训练样本进行特征提取。可以根据编码词典,将训练样本进行编码,再利用BERT模型对其进行特征抽取,训练BERT模型的特征抽取能力。其中,训练样本可以包括多种类别的攻击样本,可以通过标注的方式对训练样本进行分类并标注类别标签,完成标注的训练样本根据编码词典编码,然后通过BERT模型进行特征抽取,训练BERT模型的特征抽取能力。
在步骤S320中,根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模。
在该步骤中,终端和/或服务器根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模。其中,根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示包括:获取所有训练样本的特征矩阵;将每个分类中所有训练样本的特征矩阵求和之后取平均,以获取训练样本的每个分类的原型表示。
图3的建模方法,通过对训练样本进行特征提取;根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模,可以实现应用程序的防护模型的建模,从而应用于图1的应用程序的防护方法。
下面结合具体示例对比对本公开的应用程序的防护方法和应用程序的防护模型的建模方法进行具体说明。
图4是本公开实施例提供的一种用户程序的调用请求识别方法流程图。本公开实施例提供的识别方法可以由图1中的服务器执行。
如图4所示,本公开实施例提供的方法可以包括如下步骤。
步骤S401,开始。
步骤S402,输入有标注的调用请求(request请求文本,完成标注的训练样本),根据词典进行编码,通过BERT特征提取器提取特征信息,训练BERT模型的特征抽取能力。其中,训练样本可以包括多种不同类型的攻击类型样本。
步骤S403,生成所有类型的原型表示。将每个训练样本的编码表示都学习完后,通过求和平均方法,计算每个类型的初始原型表示,以完成应用程序的防护模型的建模。
每种类型的初始原型表示可以通过以下公式(1)获得:
其中,公式(1)S是y类型的训练样本集,x代表一个训练样本,y代表x的标注类型,函数f代表对训练样本特征抽取。
图5是本公开一个实施例的一个类型的初始原型表示的生成示意图。
参考图5,BERT特征提取器提取左侧训练样本的特征矩阵,然后根据公式(1)获得右侧的初始原型表示。
步骤S404,输入待检测调用请求。其中,输入待检测调用请求可以是一个,也可以是多个。
步骤S405,提取待检测调用请求的特征,使用待检测调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中原型表示的类别的伪标签。
步骤S406,根据待检测调用请求的特征对对应的原型表示进行更新。如果输入待检测调用请求是多个,则对多个对应的原型表示进行更新。
图6示出了本公开一个实施例的原型表示更新示意图。如图6所示,箭头左侧的方框包括4个原型表示,每个原型表示中的两个小方块代表对应待检测调用请求的特征(假如每个原型表示都对应一个待检测调用请求),箭头右侧表示根据待检测调用请求的特征对对应的原型表示进行更新。
每种类型的初始原型更新可以通过以下公式(2)获得:
其中,公式(2)S是y类型的训练样本集,x代表一个训练样本,y代表x的标注类型,函数f代表对训练样本或待检测调用请求特征抽取;Q是y类型(伪标签)的调用请求集,x上波浪线代表一个待检测调用请求,双竖线代表取对应集的数量。
步骤S407,计算每一个待检测调用请求与所有分类原型表示的欧氏距离。
步骤S408,通过归一化指数函数,得到每一个待检测调用请求属于各分类的概率。
每一个待检测调用请求属于各分类的概率可以通过以下公式(3)获得:
步骤S409,输出每一个待检测调用请求的对应的概率最大的类型。
图4的用户程序的调用请求识别方法,通过输入有标注的调用请求,根据词典进行编码,通过BERT特征提取器提取特征信息,训练BERT模型的特征抽取能力;生成所有分类的原型表示;输入待检测调用请求;提取待检测调用请求的特征,使用待检测调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中原型表示的类别的伪标签;根据待检测调用请求的特征对对应的原型表示进行更新;计算每一个待检测调用请求与所有分类原型表示的欧氏距离;通过归一化指数函数,得到每一个待检测调用请求属于各分类的概率;输出每一个待检测调用请求的对应的概率最大的类型,可以在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
图7是本公开实施例提供的一种用户程序的调用请求识别方法的结构图。本公开实施例提供的识别方法可以由图1实施例中的服务器执行。
如图7所示,左上角的训练样本经过BERT对训练样本进行特征提取后,根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示(C1,C2,C3和C4)。左下角的待检测调用请求经过BERT进行特征提取后,使用待检测调用请求的特征与训练样本特征进行聚类,以获取调用请求属于原型表示的类别的伪标签;根据待检测调用请求的特征对对应的原型表示进行更新;计算待检测调用请求与所有分类原型表示的欧氏距离;通过归一化指数函数,得到待检测调用请求属于各分类的概率;输出待检测调用请求的对应的概率最大的类型C4。
图7的具体调用请求识别方法结构图,在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
图8是本公开实施例提供的一种应用程序的防护装置的结构示意图。
如图8所示,本公开实施例提供的应用程序的防护装置800可以包括:
接收单元810,用于接收用户程序的调用请求;
提取单元820,用于提取调用请求的特征;
聚类单元830,用于使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;
更新单元840,用于根据调用请求的特征对第一原型表示进行更新;
距离单元850,用于获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;
分类单元860,用于根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。
图8的应用程序的防护装置,通过接收单元接收用户程序的调用请求;提取单元提取调用请求的特征;聚类单元使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;更新单元根据调用请求的特征对第一原型表示进行更新;距离单元获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;分类单元根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别,在对调用请求的识别过程中使用调用请求的特征对应用程序的防护模型进行训练,从而提高调用请求的识别的准确率。
在一个实施例中,提取单元820,还用于对训练样本进行特征提取;装置还包括训练单元,用于根据提取的训练样本的特征和训练样本的分类通过求和平均的方法获取训练样本的每个分类的原型表示,以完成应用程序的防护模型的建模。
在一个实施例中,提取单元820,还用于通过基于转换器的双向编码器表示BERT对训练样本进行特征提取。
在一个实施例中,训练单元,还用于获取所有训练样本的特征矩阵;将每个分类中所有训练样本的特征矩阵求和之后取平均,以获取训练样本的每个分类的原型表示。
在一个实施例中,更新单元840,还用于获取调用请求的特征矩阵;将调用请求的特征矩阵与第一原型表示的特征矩阵求和之后取平均,以获取更新后的第一原型表示。
在一个实施例中,分类单元860,还用于根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,使用归一化指数函数获取调用请求属于所有原型表示的类别的概率;以概率最大的原型表示的类别为调用请求的类别。
在一个实施例中,提取单元820,还用于通过基于转换器的双向编码器表示BERT提取调用请求的特征。
参见图9,图9是本公开实施例提供的一种计算机设备的结构示意图。如图9所示,本公开实施例中的计算机设备可以包括:一个或多个处理器901、存储器902和输入输出接口903。该处理器901、存储器902和输入输出接口903通过总线904连接。存储器902用于存储计算机程序,该计算机程序包括程序指令,输入输出接口903用于接收数据及输出数据,如用于宿主机与计算机设备之间进行数据交互,或者用于在宿主机中的各个虚拟机之间进行数据交互;处理器901用于执行存储器902存储的程序指令。
其中,该处理器901可以执行如下操作:
根据原始调用请求数据对生成式对抗网络的生成器和判别器进行对抗训练,使得生成器生成的调用请求数据样本拟合真实调用请求数据的分布;通过生成器生成第一调用请求数据样本;使用原始调用请求数据和第一调用请求数据样本对匹配模型进行训练,以使匹配模型具备识别用户程序的调用请求为正常调用请求或异常调用请求的能力。
或者,该处理器901可以执行如下操作:
接收用户程序的调用请求;提取调用请求的特征;使用调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;根据调用请求的特征对第一原型表示进行更新;获取调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离;根据调用请求的特征与应用程序的防护模型中所有原型表示的欧氏距离,获取调用请求的类别。
在一些可行的实施方式中,该处理器901可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器902可以包括只读存储器和随机存取存储器,并向处理器901和输入输出接口903提供指令和数据。存储器902的一部分还可以包括非易失性随机存取存储器。例如,存储器902还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如上述实施例中各个步骤所提供的实现方式,具体可参见上述实施例中各个步骤所提供的实现方式,在此不再赘述。
本公开实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行上述实施例中所示方法的各个步骤,进行传输操作。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行上述实施例中各个步骤所提供的方法,具体可参见上述实施例中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本公开所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本公开方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选方式中所提供的方法。
本公开实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例提供的方法及相关装置是参照本公开实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程传输设备的处理器以产生一个机器,使得通过计算机或其他可编程传输设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程传输设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程传输设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本公开较佳实施例而已,当然不能以此来限定本公开之权利范围,因此依本公开权利要求所作的等同变化,仍属本公开所涵盖的范围。
Claims (11)
1.一种应用程序的防护方法,其特征在于,包括:
接收用户程序的调用请求;
提取所述调用请求的特征;
使用所述调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取所述调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;
根据所述调用请求的特征对所述第一原型表示进行更新;
获取所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离;
根据所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离,获取所述调用请求的类别。
2.根据权利要求1所述的方法,其特征在于,还包括:
对所述训练样本进行特征提取;
根据提取的所述训练样本的特征和所述训练样本的分类通过求和平均的方法获取所述训练样本的每个分类的原型表示,以完成所述应用程序的防护模型的建模。
3.根据权利要求2所述的方法,其特征在于,对训练样本进行特征提取包括:
通过基于转换器的双向编码器表示BERT对训练样本进行特征提取。
4.根据权利要求2所述的方法,其特征在于,根据提取的所述训练样本的特征和所述训练样本的分类通过求和平均的方法获取所述训练样本的每个分类的原型表示包括:
获取所有训练样本的特征矩阵;
将每个分类中所有训练样本的特征矩阵求和之后取平均,以获取所述训练样本的每个分类的原型表示。
5.根据权利要求4所述的方法,其特征在于,根据所述调用请求的特征对所述第一原型表示进行更新包括:
获取所述调用请求的特征矩阵;
将所述调用请求的特征矩阵与所述第一原型表示的特征矩阵求和之后取平均,以获取更新后的所述第一原型表示。
6.根据权利要求1所述的方法,其特征在于,根据所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离,获取所述调用请求的类别包括:
根据所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离,使用归一化指数函数获取所述调用请求属于所有原型表示的类别的概率;
以概率最大的原型表示的类别为所述调用请求的类别。
7.根据权利要求1所述的方法,其特征在于,提取所述调用请求的特征包括:
通过基于转换器的双向编码器表示BERT提取所述调用请求的特征。
8.一种应用程序的防护装置,其特征在于,包括:
接收单元,用于接收用户程序的调用请求;
提取单元,用于提取所述调用请求的特征;
聚类单元,用于使用所述调用请求的特征与应用程序的防护模型的训练样本特征进行聚类,以获取所述调用请求属于应用程序的防护模型中第一原型表示的类别的伪标签;
更新单元,用于根据所述调用请求的特征对所述第一原型表示进行更新;
距离单元,用于获取所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离;
分类单元,用于根据所述调用请求的特征与所述应用程序的防护模型中所有原型表示的欧氏距离,获取所述调用请求的类别。
9.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-7任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160278.6A CN115550014B (zh) | 2022-09-22 | 2022-09-22 | 应用程序防护方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160278.6A CN115550014B (zh) | 2022-09-22 | 2022-09-22 | 应用程序防护方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115550014A true CN115550014A (zh) | 2022-12-30 |
CN115550014B CN115550014B (zh) | 2024-03-19 |
Family
ID=84729505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211160278.6A Active CN115550014B (zh) | 2022-09-22 | 2022-09-22 | 应用程序防护方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115550014B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100724A1 (zh) * | 2017-11-24 | 2019-05-31 | 华为技术有限公司 | 训练多标签分类模型的方法和装置 |
-
2022
- 2022-09-22 CN CN202211160278.6A patent/CN115550014B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100724A1 (zh) * | 2017-11-24 | 2019-05-31 | 华为技术有限公司 | 训练多标签分类模型的方法和装置 |
CN109840530A (zh) * | 2017-11-24 | 2019-06-04 | 华为技术有限公司 | 训练多标签分类模型的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115550014B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN110798417A (zh) | 一种基于循环残差网络的信号调制识别方法及装置 | |
CN111107048A (zh) | 一种钓鱼网站检测方法、装置和存储介质 | |
CN109831459B (zh) | 安全访问的方法、装置、存储介质和终端设备 | |
Idrissi et al. | An unsupervised generative adversarial network based-host intrusion detection system for internet of things devices | |
CN107368856A (zh) | 恶意软件的聚类方法及装置、计算机装置及可读存储介质 | |
CN111538929A (zh) | 网络链接识别方法、装置、存储介质及电子设备 | |
CN110046297B (zh) | 运维违规操作的识别方法、装置和存储介质 | |
CN111177367B (zh) | 案件分类方法、分类模型训练方法及相关产品 | |
CN112118551A (zh) | 设备风险识别方法及相关设备 | |
CN114422271A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN113762326A (zh) | 一种数据识别方法、装置、设备及可读存储介质 | |
CN113722197B (zh) | 移动终端异常识别方法、系统 | |
CN116633804A (zh) | 网络流量检测模型的建模方法、防护方法及相关设备 | |
CN113221721A (zh) | 图像识别方法、装置、设备及介质 | |
CN116800518A (zh) | 一种网络防护策略的调整方法及装置 | |
CN115550014B (zh) | 应用程序防护方法及相关设备 | |
CN115935358A (zh) | 一种恶意软件识别方法、装置、电子设备及存储介质 | |
CN112765022B (zh) | 一种基于数据流的Webshell静态检测方法及电子设备 | |
CN114266906A (zh) | 用户端识别违规数据的方法、设备、介质及程序产品 | |
CN114817925A (zh) | 基于多模态图特征的安卓恶意软件检测方法及系统 | |
CN113888760A (zh) | 基于软件应用的违规信息监控方法、装置、设备及介质 | |
CN113626815A (zh) | 病毒信息的识别方法、病毒信息的识别装置及电子设备 | |
CN116775889B (zh) | 基于自然语言处理的威胁情报自动提取方法、系统、设备和存储介质 | |
CN117253286B (zh) | 人体动作预测方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |