一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人工智能的域名接口调用方法及相关设备与流程

2022-11-13 11:48:22 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种基于人工智能的域名接口调用方法、装置、电子设备及存储介质。


背景技术:

2.随着大数据技术的迅速发展,越来越多的企业在业务运行过程中倾向于利用网站调用程序接口从而实现自动化数据提取,以提升业务运行效率。如果不对网站调用接口实施管控,一些网站中的敏感信息可能会有泄露的风险。
3.目前,通常通过两种方式对网站调用接口的行为进行管控,其一为配置域名白名单,然而这种方式管控的颗粒度太粗,容易造成过度授权的问题;另一种方式为配置网址白名单,然而这种方式需要耗费大量人力对网址白名单进行维护,导致管控效率低下。


技术实现要素:

4.鉴于以上内容,有必要提供一种基于人工智能的域名接口调用方法及相关设备,以解决如何提高域名接口调用的管控效率这一技术问题,其中,相关设备包括基于人工智能的域名接口调用装置、电子设备及存储介质。
5.本技术实施例提供一种基于人工智能的域名接口调用方法,所述方法包括:
6.采集历史域名和历史接口获得多个域名字符和多个接口字符,分别计算所述域名字符的权重和所述接口字符的权重;
7.对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码;
8.依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集;
9.依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型;
10.基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级;
11.对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策。
12.上述基于人工智能的域名接口调用方法通过对历史域名和历史接口进行编码获得大量域名编码与接口编码,并分别依据域名编码和接口编码训练域名分类模型和接口分类模型,进而依据域名分类模型判别待识别域名的安全等级,并依据接口分类模型判别待识别接口的等级,对比待识别域名的安全等级与待识别接口的安全等级制定域名接口调用决策,以量化的形式指引域名接口调用决策的制定,从而能够提升决策制定的效率。
13.在一些实施例中,所述采集历史域名和历史接口获得多个域名字符和接口字符,
计算所述域名字符的权重和所述接口字符的权重,包括:
14.从预设数据库采集多个历史域名和多个历史接口,分别对历史域名和历史接口进行分词处理获得多个域名字符和多个接口字符;
15.分别计算每个域名字符在所有域名字符中的词频作为该域名字符的权重,并分别计算每个接口字符在所有接口字符中的词频作为该接口字符的权重。
16.如此,通过对多个历史域名和历史接口的名称进行分词获得了多个域名字符和接口字符,计算每个域名字符和每个接口字符的词频作为该字符对应的权重,能够以量化的方式表征每个域名字符和每个接口字符的重要性,从而提升后续域名编码和接口编码的准确度。
17.在一些实施例中,所述对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码,包括:
18.依据所述域名字符构建域名共现矩阵,并依据所述接口字符构建接口共现矩阵;
19.从所述域名共现矩阵提取每个域名字符对应的域名向量,并从所述接口共现矩阵提取每个接口字符对应的接口向量;
20.计算所述域名字符的权重与所述域名向量的乘积作为所述域名字符对应的域名编码,并计算所述接口字符的权重与所述接口向量的乘积作为所述接口字符对应的接口编码。
21.如此,通过构建域名共现矩阵获得了域名字符对应的域名向量,并构建接口共现矩阵获得接口字符对应的接口向量,进一步依据域名向量和域名字符的权重计算域名编码,并依据接口向量和接口字符的权重计算接口编码,从而为后续训练域名分类模型和接口分类模型提供了数据支撑。
22.在一些实施例中,所述依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集,包括:
23.将所述历史域名包含的域名字符数量作为所述历史域名的长度,将所有历史域名长度中的最大值作为域名基准值;
24.将所述历史接口包含的接口字符数量作为所述历史接口的长度,将所有历史接口长度中的最大值作为接口基准值;
25.在所述历史域名对应的域名编码之后添加多个第一零向量获得所述历史域名对应的域名样本数据,所述域名样本数据包含的域名编码与第一零向量的总数与所述域名基准值相同;
26.在所述历史接口对应的接口编码之后添加多个第二零向量获得所述历史接口对应的接口样本数据,所述接口样本数据包含的接口编码与第二零向量的总数与所述接口基准值相同;
27.标注所述域名样本数据获得第一标签数据,并标注所述接口样本数据获得第二标签数据;
28.将所述域名样本数据和所述第一标签数据一一对应作为第一训练数据集,并将所述接口样本数据和所述第二标签数据一一对应作为第二训练数据集。
29.如此,通过对历史域名对应的域名编码进行补全获得域名样本数据,并对历史接
口对应的接口编码进行补全获得接口样本数据,利用相同维度的量化数据表征历史域名和历史接口,为后续训练域名分类模型和接口分类模型提供了数据支撑。
30.在一些实施例中,所述依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型,包括:
31.构建初始域名分类模型,所述初始域名分类模型包括第一编码器和第一分类器;
32.构建初始接口分类模型,所述初始接口分类模型包括第二编码器和第二分类器;
33.依据所述第一训练数据集和预设的第一损失函数训练初始域名分类模型,直至所述第一损失函数的数值小于预设的第一终止阈值,停止训练并获得域名分类模型;
34.依据所述第二训练数据集和预设的第二损失函数训练初始接口分类模型,直至所述第二损失函数的数值小于预设的第二终止阈值,停止训练并获得接口分类模型。
35.如此,通过大量数据训练域名分类模型与接口分类模型,能够提升所述域名分类模型与所述接口分类模型的鲁棒性,从而提升后续域名分类和接口分类的准确度。
36.在一些实施例中,所述基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级,包括:
37.对待识别域名进行分词获得待识别域名字符,查询待识别域名字符对应的域名编码,并依据所述待识别域名编码构建所述待识别域名对应的待识别域名样本数据;
38.对待识别接口进行分词获得待识别接口字符,查询待识别接口字符对应的接口编码,并依据所述待识别接口编码构建所述待识别接口对应的待识别接口样本数据;
39.将所述待识别域名样本数据输入所述域名分类模型获得所述待识别域名对应的预测安全等级概率列表,并将所述待识别接口样本数据输入所述接口分类模型获得所述待识别接口对应的预测安全等级概率列表;
40.选取所述待识别域名的预测安全等级概率列表中最大值对应的类别作为所述待识别域名的安全等级,并选取所述待识别接口的预测安全等级概率列表中最大值对应的类别作为所述待识别接口的安全等级。
41.如此,通过所述域名分类模型获得待识别域名的安全等级,并通过所述接口分类模型获得待识别接口的安全等级,无需人为对域名和接口的安全等级做出判断即可为后续制定域名接口放行决策提供数据支撑,从而能够提升域名放行策略的效率。
42.在一些实施例中,所述待识别域名对应多个待识别网址,所述对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策,包括:
43.若所述待识别域名的安全等级不大于所述待识别接口的安全等级,则利用所述待识别域名调用所述待识别接口以完成域名接口调用;
44.若所述待识别域名的安全等级大于所述待识别接口的安全等级,则依据所述待识别域名对应的多个待识别网址与所述待识别接口构建多个待识别键值对;
45.若能够从预设的调度白名单中查询到所述待识别键值对,则利用所述待识别网址调用所述待识别接口以完成域名接口调用,否则向开发人员进行非法调用告警。
46.如此,通过对比待识别域名的安全等级与待识别接口的安全等级以制定域名调用接口决策,以量化的形式智能判别域名调用接口的安全性,从而能够提升制定域名调用接口策略的效率。
47.本技术实施例还提供一种基于人工智能的域名接口调用装置,所述装置包括:
48.采集单元,用于采集历史域名和历史接口获得多个域名字符和多个接口字符,分别计算所述域名字符的权重和所述接口字符的权重;
49.编码单元,用于对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码;
50.构建单元,用于依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集;
51.训练单元,用于依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型;
52.分类单元,用于基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级;
53.对比单元,用于对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策。
54.本技术实施例还提供一种电子设备,所述电子设备包括:
55.存储器,存储计算机可读指令;及
56.处理器,执行所述存储器中存储的计算机可读指令以实现所述基于人工智能的域名接口调用方法。
57.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述基于人工智能的域名接口调用方法。
58.上述基于人工智能的域名接口调用方法通过对历史域名和历史接口进行编码获得大量域名编码与接口编码,并分别依据域名编码和接口编码训练域名分类模型和接口分类模型,进而依据域名分类模型判别待识别域名的安全等级,并依据接口分类模型判别待识别接口的等级,对比待识别域名的安全等级与待识别接口的安全等级制定域名接口调用决策,以量化的形式指引域名接口调用决策的制定,从而能够提升决策制定的效率。
附图说明
59.图1是本技术所涉及的一种基于人工智能的域名接口调用方法的较佳实施例的流程图。
60.图2是本技术所涉及的基于人工智能的域名接口调用装置的较佳实施例的功能模块图。
61.图3是本技术所涉及的基于人工智能的域名接口调用方法的较佳实施例的电子设备的结构示意图。
62.图4a是本技术实施例所涉及的域名安全等级列表的结构示意图。
63.图4b是本技术实施例所涉及的接口安全等级列表的结构示意图。
64.图5是本技术实施例所涉及的域名共现矩阵的结构示意图。
65.图6是本技术实施例所涉及的初始域名分类模型的结构示意图。
具体实施方式
66.为了能够更清楚地理解本技术的目的、特征和优点,下面结合附图和具体实施例对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本技术,所述描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
67.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
68.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
69.本技术实施例提供一种基于人工智能的域名接口调用方法,可应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
70.所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、游戏机、交互式网络电视(internet protocol television,iptv)、智能式穿戴式设备等。
71.所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量主机或网络服务器构成的云。
72.所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
73.如图1所示,是本技术基于人工智能的域名接口调用方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
74.s10,采集历史域名和历史接口获得多个域名字符和多个接口字符,分别计算所述域名字符的权重和所述接口字符的权重。
75.在一个可选的实施例中,所述采集历史域名和历史接口获得多个域名字符和接口字符,计算所述域名字符的权重和所述接口字符的权重,包括:
76.从预设数据库采集多个历史域名和多个历史接口,分别对历史域名和历史接口进行分词处理获得多个域名字符和多个接口字符;
77.分别计算每个域名字符在所有域名字符中的词频作为该域名字符的权重,并分别计算每个接口字符在所有接口字符中的词频作为该接口字符的权重。
78.该可选的实施例中,可从预设的数据库中提取多个历史域名和多个历史接口,所述历史域名的功能是调用所述历史接口以从所述历史域名对应的多个网址中提取或监控数据,示例性的,所述历史域名的格式可以是www.baidu.com、www.google.com,所述历史接
口的名称可以是node.nodevalue、node.textcontent。
79.该可选的实施例中,可依据预设的分词工具分别对所述历史域名和所述历史接口的名称进行分词处理获得多个域名字符和多个接口字符,所述预设的分词工具可以是jieba分词工具、nltk分词工具(natural language toolkit,自然语言工具包)、ltp分词工具(language technology platform,语言技术平台)等现有的分词工具,本技术对此不做限定。
80.示例性的,当某个历史域名的格式为www.baidu.com时,该历史域名对应的多个域名字符分别为www、baidu、com;当某个历史接口的格式为“node.nodevalue”时,该历史接口对应的多个接口字符分别为node、node、value。
81.该可选的实施例中,可分别计算每个域名字符在所有域名字符中出现的频率以作为该域名字符对应的权重,并可分别计算每个接口字符在所有接口字符中出现的频率以作为该接口字符对应的权重。
82.如此,通过对多个历史域名和历史接口的名称进行分词获得了多个域名字符和接口字符,计算每个域名字符和每个接口字符的词频作为该字符对应的权重,能够以量化的方式表征每个域名字符和每个接口字符的重要性,从而提升后续域名编码和接口编码的准确度。
83.s11,对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码。
84.在一个可选的实施例中,所述对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码,包括:
85.依据所述域名字符构建域名共现矩阵,并依据所述接口字符构建接口共现矩阵;
86.从所述域名共现矩阵提取每个域名字符对应的域名向量,并从所述接口共现矩阵提取每个接口字符对应的接口向量;
87.计算所述域名字符的权重与所述域名向量的乘积作为所述域名字符对应的域名编码,并计算所述接口字符的权重与所述接口向量的乘积作为所述接口字符对应的接口编码。
88.该可选的实施例中,可依据所述域名字符构建域名共现矩阵,并依据所述接口字符构建接口共现矩阵。所述域名共现矩阵的每一行的名称对应一个域名字符,每一列的名称对应一个域名字符,且所述域名共现矩阵中具备相同行坐标和列坐标的元素所在行的名称和所在列的名称相同;所述接口共现矩阵的每一行的名称对应一个接口字符,每一列的名称对应一个接口字符,且所述接口共现矩阵中具备相同行坐标和列坐标的元素所在行的名称和所在列的名称相同。
89.该可选的实施例中,以所述域名共现矩阵为例,可初始化设置所述域名共现矩阵中每个元素的值为0,并遍历每个历史域名以对所述域名共现矩阵中的每个元素赋值,所述赋值的具体方式为:
90.从所述域名共现矩阵中任选一个元素作为目标元素,将所述目标元素对应的行名称作为中心字符,并将该目标元素对应的列名称作为近邻字符;
91.依次遍历每个历史域名,若该历史域名中存在所述中心字符,且所述中心字符的前置字符为所述近邻字符,则所述目标元素的元素值增加1,若所述中心字符的后置字符为所述近邻字符,则所述目标元素的元素值也增加1;
92.将所述域名共现矩阵中的每个元素依次作为目标元素,以获得每个元素的取值。
93.如图5所示为所述域名共现矩阵的结构示意图。
94.该可选的实施例中,可初始化设置所述接口共现矩阵中每个元素的值为0,并遍历每个历史接口以对所述接口共现矩阵中的每个元素赋值,所述赋值的方式与域名共现矩阵的赋值方式相同,此处不再赘述。
95.该可选的实施例中,可将所述域名共现矩阵中每一行的元素由左至右排列以组合为该行名称对应域名字符的域名向量,所述域名向量的维度与所有域名字符的数量相等;并可将所述接口共现矩阵中每一行的元素由左至右排列以组合为该行名称对应的接口字符的接口向量,所述接口向量的维度与所有接口字符的数量相等。
96.该可选的实施例中,可计算所述域名字符的权重与所述域名向量的乘积作为域名编码;并可计算所述接口字符的权重与所述接口向量的乘积作为接口编码。
97.该可选的实施例中,可将所述域名字符作为键并将所述域名编码作为值以构建域名键值对,统一存储所述域名键值对获得域名编码哈希表;并可将所述接口字符作为键并将所述接口编码作为值以构建接口键值对,统一存储所述接口键值对获得接口编码哈希表。
98.如此,通过构建域名共现矩阵获得了域名字符对应的域名向量,并构建接口共现矩阵获得接口字符对应的接口向量,进一步依据域名向量和域名字符的权重计算域名编码,并依据接口向量和接口字符的权重计算接口编码,从而为后续训练域名分类模型和接口分类模型提供了数据支撑。
99.s12,依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集。
100.在一个可选的实施例中,所述依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集,包括:
101.将所述历史域名包含的域名字符数量作为所述历史域名的长度,将所有历史域名长度中的最大值作为域名基准值;
102.将所述历史接口包含的接口字符数量作为所述历史接口的长度,将所有历史接口长度中的最大值作为接口基准值;
103.在所述历史域名中所有域名字符对应的域名编码之后添加多个第一零向量获得所述历史域名对应的域名样本数据,所述域名样本数据包含的域名编码和第一零向量的总数与所述域名基准值相同;
104.在所述历史接口中所有接口字符对应的接口编码之后添加多个第二零向量获得所述历史接口对应的接口样本数据,所述接口样本数据包含的接口编码和第二零向量的总数与所述接口基准值相同;
105.标注所述域名样本数据获得第一标签数据,并标注所述接口样本数据获得第二标签数据;
106.将所述域名样本数据和所述第一标签数据一一对应作为第一训练数据集,并将所
述接口样本数据和所述第二标签数据一一对应作为第二训练数据集。
107.该可选的实施例中,可将所述历史域名中包含的域名字符的数量作为每个历史域名的长度,并可将所述历史接口中包含的接口字符的数量作为每个历史接口的长度。
108.该可选的实施例中,可记所有历史域名的长度中最大值为域名基准值,可记所述域名基准值为maxlen
域名
;并可记所有历史接口的长度中最大值为接口基准值,可记所述接口基准值为maxlen
接口

