机器学习、深度学习与网络安全技术 作者:蒋鲁宁

网络空间安全的防护者与攻击者之间是一种非面对面的智力博弈,博弈中的攻击方出自各种动机、运用着各种技术与程序,而博弈中的防护方则往往相对被动。一种改变博弈规则思路是采用人机结合的智能,而不是硬编码的控制机制来抵御各种攻击,特别是抵御复杂的攻击,这种智能的重要体现就是机器学习。

机器学习是赋予计算机通过学习来形成问题解决的能力而不是针对问题的直接编程(Arthur Samuel 1959)。例如对于网络空间,向计算机提供网络实体行为数据,计算机根据这些行为数据来形成行为模式(机器学习的训练过程),然后根据形成的行为模式来判断后面行为是否异常(机器学习的应用过程)。在学习过程中如果存在样本,可以利用这些样本来指导学习(监督式学习),如果没有样本,而可设法让计算机自己学习、归纳出可能的行为类别(非监督式学习)。目前监督式机器学习或非监督式机器学习都有不少相对成熟的算法,并且这些算法在许多领域中都得到了广泛的应用,网络空间安全领域也不例外,如通过已有的僵尸网络样本采用监督式学习来识别僵尸网络的控制指挥(CC)服务器,通过非监督式学习来对僵尸网络聚类行为相似的受控机器,这些实现中大都采用了机器学习中常用的算法,如支持向量机(SVM)、人工神经网络(ANN)、决策树分类器、贝叶斯分类器等机器、K-means等。

传统机器学习的思路是根据需要解决的问题寻找特征向量(即一组特征),然后根据特征向量来抽取训练数据、建立学习模型。如在僵尸网络识别过程中,通过Netflow中时间戳、包个数、包大小、协议等特征来构造模型。在很多情况下,特征的质量不仅仅影响的学习的质量,还会影响到学习的效率,常见的情况就是选择了一组语义相互交叉的特征向量,这样计算的维度高,且没有增加实际效能。为了解决这个问题,一个途径是通过诸如主成分分析法(PCA)来降低维度,另一个途径就是近几年开始兴起的深度学习(Deep Learning)。

深度学习近来对普通大众也不是陌生的术语,这归功于谷歌下属公司DeepMind基于深度机器学习研究的AlphaGo程序首次打败围棋专业棋手造成的轰动。但深度学习发展能追溯到2006年以及后来一系列关于深度学习的Workshop,如NIPS Deep Learning Workshop(2008开始)、ICML Workshop on Deep Learning(2009开始)等,只是近几年得到了长足的进步,特别在图像识别、语音识别、自然语言处理等领域得到突破性的应用。目前深度学习的定义并不一致,有的定义强调自动发现特征、有的强调复杂的非线性模型构造、有的强调从低层次到高层次的概念形成等等。

尽管缺乏一致的定义,深度学习作为机器学习的一个子领域且具有极大发展前途是毋庸置疑的。深度学习中深度含义从计算角度是对算法的刻画,缘于人工神经网络(ANN),只是网络的层次(中间层)是多层而不是早期的一层。在深度学习算法中,人工神经网络第一层(输入层)可直接接收原始数据,而不仅仅是特征,中间层包含了若干个神经元,每个神经元包含两个功能,一个是对输入的加权叠加,另一个是对将叠加的值进行变换(进行规约)并将变换后的值传入到下一层,输出层根据得到的多层运算的最后结果进行决策。深度学习之所以功能强大在于对原始数据进行多项(神经元)与多层的运算,这种计算是非线性的,可发现特征,可适应各种复杂的场景。

深度学习最近也引起信息安全领域的关注,逐渐成为各种信息安全杂志、博客以及会议中的热门主题。一个具有标志性的事件是全球第一个基于深度学习提供商业化网络空间安全解决方案的公司(Deep Instinct)于2015年11月在旧金山成立,该公司宣称其安全解决方案能够抵御未知攻击,能够即时地检测0-day漏洞的威胁和APT攻击。2016年1月,赛门铁克也宣布采用深度学习技术检测利用0-day漏洞的病毒工具。深度学习仍在不断发展中,该技术无疑是网络空间安全非常值得关注的一个重要方向。

2017-01-13 15:05
来源:中国信息安全杂志(2016.5)
热门推荐更多
热点新闻更多