直播回顾

张 超
张超博士,清华大学网络研究院副院长,长聘副教授,华为冠名教授,蓝莲花战队教练,CCF杰出会员。主要研究软件与系统安全,侧重智能化攻防方向,在国际四大安全会议发表论文40余篇。
分享大纲
🎈MLM大模型解决方案
🎈MLM的突破性能力
🎈MLM的典型应用场景
🎈大模型攻击浅谈
人工智能安全具有双面性。一方面,如同网络空间中其他系统一样,大模型等人工智能系统同样面临网络安全挑战;另一方面,人工智能可以赋能网络安全技术,提升网络防护水平。


网络空间由硬件、操作系统、应用软件、算法、数据、网络等构成。网络安全隐患无处不在,存在于网络空间每一个环节,甚至是网络空间的用户。层出不穷的网络安全事件,例如左上角提到的震网病毒是针对伊朗核设施的网络攻击,表明了即使是不联网的安全等级极高的目标同样无法幸免于网络安全威胁。
软件(即代码)构成了我们整个网络世界的基石,无论是硬件还是网络,在最终都归结为代码的实现。而软件面临各种安全威胁,包括漏洞、恶意代码等,正是这些问题的存在导致了大量的网络攻击事件。一台运行良好的服务器,甚至是一部全新的手机,为何最终会落入黑客之手?其实质是它们存在着漏洞。
这些漏洞可能潜藏在硬件或软件中,甚至是用户操作中。黑客将这些漏洞作为攻陷系统的突破口,继而采取植入恶意代码等手段实施攻击。

具体而言,软件安全威胁大致可以分为三大类:恶意软件、漏洞,以及软件破解。
第一类安全威胁是恶意代码,包括病毒、蠕虫、后门、木马、恶意植入的广告软件等。这类软件的共同点在于,它们的开发者出于恶意,有意编写它们以进行破坏性活动。
另一类安全威胁是漏洞。与恶意软件不同的是,漏洞通常是开发者无意中留下的。程序员在设计和编写软件时可能会犯错误,特定情况下会被黑客利用。
另外一类安全威胁是软件破解。它的主要特征是,开发者是攻击的受害者。攻击者的目的在于破解软件以窃取或复制其内含的知识产权,盗版软件等属于此类安全问题。

漏洞和恶意代码这两类安全威胁在网络攻击中具有重要地位,这在美国军火供应商Lockheed-Martin公司提出的杀伤链(kill-chain)模型中可以得到印证。
杀伤链模型将网络攻击的过程分解为若干个步骤:首先是侦查阶段,攻击者需要了解目标的网络位置、网络拓扑结构、服务器信息、开放端口及其服务、系统用户及硬件信息等,目的是找到能够被利用的漏洞。
发现漏洞后,攻击者进入第二步,即制作专门针对该漏洞的武器。与物理世界中标准化的武器不同,网络空间中的武器往往是定制化的,专门针对特定漏洞设计。此外,这些漏洞如果被软件开发商发现并打上安全补丁,那么攻击者制定的武器将变得无效。
进而,攻击者通过主动或者被动的方式,将漏洞武器投放到目标系统,通过触发和利用漏洞实现对目标系统的劫持等。然后,攻击者利用劫持的能力,进一步安装恶意代码,实现驻留、远程控制、以及最终的攻击等。
因此,围绕漏洞和恶意代码等安全威胁的攻防对抗,是网络安全中的核心问题。围绕这些攻防对抗问题,我们做了三个阶段的工作:人工攻防、自动攻防、智能攻防。

