人工智能,是一种借鉴生物感知系统和神经系统来开发相应模拟算法的计算机技术,其主要特点是可从数据中学习特征并进行自我迭代训练。
通常,人工智能算法往往需要大量的数据以及庞大的计算资源作为支撑。随着计算机硬件的迅猛发展以及互联网时代下海量信息的积累,这使得构建复杂的人工智能算法变得可能。2016年,由谷歌公司旗下DeepMind研发的围棋人工智能系统AlphaGo[1]以4比1的战绩打败了人类顶尖棋手李世石。自此,人工智能技术开始了爆发式发展。
在网络安全领域,全球越来越多的公司正在尝试将人工智能、机器学习等集成到产品之中,智能化(Intelligence)、自动化(Automatic)都是网络安全领域的热词。
我国于2017年7月8日印发《新一代人工智能发展规划》,标志着我国人工智能发展进入到国家战略层面。近日发布的“十四五”规划纲要中,共有6处提及人工智能,并将“前沿基础理论突破,专用芯片研发,深度学习框架等开源算法平台构建,学习推理与决策、图像图形、语音视频、自然语言识别处理等领域创新”视为新一代人工智能领域的重点攻关方向。
近几年来,人工智能技术不断取得各种令人惊叹的成果,我国人工智能领域发展可谓突飞猛进,《中国人工智能发展报告2020》显示,过去十年全球人工智能专利申请量超52万件。中国专利申请量为389571件,位居世界第一,占全球总量的74.7%。人工智能被应用于越来越多的行业之中,尤其是在计算机视觉、自然语言处理、游戏对抗等领域。
人工智能的应用
在计算机视觉领域,主流的人工智能技术是卷积神经网络[2,3,4],卷积神经网络借鉴了生物视觉神经系统的工作方式,对视觉信息进行类似于视神经细胞一般的处理,之后作出相应的响应。相较于传统视觉算法,卷积神经网络取得了前所未有的成功。凭借其高准确率,已然成为该领域下各种复杂任务中最受欢迎的解决方案。例如在人脸识别、目标跟踪、自动驾驶等领域。
在自然语言处理领域,基于人工智能技术的语言模型更深层次加深了计算机对语言处理的理解。例如谷歌于2019年推出的Transformer模型[5],其在推荐系统,用户行为分析,机器翻译等语言文本任务领域被广泛应用。
在游戏对抗领域,主流的人工智能技术是强化学习[6,7],由于游戏有明确的规则,利用强化学习算法可以使智能体(计算机)在自我对弈中找到最优解。近年来,强化学习技术开始“出圈”,逐渐被应用到各种行业中,如机器人控制、自动驾驶等领域。
由于人工智能算法极其复杂,且人工智能模型内部包含大量参数,这导致对其进行定量的分析变得极其困难。随着人工智能技术的广泛应用,尤其是在一些对信息安全极其敏感的行业中应用人工智能技术,例如人脸识别、自动驾驶、癌症诊断、国防与关乎人民生命财产安全息息相关的方面,如果不谨慎对待,这些安全隐患很可能在某个节点彻底爆发。所以,对人工智能技术的安全性研究变得尤为重要。
人工智能自身的安全性
以深度神经网络为代表的人工智能技术由于其算法复杂,参数众多,需海量数据驱动等特性使得其自身具有众多安全缺陷,这些缺陷主要发生在两个阶段:AI模型的训练阶段以及应用阶段。其中训练阶段攻击者主要利用AI模型的数据驱动特性,针对训练数据以及训练所使用的算法发起攻击[10],使AI模型偏离原本的训练目的。在应用阶段,攻击者主要利用AI模型本身特性来诱导模型作出错误推断。我们分别从攻击手段和防御手段两个角度来阐述在两个阶段中人工智能自身的安全性问题。
模型训练阶段
攻击手段
训练数据集投毒——当前绝大多数AI算法的所有知识完全依赖于训练数据集之上:攻击者对数据集发起投毒,通过向数据集中引入不正确的标签,将AI系统的学习引到错误的方向上,以使模型将学到的特征模式与错误的标签相关联,从而实现为攻击者的目的。数据集通常包含数百万个样本,这些样本很多时候来自公共资源。即便数据集由私人收集,攻击者也可能入侵数据存储系统并向其引入中毒样本来破坏本来有效的数据集。已有报告指出,即使训练集中仅含有3%的数据污染,数据投毒依然可以让模型精确度下降11%。
算法投毒——此种攻击方式是利用AI学习算法中的薄弱环节。算法投毒攻击针对联邦学习算法[11,12]的威胁尤其巨大。联邦学习在每个节点上训练一组小模型,之后将这些小模型汇总在一起,以形成最终模型。由于每个节点的私有数据仅在自身上被用于训练,因此可以保护他们的隐私。虽然联邦学习是一种解决用户数据因素的良好方案,但其容易受到算法投毒攻击。由于攻击者可以掌握那些受自己控制节点的设备运作,因此他们可以操纵节点上的运行数据和算法来毒化模型。
防御手段
使用可信任的数据集以及云托管平台。训练前应用检测机制,检查数据集是否被污染。设置准确度阈值,在每个训练周期后使用该阈值测试模型,若测试结果发生巨大变化,则极有可能存在数据污染。尽量使用离线训练,一方面攻击者无法从离线训练中得到即时反馈,另一方面也提供了审查数据的机会。
模型应用阶段
攻击手段
白盒攻击——攻击者了解所要攻击AI目标的模型结构、参数等信息。通过利用这些信息,攻击者可以构造出针对AI模型的对抗样本,这些对抗样本往往可以使模型作出错误的判断,甚至诱导模型输出到攻击者指定的方向。此类攻击方式主要分为基于梯度的攻击手段(FGSM[13], PGD[14]),基于优化的攻击手段(CW[15]),基于决策面的攻击手段(DeepFool[16])。
黑盒攻击——攻击者无法了解目标AI所使用的模型以及参数,模型内部是否具有防御手段等信息,攻击者只知道模型的输入以及输出。黑盒攻击相比白盒攻击要困难许多:因为缺少关于模型的信息,黑盒攻击往往需要对模型进行大量查询,根据查询本身以及模型输出结果不断执行迭代以此来重构模型本身的行为,从而构建对抗样本。现实中,攻击者遇到的往往是黑盒攻击。黑盒攻击算法相较于白盒攻击更具有通用性。近年来,已涌现出很多优秀的黑盒攻击技术:如模拟攻击[17],这种攻击手段允许攻击者只需要少量查询,根据这些查询结果以及一些经典的AI模型来训练并构建“代理网络”,待训练结束之后代理网络能够逼近目标AI模型的输出。
模型替换——攻击者使用中毒模型代替正常模型。这一点很容易由传统的网络攻击实现。完成训练的模型也是计算机文件,与图像或PDF文档没有什么不同。攻击者可以入侵持有成熟模型的系统,然后更改模型文件或将其完全替换为受攻击者控制的中毒模型。
防御手段
可在AI模型的训练集中增添一些被干扰过的数据,使模型对含有噪声的样本更加具有鲁棒性。或使用网络蒸馏技术,在同一个训练集上训练多个不同的AI模型,最后使用这些模型的平均值作为输出,此种方法需要大量的资源,但也有更高的精确度与较高的鲁棒性。在模型成型之后,亦可对输入的数据进行一定的去除噪声预处理(如使用高斯平滑滤波器等)来达到防御对抗样本的目的。
人工智能在信息攻防战中的应用
攻击方
人工智能技术具有可自我学习数据特征,算法结构具有一定通用性的特点,借助该特点很多传统的攻击手段不仅可大幅提升攻击命中率,还可以摆脱很多繁琐且的且昂贵的人工成本。不仅如此,当下最为先进的人工智能技术还可生成逼真的虚拟数据(图片、视频、音频、文本等)。
数据伪造与篡改:2014年,由Ian J.Goodfellow等人提出了基于深度学习的生成对抗网络模型[19]。生成对抗网络由一个生成网络与一个判别网络组成。生成网络从数据表征的潜在空间中(latent space)中进行随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本和生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。
2017年,在Reddit论坛上出现了使用生成对抗网络对视频中人物进行换脸的技术,名为Deepfake,只要有脸部照片,这项技术就能够将视频中的人脸替换成任意一个目标人脸,而且效果十分的逼真,肉眼难辨真假。随着Deepfakes的兴起,已有人将该技术应用到不法行业上,根据华盛顿邮报的一篇报道,在英国已出现使用AI合成语音进行诈骗的案例;在微信和qq等社交网络上已出现兜售基于Deepfake技术“定制”色情视频的团伙。不止在图像与语音领域,由OpenAI创建的GPT-2模型可模拟人类不同的写作风格,只需根据一小段主题便可完全自主生成逼真的假新闻。
利用AI进行数据伪造正在冲击着我们“眼见为实,耳听为实”的世界,给社会安全、网络安全、国家安全等众多领域带来前所未见的冲击。在人脸、语音等生物特征识别已经大范围普及的当今社会,发展区分真假数据的技术已经势在必行。2019年6月,考虑到AI伪造数据在网络上的快速传播对民众产生误导,将会对2020年总统大选产生不可逆的影响,美国众议员提议修改现行法律,在立法层面对AI数据伪造进行相关的打击。同年,由Facebook领衔的相关学校和公司在更是投入1000万美元举办Deepfake检测挑战赛。
定制化网络钓鱼:
网络钓鱼是—种网络攻击手段,指具有恶意动机的攻击者对自己进行伪装,利用欺诈性的电子邮件诱使用户在伪造的网站上输入敏感信息。
对于攻击者来说,社交网络是寻找受害者的重要资源。但是一般在社交媒体上的大多数网络钓鱼尝试成功率都非常的低。在2016年Black Hat USA上,研究人员发布了一种基于递归神经网络的“定制化”钓鱼工具—SNAP-R[20],该模型可以针对社交网络上特定用户群体发送其感兴趣的钓鱼推文。SNAP-R首先会获取一个来自Twitter用户名的列表,之后会收集已知的用户行为使用AI技术对用户进行分类,如果用户较为容易受到蛊惑且具有较高的价值,SNAP-R会使用递归神经网络技术对用户发表的历史推文,用户的回复等信息生成虚假的推文内容,并在其中植入钓鱼链接。相较于传统技术,采用递归神经网络技术生成的推文更为逼真,逻辑自洽。且SNAP-R还可以根据用户的历史上线时间对用户的活跃时间规律进行建模,使之能够在用户活跃的时候向其发送相关信息。针对SNAP-R的测试也证实,借助递归神经网络将钓鱼成功率提升了30%-35%。
智能化漏洞搜索:
随着如今计算机系统与应用软件的日益复杂化,新发现的安全漏洞也在逐年增加。传统的漏洞搜索需要由具备信息安全相关经验的安全专家对代码进行大量分析,人工费用昂贵,操作繁琐且耗时。
安全漏洞检测的根基是大多数存在问题的代码具有相似性,而深度学习技术能够高效学习数据中的特征表示和复杂的非线性结构,利用深度学习来建模漏洞的结构以及相关的语义特征之后,AI系统会自动对代码进行对比,评估存在漏洞的可能性。相较于传统的漏洞检测技术,AI的使用可以更好地对漏洞特征进行建模,且生成的模型具有良好的泛化性能。这极大的提高了漏洞挖掘的时间与效率,且节约了相当可观的人力物力资源。
因此使用基于深度学习的AI技术进行系统的漏洞挖掘前景巨大。当下结合AI进行漏洞检测的方法主要集中于以下几点:
a.从二进制代码中检测漏洞:将二进制文件看作字节序列或者机器指令的集合,采用处理对象序列的深度学习模型(如递归神经网络)进行特征提取。在模型的训练阶段可使用类似语言模型的无监督训练方式,从而避免了对大量数据进行标注。之后进行有监督的微调,使模型在训练出的嵌入空间中能够表征漏洞[21]。
b.将二进制代码转换为控制流程图(如CFG, AST等)。结合AI的模型会对这些流程图进行建模分析,以便利用代码中的语义以及句法结构的信息。譬如使用图神经网络(GNN)对代码的流程图进行图嵌入,训练完成之后的模型便可基于漏洞代码所具有的独特逻辑结构进行发掘[22]。
c.使用生成对抗网络技术对漏洞数据集代码进行增强,生成对抗网络技术可以对数据核心特征进行建模并找到其编码空间,从编码空间中抽取的样本可能会发现之前没有见过的全新漏洞,这为漏洞发掘提供了全新的思路与方向。
水能载舟,亦能覆舟,智能化的漏洞搜索可以是黑客的攻击手段,当然也可以成为防御利器,只要在产品发布前,将漏洞查找出来,危机自然能消弭于无形。深入网络安全行业,极光无限率先布局,以AI赋能实战,助推网络安全智能化。在无人区探索两年以后,我们建立了大型漏洞数据集,提出了一种利用神经语言模型结合图神经网络的方法来进行漏洞的识别,推出了AI自动化漏洞挖掘产品——维阵,对未知漏洞具备检测、预警、快速响应和处置等主动防护的能力,助力未来网络安全防御体系全局化、整体化发展。
防御方
借助AI检测WEB攻击
当前,大多数针对WAF恶意请求的检测主要集中于撰写规则或正则表达式。但面对海量的恶意请求,一方面不同的恶意请求具有各种不同的规则,想要编写万能的正则表达式几乎不可能实现,且机械式的规则往往会造成误判。另一方面,基于规则的检测无法发现新型的攻击。针对以上两点,可以使用长短期记忆网络(LSTM)来解决。一般情况下在日志中关键词的二义性往往是造成误判的主要原因。针对字符级别的LSTM可以根据上下文判断关键词在出现之处的具体含义。也因如此,使用LSTM的WAT攻击识别也具备了一定对未知攻击的识别能力,由于LSTM将每个字符作为特征,且字符之间具有上下文联系,对于某些掺杂了特殊字符之后的命令,使用LSTM的模型亦有能力将其识别出来。
除此之外,也可使用基于词嵌入的深度学习技术进行恶意请求识别,该方法首先会使用词嵌入对数据包进行降维处理,此举旨在减少数据包的有效荷载维数,之后使用深度卷积神经网络对潜入之后的词向量提取局部特征,最后于头部特征一起送入LSTM学习全局时态特征,从而识别恶意请求。相较于简单的字符级LSTM,此方法虽然复杂,但检测精度也更加高效[24]。
自动化渗透测试
渗透测试是对系统进行受控攻击,进而评估其安全性,是提高网络防御能力的关键方法之一。但是,网络渗透测试需要专业的人员以及大量的时间。高效解决此问题的一种方式是将人工智能技术应用于渗透领域,以使渗透测试过程自动化。
已有研究证明了强化学习(RL)在自动渗透测试中的应用[25]。RL是一种AI优化技术,其主要优势在于它不需要环境模型即可生成攻击策略,而是通过与环境交互来学习最佳策略。强化学习将网络的已知配置作为状态,将可用的扫描作为操作,由网络上的“主机价值”来确定奖励,并使用非确定性操作对机器的扫描结果建模。模型根据获得的奖励以及过去的经验来不断调整自身的行为。以获取最大化的奖励。研究发现,只要了解网络拓扑以及可用的扫描和漏洞利用的知识,强化学习算法能够找到针对各种不同网络拓扑的最佳攻击路径。
流量数据包自动分类
众所周知,计算机网络的保护与维护的成本日益居高不下,并且大多数保护措施无法针对0day漏洞作出高效响应,若对流量包进行深度分析又会引起侵犯用户隐私等法律问题。综上,结合机器学习的流量探测算法可以只从拦截的流量中提取元数据,并使用这些数据建立数据分类模型,无需对流量包进行深度分析,从而在一定程度上避免了侵犯用户隐私等问题,并且这种流量检测算法理论上拥有检测0day漏洞的能力。
该论文[26]提出了一种通用流量分类框架,首先根据可用信息提取其元数据,之后使用并行聚类算法对信息进行聚合以实现实时处理,最后根据聚类结果创建可视化模型以便安全分析人员或网络管理员来识别网络内部的各种情况。
总结
人工智能作为第四次工业革命的核心应用技术之一,正以高度自动化和自主性的特性,创造出更为巨大的利益。与此同时,伴随着“AI-as-a-Service”的普及,AI应用所需专业技能与知识门槛的降低,一定程度上增加了AI被恶意使用和滥用的可能性,进一步扩大了以人工智能为载体的安全威胁攻击面。简言之,人工智能在塑造一个更广阔前景的同时,也因攻击者的日趋深入,而成为诱发新数字、社会和政治威胁的额外动力。
归根结底,对安全从业人员和安全公司而言,人工智能对信息安全来说无疑是一把双刃剑:其带来巨大技术革新的同时,亦带来了前所未有的全新挑战。一方面,由于人工智能是一门包含了计算机科学、数学、生物等方面的综合性学科,如何掌握并使用人工智能,并将其应用在安全相关领域应成为传统信息安全从业人员以及公司的关注重点。同时,针对数据的采集以及数据隐私问题更应该被严格对待,将网络安全和数据保护放在首位,这要求相关部门、企业、研究人员进行协作,在保证数据的安全及隐私的同时,促进相关创新、法规建设、提高认识和开展研发活动,共同创建人工智能安全发展的健康环境。
文章评论