人工智能(Artificial Intelligence)最初可以追溯至1956年,当时几名计算机科学家相聚在达特茅斯会议,提出了“人工智能”的概念,梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。
如今,人工智能实现了爆炸式发展,几乎所有行业(尤其是安全行业)中的所有软件都至少采用了某种形式的AI技术。ESG研究发现,12%的企业组织已经广泛部署了基于人工智能的安全分析,27%的受访企业也已经在有限的基础上部署了基于人工智能的安全分析。专家预计,这种部署趋势会在2018年实现新一轮增长。
在过去几年间,AI的主要子集——机器学习(Machine Learning)和深度学习(Deep Learning)——已经取得了突破性进展,几乎为它们触及到的每个领域带来了翻天覆地地变化。如今,人工智能、机器学习以及深度学习等术语,已经成为人们耳熟能详的高频词,但是仍然存在不少人对这三者的含义及其背后的关系似懂非懂、一知半解。
为了帮助大家充分了解每个术语的含义及其区别,接下来我们将为大家介绍每个子集的优点及其局限性。
机器学习的挑战
“机器学习”的概念来自于人工智能发展的早期。在过去的25年里,机器学习已经发展成为AI内部的领先分支。该技术主要通过使用算法来解析数据、学习数据,然后对真实世界中的事件做出决策和预测。因此,与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“自我训练”,通过各种算法从数据中学习如何完成任务。
举例来说,当我们浏览网上商城时,经常会出现商品推荐的信息。这就是商城根据你往期的购物记录和冗长的收藏清单,识别出这其中哪些是你真正感兴趣,并且愿意购买的产品。这样的决策模型,可以帮助商城为客户提供建议并鼓励产品消费。
曾经,符号与逻辑被认为是人工智能实现的关键,而进入21世纪后,则是基于统计的机器学习占据了主导地位。目前可以说,学习AI主要的是学习机器学习。但是,需要再次强调的是,人工智能并不等同于机器学习,机器学习只是人工智能的一个子集。
尽管这项技术很强大,但仍然存在缺陷,特别是当其应用于安全领域时,这种缺陷显得尤为突出。传统机器学习的主要缺陷之一,是其依赖于特征提取(feature extraction)——即人类专家规定每个问题的重要特征(比如属性)的过程。比如说,将机器学习运用于脸部识别时,图像中的原始像素无法馈入到机器学习模块里面,需要先将它们转换成特征,例如瞳孔间距、脸部比例、脸部纹理和肤色等才行。
这就意味着,为了让机器学习解决方案能够识别恶意软件,人类专家需要首先手动编制与恶意软件相关的各种特征。对于网络安全领域而言,这无疑将会限制到威胁检测的效率和精确度。因为人类专家需要定义特定的特征,所以尚未定义到的特征可能就会逃避掉安全检测,使其无法被发现。
此外,这种对人类参与的依赖还引发了机器学习最大的挑战之一——人为错误的可能性。鉴于“特征工程”(将领域知识应用于特征提取的过程)需要人类专家来定义特征,就不可避免地会出现遗漏或忽略等人为失误现象。在上述提及的恶意软件例子中,如果人类专家在编程期间遗漏或忽略某些特征,都可能会造成系统崩溃的结果。
可以这么说,大多数机器学习算法的性能取决于识别和提取特征的准确性。为了使机器学习系统准确无误,人类专家必须在方法论的基础上定义特征,因为机器学习是一种基于线性的模型(linear model),所以人类专家选择的特征只能依赖简单的线性属性。鉴于这种限制,一些企业及学者开始转向研究深度神经网络(DNN),以更好地保护其基础设施,并为即将发生的攻击做好准备。
所谓“线性模型”(linear model),即使用简单的公式通过一组数据点来查找“最优拟合”线。通过你已知的变量方程(比如,原料),你可以求出你想要预测的变量(例如,烘烤蛋糕需要多长时间)。为了求出预测量,我们输入已知的变量得到答案。也就是说,为了求出烘烤蛋糕需要多长时间,我们只需要输入原料即可。
深度学习的发展
深度学习,也称为“深度神经网络”(DNN),它是机器学习的子领域,从人类大脑的工作机理获得了灵感。深度学习与传统机器学习在概念上的一大区别在于,深度学习可以直接对原数据进行训练,而不需要对其特征进行抽取。
例如,将机器学习运用于脸部识别时,图像中的原始像素无法馈入到机器学习模块里面,需要先将它们转换成特征——如瞳孔间距、脸部比例、脸部纹理和肤色等方可。而深度学习则不需要任何特征提取过程,能够直接对原始数据进行“自我训练”。此外,深度学习还可以扩展到数以亿计的训练样本,并随着训练数据集不断增长而得到发展和完善。
在过去几年间,深度学习在计算机视觉、语音识别以及文本理解的大多数基准方面,已经实现了20-30%的提高——这是人工智能和计算机科学史上最大的性能飞跃。能够实现如此突破的部分原因在于,深度学习能够检测数据之间的非线性相关性,而这些数据对于人类来说通常太过复杂,以至于根本无从定义。与传统的机器学习不同,深度学习支持任何以及新的文件类型,并且能够检测出未知攻击,这对于网络安全领域而言是极具吸引力的优点。
虽然,这些优势使得深度学习在某些方面超越了基于机器学习的解决方案,但其同样面临着一些挑战。研究人员需要负责包含数百万个文件的大量数据样本来训练神经网络,并处理高度复杂的算法。在很多情况下,深度学习是一门依赖科学家的经验和知识的“艺术”,不幸的是,该领域的现有专家是一大稀缺资源。
深度学习对于安全性的影响
如今,深度学习已经在各行各业中得到了实施,特别是在网络安全方面产生了重大影响。2017年最大的恶意软件攻击——如WannaCry、NotPetya以及DDoS事件等——促使企业重新思考其安全策略,及其对于未来攻击的被动应对方式。对于整个网络安全行业而言,能够以最少的人际交互实现最有效的应急响应,是其一直追求的目标。因此,由于深度学习能够减少人际交互的事实,所以组织正纷纷转向基于深度学习的解决方案。
深度学习能够在不需要任何人员参与的情况下,实时防范新出现的恶意软件,同时保持低误报警率,这对于保护端点、移动设备、数据以及基础架构都非常有利。在成功防止恶意软件之后,深度学习技术还可以帮助公司了解它是什么类型的恶意软件——即勒索软件、后门程序或间谍软件——以采取进一步的安全措施。在大多数情况下,这需要专家对信息进行适当的分析,然而深度学习软件会自动识别和分析数据,而无需人为干预。
同样地,该技术还可以用来确定特定攻击源自何处。过去,由于各种原因限制,实现这一目标对于企业IT和安全团队而言一直是一项艰巨的任务。例如,每个民族国家通常有不止一个用于开发这种先进恶意软件的网络单位(cyber unit),这就使得传统的署名权归属算法(authorship attribution algorithms)毫无用武之地。此外,APT通常会使用最先进的逃避技术,不过,DNN有能力学习APT本身的高级特征提取。
2018年,深度学习在安全领域的持续成功将令人兴奋,而且它不会止步于此。除了安全领域之外,深度学习还正在为气候制图、抗击衰老和疾病等许多其他行业带来革命性的变化,不可否认,该技术带来的影响是深远的。
【本文是51CTO专栏作者“”李少鹏“”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】