在人工攻防方面,我们的主要工作集中在人才培养和社区建设上。
我们清华大学团队组建了国内第一支网络安全战队“蓝莲花”,2013年代表国内第一次打入DEFCON CTF决赛,2016年获得亚军的破记录成绩。
我们清华大学团队在10年前举办了国内第一场网络安全比赛——BCTF,推动了国内网络安全赛事和社区的发展。时至今日,国内每年网络安全比赛大约有几百场。最近几年,我们也在组织新形式的网络安全比赛,包括与大数据、人工智能、云计算等特定场景结合的比赛。
在这个过程中,我们不仅培养了很多优秀人才,推动国内社区的发展,也积累了丰富的一手攻防经验。也发现了人工攻防的不足,它严重依赖安全分析人员的能力,无法满足高速增长的网络安全需求。
因此,我们从研究角度出发,一直在寻求解决这一问题的方案。我们的研究目标聚焦在自动化和智能化攻防上,尝试让机器承担大部分攻防工作,而人类仅执行少量必要的任务。

在自动攻防方面,一个标志性事件是美国国防部DARPA Cyber Grand Challenge(简称CGC)挑战赛。该项目的目标是开发全自动化攻防系统,在无人工干预的条件下,它能够自行分析目标软件,寻找漏洞,并编写针对这些漏洞的利用工具去攻击其他队伍,以及部署防御策略来防止其他队伍的攻击,这可以视作对真实网络攻防的一种模拟。
在该比赛中,最终有七个决赛队伍成功研发出了全自动攻防系统。在漏洞挖掘和防御方面,这些自动化系统的效率比人类要高。然而,在攻击方面,目前这些系统尚不如人类。该比赛对网络安全产业产生了深远的影响,许多网络安全设备和产品得到极大发展。
然而,长远来看,自动攻防技术存在瓶颈。不严谨地说,自动攻防技术本质上依赖攻防经验的自动化实现,通过将人类已知的攻防经验固化下来,由机器依照这些经验进行操作。这类似于早年让机器学习人类的棋谱来进行下棋的方法。通过AlphaGo的例子可以知道,这种方法很难超过人类的水平。AlphaGo是采用了人工智能技术,并在2016年在围棋领域战胜了人类。而在2016年CGC决赛时,各参赛队伍并未使用人工智能技术来支撑攻防。
因此,如何在网络攻防领域应用人工智能技术,以突破自动攻防技术的瓶颈,实现动态智能博弈,自然成为了一个亟待研究的课题。

在智能攻防方面,我们的研究起步较早,从2017年初就开始了探索。
智能攻防技术目前受到主要国家的重视。美国国防部DARPA于2023年8月发布了第二代网络安全自动化赛事AI Cyber Challenge(简称AIxCC),进一步支持智能攻防技术研究。这个赛事承接了之前的理念,目标与CGC相同,都是要求参赛者分析软件、挖掘漏洞、自动生成攻击武器,并自动化地产出针对漏洞的防御方案。
不同点在于,AIxCC更强调运用AI来完成这些任务。大模型公司如谷歌、微软、OpenAI被引入作为支持方,为参赛者们提供算力等支持。DARPA为此投入了数千万美元的奖金,表明其对此方向的重视。然而,由于该赛事要求美国公民担任领队,所以国内团队参赛可能会受到一定限制。在智能攻防方面,我们已经做了几年的工作,并取得了一定的进展和领先优势。
然而,目前的人工智能方案对于软件安全分析而言还不够成熟。软件可以抽象成三个层次:最高层是人类的意图;接着是程序员使用编程语言将这些意图转换为具体的程序代码;最后,代码需要被编译为机器语言的二进制格式,以便CPU执行。目前大型模型在自然语言处理、源代码理解等方面表现优秀,但它们对网络空间的机器语言理解能力欠缺,需要新的大模型解决方案。
下面我们简要介绍一下我们的解决方案。



由于人类无法阅读01字节机器指令,因此在进行安全分析之前,分析人员需要借助工具将二进制程序的机器码进行反汇编或者反编译,得到相应的汇编码或者高级语言伪代码。
这个过程非常困难,因为二进制的字节序列中已经缺失了大量信息,包括前述的类型、变量名、函数名,甚至是指令边界、函数边界等信息。这些缺失的信息要想在二进制分析中恢复出来,等同于在无中生有,难度非常大。

