CN116991455A - 一种api资产识别方法和装置 - Google Patents
一种api资产识别方法和装置 Download PDFInfo
- Publication number
- CN116991455A CN116991455A CN202310945038.5A CN202310945038A CN116991455A CN 116991455 A CN116991455 A CN 116991455A CN 202310945038 A CN202310945038 A CN 202310945038A CN 116991455 A CN116991455 A CN 116991455A
- Authority
- CN
- China
- Prior art keywords
- api
- asset
- target
- long
- neural network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013528 artificial neural network Methods 0.000 claims abstract description 64
- 230000007787 long-term memory Effects 0.000 claims abstract description 28
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 239000013598 vector Substances 0.000 claims description 85
- 230000015654 memory Effects 0.000 claims description 47
- 230000006403 short-term memory Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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/903—Querying
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/047—Probabilistic or stochastic 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种API资产识别方法和装置,该方法包括:将待检测的网络流量输入API资产识别模型,得到网络流量中的目标API资产;网络流量为流经目标网络链路的数据包的总体;API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;查询目标网络链路的API资产库中是否存在目标API资产;若存在目标API资产,则将目标API资产丢弃;若不存在目标API资产,则将目标API资产加入API资产库中。本方案采用API资产识别模型识别网络流量中的API资产,并通过查询API资产库确定该API资产是否为全新的API资产,可以精确、高效、智能的识别变种、同类、全新的API资产。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种API资产识别方法和装置。
背景技术
API(application program interface,应用程序接口)是一些预先定义的函数或指软件系统不同组成部分衔接的约定。其用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,从而无需访问源码或理解内部工作机制的细节。
目前绝大多数的企业虽然都建立有公司内部的API台账,如通过开发、部署文档记录了API的类型、参数等,但随着开发团队的变更、版本的升级、业务不断发展的情况下,API文档可能已经长期未进行更新,导致管理者对API资产无法完全掌握。
传统意义上的API资产的梳理主要通过两种方式进行,第一种是自动化API资产发现技术,即采用流量识别技术自动化发现API、参数和数据类型,并将发现的资产信息录入管理系统。第二种是采用人工主动报备的方式,将测试环境与临时环境中使用过且未关闭的API进行统计并纳入管理。
人工识别方式无论采用何种技术辅助,均具有高成本、不及时、难维护等问题。采用自动化API资产发现技术是大多数场景所期望使用且一直在使用的方式。但当前的自动化API资产发现技术大多是基于已有规则的技术,无论是防火墙、IDS(intrusiondetection system,入侵检测系统)等产品均基于规则实现,无法精确、高效、智能的实现自动识别变种、同类、全新的API资产,某些场景下仍需人工辅助实现。对于快速增长的API资产场景,这种方式显然已不再适用。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,为此,本发明第一方面提出一种API资产识别方法,所述方法包括:
将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;
查询所述目标网络链路的API资产库中是否存在所述目标API资产;
若存在所述目标API资产,则将所述目标API资产丢弃;
若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
可选地,所述API资产识别模型通过以下方法训练得到:
获取API资产数据集;所述API资产数据集中包括API数据信息和所述API数据信息对应的时间戳;
使用词嵌入技术将所述API数据信息转化为API编码向量,并对所述API编码向量进行特征提取,得到API特征向量;
将所述API特征向量根据对应的时间戳组成特征序列;
将所述特征序列输入长短期记忆神经网络,并将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率;
基于所述概率确定所述各个特征的注意力权重;
将所述API特征向量与所述注意力权重加权,得到API加权特征向量;
基于所述API加权特征向量对所述长短期记忆神经网络进行训练,得到API资产识别模型。
可选地,所述将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布,包括:
获取所述长短期记忆神经网络的每个时间步上的查询向量;
利用打分函数计算所述特征序列每个位置的特征向量与所述每个时间步上的查询向量的相关性;
将各个所述相关性进行归一化,得到归一化相关性;
将所述归一化相关性作为所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
可选地,所述基于所述API加权特征向量对所述长短期记忆神经网络进行训练,包括:
将所述API加权特征向量输入所述长短期记忆神经网络,识别得到预测API资产信息;
将所述预测API资产信息与所述网络流量的真实API资产信息进行比对,得到残差;
基于所述残差调整所述长短期记忆神经网络的参数,并继续对所述长短期记忆神经网络进行训练,直至所述残差小于预设残差阈值,得到API资产识别模型。
可选地,在查询所述目标网络链路的API资产库中是否存在所述目标API资产之前,还包括:
获取所述目标网络链路当前已知的API资产信息;
对所述API资产信息进行路径折叠、信息补全和数据格式化,得到标准API资产信息;
将所述标准API资产信息的集合确定为API资产库。
本发明第二方面提出一种API资产识别装置,所述装置包括:
检测模块,用于将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;
查询模块,用于查询所述目标网络链路的API资产库中是否存在所述目标API资产;
丢弃模块,用于若存在所述目标API资产,则将所述目标API资产丢弃;
添加模块,用于若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
可选地,所述装置还包括训练模块,所述训练模块用于:
获取API资产数据集;所述API资产数据集中包括API数据信息和所述API数据信息对应的时间戳;
使用词嵌入技术将所述API数据信息转化为API编码向量,并对所述API编码向量进行特征提取,得到API特征向量;
将所述API特征向量根据对应的时间戳组成特征序列;
将所述特征序列输入长短期记忆神经网络,并将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率;
基于所述概率确定所述各个特征的注意力权重;
将所述API特征向量与所述注意力权重加权,得到API加权特征向量;
基于所述API加权特征向量对所述长短期记忆神经网络进行训练,得到API资产识别模型。
可选地,所述训练模块具体用于:
获取所述长短期记忆神经网络的每个时间步上的查询向量;
利用打分函数计算所述特征序列每个位置的特征向量与所述每个时间步上的查询向量的相关性;
将各个所述相关性进行归一化,得到归一化相关性;
将所述归一化相关性作为所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
可选地,所述训练模块具体用于:
将所述API加权特征向量输入所述长短期记忆神经网络,识别得到预测API资产信息;
将所述预测API资产信息与所述网络流量的真实API资产信息进行比对,得到残差;
基于所述残差调整所述长短期记忆神经网络的参数,并继续对所述长短期记忆神经网络进行训练,直至所述残差小于预设残差阈值,得到API资产识别模型。
可选地,所述装置还包括:
信息获取模块,用于获取所述目标网络链路当前已知的API资产信息;
标准化模块,用于对所述API资产信息进行路径折叠、信息补全和数据格式化,得到标准API资产信息;
确定模块,用于将所述标准API资产信息的集合确定为API资产库。
本发明第三方面提出一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的API资产识别方法。
本发明第四方面提出一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的API资产识别方法。
本发明实施例具有以下有益效果:
本发明实施例提供的API资产识别方法,将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;查询所述目标网络链路的API资产库中是否存在所述目标API资产;若存在所述目标API资产,则将所述目标API资产丢弃;若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。本方案采用API资产识别模型识别网络流量中的API资产,并通过查询API资产库确定该API资产是否为全新的API资产,可以精确、高效、智能的识别变种、同类、全新的API资产。
附图说明
图1为本发明实施例提供的一种API资产识别方法的步骤流程图;
图2为本发明实施例提供的一种API资产识别装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
图1是本发明实施例提供的一种API资产识别方法的步骤流程图。如图1所示,该方法包括以下步骤:
步骤101、将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建。
网络流量是单位时间内通过网络链路的数据包的总体,是衡量网络负荷和转发性能的基本指标,网络流量可以是调用应用程序接口(Application ProgrammingInterface,API)产生的流量,也可以是背景流量等,为了更好地管理API资产,需要从网络流量中识别使用的API。
API资产识别模型基于长短期记忆神经网络(Long Short-Term Memory,LSTM)构建,该长短期记忆神经网络融入了注意力机制(Attention Mechanism)。
本方案主体使用长短期记忆神经网络,注意力机制用于计算特征权重。注意力模型不能单独运行,需要运行在长短期记忆神经网络中。
注意力机制是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案。
注意力机制的引入可以使模型在编辑阶段更加关注重要的信息部分,提高模型的表达能力和性能。可以帮助模型动态地调整对不同位置信息的关注程度,从而更加准确地捕捉关键特征和上下文信息。
本方案实时传入网络流量,调用API资产识别模型自动识别网络流量中的API资产,API资产识别模型输出识别到的目标API资产。该目标API资产可以是一条或多条API资产。
若API资产识别模型输出为空,则表示未识别到网络流量中存在API资产。
步骤102、查询所述目标网络链路的API资产库中是否存在所述目标API资产。
将目标API资产和目标网络链路的API资产库信息比较,判别该识别出的各个目标API资产是否已记录在API资产库中。
步骤103、若存在所述目标API资产,则将所述目标API资产丢弃。
若API资产库中存在该目标API资产,则说明管理者对该目标API资产已掌握,无须将其重复加入API资产库中,将其丢弃即可。
步骤104、若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
针对未记录的API资产,首先将其放入API资产库,可用于下一次的API资产判别过程。
本方案中采用API资产识别模型,实现API资产主动发现,大大提高了对API资产发现的准确率和准确性。API资产识别模型通过对大量的数据的学习和训练,能够识别出具有API特征的信息,并通过智能的搜索和筛选发现潜在的API资产。
本方案实现API资产的自动化处置,节约人力成本。本方案可针对不同场景需求,智能处置API资产,形成规范化的API资产库。
综上,本发明实施例提供的API资产识别方法,将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;查询所述目标网络链路的API资产库中是否存在所述目标API资产;若存在所述目标API资产,则将所述目标API资产丢弃;若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。本方案采用API资产识别模型识别网络流量中的API资产,并通过查询API资产库确定该API资产是否为全新的API资产,可以精确、高效、智能的识别变种、同类、全新的API资产。
在一种可能的实施方式中,所述API资产识别模型通过以下方法训练得到:
步骤201、获取API资产数据集;所述API资产数据集中包括API数据信息和所述API数据信息对应的时间戳。
收集API资产数据集,包括收集API文档库、代码库、开源项目库等资料中的API资产数据。
API资产数据具体包括API数据信息和API数据信息对应的采集时间戳。
API数据信息主要包括有API描述信息、API参数信息、API调用信息和API调用返回信息等。
对收集到的API资产数据进行预处理,包括去除无效数据、脏数据、统一大小写等。然后进行数据标注,主要包括标注API资产的类别信息和API资产的特征信息。
步骤202、使用词嵌入技术将所述API数据信息转化为API编码向量,并对所述API编码向量进行特征提取,得到API特征向量。
使用词嵌入技术(如GloVe)将API数据信息由文本形式转化为连续的向量表示。并对将API资产的文本描述和参数信息进行编码,以便于后面的神经网络处理。
对API编码向量进行特征提取,主要包括提取API描述信息、详情、参数列表、参数格式、调用方式、响应形式、返回数据格式等特征数据,得到API特征向量。
步骤203、将所述API特征向量根据对应的时间戳组成特征序列。
每个API特征向量对应有其时间戳信息,根据时间戳的先后顺序将多个API特征向量组成特征序列。
步骤204、将所述特征序列输入长短期记忆神经网络,并将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率。
注意力机制是一种信息筛选方法,可进一步缓解LSTM和GRU(Gate RecurrentUnit,门重现单元)中的长期依赖问题。
注意力机制的实现分三步进行:它首先引入一个和任务相关的表示向量作为特征选择的基准,该向量被称为查询向量(Query Vector);然后选用一种打分函数计算输入特征与查询向量之间的相关性,得到特征被选择的概率分布,这称作注意力分布;最后按注意力分布对输入特征的加权平均筛选出与任务相关的特征信息。
具体地,查询向量是一个人工指定的超参数,它可以是动态生成的向量,也可以是可学习的参数向量。该查询向量用于衡量与输入序列中各个位置的相关度。
步骤205、基于所述概率确定所述各个特征的注意力权重。
每个特征向量对应一个被选择的概率,将该概率作为各个特征的注意力权重。注意力权重表示了模型对输入序列中每个特征的注意力分配,即模型对不同特征信息的关注程度。
步骤206、将所述API特征向量与所述注意力权重加权,得到API加权特征向量。
具体地,将API特征向量与其对应的注意力权重相乘,得到API加权特征向量。
步骤207、基于所述API加权特征向量对所述长短期记忆神经网络进行训练,得到API资产识别模型。
API加权特征向量可以使模型在编辑阶段更加关注重要的特征信息,提高模型的表达能力和性能。可以帮助模型动态地调整对不同特征信息的关注程度,从而更加准确地捕捉关键特征和上下文信息。
在一种可能的实施方式中,步骤204中将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布,包括:
步骤2041、获取所述长短期记忆神经网络的每个时间步上的查询向量;
步骤2042、利用打分函数计算所述特征序列每个位置的特征向量与所述每个时间步上的查询向量的相关性;
步骤2043、将各个所述相关性进行归一化,得到归一化相关性。
步骤2044、将所述归一化相关性作为所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
在步骤2041-步骤2044中,选用一种打分函数计算输入特征与查询向量之间的相关性,然后选用softmax函数对各相关性进行归一化,softmax函数可以将一组任意的实数值转化为在[0,1]之间的概率值,得到归一化相关性。归一化相关性即为特征被选择的概率分布。
将LSTM模型的所有隐藏状态作为键、值对,键具体为特征向量。注意力层将计算查询向量和每个键之间的相关性。示例性地,使用点积模型计算每个查询向量与每个键之间的相关性得分,将该相关性得分作为特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
注意力打分函数有四种常见形式:加性模型、点积模型、缩放点积模型和双线性模型,选用其中一种即可。
在一种可能的实施方式中,步骤207包括:
步骤2071、将所述API加权特征向量输入所述长短期记忆神经网络,识别得到预测API资产信息;
步骤2072、将所述预测API资产信息与所述网络流量的真实API资产信息进行比对,得到残差;
步骤2073、基于所述残差调整所述长短期记忆神经网络的参数,并继续对所述长短期记忆神经网络进行训练,直至所述残差小于预设残差阈值,得到API资产识别模型。
在步骤2071-步骤2073中,使用API加权特征向量对LSTM模型进行训练。通过反向传播算法和优化器调整模型的权重,以最小化残差。
使用测试集对训练好的模型进行评估,计算模型在准确性、召回率、精确率等指标上的性能。使用训练好的模型进行API资产的自动识别,针对其识别效果,对部分参数调优再测试。经过调优后的模型,经主逻辑封装、参数化等步骤即可形成API资产识别模型。
在一种可能的实施方式中,在步骤101之前,还包括:
步骤301、获取所述目标网络链路当前已知的API资产信息;
步骤302、对所述API资产信息进行路径折叠、信息补全和数据格式化,得到标准API资产信息;
步骤303、将所述标准API资产信息的集合确定为API资产库。
在步骤301-步骤303中,使用已知API资产信息形成API资产库。然后对API资产库内容规划化。规范化主要包括路径折叠、API资产信息补全、数据格式化等操作。经API资产库规范化后,即可形成API资产库。
其中,在API资产中,存在众多类似“api/test/111”与“api/test/112”这样路径高度重合的API端点。进一步观测这些近似的API端点,会发现它们往往也具有相同的用途。这些API端点往往仅有固定位置的路径参数不同,而路径参数的变量多达成百上千。若api/test已代表了资产,111和112为参数,则可将其合并为一个资产。这种合并API资产的操作称为路径折叠。
图2是本发明实施例提供的一种API资产识别装置的结构框图。该API资产识别装置400包括:
检测模块401,用于将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;
查询模块402,用于查询所述目标网络链路的API资产库中是否存在所述目标API资产;
丢弃模块403,用于若存在所述目标API资产,则将所述目标API资产丢弃;
添加模块404,用于若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种API资产识别方法,其特征在于,所述方法包括:
将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;
查询所述目标网络链路的API资产库中是否存在所述目标API资产;
若存在所述目标API资产,则将所述目标API资产丢弃;
若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
2.根据权利要求1所述的方法,其特征在于,所述API资产识别模型通过以下方法训练得到:
获取API资产数据集;所述API资产数据集中包括API数据信息和所述API数据信息对应的时间戳;
使用词嵌入技术将所述API数据信息转化为API编码向量,并对所述API编码向量进行特征提取,得到API特征向量;
将所述API特征向量根据对应的时间戳组成特征序列;
将所述特征序列输入长短期记忆神经网络,并将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率;
基于所述概率确定所述各个特征的注意力权重;
将所述API特征向量与所述注意力权重加权,得到API加权特征向量;
基于所述API加权特征向量对所述长短期记忆神经网络进行训练,得到API资产识别模型。
3.根据权利要求2所述的方法,其特征在于,所述将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布,包括:
获取所述长短期记忆神经网络的每个时间步上的查询向量;
利用打分函数计算所述特征序列每个位置的特征向量与所述每个时间步上的查询向量的相关性;
将各个所述相关性进行归一化,得到归一化相关性;
将所述归一化相关性作为所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
4.根据权利要求2所述的方法,其特征在于,所述基于所述API加权特征向量对所述长短期记忆神经网络进行训练,包括:
将所述API加权特征向量输入所述长短期记忆神经网络,识别得到预测API资产信息;
将所述预测API资产信息与所述网络流量的真实API资产信息进行比对,得到残差;
基于所述残差调整所述长短期记忆神经网络的参数,并继续对所述长短期记忆神经网络进行训练,直至所述残差小于预设残差阈值,得到API资产识别模型。
5.根据权利要求1所述的方法,其特征在于,在查询所述目标网络链路的API资产库中是否存在所述目标API资产之前,还包括:
获取所述目标网络链路当前已知的API资产信息;
对所述API资产信息进行路径折叠、信息补全和数据格式化,得到标准API资产信息;
将所述标准API资产信息的集合确定为API资产库。
6.一种API资产识别装置,其特征在于,所述装置包括:
检测模块,用于将待检测的网络流量输入API资产识别模型,得到所述网络流量中的目标API资产;所述网络流量为流经目标网络链路的数据包的总体;所述API资产识别模型基于融入注意力机制的长短期记忆神经网络构建;
查询模块,用于查询所述目标网络链路的API资产库中是否存在所述目标API资产;
丢弃模块,用于若存在所述目标API资产,则将所述目标API资产丢弃;
添加模块,用于若不存在所述目标API资产,则将所述目标API资产加入所述API资产库中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括训练模块,所述训练模块用于:
获取API资产数据集;所述API资产数据集中包括API数据信息和所述API数据信息对应的时间戳;
使用词嵌入技术将所述API数据信息转化为API编码向量,并对所述API编码向量进行特征提取,得到API特征向量;
将所述API特征向量根据对应的时间戳组成特征序列;
将所述特征序列输入长短期记忆神经网络,并将所述特征序列与所述长短期记忆神经网络的查询向量进行相关性计算,得到所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率;
基于所述概率确定所述各个特征的注意力权重;
将所述API特征向量与所述注意力权重加权,得到API加权特征向量;
基于所述API加权特征向量对所述长短期记忆神经网络进行训练,得到API资产识别模型。
8.根据权利要求7所述的装置,其特征在于,所述训练模块具体用于:
获取所述长短期记忆神经网络的每个时间步上的查询向量;
利用打分函数计算所述特征序列每个位置的特征向量与所述每个时间步上的查询向量的相关性;
将各个所述相关性进行归一化,得到归一化相关性;
将所述归一化相关性作为所述特征序列中的各个特征被所述长短期记忆神经网络选择的概率分布。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-6任一项所述的API资产识别方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-6任一项所述的API资产识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310945038.5A CN116991455A (zh) | 2023-07-31 | 2023-07-31 | 一种api资产识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310945038.5A CN116991455A (zh) | 2023-07-31 | 2023-07-31 | 一种api资产识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116991455A true CN116991455A (zh) | 2023-11-03 |
Family
ID=88524324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310945038.5A Pending CN116991455A (zh) | 2023-07-31 | 2023-07-31 | 一种api资产识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991455A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421640A (zh) * | 2023-11-16 | 2024-01-19 | 国网江苏省电力有限公司信息通信分公司 | 一种api资产识别方法、装置、设备及存储介质 |
-
2023
- 2023-07-31 CN CN202310945038.5A patent/CN116991455A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421640A (zh) * | 2023-11-16 | 2024-01-19 | 国网江苏省电力有限公司信息通信分公司 | 一种api资产识别方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109598095B (zh) | 评分卡模型的建立方法、装置、计算机设备和存储介质 | |
US6542881B1 (en) | System and method for revealing necessary and sufficient conditions for database analysis | |
CN109886554B (zh) | 违规行为判别方法、装置、计算机设备和存储介质 | |
CN109816200B (zh) | 任务推送方法、装置、计算机设备和存储介质 | |
CN111078513B (zh) | 日志处理方法、装置、设备、存储介质及日志告警系统 | |
CN111160749A (zh) | 一种情报质量评估和情报融合方法及装置 | |
CN116991455A (zh) | 一种api资产识别方法和装置 | |
CN110968688A (zh) | 司法数据的处理方法及系统 | |
CN112182269B (zh) | 图像分类模型的训练、图像分类方法、装置、设备及介质 | |
CN111160959A (zh) | 一种用户点击转化预估方法及装置 | |
CN114679341B (zh) | 结合erp系统的网络入侵攻击分析方法、设备及介质 | |
CN114418175A (zh) | 一种人员管理方法、装置、电子设备及存储介质 | |
CN117196322A (zh) | 智能风控方法、装置、计算机设备及存储介质 | |
CN114285587A (zh) | 域名鉴别方法和装置、域名分类模型的获取方法和装置 | |
CN114692785B (zh) | 行为分类方法、装置、设备及存储介质 | |
CN109992778B (zh) | 基于机器学习的简历文档判别方法及装置 | |
CN114862372B (zh) | 基于区块链的智慧教育数据防篡改处理方法及系统 | |
CN114579834B (zh) | 网页登录实体识别方法、装置、电子设备及存储介质 | |
CN111260219A (zh) | 资产类别识别方法、装置、设备及计算机可读存储介质 | |
CN115775064A (zh) | 一种工程决算结果评估方法及云平台 | |
CN117009509A (zh) | 数据安全分级方法、装置、设备、存储介质和程序产品 | |
CN112613072B (zh) | 基于档案大数据的信息管理方法、管理系统及管理云平台 | |
CN112487486A (zh) | 基于区块链的数据获取方法、装置以及计算机设备 | |
CN114356405B (zh) | 开源组件函数的匹配方法、装置、计算机设备和存储介质 | |
CN113837863B (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 |