1中国电信股份有限公司江西分公司
2 中国电信股份有限公司青海分公司
摘要:企业网络安全管理中,暴露面端口风险识别通常依靠指纹识别配合风险端口白名单的形式开展,这一方式存在准确性不高,评价维度较低等问题。本论文通过引入深度置信神经网络(DBN),提出一种基于机器学习进行端口风险识别方法。利用企业IT资产历史漏洞数据、漏洞扫描数据、开源漏洞情报、端口指纹、端口号、责任人等信息,构建一套IT资产服务端口风险识别模型,显著提高风险端口识别的准确率以及全局性,更好帮助企业开展互联网暴露面治理工作。
关键词:网络安全、端口感知、风险识别
Abstract
In enterprise network security management, risks of exposed server ports are usually identified by combining fingerprint recognition with white list of risky ports. However, this method is not accurate and lacks dimensionality. This paper proposes a machine learning algorithm for service port risk identification by introducing deep belief neural networks (DBN). By using historical vulnerability data of IT assets, vulnerability scanning data, open source vulnerability intelligence, port fingerprints, port numbers and responsible persons, a set of IT assets service port risk identification model is built, which significantly improves the accuracy and globality of risky port identification, and helps enterprises better conduct Internet exposure management.
Keywords: Network Security, Port Awareness, Risk Recognition
一 背景
随着数字经济的不断发展,网络空间的规模日趋庞大,网络空间环境的安全作为保障数字经济平稳发展显得尤为重要[1]。对于企业而言,做好企业公共互联网资产的漏洞管控工作尤为重要。另一方面,公共互联网上终端服务器的漏洞与其开放的端口密切相关[2]。因此,如何做好对公网端口的风险识别,进一步实现终端服务器公网端口管控,对提升企业在数字经济建设中系统健壮性,减少企业的公网暴露的风险具有十分重要的意义[3]。
二 风险端口识别技术现状
目前,网络安全服务端口风险识别技术常用的方式是预先建立一个高危端口号和高危应用指纹库,将端口扫描和指纹识别的结果与规则库进行比对,命中白名单的端口标记为高危端口[4]。这种方式存在两个问题,首先,这种方式的是静态地根据白名单来识别风险端口,对于白名单的规则需要做精细的设计,对于一些新型的应用服务,无法保障指纹或端口的规则能够及时覆盖,同时对于一些采用非常规端口的应用,容易产生误判断,导致该方法准确性较差;其次,根据相关研究显示,许多网络攻击都采用新的技术方式,仅通过单一技术手段识别的数据来判断端口是否存在安全风险效果较差。这意味着,基于传统技术的风险识别不足以发现潜在的新型安全威胁,无法及时有效地防止和应对这些威胁[5]。
三 深度置信神经网络介绍
深度置信神经网络(Deep Belief Networks,DBN)是一种非监督机器学习深度神经网络,它结合了层级的贝叶斯网络、神经网络和决策树等不同的模型,以及深度学习技术,DBN通常采用受限的玻尔兹曼机结构,并使用受限玻尔兹曼机的多层形式完成特征抽取[6].其特点在于包括一个或多个隐式层和一个显式层。隐式层的功能是将隐式变量从真实变量中学习出来,而显式层的功能则是将隐性变量组合起来,形成联系可读的表示。深度置信神经网络的优势在于通过模型层的叠加,所抽取的特征既能够表现更加复杂的数据结构,也具备了高度的灵活性和自适应性,能够有效地捕捉出复杂数据结构中隐藏的规律[7]。
四 基于深度置信神经网络的企业服务风险端口识别
本文针对企业风险端口识别过程中维度单一的问题,将企业资产集、历史漏洞信息、开源安全情报、维护人员安全意识等数据,构建基于DBN深度置信网络的网络安全服务端口的风险识别模型,将IT资产的服务端口的风险值作为预测目标,建立基于受限玻尔兹曼机深度置信网络的实证研究。
通常情况下,在训练DBN时,首先需要获取所需处理数据以及相关标签,然后根据标签将数据分组,利用无监督学习的原理,将数据自动组织成置信网。DBN 应用于风险识别模型中可以检测和孤立潜在的风险,根据模型生成出的结果判断出可能存在的潜在风险,然后进一步根据潜在风险的类型对其进行排查跟踪处理。整个模型的处理流程如下:
在数据预处理的基础上,利用十折交叉验证法,将样本集等分为10份,每一份按照训练集:测试集以9:1的比例划分,将每一份样本作为DBN训练输入集。
初始参数:h、v、b、c、W,K其中b、c、W,也就是相应的权重和偏置值,V是输入向量,
h是输出向量,K为RBM的堆叠层数。开始RBM训练,对于每一条样本数据x,采用对比散度算法对其进行训练:
五 仿真实验
为了对比基于DBN模型的风险端口识别算法相较于传统的指纹识别风险端口算法的优劣,本文设计了一套对比试验。实验设计如下:选取企业1000个端口,分为2组,其中一组作为DBN模型的训练集,另一组作为对比两种方式优劣的测试集。风险程度范围设为0-1之间,数值越大风险程度越高,通过人工渗透测试的评定结果作为标准值,比较预测结果与标准结果,通过计算两种方法之间的AUC差距来评判好坏。
通过仿真实验得到图1结果,比对可知,DBM模型的AUC显著高于传统方式的风险评估,AUC值为0.73,而传统方式的AUC仅为0.53。这表明基于DBM的风险评估模型具有较高的准确率。
六 总结
本系统及方法利用受限玻尔兹曼机将与端口相关的多维特征进行提取,再利用深度置信网络(DBN)将提取的特征集训练,最后完成高危端口的识别。受限玻尔兹曼机的作用为特征提取器。受限将没有标签的数据,对玻尔兹曼机进行训练,再利用DBN算法对训练数据进行有监督的学习。使分类问题直接在训练受限玻尔兹曼机时就能完成。实现了高危端口识别的准确性,极大的提升了风险端口准确性与全面性。
引用
[1]Harrison, W.(2018).The importance of network security in the digital economy. Digital Communications, 5(2), pp. 1-6.
[2]Smith, J. (2020). Vulnerability of Public Internet Endpoint Servers and Their Open Ports. Web Journal, 4(1), 24-27.
[3]Li, W., & Jiang, K. (2020). How to do a good risk identification for public port and further realize the control of terminal server public port. Journal of Information Security, 30(2), 264–283.
[4]Jiang, Y., Lei, S., & Li, P. (2019). Risk port identification technologies for server security. Communications in Computer and Information Science, 965, 75-84. doi:10.1007/978-981-13-6034-1_7
[5]Perlman, R. (2017). Risk Recognition Based on Traditional Technology Is Insufficient to Identify Emerging Cyber Security Threats. Technology Today, 23(2), 45-51.
[6]Hinton, G.E., Osindero, S., & Teh, Y. (2006). A fast learning algorithm for deep belief nets. Neural computation, 18(7), 1527-1554.
[7]Li, Y., Ma, Y., Zhao, Y., & Wang, G. (2020). Advantages of deep belief networks for complex data structures. IEEE Transactions on Neural Networks and Learning Systems, 31(2), 437-443.