本系列文章最初发表在 TowardsDataScience 博客,经原作者 Ensar Seker 授权,InfoQ 中文站翻译并分享。
从自主工具到虚拟助手,从聊天机器人到人脸/物体识别,近年来,机器学习已经取得了长足的进步。这是事实。那网络安全呢?《网络安全的未来是否掌握在人工智能手中?》系列文章将深入探讨网络安全与AI的关系,本文是系列专栏的第二篇。
人工智能在网络防御中的应用
传统的固定算法(如决策级别的硬布线逻辑(hard-wired logic))无法有效地应对动态发展的网络攻击。因此,人们需要更多的创新方法,例如,使用人工智能方法和实践,提供灵活性和学习能力,特别是在网络防御方面。
考虑到网络防御,现有的人工智能方法及架构可以列举如下:
A. 神经网络
神经网络有着悠久的历史,始于 1957 年 Frank Rosenblatt 发现的“感知器”。在机器学习中,感知器是为二元分类器(决定向量数表示的输入是否属于特定类别的函数)的监督学习而开发的算法。这些神经网络中最流行的元素之一是人工神经元。一小部分共同工作的感知器可以学习和解决问题。但是神经网络可以由大量的人工神经元组成。由大量人工神经元组成的神经网络可以提供大量的并行学习和决策功能。这些网络最突出的特点是它们的运行速度。它们非常适合于模式识别、学习、分类和对攻击的响应。它们既可以应用于硬件,也可以应用于软件。
神经网络也适用于入侵检测和防范。科学研究表明,将这些网络用于 DoS 检测、计算机蠕虫检测、垃圾邮件检测、僵尸程序检测和数字取证研究是多么有效。
神经网络之所以在网络防御中广受欢迎,其原因之一是,如果能在硬件中实现并用于图形处理器,其速度就会很高。第三代神经网络,更真实地模仿生物神经元的尖峰神经网络的应用是神经网络技术的新发展之一。FPGA(现场可编程逻辑门阵列,Field Programmable Gate Arrays)提供的系统,可以使神经网络快速发展,适应不断变化的威胁,为网络防御做出重大贡献。
神经网络
B. 专家系统
专家系统是最常用的人工智能工具。专家系统是用于某些应用程序的活动领域中的软件,用于查找用户或其他软件提出的问题的答案。它可以直接用于支持医疗诊断、金融或网络空间等领域的决策。有各种各样的专家系统来解决问题,从小型的技术诊断系统到复杂的、庞大的复杂混合系统。
从概念上讲,专家系统包括关于特定应用领域的专家知识数据库,空的知识库和提取引擎统称为专家系统的外壳。要使用专家系统,必须在其中填满信息。专家系统外壳应该能够得到软件的支持,以便向知识库中添加信息,并且可以扩展用户交互和其他可用于混合专家系统的程序。开发专家系统主要是选择/调整专家系统的外壳,其次是获取专家知识,用信息或数据集填充知识库。第二步要比第一步复杂得多,而且需要更多的时间。安全规划就是可用于网络防御的专家系统的一个例子。在这一领域使用的专家系统大大简化了选择安全措施的任务,并为最佳利用有限的资源提供了指导。此外,专家系统在入侵检测中的应用可以追溯到很久以前。
专家系统
C. 智能代理
智能代理是具有某些智能行为特征的软件组件,这些特征使其具有特殊性(主动性、理解和相应智能体通信语言)。这些软件组件具有计划性、可变性和深度思考能力。在软件工程中,它已被作为一个概念,其中软件代理被认为是一种主动的和代理通信语言。但是,在比较代理和对象时,可以看到不同之处:对象可以是被动的,无需理解任何语言(尽管它接受具有良好定义的语法的消息)。
有研究表明,智能代理在网络防御中对 DDoS 的防御是有效的。其中一些研究还指出,在解决了一些法律和商业问题之后,有望建立一种由移动智能体组成的“网络警察”。此外,混合多智能代理、基于神经网络的入侵检测系统和基于智能代理的分布式入侵检测系统等都是这方面的科研成果。
智能代理
D. 搜索
几乎在每个智能程序中,都有不同形式和格式的搜索,搜索的效率往往对整个程序的性能至关重要。在满足解决方案的要求的同时,可以利用其他信息来指导研究,通过这种方式,可以显著提高搜索效率。在人工智能中已经开发了许多搜索方法,尽管它们在许多软件中使用,但这通常不被看做是人工智能的应用。例如,动态规划专门用于解决最有安全问题,但嵌入式搜索似乎不是人工智能应用程序。
和/或树(andor tree)、 α-β 剪枝算法、极小化极大搜索(minimax search)和随机搜索在博弈应用中得到了广泛的应用,特别是对网络防御的决策非常有用。 α-β 剪枝算法最初是为计算机国际象棋游戏开发的,在解决问题方面非常成功,特别是在评估和决定两种攻击的最佳可能动作方面。通过使用最少的获胜预测和最多的失败预测,该算法允许通过忽略大量的选项来加速搜索。
搜索算法
E. 学习
学习通过扩展或重新安排知识库,或者通过开发推理引擎来开发信息系统。机器学习包括获取信息系的计算方法、新技能和组织现有信息的新方法。学习问题与简单的参数学习(符号学习的复杂值,如学习某些参数的值和学习概念、语言结构、功能甚至行为学习)的复杂性有很大的不同。
人工智能为有监督学习和无监督学习提供了方法。如果有大量数据可用,那么无监督学习就特别有用,这种方法在可以收集大量日志的网络防御中很常见。数据挖掘最初起源于人工智能中的无监督学习。
通过适合在并行硬件上执行的并行学习算法创建了一个优秀的学习类。这些学习方法主要用遗传算法和神经网络来表示。遗传算法和模糊逻辑方法已用于网络防御中,例如,威胁检测系统。
F. 约束求解
约束求解是一种利用人工智能(逻辑表达式、表格、方程式、不等式等)开发的技术,通过给出一系列的术语来解决所提出的问题。问题的解决方案是满足所有限制的值的集合(一系列)。实际上,有许多不同类型的约束,这取决于约束的性质(例如,有限集约束、函数约束、有理树(rational tree))。在非常抽象的层次上,几乎任何问题都可以表现为约束满足问题。这些问题的解决往往很困难,因为需要大量的调用。它可以用于约束、逻辑编程、情况分析和决策支持
在第三篇中,我们将讨论预警系统( Early Warning Systems,EWS)和人工智能在网络攻击中的应用。
参考文章
[1] 《感知器:一种感知和识别的自动机》(The Perceptron — A Perceiving and Recognizing Automaton),F. Rosenblatt,Cornell Aeronautical Laboratory,1957 年。
[2] 《利用感知器算法、机器学习进行大边界分类》(Large Margin Classification Using the Perceptron Algorithm, Machine Learning),Y. A. Freund、R. E. Schapire,37(3):277–296,1999 年。
[3] 《加强影响估计方法中的响应选择》(Enhancing Response Selection in Impact Estimation Approaches),G. Klein、A. Ojamaa、P. Grigorenko、M. Jahnke、E. Tyugu,军事通信与信息系统国际会议(Military Communications and Information Systems Conference,MCC),波兰弗罗茨瓦夫,2010 年。
作者介绍:
Ensar Seker,安全研究员。
原文链接:
延伸阅读:
评论