从攻防视角看人工智能应用
在网络安全领域,全球越来越多的公司正在尝试将人工智能、机器学习等集成到产品之中,智能化、自动化都是网络安全领域的热词。
一、攻击方视角的人工智能应用
人工智能技术具有可自我学习数据特征,算法结构具有一定通用型的特点,借助该特点很多传统的攻击手段不仅可大幅提升攻击命中率,还可以摆脱很多繁琐的且昂贵的人工成本。不仅如此,当下最为先进的人工智能技术还可生成逼真的虚拟数据(图片、视频、音频、文本等)。
1. 数据伪造与篡改
2014 年,由人工智能领域的科学家 IanGoodfellow 等人提出了基于深度学习的生成对抗网络模型。生成对抗网络由一个生成网络与一个判别网络组成。生成网络在数据表征的潜在空间中(latentspace)中进行随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本和生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。
2017 年,在 Reddit 论坛上出现了使用生成对抗网络对视频中人物进行换脸的 DeepFake 技术,只要有脸部照片,该技术就能够将视频中的人脸替换成任意一个目标人脸,且难辨真假。已有人将该技术应用到不法行业,在微信和 QQ 等社交网络上已出现兜售基于 DeepFake 技术“定制”色情视频的团伙。由 OpenAI 创建的 GPT-2 模型还可模拟人类不同的写作风格,只需根据一小段主题便可完全自主生成逼真的假新闻。利用 AI 进行数据伪造正在冲击着“眼见为实,耳听为实”的世界,给社会安全、网络安全、国家安全等众多领域带来前所未见的冲击。
2. 定制化网络钓鱼
对于攻击者来说,社交网络是寻找受害者的重要资源,但是一般在社交媒体上的大多数网络钓鱼尝试成功率都非常低。在 2016 年 Black Hat USA 上,研究人员发布了一种基于递归神经网络的“定制化”钓鱼工具 SNAP-R,该模型可以针对社交网络上特定用户群体发送其感兴趣的钓鱼推文。SNAP-R 会收集已知的用户行为,使用 AI 技术对用户进行分类,如果用户较为容易受到蛊惑且具有较高的价值,SNAP-R 会使用递归神经网络技术对用户发表的历史推文、用户的回复等信息生成虚假的推文内容,并在其中植入钓鱼链接。
相较于传统技术,采用递归神经网络技术生成的推文更为逼真,逻辑自洽。且 SNAP-R 还可以根据用户的历史上线时间对用户的活跃时间规律进行建模,使之能够在用户活跃的时候向其发送相关信息。针对 SNAP-R 的测试证实,借助递归神经网络将钓鱼成功率提升了 30%-35%。
3. 智能化漏洞搜索
安全漏洞检测的根基是大多数存在问题的代码具有相似性,而深度学习技术能够高效学习数据的特征表示和复杂的非线性结构,在利用深度学习来建模漏洞的结构以及相关的语义特征之后,AI 系统会自动对代码进行对比,评估存在漏洞的可能性。相较于传统的漏洞检测技术,AI 的使用可以更好地对漏洞特征进行建模,且生成的模型具有良好的泛化性能。这极大地提高了漏洞挖掘的时间与效率,节约了相当可观的人力物力资源。因此使用基于深度学习的 AI 技术进行系统的漏洞挖掘前景巨大。当下,结合 AI 进行漏洞检测的方法主要有从二进制代码中检测漏洞、将二进制代码转换为控制流程图(如CFG、AST 等)、使用生成对抗网络技术对漏洞数据集代码进行增强等。
水能载舟,亦能覆舟。智能化的漏洞搜索可以是黑客的攻击手段,也可成为防御利器,只要在产品发布前查找出漏洞,危机自然能消弭于无形。极光无限积极布局以 AI 赋能实战,助推网络安全智能化,建立了大型漏洞数据集,提出了一种利用神经语言模型结合图神经网络的方法来进行漏洞的识别,推出了 AI 自动化漏洞挖掘产品,具备了对未知漏洞检测、预警、快速响应和处置等主动防护的能力。
二、防御方视角的人工智能应用
1. 借助 AI 检测 WEB 攻击
当前,大多数针对 WAF 恶意请求的检测主要集中于撰写规则或正则表达式。但不同的恶意请求具有各种不同的规则,想要编写万能的正则表达式几乎不可能实现,且机械式的规则往往会造成误判,同时基于规则的检测无法发现新型的攻击。对此,可以使用长短期记忆网络(LSTM)来解决。在日志中,关键词的二义型往往是造成误判的主要原因,针对字符级别的 LSTM 可以根据上下文判断关键词在出现之处的具体含义。也因如此,使用 LSTM 的WAT 攻击识别也具备了一定对未知攻击的识别能力,由于 LSTM 将每个字符作为特征,且字符之间具有上下文联系,对于某些掺杂了特殊字符之后的命令,使用 LSTM 的模型亦有能力将其识别出来。
除此之外,也可使用基于词嵌入的深度学习技术进行恶意请求识别。该方法首先使用词嵌入对数据包进行降维处理,减少数据包的有效荷载维数,之后使用深度卷积神经网络对嵌入之后的词向量提取局部特征,与头部特征一起送入 LSTM 学习全局时态特征,从而识别恶意请求。较之于简单的字符级 LSTM,方法虽然复杂,但检测精度也更加高效。
2. 自动化渗透测试
网络渗透测试需要专业的人员以及大量的时间,高效解决此问题的一种方式是将人工智能技术应用于渗透领域,使渗透测试过程自动化。
已有研究证明了强化学习(RL)在自动渗透测试中的应用。RL 是一种 AI 优化技术,其主要优势在于它不需要环境模型即可生成攻击策略,而是通过与环境交互来学习最佳策略。强化学习将网络的已知配置作为状态,将可用的扫描作为操作,由网络上的“主机价值”来确定奖励,并使用非确定性操作对机器的扫描结果建模。模型根据获得的奖励以及过去的经验来不断调整自身的行为,以获取最大化的奖励。研究发现,只要了解网络拓扑以及可用的扫描和漏洞利用的知识,强化学习算法能够找到针对各种不同网络拓扑的最佳攻击路径。
3. 流量数据包自动分类
结合机器学习的流量探测算法可以只从拦截的流量中提取元数据,并使用这些数据建立数据分类模型,无需对流量包进行深度分析,从而在一定程度上避免了侵犯用户隐私等问题,并且这种流量检测算法理论上拥有检测 0day 漏洞的能力。
有安全研究团队提出了一种通用流量分类框架,首先根据可用信息提取其元数据,之后使用并行聚类算法对信息进行聚合以实现实时处理,最后根据聚类结果创建可视化模型以便安全分析人员或网络管理员来识别网络内部的各种情况。
三、总结
人工智能在塑造一个更广阔前景的同时,也成为诱发新数字、社会和政治威胁的额外动力。对安全从业人员和安全公司而言,人工智能对信息安全来说是一把双刃剑:其带来巨大技术革新的同时,亦带来了前所未有的全新挑战。由于人工智能是一门包含计算机科学、数学、生物等方面的综合性学科,如何掌握并使用人工智能,并将其应用在安全相关领域应成为传统信息安全从业人员以及公司的关注重点。同时,针对数据的采集以及数据隐私问题更应该被严格对待,将网络安全和数据保护放在首位,这要求相关部门、企业、研究人员进行协作,在保证数据的安全及隐私的同时,促进相关创新、法规建设、提高认识和开展研发活动,共同创建人工智能安全发展的健康环境。
文 | 极光无限 冯继强
本文刊登于《中国信息安全》杂志2021年第6期