在完成反汇编或者反编译的结构分析之后,分析人员可以进一步进行语义分析,然后执行安全分析任务。
除了结构分析面临的信息缺失问题之外,更为严重的一个问题是,现有的分析技术无法实现自主的语义分析,全部依赖人工分析或者人工经验。例如,当前分析技术无法自主理解和判断一个函数是否是加密功能,只能依靠人工提取加密功能的实现模式并进行匹配等。
此外,现有的分析技术(例如静态分析等)面临理论瓶颈,近年来进展十分缓慢。
针对这些挑战,我们认为近几年流行的大语言模型技术是一个可行的解决方案。首先,以文生图、文生视频等应用为例,大模型等人工智能技术可以实现信息补偿,恢复缺失的信息。再者,ChatGPT等模型的蓬勃发展充分展示了,大模型能够有效理解自然语言的语义,也具备理解代码的语义的能力。最后,虽然传统技术已触达瓶颈,但大模型方兴未艾,具有极大的潜力和提升空间。

基于此,我们的解决方案是机器语言大模型(Machine Language Model,MLM)。通过自动采集和自动标注海量的软件数据,借鉴当前大模型的架构和训练方法,利用海量数据进行预训练得到的MLM大模型。
该大模型表现出非常强大的能力,能够有效支撑二进制程序结构分析、语义分析、安全分析等。在结构分析方面,其反汇编、反编译等效果非常显著,已明显超越现有的工具。尤为惊人的是,在语义分析(即理解代码的含义)方面,以往这项工作只能依赖人工,而现在模型在速度方面已经能够超越人类专家,准确地理解并生成代码语义。接下来,模型同样能够像人类专家一样,进行安全分析、发现漏洞或对代码进行完整性的检测等。
目前我们正在探索模型在这些应用场景中的潜力。下面,我们简单介绍一下我们模型所展现出来的部分突破性能力。


我们可以通过一个具体的例子来看看大语言模型MLM的作用。
假设我们有一个非常简单的程序,用于验证用户名和口令。如果我们想知道这个程序是如何进行验证的,是否可能编码了一个后门账号,那么我们需要进行软件安全性分析,通过解读程序逻辑,检查口令验证的具体方式,来确认其中是否存在内置的特定口令。
在传统方法中,我们需要:
(1)对二进制程序进行反汇编,得到函数列表;
(2)人工对各函数代码进行分析,找到用户名和口令校验的关键函数;
(3)深入研究该函数的逻辑,判断其中是否存在硬编码的口令后门等等。这个过程非常耗时,需要人工不断地阅读和理解代码。
现在,随着我们开发的机器大语言模型的出现,它能够像人类一样去阅读和理解代码。由于大模型能读懂代码,我们可以转变工作模式,采用问答模式来执行任务。
例如,在上述第二步中,如果我们想找到进行用户名和口令校验的核心函数,我们不必亲自翻阅代码,而是可以向大模型提问,通过搜索和询问,模型能提示我们哪些函数可能与用户名和口令检查相关。我们知道,这类函数通常需要实现字符串比对、哈希、加密等相关功能。因此,我们可以搜索具有这些功能的函数。例如,图中我们搜索具有crypto(加密)相关功能的函数,大模型即输出了可能具有该语义的函数,并进行了相关性排序。
在上述第三步中,我们需要进一步去理解目标函数的语义。大模型可以为我们生成高质量的反编译代码。传统的反编译工具(如IDA Pro)生成的反编译代码可读性十分差,而大模型生成的反编译结果却非常优雅,看起来几乎与程序员编写的源代码无异,拥有变量名、类型甚至复杂的结构信息、C++标准输出等完整信息。例如,图中的C代码清晰地展示了其功能,分析人员可以迅速看到该代码内置了一个admin账号和口令。
更进一步,如果我们不想去(或者没有能力)阅读代码,大模型也可以直接为我们生成描述性文本,告诉我们函数的语义。这种突破性能力是此前传统技术无法实现的。
有了大模型的这些能力之后,分析人员不用阅读底层枯燥冗长的代码,可以通过向大模型提问的方式快速理解语义,进而专注于后续的分析任务,能够提升工作效率几个数量级。