109.该可选的实施例中,若某一个历史域名的长度小于所述域名基准值maxlen
域名
,则在该历史域名对应的所有域名编码之后添加多个第一零向量以获得该历史域名对应的域名样本数据,所述第一零向量的维度与所述域名字符对应域名编码的维度相同,且所述第一零向量中每个维度的值为0,所述多个第一零向量的数量与所述maxlen
域名
和该历史域名长度的差值相等;若某一个历史接口的长度小于所述接口基准值maxlen
接口
,则在该历史接口对应的所有接口编码之后添加多个第二零向量以获得该历史接口对应的接口样本数据,所述第二零向量的维度与所述接口字符对应接口编码的维度相同,且所述第二零向量中每个维度的取值为0,所述多个第二零向量的数量与所述maxlen
接口
和该历史接口长度的差值相等。
110.该可选的实施例中,可从预设的域名安全等级列表中查询每个历史域名对应的安全等级,并将所述历史域名对应的安全等级作为该历史域名对应域名样本数据的类别,依据所述历史域名对应的类别构建所述历史域名的安全等级概率列表,所述历史域名的安全等级概率列表中每个元素用以表征所述历史域名属于某个类别的概率,所述历史域名对应的安全等级包括低风险、中风险和高风险,示例性的,如图4a所示为所述域名安全等级列表的结构示意图,可将所述历史域名对应的安全等级概率列表作为所述历史域名对应的第一标签数据。
111.示例性的,当某个历史域名对应的安全等级为低风险时,则该历史域名的安全等级概率列表为[1,0,0],该安全等级概率列表用以表征该历史域名属于低风险类别的概率为100%,属于中风险类别的概率和属于高风险类别的概率为0。
[0112]
该可选的实施例中,可从预设的接口安全等级列表中查询每个历史接口对应的安全等级,并将所述历史接口对应的安全等级作为该历史接口对应接口样本数据的类别,依据所述历史接口对应的类别构建所述历史接口的安全等级概率列表,所述历史接口的安全等级概率列表中每个元素用以表征所述历史域名属于某个类别的概率,所述历史接口对应的安全等级包括低风险、中风险和高风险,示例性的,如图4b所示为所述接口安全等级列表的结构示意图。
[0113]
示例性的,当某个历史接口对应的安全等级为高风险时,则该历史接口的安全等级概率列表为[0,0,1],该安全等级概率列表用以表征该历史接口属于高风险类别的概率为100%,属于低风险类别的概率和属于中风险类别的概率为0。
[0114]
该可选的实施例中,可将所述域名样本数据与所述第一标签数据一一对应作为第一训练数据集,并可将所述接口样本数据与所述第二标签数据一一对应作为第二训练数据集。
[0115]
如此,通过对历史域名中所有域名字符对应的域名编码进行补全获得域名样本数据,并对历史接口中所有接口字符对应的接口编码进行补全获得接口样本数据,利用相同
维度的量化数据表征历史域名和历史接口,为后续训练域名分类模型和接口分类模型提供了数据支撑。
[0116]
s13,依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型。
[0117]
在一个可选的实施例中,所述依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型,包括:
[0118]
构建初始域名分类模型,所述初始域名分类模型包括第一编码器和第一分类器;
[0119]
构建初始接口分类模型,所述初始接口分类模型包括第二编码器和第二分类器;
[0120]
依据所述第一训练数据集和预设的第一损失函数训练初始域名分类模型,直至所述第一损失函数的数值小于预设的第一终止阈值,停止训练并获得域名分类模型;
[0121]
依据所述第二训练数据集和预设的第二损失函数训练初始接口分类模型,直至所述第二损失函数的数值小于预设的第二终止阈值,停止训练并获得接口分类模型。
[0122]
该可选的实施例中,如图6所示为本方案所述初始域名分类模型的结构示意图,在所述初始域名分类模型中,所述第一编码器由多个第一神经元串联组成,所述多个第一神经元的数量与所述域名样本数据中域名编码与第一零向量的总数相同,所述第一编码器中每个第一神经元的输入分别对应所述域名样本数据中的一个域名编码或一个第一零向量,所述第一编码器的输出为所述域名样本数据对应的第一特征向量;所述第一分类器的输入为所述第一特征向量,所述第一分类器的输出为所述域名样本数据对应的预测安全等级概率列表,所述预测安全等级概率列表中的每个元素用以表征所述域名样本数据属于每个类别的概率值。
[0123]
该可选的实施例中,为了确保所述域名样本数据对应的预测安全等级概率列表与所述第一标签数据对应的安全等级概率列表尽可能的相似,可依次将所述第一训练数据集中域名样本数据对应的预测安全等级概率列表与所述第一标签数据对应的安全等级概率列表输入预设的第一损失函数以计算所述初始域名分类模型的第一损失值,并依据梯度下降算法迭代更新所述初始域名分类模型中的参数,直到所述初始域名分类模型的第一损失值小于预设的第一终止阈值,则停止训练并获得域名分类模型,所述预设的第一损失函数可以是交叉熵损失函数,所述预设的第一终止阈值可以是0.001。
[0124]
该可选的实施例中,所述初始接口分类模型包括第二编码器和第二分类器,所述第二编码器由多个第二神经元串联而成,所述多个第二神经元的数量与所述接口样本数据中接口编码的数量相同,所述第二编码器中每个第二神经元的输入分别对应所述接口样本数据中的一个接口编码或一个第二零向量,所述第二编码器的输出为所述接口样本数据对应的第二特征向量;所述第二分类器的输入为所述第二特征向量,所述第二分类器的输出是所述接口样本数据对应的预测安全等级概率列表。
[0125]
该可选的实施例中,可依据所述第二训练数据集训练所述初始接口分类模型以获得接口分类模型,所述接口分类模型的训练过程与所述域名分类模型的训练过程相同,此处不再赘述。
[0126]
如此,通过大量数据训练域名分类模型与接口分类模型,能够提升所述域名分类模型与所述接口分类模型的鲁棒性,从而提升后续域名分类和接口分类的准确度。
[0127]
s14,基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模
型判断待识别接口的安全等级。
[0128]
在一个可选的实施例中,所述基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级,包括:
[0129]
对待识别域名进行分词获得待识别域名字符,查询待识别域名字符对应的域名编码,并依据所述待识别域名编码构建所述待识别域名对应的待识别域名样本数据;
[0130]
对待识别接口进行分词获得待识别接口字符,查询待识别接口字符对应的接口编码,并依据所述待识别接口编码构建所述待识别接口对应的待识别接口样本数据;
[0131]
将所述待识别域名样本数据输入所述域名分类模型获得所述待识别域名对应的预测安全等级概率列表,并将所述待识别接口样本数据输入所述接口分类模型获得所述待识别接口对应的预测安全等级概率列表;
[0132]
选取所述待识别域名的预测安全等级概率列表中最大值对应的类别作为所述待识别域名的安全等级,并选取所述待识别接口的预测安全等级概率列表中最大值对应的类别作为所述待识别接口的安全等级。
[0133]
该可选的实施例中,所述待识别域名包含多个待识别网址,所述待识别域名的功能是调用待识别接口以监控或提取所述多个待识别网址中的数据。
[0134]
该可选的实施例中,可依据所述预设的分词工具对所述待识别域名进行分词获得多个待识别域名字符,并可依据所述预设的分词工具对所述待识别接口进行分词获得多个待识别接口字符。
[0135]
该可选的实施例中,可从所述域名编码哈希表中查询每个待识别域名字符对应的域名编码作为待识别域名编码,并将所述待识别域名对应的所有待识别域名编码组合为待识别域名样本数据,若所述待识别域名的长度小于所述域名基准值maxlen
域名
,则在所述待识别域名对应的待识别域名编码之后添加多个第一零向量以获得待识别域名样本数据,所述第一零向量的维度与所述域名编码的维度相同,且所述第一零向量中每个维度的值为0,所述多个第一零向量的数量与所述maxlen
域名
和该待识别域名长度的差值相等。
[0136]
该可选的实施例中,可查询每个待识别接口字符对应的接口编码作为待识别接口编码,并将所述待识别接口对应的待识别接口编码组合为待识别接口样本数据,若所述待识别接口的长度小于所述接口基准值maxlen
接口
,则在所述待识别接口对应的待识别接口编码之后添加多个第二零向量以获得待识别接口样本数据,所述第二零向量的维度与所述接口编码的维度相同,且所述第二零向量中每个维度的值为0,所述多个第二零向量的数量与所述maxlen
接口
和该待识别接口长度的差值相等。
[0137]
该可选的实施例中,可将所述待识别域名样本数据中每个待识别域名编码依次输入所述域名分类模型的第一编码器中获得所述域名分类模型的输出结果,所述域名分类模型的输出结果为所述待识别域名对应的预测安全等级概率列表。
[0138]
示例性的,当所述待识别域名样本数据对应的预测安全等级概率列表为[0.9,0.1,0]时,则该待识别域名样本数据对应的待识别域名属于低风险类别的概率为0.9、属于中风险类别的概率为0.1、属于高风险类别的概率为0。
[0139]
该可选的实施例中,可将所述待识别接口样本数据中每个待识别接口编码依次输入所述接口分类模型的第二编码器中,以获得所述待识别接口对应的预测安全等级概率列表。
[0140]
示例性的,当所述待识别接口样本数据对应的预测安全等级概率列表为[0.2,0.3,0.5]时,则该待识别接口样本数据对应的待识别接口属于低风险类别的概率为0.2、属于中风险类别的概率为0.3、属于高风险类别的概率为0.5。
[0141]
该可选的实施例中,可选取所述待识别域名的预测安全等级概率列表中最大值对应的类别作为所述待识别域名的安全等级,并可选取所述待识别接口的预测安全等级概率列表中最大值对应的类别作为所述待识别接口的安全等级。
[0142]
示例性的,当所述待识别域名对应的预测安全等级概率列表为[0.9,0.1,0]时,其最大值为0.9,则该待识别域名对应的类别为低风险;当所述待识别接口对应的预测安全等级概率列表为[0.2,0.3,0.5]时,其最大值为0.5,该待识别接口对应的类别为高风险。
[0143]
如此,通过所述域名分类模型获得待识别域名的安全等级,并通过所述接口分类模型获得待识别接口的安全等级,无需人为对域名和接口的安全等级做出判断即可为后续制定域名接口放行决策提供数据支撑,从而能够提升域名放行策略的效率。
[0144]
s15,对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策。
[0145]
在一个可选的实施例中,所述待识别域名对应多个待识别网址,所述对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策,包括:
[0146]
若所述待识别域名的安全等级不大于所述待识别接口的安全等级,则利用所述待识别域名调用所述待识别接口以完成域名接口调用;
[0147]
若所述待识别域名的安全等级大于所述待识别接口的安全等级,则依据所述待识别域名对应的多个待识别网址与所述待识别接口构建多个待识别键值对;
[0148]
若能够从预设的调度白名单中查询到所述待识别键值对,则利用所述待识别网址调用所述待识别接口以完成域名接口调用,否则向开发人员进行非法调用告警。
[0149]
该可选的实施例中,所述安全等级的大小关系由大至小依次为:高风险、中风险、低风险。
[0150]
该可选的实施例中,可对比所述待识别域名的安全等级与所述待识别接口的安全等级,若所述待识别域名的安全等级不大于所述待识别接口的安全等级,则表明所述待识别域名中包含的内容不属于敏感信息,则可允许所述待识别域名调用所述待识别接口以提取或监控所述待识别域名存储的各项信息。
[0151]
该可选的实施例中,若所述待识别域名的安全等级大于所述待识别接口的安全等级,则表明所述待识别域名中存储的数据较为敏感,则需要进一步判断所述待识别域名是否能够调用所述待识别接口。可分别将所述待识别域名对应的每个待识别网址作为键,并将所述待识别接口作为值以构建多个待识别键值对,所述待识别键值对的数量与所述待识别域名对应的待识别网址的数量相同。
[0152]
该可选的实施例中,可从预设的调度白名单中查询每个待识别键值对,若能查到所述待识别键值对,则表明所述待识别接口可以被该待识别键值对中的待识别网址调用,则可允许所述待识别网址调用所述待识别接口以提取或监控所述待识别网址中的数据,所述预设的调度白名单用以存储所有被允许的网址调用接口的组合。
[0153]
该可选的实施例中,若无法从所述预设的调度白名单中查到所述待识别键值对,则禁止该待识别键值对中的待识别网址调用所述待识别接口,并向开发人员发送非法调用
警报。
[0154]
如此,通过对比待识别域名的安全等级与待识别接口的安全等级以制定域名调用接口决策,以量化的形式智能判别域名调用接口的安全性,从而能够提升制定域名调用接口策略的效率。
[0155]
上述基于人工智能的域名接口调用方法通过对历史域名和历史接口进行编码获得大量域名编码与接口编码,并分别依据域名编码和接口编码训练域名分类模型和接口分类模型,进而依据域名分类模型判别待识别域名的安全等级,并依据接口分类模型判别待识别接口的等级,对比待识别域名的安全等级与待识别接口的安全等级制定域名接口调用决策,以量化的形式指引域名接口调用决策的制定,从而能够提升决策制定的效率。
[0156]
如图2所示,是本技术实施例提供的基于人工智能的域名接口调用装置的较佳实施例的功能模块图。基于人工智能的域名接口调用装置11包括采集单元110、编码单元111、构建单元112、训练单元113、分类单元114、对比单元115。本技术所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
[0157]
在一个可选的实施例中,采集单元110用于采集历史域名和历史接口获得多个域名字符和多个接口字符,分别计算所述域名字符的权重和所述接口字符的权重。
[0158]
在一个可选的实施例中,所述采集历史域名和历史接口获得多个域名字符和接口字符,计算所述域名字符的权重和所述接口字符的权重,包括:
[0159]
从预设数据库采集多个历史域名和多个历史接口,分别对历史域名和历史接口进行分词处理获得多个域名字符和多个接口字符;
[0160]
分别计算每个域名字符在所有域名字符中的词频作为该域名字符的权重,并分别计算每个接口字符在所有接口字符中的词频作为该接口字符的权重。
[0161]
该可选的实施例中,可从预设的数据库中提取多个历史域名和多个历史接口,所述历史域名的功能是调用所述历史接口以从所述历史域名对应的多个网址中提取或监控数据,示例性的,所述历史域名的格式可以是www.baidu.com、www.google.com,所述历史接口的名称可以是node.nodevalue、node.textcontent。
[0162]
该可选的实施例中,可依据预设的分词工具分别对所述历史域名和所述历史接口的名称进行分词处理获得多个域名字符和多个接口字符,所述预设的分词工具可以是jieba分词工具、nltk分词工具(natural language toolkit,自然语言工具包)、ltp分词工具(language technology platform,语言技术平台)等现有的分词工具,本技术对此不做限定。
[0163]
示例性的,当某个历史域名的格式为www.baidu.com时,该历史域名对应的多个域名字符分别为www、baidu、com;当某个历史接口的格式为“node.nodevalue”时,该历史接口对应的多个接口字符分别为node、node、value。
[0164]
该可选的实施例中,可分别计算每个域名字符在所有域名字符中出现的频率以作为该域名字符对应的权重,并可分别计算每个接口字符在所有接口字符中出现的频率以作为该接口字符对应的权重。
[0165]
在一个可选的实施例中,编码单元111用于对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域
名编码,依据接口字符的权重修正接口向量获得接口编码。
[0166]
在一个可选的实施例中,所述对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码,包括:
[0167]
依据所述域名字符构建域名共现矩阵,并依据所述接口字符构建接口共现矩阵;
[0168]
从所述域名共现矩阵提取每个域名字符对应的域名向量,并从所述接口共现矩阵提取每个接口字符对应的接口向量;
[0169]
计算所述域名字符的权重与所述域名向量的乘积作为所述域名字符对应的域名编码,并计算所述接口字符的权重与所述接口向量的乘积作为所述接口字符对应的接口编码。
[0170]
该可选的实施例中,可依据所述域名字符构建域名共现矩阵,并依据所述接口字符构建接口共现矩阵。所述域名共现矩阵的每一行的名称对应一个域名字符,每一列的名称对应一个域名字符,且所述域名共现矩阵中具备相同行坐标和列坐标的元素所在行的名称和所在列的名称相同;所述接口共现矩阵的每一行的名称对应一个接口字符,每一列的名称对应一个接口字符,且所述接口共现矩阵中具备相同行坐标和列坐标的元素所在行的名称和所在列的名称相同。
[0171]
该可选的实施例中,以所述域名共现矩阵为例,可初始化设置所述域名共现矩阵中每个元素的值为0,并遍历每个历史域名以对所述域名共现矩阵中的每个元素赋值,所述赋值的具体方式为:
[0172]
从所述域名共现矩阵中任选一个元素作为目标元素,将所述目标元素对应的行名称作为中心字符,并将该目标元素对应的列名称作为近邻字符;
[0173]
依次遍历每个历史域名,若该历史域名中存在所述中心字符,且所述中心字符的前置字符为所述近邻字符,则所述目标元素的元素值增加1,若所述中心字符的后置字符为所述近邻字符,则所述目标元素的元素值也增加1;
[0174]
将所述域名共现矩阵中的每个元素依次作为目标元素,以获得每个元素的取值。
[0175]
如图5所示为所述域名共现矩阵的结构示意图。
[0176]
该可选的实施例中,可初始化设置所述接口共现矩阵中每个元素的值为0,并遍历每个历史接口以对所述接口共现矩阵中的每个元素赋值,所述赋值的方式与域名共现矩阵的赋值方式相同,此处不再赘述。
[0177]
该可选的实施例中,可将所述域名共现矩阵中每一行的元素由左至右排列以组合为该行名称对应域名字符的域名向量,所述域名向量的维度与所有域名字符的数量相等;并可将所述接口共现矩阵中每一行的元素由左至右排列以组合为该行名称对应的接口字符的接口向量,所述接口向量的维度与所有接口字符的数量相等。
[0178]
该可选的实施例中,可计算所述域名字符的权重与所述域名向量的乘积作为域名编码;并可计算所述接口字符的权重与所述接口向量的乘积作为接口编码。
[0179]
该可选的实施例中,可将所述域名字符作为键并将所述域名编码作为值以构建域名键值对,统一存储所述域名键值对获得域名编码哈希表;并可将所述接口字符作为键并将所述接口编码作为值以构建接口键值对,统一存储所述接口键值对获得接口编码哈希表。
[0180]
在一个可选的实施例中,构建单元112用于依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集。
[0181]
在一个可选的实施例中,所述依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集,包括:
[0182]
将所述历史域名包含的域名字符数量作为所述历史域名的长度,将所有历史域名长度中的最大值作为域名基准值;
[0183]
将所述历史接口包含的接口字符数量作为所述历史接口的长度,将所有历史接口长度中的最大值作为接口基准值;
[0184]
在所述历史域名中所有域名字符对应的域名编码之后添加多个第一零向量获得所述历史域名对应的域名样本数据,所述域名样本数据包含的域名编码和第一零向量的总数与所述域名基准值相同;
[0185]
在所述历史接口中所有接口字符对应的接口编码之后添加多个第二零向量获得所述历史接口对应的接口样本数据,所述接口样本数据包含的接口编码和第二零向量的总数与所述接口基准值相同;
[0186]
标注所述域名样本数据获得第一标签数据,并标注所述接口样本数据获得第二标签数据;
[0187]
将所述域名样本数据和所述第一标签数据一一对应作为第一训练数据集,并将所述接口样本数据和所述第二标签数据一一对应作为第二训练数据集。
[0188]
该可选的实施例中,可将所述历史域名中包含的域名字符的数量作为每个历史域名的长度,并可将所述历史接口中包含的接口字符的数量作为每个历史接口的长度。
[0189]
该可选的实施例中,可记所有历史域名的长度中最大值为域名基准值,可记所述域名基准值为maxlen
域名
;并可记所有历史接口的长度中最大值为接口基准值,可记所述接口基准值为maxlen
接口

