时间:2024-05-04
赵宏 常兆斌 王乐
摘 要:針对互联网中恶意域名攻击事件频发,现有域名检测方法实时性不强的问题,提出一种基于词法特征的恶意域名快速检测算法。该算法根据恶意域名的特点,首先将所有待测域名按照长度进行正则化处理后赋予权值;然后利用聚类算法将待测域名划分成多个小组,并利用改进的堆排序算法按照组内权值总和计算各域名小组优先级,根据优先级降序依次计算各域名小组中每一域名与黑名单上域名之间的编辑距离;最后依据编辑距离值快速判定恶意域名。算法运行结果表明,基于词法特征的恶意域名快速检测算法与单一使用域名语义和单一使用域名词法的恶意域名检测算法相比,准确率分别提高1.7%与2.5%,检测速率分别提高12.2%13.9%与6.4%6.8%这2个值对吗?是怎么计算出来的?请核实。回复:现正确计算如下:平均检测速率分别提高(1.56-1.37)/1.37=13.9%,(1.56-1.46)/1.46=6.8%。,具有更高的准确率和实时性。
基于词法特征的恶意域名快速检测算法与其他的恶意域名检测算法相比,在保持检测速率较高的优势下,检测准确率达到88.7%,具有更高的准确性和实时性。
基于词法特征的恶意域名快速检测算法与单一使用域名语义与词法的恶意域名检测算法根据准确率提供的数值,此处应该是与两种算法比较吧,但是此处表达不准确,无法区分出这两种算法,请重新表述。另,英文摘要中也要体现出来,原英文摘要里表述的是一个算法。相比,准确率分别提高1.7%与2.5%,检测速率分别提高12.2%与6.4%,具有更高的准确率和实时性。
关键词:恶意域名;词法特征;检测算法;编辑距离;实时性
中图分类号: TP391; TP393.08
文献标志码:A
Abstract: Aiming at the problem that malicious domain name attacks frequently occur on the Internet and existing detection methods are not effective enough in performance of real time, a fast malicious domain name detection algorithm based on lexical features was proposed. According to characteristics of malicious domain name, all domain names to be tested were firstly normalized according to their lengths and the weights were given to them in the algorithm. Then a clustering algorithm was used to divide domain names to be tested into several groups, and the priority of each domain group was calculated by the improved heap sorting algorithm according to the sum of weights in group, the editing distance between each domain name in each domain name group and the domain name on blacklist was calculated in turn. Finally, malicious domain name was quickly determined according to the editing distance value. The running results of algorithm show that compared with the malicious domain name detection algorithm of only using domain name semantics and the algorithm of only using domain name lexical features, the accuracy of fast malicious domain name detection algorithm based on lexical features is increased by 1.7% and 2.5% respectively, the detection rate is increased by 13.9% and 6.8% respectively. The proposed algorithm has higher accuracy and performance of real-time.The results of algorithm show that in malicious domain names detection algorithms, the detection accuracy rate of malicious domain name is 88.7%, the detection rate is higher than other malicious domain names detection algorithms, and it has higher accuracy and performance of real-time.The results of algorithm show that compared with malicious domain name detection algorithm which only uses domain name semantics and lexical features, the accuracy of fast malicious domain name detection algorithm based on lexical features is increased by 1.7% and 2.5% respectively, the detection rate is increased by 12.2% and 6.4% respectively, and it has higher accuracy and performance of real-time.
Key words: malicious domain name; lexical feature; detection algorithm; editing distance; performance of real time
0 引言
互联网技术的快速发展给人们的工作和生活带来许多便利,同时,出于不同目的的恶意网络攻击事件也层出不穷。
域名系统(Domain Name System, DNS)作为互联网中实现网络域名与IP地址相互转换的一种服务,得到了广泛应用,几乎所有的互联网应用都需要使用DNS提供的服务对域名进行解析,实现资源的定位。互联网中的各DNS服务器分布在不同的地理位置,记录所属域中主机域名与IP地址的对应关系,全球所有DNS服务器构成一棵DNS树,因此,要实现一个域名解析任务,经常需要将任务在不同的DNS服务器间进行多次转发,直到到达目的域的DNS服务器实现域名解析,域名解析结果再经过多次转发,原路返回到请求主机。恶意域名攻击正是利用DNS域名解析的特点,随机产生大量不存在的域名并发出域名解析请求,恶意域名解析请求在DNS服务器间进行多次转发,最终因找不到对应的DNS服务器被丢弃,同时,域名解析失败原因再经过多次转发,原路返回给请求主机。大量恶意域名解析任务和域名解析失败原因在于DNS服务器间的多次转发,增加了网络带宽占用,给DNS服务器带来沉重的额外负载,严重影响了正常域名解析任务的执行。如果DNS服务器因恶意域名攻击而宕机,则依托于域名解析的所有互联网服务就会停止,其结果将是灾难性的。
国家互联网应急中心(National Internet Emergency Center, CNCERT)发布的2018年第13期《網络安全信息与动态周报》[1]显示,CNCERT监测发现境内约17万个DNS服务器受到恶意域名的攻击,与前期相比增长50.2%。
如何快速检测恶意域名,提前防范恶意域名网络攻击,对于保障互联网正常运行具有重要意义。
1 研究现状
从检测特征角度看,目前恶意域名检测方法主要包括域名查询行为分析[2-5]和域名自然语言统计分析方法[6-9]两大类。
域名查询行为分析又分为主动DNS分析与被动DNS分析方法[10],其中,主动DNS分析方法通过备案批量查询和使用Nslookup工具检测域名的合法性,由于需要在线查询数据库,检测过程较长,实时性较差[11]。被动DNS分析方法通过分析获取的DNS请求特征,检测待测域名合法性,如Truong等[12]结合DNS流量特征,检测流量异常DNS服务器的DNS查询流,实现恶意域名检测。左晓军等[13]针对DGA(Domain Generate Algorithm请补充DGA的中文名称和英文全称)算法的僵尸网络隐蔽性强和域名多变等特点,提出一种基于域名系统流量特征的Fast-Flux检测算法,检测垃圾邮件、欺诈与黑名单列表的可疑域名和恶意域名。周昌令等[14]借助深度学习技术,提出了一种分析DNS查询行为的检测算法,通过构造两种域名列表作为深度学习的训练数据并映射到向量空间,将域名的关联分析转化为向量的计算,利用域名的关联性实现恶意域名检测。
域名自然语言统计分析方法中,Khalil等[15]提出了一种基于DNS数据图的网络攻击检测算法,通过分析域名之间的关联性并利用图的推理技术实现恶意域名的检测。周维柏等[16]提出了一种关联规则挖掘的集中式僵尸网络检测技术,利用一台被检测出的僵尸主机,按照关联规则分析域名之间网络连线的关联性,挖掘出潜在的恶意域名。周勇林等[17]基于域名的长度属性值、域名中存在的特殊字符、被解析的时间、解析次数以及解析结果的变化构造检测特征,检测恶意域名。
以上恶意域名检测方法各有所长,相比而言,基于深度学习技术的检测方法的检测准确率较高,但耗时较长。基于查询主机活动流量的检测方法的数据采集周期长,且只对受攻击DNS服务器为目标的域名查询流进行检测,实时性和普适性都较差。域名自然语言统计分析的三种方法,虽然具有对多类型恶意域名检测准确率较高的优点,但是检测耗时还是较大,实时性不强。
综上,基于目前恶意域名检测中所存在的实时性问题,本文在先验知识的基础上提出了一种基于词法特征的恶意域名快速检测算法,首先,对待测域名利用聚类算法完成分类;其次,结合改进的堆排序算法构建组间优先级,按照组间优先级依次计算小组内每一域名与黑名单上域名之间的编辑距离;最后,根据编辑距离的大小快速检测出恶意域名。
2 算法设计与分析
基于词法特征的恶意域名快速检测算法,分为数据标准化、权值计算、聚类分组、组间排序、域名检测等5个步骤。其中,数据标准化是将每一域名长度值转化为[0,1]区间中的数值,降低由于解析错误等原因带来的检测误差;权值计算通过计算每条域名的权值,将域名词法特征的提取转化为数值计算;聚类分组通过聚类算法将经过权值计算的待测域名划分成组内域名在长度上相似的多个小组;组间排序利用改进的堆排序算法根据小组权值之和降序构建小顶堆组;域名检测则按照小组优先级依次计算域名小组中每一域名与黑名单上域名之间的编辑距离,并根据编辑距离的大小,实现对恶意域名的检测。算法框架如图1所示。
2.1 数据标准化
数据标准化主要是降低域名列表中因解析错误、统计遗漏等原因带来的检测误差,为域名聚类提供统一的评价标准。在已有域名列表基础上,将列表中每一域名的字符串长度按照式(1)进行转换,使其值位于[0,1]区间:
其中:si为第i个域名标准化后的值,Li为域名长度,Lmax与Lmin分别为域名列表中域名长度最大值与最小值。
2.2 权值计算
通过计算待测域名列表中每条域名的权值,将域名词法特征的提取转化为数值计算。通过式(2)对每一待测域名赋予权值,便于在排序过程中按照组内域名权值总和,快速确定各小组的优先级,降低检测阶段时间开销。
其中:wi为域名权值;Li为域名长度;ci是与第i个域名长度值相同的域名在域名列表中出现的次数;n是经过标准化处理后的域名总数;a和b是条件常数,一般取值a为1,b为0.5;D是恶意域名与合法域名长度的分界经验值,一般取值为15,当域名字符串长度低于15时,95%的域名是合法域名[12]。
2.3 聚类分组
借鉴文献[18]中支持向量机(Support Vector Machine, SVM)与AdaBoost组合并将最近邻算法应用其中的高效组合分类算法——IASVM(Interactive AdaBoost SVM),依据IASVM算法将经过权值计算的待测域名划分成组内域名长度相似的多个小组。
IASVM将SVM作为AdaBoost算法的基分类器来寻找支持点,然后通过最近邻算法计算每一域名权值与支持点之间的距离,根据域名权值与支持点之间的距离对待检测域名分类,聚类过程描述如下。
1)选取经过标准化处理后的n个待测样本,形成大小为n的测试集T,通过计算测试集T中每一域名的权值,构造域名权值集合W=(w1,w2,…,wn)。
2)利用测试集T中每一标准化后的样本值si与对应的权值wi,根据式(3)求解候选支持点集合P={(wi,ui)|i=1,2,…,n}:
其中: μi(i=1,2,…,n)是在经过标准化的(s1,s2,…,sn)上选取的候选支持点,wi(i=1,2,…,n)为域名权值。
3)将候选支持点集合P中的每一组候选支持点代入式(4)来寻找每一小组中的最优支持点[19]:
其中:xi(i=1,2,…,n)是在候選支持点中取得的最优支持点,ci是与第i个域名长度值相同的域名在域名列表中出现的次数。
4)将找到的最优支持点组合成支持点集合ν={x1,x2,…,xm},通过式(5)计算测试集T中每一待测域名si与支持点集合ν中最优支持点xj(j=1,2,…,m,m 通过计算测试集T中的待测域名与每一最优支持点之间的距离,根据距离的大小,将与最优支持点距离最小的域名划分到该最优支持点标注的小组,且每一小组内的域名在域名长度值上具有相似性。 恶意域名与合法域名在长度值与权值方面区别明显,因此,经过聚类分组并依据组内域名权值总和,使得组间排序时,快速确定组间优先级,便于恶意域名检测时恶意域名黑名单先与优先级较高的待测域名小组比较,及时封堵恶意域名、响应合法域名的请求,降低检测时间开销,提高系统的实时性。聚类分组操作的伪代码见算法1。 2.4 组间排序 聚类算法将待测域名划分成多个小组,计算每一小组内域名权值总和,利用改进的堆排序算法根据小组权值总和降序构建小顶堆组,便于恶意域名检测时恶意域名黑名单先与优先级较高的待测域名小组比较,及时封堵恶意域名、响应合法域名的请求,降低计算资源的消耗。 传统的堆排序算法分为两步:1)根据输入的初始数据,按照堆的调整算法形成初始堆;2)通过一系列的元素交换和重新调整堆进行排序。传统堆排序过程如图2所示。 传统堆排序算法在每次形成小顶堆后,交换堆顶与堆末元素,并将剩余元素重新调整位置,构造新的小顶堆。在将堆顶元素与堆末元素互换位置时,整个序列又面临重新建堆的问题,这无疑增加了许多数据元素不必要的移动,使得元素的比较次数与移动次数增加,从而导致时间复杂度与空间复杂度都比较大,为此本文充分考虑堆排序算法中元素的比较次数与移动次数,利用一种改进的堆排序算法根据优先级降序将聚类后的域名小组按照组内权值总和构建堆。算法描述如下: 1)根据优先级降序将无序序列构建成一个小顶堆。 2)待堆顶最小元素取出后,比较当前空缺节点的左右孩子节点,小者放入堆顶。 3)比较子树中空缺位置的左右孩子节点大小,小者进入空缺位置。 4)重复步骤2)和3),直到堆顶节点为空。 改进的堆排序算法详细过程如图3所示,堆排序操作的伪代码见算法2。 2.5 域名检测 2.5.1 域名黑名单样本构造 收集并整理Malware domain list[20]中的恶意域名,检测域名是否为恶意域名的黑名单样本。 2.5.2 编辑距离计算 考虑到系统的实时性检测需求,采用相对简单的编辑距离,按照域名小组间优先级降序,依次计算各小组中每一域名与域名黑名单样本中域名之间的编辑距离。 设str1、str2是待测域名字符串与域名黑名单中验证字符串,为计算两个域名字符串之间的编辑距离,本文通过插入、删除、替换操作计算两个域名字符串序列的最小编辑距离。编辑距离计算如式(6)所示: 1)初始化待测字符串与验证字符串编辑计算矩阵。 2)从待测字符串“take”的首字母t开始,从上到下逐个字符与验证字符串“tke”的字符进行比较。如果两个字符相同,取当前位置的左、上、左上三个位置中的最小值;若不相等,取左、上、左上三个位置中的最小值后再加1。 3)完成待测字符串与验证字符串编辑距离计算矩阵。 4)取矩阵右下角值为待测字符串与验证字符串编辑值,字符串“take”与“tke”的编辑距离值为1。 2.5.3 恶意域名识别 设待测域名字符串str1长度为n,域名黑名单样本中验证字符串str2长度为m,两个字符串的差异度值(Difference Degree Value, DDV)定义为两个字符串编辑距离的2倍与两个字符串长度之和的比值,差异度值计算如式(7)所示: 式(7)中,两个字符串差异度值与它们的编辑距离成正比,与它们的长度之和成反比;两者的编辑距离越大,差异度值就越大,相似性越小;另外,两者的长度之和越小,差异度值越大,相似性越小。 利用式(7)计算各域名小组中每一域名与域名黑名单样本中各域名之间的差异度值,将该差异度值与设定的阈值进行比较,当待测域名与域名黑名单上每一域名之间的差异度值小于或者等于该阈值时,则判定该域名为恶意域名;否则为合法域名,阈值一般设定为0.15[21]。 3 实验与分析 3.2 数据集 为验证本文算法的性能,从Alexa[22]和Malware domain list中获得10000个域名,其中有8000个合法域名和2000个恶意域名。首先把收集的2000个恶意域名分为两部分,其中70%的恶意域名与8000个合法域名作为训练数据集。另外,30%的恶意域名作为测试数据集。详细数据来源如表2所示。 3.3 评价指标 为评估本文算法在恶意域名检测时的性能,使用平均检测速率(Average Detection Rate, ADR)和平均检测准确率(Average Detection Accuracy, AMA),计算公式如式(8)和(9)所示: 其中:TP表示恶意域名被正确识别的数量,T表示检测消耗的总时间,S表示测试数据集中恶意域名总数。 3.4 实验及结果分析 为验证本文恶意域名检测算法的有效性,将上述待测域名作为恶意域名检测算法模型的输入值,检测出的恶意域名作为算法的输出值,在相同的实验环境下分别构造文献[8]基于域名语义的恶意域名检测算法模型和文献[9]基于域名词法特征的恶意域名检测算法模型以及本文恶意域名检测算法模型,并进行实验对比,对比结果如图5所示。 分析图5可知,文献[8]基于域名语义的恶意域名检测算法模型平均检测速率约为1.37个/s,平均检测准确率波动范围为86%~88%;文献[9]基于域名词法特征的恶意域名检测算法模型平均检测速率约为1.46个/s,平均检测准确率波动范围为84%~87%;经过分析检测错误原因发现,被误报成合法域名的恶意域名都存在一个共同点,即这些恶意域名都是由多个词法或语义表达相近的合法域名与合法域名或合法域名与恶意域名组合而成,而本文恶意域名检测算法模型在域名语义的基础上加入域名词法特征后,平均检测速率约为1.56个/s,平均检测准确率波动范围为88%~89%。在平均检测准确率分别提高1.7%与2.5%的情况下,平均检测速率分别提高12.2%13.9%与6.4%6.8%根据表3中的数值,提高比例的计算公式应为(1.56-1.37)/1.37=13.9%,而不是12.2%;另一个为(1.56-1.46)/1.46=6.8%,而不是6.4%。不知道12.2%与6.4%是怎么计算出来的?请明确一下。摘要中的数值也要随这个数值变更吧?,较好地检测出多个词法或语义表达相近的合法域名与合法域名或合法域名与恶意域名组合而成的恶意域名。具体比较结果如表3所示。 通过表3可知,单一使用合法域名与恶意域名在语义方面或词法特征方面的区别,尚不足以对恶意域名进行准确的检测,但在域名语义的基础上加入域名词法特征后,在平均检测准确率分别提高1.7%与2.5%的情况下,平均检测速率分别提高12.2%13.9%与6.4%6.8%问题同上,具有更好的准确性与实时性。 3.5 同类相关工作对比 在相同的实验环境下分别构造文献[3]、[7]与文献[8]恶意域名检测算法模型和本文恶意域名检测算法模型,并进行性能比较,具体结果如表4所示。 由表4可以看出,本文恶意域名检测算法模型在执行时间与检测速率方面,优于文献[3]、[7]、[8]恶意域名检测算法模型,具有较高的檢测速率;在准确率方面,本文检测算法模型优于文献[8]恶意域名检测算法模型,与文献[7]恶意域名检测算法模型准确率相当。综合考虑算法执行时间、检测速率、准确率等方面,本文所提出的基于词法特征的恶意域名快速检测算法明显优于其他三种恶意域名检测算法。 4 结语 针对现有域名检测方法实时性不强的问题,本文提出了一种基于词法特征的恶意域名快速检测算法。首先利用聚类算法对待测域名完成分类;其次,结合改进的堆排序算法构建组间优先级,按照组间优先级依次计算小组内每一域名与黑名单上域名之间的编辑距离;最后,根据编辑距离值的大小快速检测出恶意域名。与传统基于单一使用语义和词法的恶意域名检测算法比较,在检测准确性和实时性上表现良好,具有较好的实用价值。 参考文献 (References) [1] 网络安全信息与动态周报.第13期互联网安全威胁报告[EB/OL]. [2018-04-01]. http://www.cert.org.cn/publish/main/44/2018/20180404150414268888501/20180404150414268888501_201html.(National Internet Emergency Center. 13th Internet security threat report [EB/OL]. [2018-04-01]. http://www.cert.cn./publish/main/44/20180404150414268888501/20180404150414268888501_.html.) [2] WANG T S, LIN H T, CHENG W T, et al. DBod: clustering and detecting DGA-based botnets using DNS traffic analysis [J]. Computers & Security, 2016, 64: 1-15. [3] 牛伟纳,张小松,孙恩博,等.基于流相似性的两阶段P2P僵尸网络检测方法[J].电子科技大学学报,2017,46(6):902-906.(NIU W N, ZHANG X S, SUN E B, et al. Two-stage peer-to-peer zombie network detection method based on flow similarity [J]. Journal of University of Electronic Science and Technology of China, 2017, 46(6): 902-906.) [4] POMOROVA O, SAVENKO O, LYSENKO S, et al. A technique for the botnet detection based on DNS-traffic analysis [C]// Proceedings of the 22nd International Conference on Computer Networks. Berlin: Springer, 2015: 127-138. [5] YU B, OLUMOFIN F, SMITH L, et al. Behavior analysis based DNS tunneling detection and classification with big data technologies [C]// Proceedings of the 2016 International Conference on Internet of Things and Big Data. Setubal: SciTePress, 2016: 284-290. [6] PERDISCI R, CORONA I, DAGON D, et al. Detecting malicious flux service networks through passive analysis of recursive DNS traces [C]// Proceedings of the 25th Computer Security Applications Conference. Washington, DC: IEEE Computer Society, 2009: 311-320. [7] 张维维,龚俭,刘茜,等.基于词素特征的轻量级域名检测算法[J].软件学报,2016,27(9):2348-2364.(ZHANG W W, GONG J, LIU Q, et al. Lightweight domain name detection algorithm based on morpheme features [J]. Journal of Software, 2016, 27(9): 2348-2364. [8] 黄诚,刘嘉勇,刘亮,等.基于上下文语义的恶意域名语料提取模型研究[J].计算机工程与应用,2018,54(9):101-108.(HUANG C, LIU J Y, LIU L, et al. Research on the extraction model of malicious domain name corpus based on context semantics [J]. Computer Engineering and Applications, 2018, 54(9):101-108.) [9] WANG W, SHIRLEY K. Breaking bad: detecting malicious domains using word segmentation [J]. ArXiv Preprint, 2015, 2015:1506.04111. [10] 張洋,柳厅文,沙泓州,等.基于多元属性特征的恶意域名检测[J].计算机应用,2016,36(4):941-944.(ZHANG Y, LIU T W, SHA H Z, et al. Detection of malicious domain names based on multivariate attribute features [J]. Journal of Computer Applications, 2016, 36(4): 941-944.) [11] 刘爱江,黄长慧,胡光俊.基于改进神经网络算法的木马控制域名检测方法[J].电信科学,2014,30(7):39-42.(LIU A J, HUANG C H, HU G J. A method of Trojan control domain name detection based on improved neural network algorithm [J]. Telecommunications Science, 2014, 30(7): 39-42.) [12] TRUONG D-T, CHENG G, AHMAD J, et al. Detecting DGA-based botnet with DNS traffic analysis in monitored network [J]. Journal of Internet Technology, 2016, 17(2): 217-230. [13] 左晓军,董立勉,曲武.基于域名系统流量的Fast-Flux僵尸网络检测方法[J].计算机工程,2017,43(9):185-193.(ZUO X J, DONG L M, QU W. Fast-Flux zombie network detection based on domain name system traffic [J]. Computer Engineering, 2017, 43(9): 185-193.) [14] 周昌令,栾兴龙,肖建国.基于深度学习的域名查询行为向量空间嵌入[J].通信学报,2016,37(3):165-174.(ZHOU C L, LUAN X L, XIAO J G. Domain name query behavior vector space embedding based on depth learning [J]. Journal on Communications, 2016, 37(3): 165-174.) [15] KHALIL I, YU T, GUAN B. Discovering malicious domains through passive DNS data graph analysis [C]// Proceedings of the 11th ACM Asia Conference on Computer and Communications Security. New York: ACM, 2016: 663-674. [16] 周维柏,李蓉.基于关联规则挖掘的集中式僵尸网络检测[J].兰州理工大学学报,2016,42(6):109-113.(ZHOU W B, LI R. Centralized zombie network detection based on association rules mining [J]. Journal of Lanzhou University of Technology, 2016, 42(6): 109-113.) [17] 周勇林,由林麟,张永铮.基于命名及解析行为特征的异常域名检测方法[J].计算机工程与应用,2011,47(20):50-52.(ZHOU Y L, YOU L L, ZHANG Y Z. An anomaly domain name detection method based on naming and analytic behavior features [J]. Computer Engineering and Applications, 2011, 47(20): 50-52.) [18] 陈春萍.基于SVM与AdaBoost组合的分类算法研究[D].西安:西安电子科技大学,2012.(CHEN C P. Research on classification algorithm based on SVM and AdaBoost combination [D]. Xian: Xidian University, 2012.) [19] ZHANG W. Relief feature selection and parameter optimization for support vector machine based on mixed kernel function [J/OL]. International Journal of Performability Engineering, 2018, 14(2) [2018-02-20]. http://www.ijpe-online.com/relief-feature-selection-and-parameter-optimization-for-support-vector-machine-based-on-mixed-kernel-function.html#axzz5TzKru9vC. [20] Malware domain list. Malware domain list [EB/OL]. [2018-05-08]. http://www.malwaredomainlist.com.php. [21] 羅文塽,曹天杰.基于非用户操作序列的恶意软件检测方法[J].计算机应用,2018,38(1):56-60.(LUO W S, CAO T J. A malicious software detection method based on non-user operation sequence [J]. Journal of Computer Applications, 2018, 38(1): 56-60.) [22] Alexa Top Global Sites. Alexa top global sites [EB/OL]. [2018-05-08]. http://www.alexa.com/topsites.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!