王逸鹤 黄亦芃
1(中核战略规划研究总院有限公司计算机所网络安全研究室 北京 100048) 2(清华大学软件学院 北京 100084)
(tinayihe@163.com)
在信息化发展和普及的大趋势下,日益频繁的网络使用和信息交互带来的网络流量爆炸以及网络设备、终端设备和安全产品之间的多样异构性,为不法分子提供了更多的突破口,使网络安全面临更加严峻的挑战.因此,在高复杂度以及高关联性的网络环境下,适应并提升网络安全防御防护能力至关重要.面对网络攻击,提高网络威胁态势感知的前瞻性和准确性以及网络安全事件应急处置的实时性和有效性成为了网络攻击防御的重点和难点.同时,网络安全工程师在判断如何设计网络安全技术架构和何时进行技术架构调整或加固时,往往需要依据个人经验或借鉴业界实践.这种方法难以满足网络安全技术架构设计全面性和前沿性以及及时发现整体架构和各节点的漏洞和弱点的需要.
大数据技术的应用给许多行业带来了突破性的发展.网络活动所产生的数据与大数据的特征高度吻合,因此大数据技术可以有效地应用在网络安全领域.大数据的5V特征包括大量(volume)、高速(velocity)、多样(variety)、价值密度低(value)和真实性(veracity)[1].在网络中,各类终端、网络设备、安全设备、应用系统和软件以及审计系统所产生的网络流量和日志等数据量巨大且复杂异构,吻合大数据大量和多样的特征.另外,网络数据的强时效性以及网络安全防御对实时性的高要求反映了网络数据在产生和处理中高速的特点.最后,网络痕迹与现实世界息息相关,日志文件等记录覆盖了网络域中各时段的行为,可信度高但有效信息提炼难度大.利用大数据技术可以从庞大的网络数据中提取出有效数据用以分析和预测网络安全事件的过程和趋势,符合大数据真实性以及价值密度低的特征.
本文研究讨论了面向网络安全综合防御防护的大数据平台的功能需求和整体技术架构,以适应当下的网络安全形势,提升信息系统应对网络攻击时应具备的各项能力.这一大数据系统将主要满足3点要求:1)提高网络安全态势感知的前瞻性和准确性;2)综合网络状态、基于网络安全知识库,建立辅助网络攻击应急处置的决策支持系统;3)有能力推荐网络安全技术架构的优化方案,提高信息系统网络安全架构的全面性和前沿性.
基于上述能力要求,我们对大数据平台提出了以下3项功能需求:态势感知、应急处置决策支持和网络安全系统智能优化.这3项功能应分别迎合以下几点需求:1)迅速感知网络攻击威胁,分析其成因并预警,提供网络安全态势的可视化描述;2)在紧急情况下快速提供应急处置方案,辅助决策者制定处置措施并派发相应工单;3)结合大量的网络安全情报,智能化分析信息系统网络安全架构的健壮程度并查找弱点,进而为整体安全架构以及各设备安全防护提供优化策略和方案.
下面我们将围绕这3项功能阐述对应的技术特点.
态势感知需要对信息系统的网络安全状态进行监测,对可能的威胁进行预警,以提高系统对于网络攻击的前瞻性.从在线检测预警的角度,态势感知所依赖的数据多表现为高密度、不间断的实时流式数据,如网络流量数据和日志数据.这些数据在经过简洁快速的预处理后直接进入在线数据处理过程,结合历史数据进行实时的异常诊断和溯源,输出异常的相关指标并预警.同时,在不影响应用性能表现的前提下,流式数据处理的输出结果还应分发到数据存储系统,一方面作为历史数据,供未来的实时流处理使用,另一方面作为离线分析计算的可用数据,为其他应用模块提供支持.
除此之外,态势感知还需要离线计算技术的支持,通过集中处理和分析一定周期内(如每天、每周等等)的可用数据,经过清洗、集成、批量处理等过程,输入如深度学习、异常检测等机器学习模型来达到更为精细、全面的入侵检测.另外,检测结果经验证后可以反馈给相应的模型进行再学习,以提高态势感知的准确性.
在面临较严重的网络安全攻击等紧急情况下,大数据平台应根据威胁的具体信息,结合离线搭建的网络安全知识库,快速构建多套处置方案并提供相应的技术指标,辅助决策者进行判断并制定应急处置的行动方案.
相较于态势感知,应急处置决策支持的实时性更加注重应对网络安全威胁作出快速反应,并且更依赖于汇集了各类网络安全情报和资料的知识图谱来进行网络安全威胁的关联和发散以及相关解决方案的提取和组合,实现多样的决策支持并保证其有效性.因此,以离线方式在海量的信息和情报中对网络安全相关知识进行抽取、关联和融合至关重要.此外,平台的数据存储层面还应辅以适当的数据库技术(如图数据库)保证知识实体和关系的读写性能.
大数据平台还需要对信息系统的网络安全架构进行评估并提供优化方案,例如及时推送病毒库升级、漏洞补丁,以及根据网络攻击趋势对现有网络安全架构提出调整建议和加固方案.相较于单纯的人工架构设计,基于大数据的智能优化方式具有以下优势:
1) 更为及时地评估、发现资产漏洞及架构设计弱点;
2) 用于设计优化网络安全架构的知识储备量更大且覆盖面更广;
3) 对新兴技术和趋势反应更为及时,可提高网络安全体系的前沿性.
类似于上述应急处置决策支持的技术特点,该功能的实现建立在对网络安全动态、漏洞信息、行业最佳实践等资料的提取、关联、融合之上,通过构建网络安全系统优化层面上的知识库,达到智能化定制优化策略的目的.因此,数据应用层以下的部分技术,如数据分析方面的知识图谱、离线数据处理、数据库管理系统等,可以同时为这2个功能提供服务,实现资源的共享和复用.
通过分析3项主要功能的业务需求和相应的技术需求,我们可以总结并提出一整套网络安全大数据平台的技术架构设计,如图1所示:
图1 网络安全大数据平台架构
2.1.1 数据收集和预处理
平台的数据源包括网络内部的相关数据,如网络设备日志、安全设备数据、审计信息、操作系统和应用程序日志、资产信息数据等.另外,平台也需要收集外部的各类网络安全资料,如漏洞信息和网络安全相关的社会新闻等情报类信息、网络安全规范和最佳实践等知识类信息.原始数据首先需要经过一系列较轻量级的集成、清洗等预处理,再根据不同的业务需求输入到数据处理和存储过程.
2.1.2 数据存储
为了应对这些多源异构的复杂数据,平台的数据存储应覆盖不同种类的数据库和存储系统,以更有效地存储和访问各种形式的数据.例如,使用关系型数据库存储有明确结构和关系的结构化数据,使用时序数据库存储依赖时间序列的密集数据,使用图数据库存储更注重图形关系读写的数据.
2.1.3 数据处理
在数据处理层面上,平台同时提供在线和离线2种模式,以满足不同的数据处理场景和需求.在线数据处理使用数据流处理的相关技术,对网络安全异常情况的快速响应提供保障,支撑网络安全态势的实时感知.在此过程中,应当避免非必要的数据存储过程以减少性能消耗,还应当按照实际需要对数据作更为深入的数据清洗和转换以保证数据质量[2].离线数据处理采用大数据批量处理的基本框架,在对性能要求较宽松的情况下对数据进行更精细的处理.相较于在线模式,离线模式可以选择在牺牲一部分性能的前提下进行更大范围的数据集成和融合,为上层数据分析和计算提供更广泛的可用数据.
2.1.4 数据分析
对数据价值的深层挖掘更多地体现在数据分析层面上.深度学习、异常检测等人工智能技术可以在网络安全领域中起到关键性的作用,在网络攻击、恶意软件、高级可持续威胁攻击(advanced persistent threat, APT)等网络安全威胁的防护方面有着广泛的应用[3-5].另外,各类网络安全资料在经过数据集成、关联、融合等过程后,可以有效地抽取知识并构建网络安全相关的知识图谱,以支持平台上层应用中处置方案和优化方案的智能化设计.运筹学中的优化思想和算法也可以有效地应用在数据分析中,支撑决策支持和系统优化等功能.
2.1.5 数据应用
基于数据收集、预处理、存储、处理和分析层的技术支撑,平台可以在数据应用层上实现前文论述的三大功能,并且可以根据实际应用需求增加其他应用模块.
2.1.6 监控管理和数据安全
在大数据生命周期[6]之外,平台的设计还包括监控和安全相关的模块,便于管理从数据收集到应用的全部系统流程和保证平台中数据的安全性.
结合前文所述的3项主要功能,本文提出的网络安全大数据平台设计具有以下特点:
1) 数据处理过程采取在线和离线处理相结合的方式,满足不同应用模块的业务需求;
2) 引入外部资料,从中抽取知识并关联、融合,构建网络安全知识图谱,以有效地对信息进行检索、扩展和发散,支撑决策支持和系统优化等功能的实现;
3) 采用分层化模块化设计,使平台具有很强的可拓展性;
4) 利用分布式大数据处理框架的计算能力,结合面向不同数据类型的各类数据库技术,实现海量异构信息的高性能读写和处理.
近年来,越来越多的研究者加入到大数据技术在网络安全领域应用的研究.相关工作主要包括面向网络安全的大数据平台整体架构以及技术路线的研究.另外,大数据平台中的数据分析和应用部分往往需要借助人工智能技术.因此,不少研究者也对深度学习等人工智能技术在网络安全领域中的应用展开了研究.
目前,在网络安全领域,大数据平台主要被应用于网络安全风险态势感知.管磊等人[7]曾通过讨论大数据技术在网络安全分析上的优势,提出了基于大数据技术实现网络安全威胁检测、研判和报警的安全态势感知平台.该研究通过网络安全威胁数据汇聚与存储、面向威胁情报的大数据分析和态势感知与预警这3个层面对网络安全态势感知平台的技术、实现方法、部署、试运行和应用情况进行了阐述.琚安康等人[8]曾通过对开源大数据工具集与前沿的大数据技术的集成,提出了具备威胁预警和态势感知功能的系统框架,并描述了其数据收集整理子系统、数据存储子系统、规则挖掘提取子系统、实时关联分析子系统和安全态势呈现子系统的功能及相关开源大数据工具.
随着计算性能的提升和深度学习的发展,人工智能领域的研究工作取得了重大进步.早期,传统机器学习技术在解决网络安全威胁中起到了至关重要的作用.然而,传统机器学习算法对于特征提取的依赖对其在网络安全领域的应用产生了一定程度上的制约,事先定义的特征识别和提取方法也会影响算法的准确性和灵活性[9].深度学习是机器学习的一种,它与传统机器学习最大的区别在于深度学习无需前置计算提取特征.因此,深度学习为网络安全攻防带来了新的突破.目前,机器学习技术在网络安全领域应用的相关研究主要包括高级可持续威胁攻击、恶意软件、网络入侵、软件定义网络中拒绝服务攻击的检测等.此类研究可以支撑网络安全防御防护大数据平台中数据的分析和处理阶段.
在传统机器学习方面,最近邻(knearest neighbor,k-NN)节点算法、支持向量机(support vector machines, SVM)、决策树等技术都在网络安全领域有着不同程度的应用.Dada[10]提出了综合最近邻节点算法、支持向量机和基于异步式的原始对偶粒子群优化算法(pdAPSO)的网络入侵检测方案.通过使用KDD99数据集验证,该分类机的准确率可达98.55%.然而,此方法只关注了分类的准确率,并没有考虑到算法的效率和复杂度.当今网络中每时每刻都会产生海量的流量和数据,如果想通过传统机器学习方法解决实际网络安全问题,算法的性能至关重要.Hong等人[11]针对网络流量检测的准确性和实时性提出了一种有助于缩短SVM训练过程的迭代调试方案.同时,通过迭代调试SVM的理论分析,作者提出了一套SVM调参的方法.该研究通过与另外8种基于SVM技术的分类机对比,证明此方法可在保持可接受的准确率的同时提高训练速度2~10倍.
如前文所述,自动的特征学习过程使深度学习技术可以对数据进行更深层的挖掘,为其在网络安全领域的应用带来了优势.深度信念网络(deep belief network, DBN)是一种概率生成模型,包含多层随机隐变量.深度信念网络可以被视为受限玻尔兹曼机(restricted Boltzmann machine, RBM)的堆栈.深度信念网络通过逐层训练的方式为整个网络进行初始权值选择和微调优化.Alrawashdeh等人[12]实现了基于深度信念网络的异常检测方法.该方法经过DARPA KDDCUP’99样本集验证,检测率和误报率分别为97.9%和2.47%.循环神经网络(recurrent neural network, RNN)用于处理序列数据,其特点在于引入了定向循环,通过将隐藏层之间的输入输出节点相连接,使神经网络可以记忆前一时刻的信息并应用于后面的计算.Staudemeyer[13]实现了面向入侵检测的长短期记忆循环神经网络(long short-term memory recurrent neural network, LSTM RNN)分类机.该成果在检测DoS攻击和探针(probe)攻击等时间关联性高的网络攻击中优势突出.卷积神经网络(convolutional neural networks, CNN)是一种常用的受人类视觉认知机制启发的前反馈神经网络.CNN的一大特点在于将大量复杂、无标记的数据进行最小化预处理的同时有效保留数据特征,这使其在网络安全态势感知和网络入侵检测的应用上很有前景.Yu等人[14]提出了面向网络攻击的增大型卷积自编码(dilated convolutional autoencoders, DCAEs).该深度学习方法结合了自编码堆叠和卷积神经网络的优势,可以从大量异构且未加工的网络流量数据中自动学习识别高级可持续威胁攻击、扫描、僵尸网络、恶意软件等特征.然而,深度学习对比传统机器学习算法更易受到恶意攻击的影响.利用带有轻微偏差的对抗性样本可导致深度神经网络的分类机制发生错乱.这种现象同样吸引了很多研究者投入到深度学习安全的研究中.
对于本文提出的相关设计,目前,威胁检测、态势感知方面的研究及应用如前文所述已较为成熟.然而,面向网络安全事件应急处置智能决策支持以及网络安全架构的智能优化方面的研究和讨论相对较少.
本文阐述了以大数据为依托的网络安全综合防御防护应用体系,并引申出整套网络安全大数据平台的技术架构.从需求分析出发,本文提出态势感知、应急处置决策支持和网络安全系统智能优化3项功能要求,分析了网络安全大数据平台的业务需求和相应的技术需求,并由此设计了平台的技术架构.该平台采取分层模块化架构,具有高可拓展性,结合例如工单派发、一键处理等操作模块可有效协助监管和运维工作.
本文提出的大数据平台设计应用在规模较大的网络中优势明显,例如大型企业网络、大型公共网络等.此类网络具有流量大、复杂度高、能力及资金支持度高等特点,使得大数据技术可以得到充分有效的发挥.平台的应用层可覆盖网络安全领域,从攻击检测、威胁感知、事件处理、知识库构建以及可持续反馈提高的全链条,实现更为全面、及时和智能化的网络安全综合防御防护.