[0190]
该可选的实施例中,若某一个历史域名的长度小于所述域名基准值maxlen
域名
,则在该历史域名对应的所有域名编码之后添加多个第一零向量以获得该历史域名对应的域名样本数据,所述第一零向量的维度与所述域名字符对应域名编码的维度相同,且所述第一零向量中每个维度的值为0,所述多个第一零向量的数量与所述maxlen
域名
和该历史域名长度的差值相等;若某一个历史接口的长度小于所述接口基准值maxlen
接口
,则在该历史接口对应的所有接口编码之后添加多个第二零向量以获得该历史接口对应的接口样本数据,所述第二零向量的维度与所述接口字符对应接口编码的维度相同,且所述第二零向量中每个维度的取值为0,所述多个第二零向量的数量与所述maxlen
接口
和该历史接口长度的差值相等。
[0191]
该可选的实施例中,可从预设的域名安全等级列表中查询每个历史域名对应的安全等级,并将所述历史域名对应的安全等级作为该历史域名对应域名样本数据的类别,依据所述历史域名对应的类别构建所述历史域名的安全等级概率列表,所述历史域名的安全等级概率列表中每个元素用以表征所述历史域名属于某个类别的概率,所述历史域名对应的安全等级包括低风险、中风险和高风险,示例性的,如图4a所示为所述域名安全等级列表的结构示意图,可将所述历史域名对应的安全等级概率列表作为所述历史域名对应的第一标签数据。
[0192]
示例性的,当某个历史域名对应的安全等级为低风险时,则该历史域名的安全等级概率列表为[1,0,0],该安全等级概率列表用以表征该历史域名属于低风险类别的概率为100%,属于中风险类别的概率和属于高风险类别的概率为0。
[0193]
该可选的实施例中,可从预设的接口安全等级列表中查询每个历史接口对应的安全等级,并将所述历史接口对应的安全等级作为该历史接口对应接口样本数据的类别,依据所述历史接口对应的类别构建所述历史接口的安全等级概率列表,所述历史接口的安全等级概率列表中每个元素用以表征所述历史域名属于某个类别的概率,所述历史接口对应的安全等级包括低风险、中风险和高风险,示例性的,如图4b所示为所述接口安全等级列表的结构示意图。
[0194]
示例性的,当某个历史接口对应的安全等级为高风险时,则该历史接口的安全等级概率列表为[0,0,1],该安全等级概率列表用以表征该历史接口属于高风险类别的概率为100%,属于低风险类别的概率和属于中风险类别的概率为0。
[0195]
该可选的实施例中,可将所述域名样本数据与所述第一标签数据一一对应作为第一训练数据集,并可将所述接口样本数据与所述第二标签数据一一对应作为第二训练数据集。
[0196]
在一个可选的实施例中,训练单元113用于依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型。
[0197]
在一个可选的实施例中,所述依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型,包括:
[0198]
构建初始域名分类模型,所述初始域名分类模型包括第一编码器和第一分类器;
[0199]
构建初始接口分类模型,所述初始接口分类模型包括第二编码器和第二分类器;
[0200]
依据所述第一训练数据集和预设的第一损失函数训练初始域名分类模型,直至所述第一损失函数的数值小于预设的第一终止阈值,停止训练并获得域名分类模型;
[0201]
依据所述第二训练数据集和预设的第二损失函数训练初始接口分类模型,直至所述第二损失函数的数值小于预设的第二终止阈值,停止训练并获得接口分类模型。
[0202]
该可选的实施例中,如图6所示为本方案所述初始域名分类模型的结构示意图,在所述初始域名分类模型中,所述第一编码器由多个第一神经元串联组成,所述多个第一神经元的数量与所述域名样本数据中域名编码与第一零向量的总数相同,所述第一编码器中每个第一神经元的输入分别对应所述域名样本数据中的一个域名编码或一个第一零向量,所述第一编码器的输出为所述域名样本数据对应的第一特征向量;所述第一分类器的输入为所述第一特征向量,所述第一分类器的输出为所述域名样本数据对应的预测安全等级概率列表,所述预测安全等级概率列表中的每个元素用以表征所述域名样本数据属于每个类别的概率值。
[0203]
该可选的实施例中,为了确保所述域名样本数据对应的预测安全等级概率列表与所述第一标签数据对应的安全等级概率列表尽可能的相似,可依次将所述第一训练数据集中域名样本数据对应的预测安全等级概率列表与所述第一标签数据对应的安全等级概率列表输入预设的第一损失函数以计算所述初始域名分类模型的第一损失值,并依据梯度下降算法迭代更新所述初始域名分类模型中的参数,直到所述初始域名分类模型的第一损失值小于预设的第一终止阈值,则停止训练并获得域名分类模型,所述预设的第一损失函数
可以是交叉熵损失函数,所述预设的第一终止阈值可以是0.001。
[0204]
该可选的实施例中,所述初始接口分类模型包括第二编码器和第二分类器,所述第二编码器由多个第二神经元串联而成,所述多个第二神经元的数量与所述接口样本数据中接口编码的数量相同,所述第二编码器中每个第二神经元的输入分别对应所述接口样本数据中的一个接口编码或一个第二零向量,所述第二编码器的输出为所述接口样本数据对应的第二特征向量;所述第二分类器的输入为所述第二特征向量,所述第二分类器的输出是所述接口样本数据对应的预测安全等级概率列表。
[0205]
该可选的实施例中,可依据所述第二训练数据集训练所述初始接口分类模型以获得接口分类模型,所述接口分类模型的训练过程与所述域名分类模型的训练过程相同,此处不再赘述。
[0206]
在一个可选的实施例中,分类单元114用于基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级。
[0207]
在一个可选的实施例中,所述基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级,包括:
[0208]
对待识别域名进行分词获得待识别域名字符,查询待识别域名字符对应的域名编码,并依据所述待识别域名编码构建所述待识别域名对应的待识别域名样本数据;
[0209]
对待识别接口进行分词获得待识别接口字符,查询待识别接口字符对应的接口编码,并依据所述待识别接口编码构建所述待识别接口对应的待识别接口样本数据;
[0210]
将所述待识别域名样本数据输入所述域名分类模型获得所述待识别域名对应的预测安全等级概率列表,并将所述待识别接口样本数据输入所述接口分类模型获得所述待识别接口对应的预测安全等级概率列表;
[0211]
选取所述待识别域名的预测安全等级概率列表中最大值对应的类别作为所述待识别域名的安全等级,并选取所述待识别接口的预测安全等级概率列表中最大值对应的类别作为所述待识别接口的安全等级。
[0212]
该可选的实施例中,所述待识别域名包含多个待识别网址,所述待识别域名的功能是调用待识别接口以监控或提取所述多个待识别网址中的数据。
[0213]
该可选的实施例中,可依据所述预设的分词工具对所述待识别域名进行分词获得多个待识别域名字符,并可依据所述预设的分词工具对所述待识别接口进行分词获得多个待识别接口字符。
[0214]
该可选的实施例中,可从所述域名编码哈希表中查询每个待识别域名字符对应的域名编码作为待识别域名编码,并将所述待识别域名对应的所有待识别域名编码组合为待识别域名样本数据,若所述待识别域名的长度小于所述域名基准值maxlen
域名
,则在所述待识别域名对应的待识别域名编码之后添加多个第一零向量以获得待识别域名样本数据,所述第一零向量的维度与所述域名编码的维度相同,且所述第一零向量中每个维度的值为0,所述多个第一零向量的数量与所述maxlen
域名
和该待识别域名长度的差值相等。
[0215]
该可选的实施例中,可查询每个待识别接口字符对应的接口编码作为待识别接口编码,并将所述待识别接口对应的待识别接口编码组合为待识别接口样本数据,若所述待识别接口的长度小于所述接口基准值maxlen
接口
,则在所述待识别接口对应的待识别接口编码之后添加多个第二零向量以获得待识别接口样本数据,所述第二零向量的维度与所述接
口编码的维度相同,且所述第二零向量中每个维度的值为0,所述多个第二零向量的数量与所述maxlen
接口
和该待识别接口长度的差值相等。
[0216]
该可选的实施例中,可将所述待识别域名样本数据中每个待识别域名编码依次输入所述域名分类模型的第一编码器中获得所述域名分类模型的输出结果,所述域名分类模型的输出结果为所述待识别域名对应的预测安全等级概率列表。
[0217]
示例性的,当所述待识别域名样本数据对应的预测安全等级概率列表为[0.9,0.1,0]时,则该待识别域名样本数据对应的待识别域名属于低风险类别的概率为0.9、属于中风险类别的概率为0.1、属于高风险类别的概率为0。
[0218]
该可选的实施例中,可将所述待识别接口样本数据中每个待识别接口编码依次输入所述接口分类模型的第二编码器中,以获得所述待识别接口对应的预测安全等级概率列表。
[0219]
示例性的,当所述待识别接口样本数据对应的预测安全等级概率列表为[0.2,0.3,0.5]时,则该待识别接口样本数据对应的待识别接口属于低风险类别的概率为0.2、属于中风险类别的概率为0.3、属于高风险类别的概率为0.5。
[0220]
该可选的实施例中,可选取所述待识别域名的预测安全等级概率列表中最大值对应的类别作为所述待识别域名的安全等级,并可选取所述待识别接口的预测安全等级概率列表中最大值对应的类别作为所述待识别接口的安全等级。
[0221]
示例性的,当所述待识别域名对应的预测安全等级概率列表为[0.9,0.1,0]时,其最大值为0.9,则该待识别域名对应的类别为低风险;当所述待识别接口对应的预测安全等级概率列表为[0.2,0.3,0.5]时,其最大值为0.5,该待识别接口对应的类别为高风险。
[0222]
在一个可选的实施例中,对比单元115用于对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策。
[0223]
在一个可选的实施例中,所述待识别域名对应多个待识别网址,所述对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策,包括:
[0224]
若所述待识别域名的安全等级不大于所述待识别接口的安全等级,则利用所述待识别域名调用所述待识别接口以完成域名接口调用;
[0225]
若所述待识别域名的安全等级大于所述待识别接口的安全等级,则依据所述待识别域名对应的多个待识别网址与所述待识别接口构建多个待识别键值对;
[0226]
若能够从预设的调度白名单中查询到所述待识别键值对,则利用所述待识别网址调用所述待识别接口以完成域名接口调用,否则向开发人员进行非法调用告警。
[0227]
该可选的实施例中,所述安全等级的大小关系由大至小依次为:高风险、中风险、低风险。
[0228]
该可选的实施例中,可对比所述待识别域名的安全等级与所述待识别接口的安全等级,若所述待识别域名的安全等级不大于所述待识别接口的安全等级,则表明所述待识别域名中包含的内容不属于敏感信息,则可允许所述待识别域名调用所述待识别接口以提取或监控所述待识别域名存储的各项信息。
[0229]
该可选的实施例中,若所述待识别域名的安全等级大于所述待识别接口的安全等级,则表明所述待识别域名中存储的数据较为敏感,则需要进一步判断所述待识别域名是否能够调用所述待识别接口。可分别将所述待识别域名对应的每个待识别网址作为键,并
将所述待识别接口作为值以构建多个待识别键值对,所述待识别键值对的数量与所述待识别域名对应的待识别网址的数量相同。
[0230]
该可选的实施例中,可从预设的调度白名单中查询每个待识别键值对,若能查到所述待识别键值对,则表明所述待识别接口可以被该待识别键值对中的待识别网址调用,则可允许所述待识别网址调用所述待识别接口以提取或监控所述待识别网址中的数据,所述预设的调度白名单用以存储所有被允许的网址调用接口的组合。
[0231]
该可选的实施例中,若无法从所述预设的调度白名单中查到所述待识别键值对,则禁止该待识别键值对中的待识别网址调用所述待识别接口,并向开发人员发送非法调用警报。
[0232]
上述基于人工智能的域名接口调用方法通过对历史域名和历史接口进行编码获得大量域名编码与接口编码,并分别依据域名编码和接口编码训练域名分类模型和接口分类模型,进而依据域名分类模型判别待识别域名的安全等级,并依据接口分类模型判别待识别接口的等级,对比待识别域名的安全等级与待识别接口的安全等级制定域名接口调用决策,以量化的形式指引域名接口调用决策的制定,从而能够提升决策制定的效率。
[0233]
如图3所示,是本技术实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行储器中存储的计算机可读指令以实现上述任一实施例的基于人工智能的域名接口调用方法。
[0234]
在一个可选的实施例中,电子设备1还包括总线、存储在存储器12中并可在处理器13上运行的计算机程序,例如基于人工智能的域名接口调用程序。
[0235]
图3仅示出了具有组件12-13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0236]
结合图1,电子设备1中的存储器12存储多个计算机可读指令以实现一种基于人工智能的域名接口调用方法,处理器13可执行多个指令从而实现:
[0237]
采集历史域名和历史接口获得多个域名字符和多个接口字符,分别计算所述域名字符的权重和所述接口字符的权重;
[0238]
对所述域名字符进行编码获得域名向量,并对所述接口字符进行编码获得接口向量,依据域名字符的权重修正域名向量获得域名编码,依据接口字符的权重修正接口向量获得接口编码;
[0239]
依据所述域名编码构建第一训练数据集,并依据所述接口编码构建第二训练数据集;
[0240]
依据所述第一训练数据集训练域名分类模型,并依据所述第二训练数据集训练接口分类模型;
[0241]
基于所述域名分类模型判断待识别域名的安全等级,并基于所述接口分类模型判断待识别接口的安全等级;
[0242]
对比所述待识别域名的安全等级和所述待识别接口的安全等级以制定域名接口调用决策。
[0243]
具体地,处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0244]
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1既可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
[0245]
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。
[0246]
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的域名接口调用程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0247]
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在存储器12内的程序或者模块(例如执行基于人工智能的域名接口调用程序等),以及调用存储在存储器12内的数据,以执行电子设备1的各种功能和处理数据。
[0248]
处理器13执行电子设备1的操作系统以及安装的各类应用程序。处理器13执行所述应用程序以实现上述各个基于人工智能的域名接口调用方法实施例中的步骤,例如图1所示的步骤。
[0249]
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在存储器12中,并由处理器13执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成采集单元110、编码单元111、构建单元112、训练单元113、分类单元114、对比单元115。
[0250]
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本技术各个实施例所述基于人工智能的域名接口调用方法的部分。
[0251]
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
[0252]
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存储器及其他存储器等。
[0253]
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
[0254]
本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0255]
总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现存储器12以及至少一个处理器13等之间的连接通信。
[0256]
尽管未示出,电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
[0257]
进一步地,电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0258]
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
[0259]
本技术实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的域名接口调用方法。
[0260]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0261]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0262]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0263]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0264]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
[0265]
最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献