除此之外,对于一段汇编代码,人工阅读和理解其含义是非常困难的。我们的模型能够自动为这些代码段命名,与程序员在源码层面进行的命名惊人地相似,展现了其强大的语义理解能力。

模型在理解代码语义的基础上,还可以比较语义间的相似性,即比较两段二进制代码(函数)的语义相似性。由于编译选项、编译器、操作系统、指令集等各种因素的不同,即使对于同一段源代码,其编译得到的两段二进制代码也会差异十分巨大。
因此,比较二进制代码语义相似性是个挑战性的能力。但是,这个能力十分重要,可以应用于广泛的场景中,包括供应链分析、侵权检测、相似代码族检测、漏洞挖掘及补丁分析等方面。




MLM在软件安全领域具有广泛的应用场景。除了辅助人工分析之外,还可以直接分析软件安全的三大威胁:病毒/恶意软件、软件破解与保护、漏洞挖掘等。


在漏洞挖掘方面,目前分为两大技术路线,第一种是利用大模型辅助现有的Fuzzing(模糊测试)等漏洞挖掘技术。目前学术界已有大量论文发表,探讨如何利用大模型辅助增强漏洞挖掘效率,这方面的研究相对成熟,应用效果显著。
第二种,更多用户关心的是直接用大模型挖掘漏洞——直接将代码交予模型分析,预测漏洞所在。目前这一方法可行,但效果尚不如传统方法。原因在于,漏洞数据较少且种类繁多,大模型在训练时接触到的相应类型漏洞数据不足,导致其直接挖掘效果有限。


另一个应用场景是软件侵权检测。例如,其他公司可能会盗用我们的代码或专利算法,我们需要有有效的手段去进行取证。由于我们通常无法直接获取对方的源代码,通过分析二进制文件或其他可执行程序是一种可行的方法,大模型在此领域的应用能够带来良好的效果。

最后,软件供应链问题是当前安全领域内极为关注的热点问题。软件开发过程中涉及多个环节和多种组件,任何一个环节的安全漏洞或后门都可能影响到最终用户。近期,诸如xz后门等事件,都凸显了软件供应链分析的重要性。通过利用大模型比较代码的语义相似性,可以有效识别软件的组成部分,对保护供应链安全具有重要意义。

在之前的介绍中,我们已经列举了一些常见的主流安全分析场景。目前,我们的大模型已经对外开放了测试使用,受限于算力,我们在逐步开放。目前的大模型是我们团队联合其他合作公司共同开发的,初步测试显示效果相当不错,有兴趣的用户欢迎尝试使用。


最后,我们简要讨论一下大模型自身安全的问题。大模型与安全这两个话题从两个方面进行考虑:一方面是利用大模型解决现有的安全问题;另一方面是大模型自身存在的安全问题。我的同事邱寒老师在大模型安全方面做了大量研究研究,下面简单介绍一下。
大模型作为一类人工智能技术,传统的AI面临的安全问题在大模型中可能同样存在。就大模型这一新兴技术而言,它继承了传统AI中的一些安全问题,这些问题关乎深度学习算法,长久以来一直是研究的重点。此外,代码安全和反编译等安全问题,仍然存在于大模型中。


在道德层面,大模型本质上携带了制作者的价值观念,这可能导致对数据或输入内容产生偏见,如某些响应倾向性表现出美国式的政治正确性态度。以图像美化为例,一些实验表明,大模型可能将低分辨率图片中的非白人特征"白化",这揭示了训练数据潜在的偏差问题。
此外,问题还包含隐私数据泄露和虚假图像生成等。目前,对于这些问题的主要解决方式是对大模型的输出内容进行审核和过滤,但这就引出了一个问题:谁来负责审核?




本次分享内容主要涵盖了两个方面:首先是关于大模型如何赋能软件安全领域,我们介绍了一个机器语言大模型MLM,并展示了它如何支持进行安全分析。然后,我们还简单探讨了大模型的一些安全问题,包括模型漏洞以及越狱问题等。这两个方面的问题目前在学术界是非常前沿和热门的研究方向,期待更多的研究。







关注公众号发现更多干货❤️



内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