华为安全CTO:未来已来,安全有AI
星期一, 二月 24, 2020
作者:华为安全
摘要:
在纷繁复杂、光怪陆离的数字世界,漏洞的必然存在和入侵的不可避免,使网络安全成为永恒的话题。无论在入侵者还是防御者眼里,都在寻求有力的武器。AI技术的出现,在自动化助力上,能显著提升攻防双方的能力基线。
未来已来,机器智能对抗是新网络安全时代的选择。本文详细阐述了,AI在网络安全应用的必要性、可行性、应用实践,以及经验总结。从专家知识经验到安全数据利用,从安全左右脑的双轮驱动,到多方知识协同,打造抵御多方位立体化攻击的安全长城。
网络安全的问题源自何方?
安全问题的本源:系统中蕴含超出设计意图的输入、中间过程和输出。一个简单的函数设计,功能点是:特定的输入下的特定的输出。实现时候,可以采用不同的内部逻辑,都能实现此功能点。良好的设计,会充分考虑例外的输入,不同中间过程中的异常处理,以及非预期输出的处理。但实际开发过程,由于开发能力、进度压力、逻辑复杂度大等各方因素下,会有各种设计意图外的副效应,而这些副效应会成为系统的漏洞,并被利用产生非预期的行为。
对于需要大量人员参与、大量逻辑迭代构建的系统,其复杂度呈指数上升,就会在某种程度上超出设计者的能力控制范围。
系统的漏洞不可避免,不可杜绝。任何的系统都必然存在漏洞,有漏洞就可能会被入侵。
不夸张,不粉饰,如何客观看待当下网络安全的真实存在?
传统基于静态规则和签名、简单行为识别武装起来的防御系统,可以抵御常规攻击,但在有计划投入的黑客组织的持续攻击下,基本是透明的。近年来国际安全行业针对“assume breach”形成共识,是否被入侵成功,只取决于自身的商业和政治价值以及入侵的成本。在高价值目标里,入侵是已经客观的存在,并将长期存在。所以,从危害程度看,内网安全防护会是未来的重中之重。
同时随着万物互联的智能世界的到来,网络攻击日益增多且越来越自动化、智能化。复杂的攻击可以自动检测环境,从而混淆、躲避和变种;高度自动化的工具使攻击变得更加聪明,传统防御策略是无法处理这些问题。安全团队的人力会淹没在大量的告警事件中,产生告警疲劳,从而难以及时识别和应对真正的威胁。
网络安全的现实困局是:
漏洞的必然存在,和威胁入侵的不可避免,如何保卫数字世界的安全呢?
如果把网络世界的安全看做是一场攻防战争,攻防各方首先都要有强大的军备。在这个军备清单里AI会是关键武器。作为新时代的电力,它将发光并照耀整个真实及虚拟的世界。
在网络安全领域,传统防御模式的假设是:所有攻击场景都是已知的,每种攻击场景和应对策略一一对应,那么基于规则的系统便可高效地运行。类似于中国武术的散打表演,按照固定套路来。
但现实是残酷的。
随着大数据时代的到来,黑客的攻击手段日趋复杂与多样,新型病毒和病毒变种层出不穷。例如2017年勒索病毒WannaCry席卷全球,150多个国家遭遇攻击。WannaCry爆发后,依然不断有黑客修改该病毒,新型病毒及变种不断涌现,勒索病毒已成为威胁互联网安全的一大毒瘤。
AI作为信息世界的最新技术,也已经被具有创新精神的黑客组织采用来武装自己。面对这些疯狂且极具创新颠覆意识的对手,传统防御技术已无法跟上快速演进的攻击和威胁。不要说新型未知威胁,即使对于已有的安全漏洞的攻击变种,也很难及时发现并有效处置。
同时,国内网络安全市场正在经历一场场转变。从注重安全合规,向注重效果转变;从原来的流于表面的安全设备购置和部署匹配,向注重实战的攻防演练、调查问责转变。网络安全的建设模式,也从被动防御转为主动能力建设。整个网络安全行业最终进入基于AI的机器智能对抗时代:谁拥有更多的AI能力和攻防知识,谁的获胜面就更大。
AI是一种机器展现的智能。理想的智能机器能够感知周围环境,并采取行动以最大可能达成特定目标。教科书对AI的经典定义是:
1、象人一样行动、象人一样思考;
2、合理地思考、合理地行动。
在网络安全领域的AI应用可以定义为替代安全专家能力的自动化技术
当前,促成AI在网络安全领域应用的要素都已经集齐:
1、高性能计算AI芯片;
2、大量可采集的数据、日志和安全事件;
3、AI算法近年来的突飞猛进,聚集这个时代大量最优秀的大脑。无论传统机器学习、贝叶斯网络、知识图谱,还是深度学习、图计算,在各行各业都得到充分的实践。
即使上述条件成立,人们还是会有疑惑:在极具个人英雄主义色彩的安全攻防领域,面对新型威胁的创新不断和灵活多变的网络攻击套路,在攻防双方成本严重不均衡的博弈场景下:
AI是否具备解决网络安全问题的条件并真能成为关键武器呢?
首先,判断待解决问题的背后,解是否存在。世界是稀疏的,世界万事万物背后都会有一定规则在起着作用,包括大自然的作品和人类的所有作品都一样。物理世界,从量子力学看,微观上是由不确定性原理和薛定谔方程的概率波统治的;而宏观上,则是由广义相对论、麦克斯韦方程组统治的充满确定性的世界。
理论上,围棋有超越宇宙中所有原子数量的变化。而实际上,AlphaZero经过450万盘的强化学习,就已经可以战胜AlphaGo Lee了,这表明每个局面可选择的有效下法其实是有限的。所以,在特定场景和具体设计下,事物的存在和发展在可量化描述的维度上是稀疏的,有大概率的趋同性。
网络攻击也是基于一定的样本和攻防理论,而非完全孤立和随机离散,也就内含了某个模式或者规律,是可解的。
其次,探讨和提取模式和规律,有很多成熟的科学方法。
在简单的系统中,通过归纳总结,人类专家就可以提取出规律,用在网络安全领域就是一系列的安全规则、签名以及情报。在复杂的系统中,模式和定律需要通过大量数据分析才能得到。
AI是超越人工的利器,可以从数据中找到特定的模式并刻画事物的特征,总结出定律和定理,并抽象为可以用符号推理表达的知识。比如,引爆此次AI技术浪潮的是基于深度学习的神经网络,它之所以有如此大的作用,正是因为它较好地模拟了人脑这“分层”和“抽象”的认知和思考方式。其实质,是通过构建隐层的神经网络模型和获取海量的训练数据,来学习到更有用的本质特征,从而最终提升信息分类或预测的准确性。图像识别通过应用深度神经网络,已经拥有超越人的识别能力。现实中,人脸识别应用非常广泛,也已经显示出高于人工识别的优越性。在数据中心的AIops中,AI同样发挥着重要作用。
AI本身擅长的就是,从大量纷繁复杂、但含有有效信息的数据中寻找本质的模式或规律,对于网络安全领域也一样。
AI如何有效的应用于网络安全领域?
网络安全AI应用的目标是替代人类安全分析专家在特定场景下的工作,实现自动化。
我们先看看人脑的决策机制:
右脑,感性,非计算模式,从已存储的模式中启发式匹配检索。即通常意义上的直觉,可以快速匹配、快速反应,根据历史经验来提取关键事物特征和行为模式,从而第一时间做出决策。
左脑,理性分析,通过一定的逻辑计算,从普世定理和领域知识出发进行演绎推理。从知识概念中来,到现实证据中去,通过推理模型预测和证据对照来判断真伪,指导做出决策。
理性可避免错误,但也可能会受限于旧知识而因循守旧。感性激发创造力和快速反应,但会陷入被设计的陷阱,误判较大。
人的决策,很多时候是左右脑互博而达到协调统一,才能给出更合理的结论。
AI在网络安全中的应用模式,也大概如此。安全AI右脑需要有类似老刑警“看一眼即懂”的能力,不放过任何一个可疑分子;安全AI左脑需要用攻防知识库和推理引擎来武装自己,从多维关联、攻击链、图计算到知识图谱,推导得出一个更合理的最终决策。
AI在网络安全中的应用模式如下:
第一、安全数据的加工中AI的应用。安全数据加工目的是自动或者半自动产生安全情报、规则或者签名。一般来讲,这个加工过程需要安全专家参与最后的确认与调整。通过利用AI工具,可以过滤掉大部分无用的数据,并给出更精确的情报、规则和签名的建议,减少安全专家的分析工作量,提高工作效率,减少重复的劳动。
第二、有监督学习的安全AI检测:通过对海量黑白样本的学习,建立分类模型,识别威胁的真实性,是最常见的应用。有别于静态固定的签名和规则,AI模型比人类专家更能在海量数据中找到最接近本质的特征表达,因而有更强的泛化能力,适应于各种变种。变种很多有家族属性和恶意代码的重用度,这些是监督学习算法最擅于捕捉到的关键特征,但需要注意的前提是大数据量和高质量的黑白样本,以及场景问题在可以用的安全数据中的信息含量多少。
构建AI模型的门槛即低又高。低,是因为数据驱动的机器学习和深度学习,无脑拟合,容易过拟合得到高精度得分,可以在局部数据很到漂亮的结果;高,是因为要替代或者超越人类安全专家,首先需要的数据不仅有量还要有质,同时在算法上有深入研究。到模型构建的最后时刻,每前进1个百分点都非常困难,需要“炼丹师”般高深的功底才能取得一个实战环境基本可用的AI模型。而这只一个开始,AI模型还要根据不同客户具体环境下的安全数据的分布差异,不断的迭代优化,反复打磨才能实战可用。
第三、无监督学习的安全AI检测:无监督学习不需要事先标记好数据,而是可以通过数据本身在时空维度上的内在联系,建立行为基线;或者通过聚类算法,来表达数据本身的分布属性,从而获得安全数据的分布模型。通过数据空间的分布模型可以发现异常,分类不同的数据集合,从而自学习、自适应地识别0 Day攻击或基于已知漏洞变种的攻击。无监督模式是很好的未知威胁检测方式。
第四、基于安全AI的认知能力构建,从安全攻防知识、资产的脆弱性/重要性、情报,通过各种知识推导给出最终结论,可用于最终决策,高级威胁识别,同时给出威胁自动处置脚本,加快响应速度,减少系统受损程度和增加对APT组织的攻击预判。
AI在网络安全中的具体实践举例:
恶意文件数据量巨大,大部分会有有家族性,有较好的AI检测基础。
恶意文件检测基于深度学习DNN模型,用以识别文件是否为恶意文件。其优点是检测算法使用了静态检测技术,无需恶意文件的运行时行为,常用于本地检测。此外,模型小于1MB,运行内存小,适合防火墙做轻量化检测。
恶意文件的本地检测流程
恶意文件检测建模
C&C是内网防护的重点,同时也积累这大量的流量行为数据,有较好的AI应用基础。DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段。DGA检测使用了卷积神经网络(CNN)的模型,识别准确率高达99.9%以上。
DGA检测恶意域名
DNS隐蔽通道是指黑客利用DNS协议实现诸如远程控制、文件传输等操作。例如2017年著名的XShell DNS通道攻击,黑客在XShell中植入恶意代码,通过DNS隐蔽通道外发用户敏感数据。一个典型的DNS隐蔽通道攻击过程如下图所示。
DNS隐蔽通道攻击
使用深度学习卷积神经网络(CNN)识别DNS隐蔽通道。通过batch normalization、word embedding、dropout等技术优化CNN模型,使得DNS隐蔽通道识别准确率高达97%以上。
互联网上的加密流量呈现增多趋势。同时,为绕过传统的流量检测技术,也有很多恶意软件通过TLS加密流量进行通信。如何识别恶意和正常流量,从而有效及时阻断,需要用到基于AI技术的方法。
加密流量识别过程
整个工作分为3大部分:
1、首先安全研究人员通过获取的黑白样本集,结合查询开源情报,域名、IP、SSL等的情报信息,进行特征信息提取;通过对黑白样本的客户端签名和服务器证书的签名进行分析;基于上述分析取证的特征向量,采用机器学习的方法,利用样本数据进行训练,从而生成分类器模型。这就形成CIS安全态势感知系统最核心的ECA检测分类模型。
2、流探针提取网络流量中加密流量的特征数据,包括TLS握手信息、TCP统计信息、DNS/HTTP相关信息以及3/4层协议统计信息,统一上报给AI分析系统。
3、AI分析系统结合自身的大数据关联分析能力,对探针上送的各类特征数据进行处理,利用检测分类模型识别加密流量中的异常C&C连接,从而发现僵尸主机或者APT攻击在命令控制阶段的异常行为。
AI在网络安全应用总结
人工智能技术能够解决静态规则引擎的弊端,从而加强威胁检测能力,并通过知识智能推理来解决安全运维面临的挑战。目前硬件生态的繁荣、AI芯片的涌现为人工智能技术在网络安全领域的落地提供了坚实保障。此外,AI能够助力设备间以及云间协同,促进安全互动生态的发展,通过多方联动打造越发牢固的安全平台,为企业筑起安全防护的钢铁长城。