长亭百川云 - 文章详情

[AI安全论文] (32)南洋理工大学刘杨教授——网络空间安全和AIGC整合之道学习笔记及强推(InForSec)

娜璋AI安全之家

106

2024-07-14

首先祝大家五一节快乐!《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期待与您前行,加油。

本文是南洋理工大学刘杨教授在InForSec学术报告的分享学习笔记,题目是“网络空间安全和AIGC整合之道”。刘老师是我们非常佩服的一位大佬,他们的很多安全工作都值得我们学习,这次分享真的很棒,值得大家去学习。同时,更重要是看看刘老师他们团队面对一个新方向或新热点,他们是如何去探索与安全结合,如何去从事科学研究的。本文按照刘老师汇报内容描述,并凝练出重点内容(详见博文中重点标注的思路梳理),尤其是科研探索的过程,从而方便大家学习。学习笔记文章,希望对大家有所帮助。最后感谢刘老师的分享,以及InForSec的组织,推荐大家关注和学习。

演讲主题:网络空间安全和AIGC整合之道

演讲人:刘杨 新加坡南洋理工大学(NTU)计算机学院教授

时间:3月26日10:00-11:00

地点:清华大学 FIT楼1-312

直播地址:www.inforsec.org/wp/?p=781

PS:由于当时直播略有杂音,加上自己网络环境和英语比较差,部分笔记听得不是很清晰,还请大家多多包涵。

文章目录:

  • 前文回顾

  • 一.内容及演讲人简介

  • 二.AI for Security

  • 三.LLM-Enhanced Static Analysis for Vulnerability Detection(ICSE24)

  • 四.Expert Knowledge Learning with Automatic Chain-of-Thoughts Decomposition

  • 五.Understanding Zero-Shot Fuzz Driver Generation(FSE 24)

  • 六.Automated Penetration Testing with LLMs: PentestGPT

  • 七.Automated Vulnerability Diagnosis(ASE23)

  • 八.Fine-tuning LLMs for Automated Program Repair(ASE23)

  • 软件基因组计划

  • AI安全领域

  • 总结

2024年4月28日是Eastmount的安全星球——『网络攻防和AI安全之家』正式创建和运营的日子,该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。

目前收到了很多博友、朋友和老师的支持和点赞,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,泪目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!


一.内容及演讲人简介

内容摘要
AIGC 和网络安全要求在软件开发过程的所有阶段系统地整合安全测试,其目的是通过使用工具,将人类专业人员的安全专业知识自动化,从而能够在开发生命周期的早期阶段及早识别和解决安全问题。然而,其有效性在很大程度上取决于智能工具模拟或可能替代安全专家的能力。随着 LLM 的出现,现在有了实现这一目标的新手段。在本演讲中,刘杨教授将讨论最近在应用安全领域利用 LLM 的努力,以涵盖漏洞分析的整个生命周期:漏洞检测、诊断、POC 生成和修复。另一方面,LLM 的安全性对于确保人工智能应用程序的成功部署同样重要。在这个方向上,刘教授将展示有关 LLM 攻击面的最新研究成果、针对提示注入的黑盒/白盒攻击生成、针对多模态模型的攻击、后门攻击以及可能的防御机制。最后,刘教授将研究如何将这两方面结合起来,开发一个人工智能应用安全分析平台。

演讲人简介
刘杨博士现任新加坡南洋理工大学(NTU)计算机学院教授,NTU网络安全实验室主任,新加坡网络安全研究办公室主任,并于2019年荣获大学领袖论坛讲席教授,在2024年荣获校长讲席教授。刘杨博士专攻软件工程,网络安全和人工智能,其研究填补了软件分析中理论和实际应用之间的空白,研发了多款高效的软件质量和安全检测平台并成功商业化。到目前为止,他已经在顶级会议和顶级期刊上发表了超过500篇文章,并在顶级软件工程会议上获得25项最佳论文奖以及最具影响力软件奖。他还同时负责多个重要研究中心,包括新加坡网络安全研究办公室(CRPO)、南洋理工大学可信AI研究中心(TAICeN)以及与ICL合作的医疗设备安全CREATE中心。他还获得多项著名奖项,包括MSRA fellowship,TRF Fellowship, 南洋助理教授,Tan Chin Tuan Fellowship,Nanyang Research Award 2019, ACM杰出演讲人,新加坡杰青和NTU创新者(创业)奖。


二.AI for Security

刘老师首先感谢邀请,非常谦虚。这次汇报的题目是大家最近都非常关心的——安全和AI大模型结合的一些工作,尤其是最近一年多他们团队在这个方向里的尝试。

  • A Road Towards an Interaction between Cyber Security and AIGC

接着,就直奔主题——大模型(AIGC)和网络空间安全的整合之道,主要分享一些科研的思路,以及在科研过程中的一些想法。借这个机会希望与大家一起学习探讨“AI和安全融合过程有哪些的可能性或者是挑战”。

今天的第一块内容是——AI来做安全(AI for Security )。
这个题目其实并不是很新了,但是过去一年多,从2023年大模型出来以后,大家在探索AIGC和大模型在安全落地应用中的工作。

首先,刘老师给出“Architecture of LLM-based Security Tollchain”框架图。该图更多是从整个思路上来看大模型在应用安全,尤其是在漏洞场景中,它能不能相对来说做一个系统化的落地。

安全场景:

  • Traditional Software
  • Blochchain Software
  • AI-based Software

基于此我们开展:

  • 漏洞分析(Impact Analysis)
  • 漏洞检测(Vuln Detection)
  • 漏洞诊断(Vuln Diagnosis)
  • 甚至POC的生成和漏洞修复(Vuln Repair)

我们希望在这一系列漏洞整个生命周期中,大模型的思路是不是能够通用的应用。在这个过程中,我们care的不是一两个工作,care更多的是整个过程中能不能形成一套相对来说比较系统的大模型在安全场景落地的方法。这个其实是今天刘老师更多想分享的,而不是某一个具体的工作。这也是他过去一年中主要思考的问题。

基于此,我们有数据data、有模型、有技术、有知识,它们如何在大模型中应用呢?并达到一个我们想要的效果。

具体而言,刘老师接下来通过几个具体的工作来分享他们在尝试的过程中遇到的问题、挑战或得到的一些潜在解决方案。


三.LLM-Enhanced Static Analysis for Vulnerability Detection(ICSE24)

重点1: 大家目前可能最关心的或最火爆的一个题目——如何用AIGC大模型去找漏洞。
当时我们做这个题目,是当ChatGPT出来之后,2023年3-4月份时间,很多人就去拿ChatGPT找漏洞。当时有一些结果是非常不错的,因为ChatGPT对比较完整的代码的信息差收集还是全的,所有在某些场景下,当我们把含有漏洞的代码丢给ChatGPT时,它能精准地告诉我们这些代码有什么漏洞。之后,很多人会疑惑——这东西靠不靠谱,ChatGPT是否能作为一个安全人员或安全审计人员的代替。

出现两周后,就看到了一些安全公司说这东西不靠谱。为什么?因为我把这些漏洞稍微做一些修改,比如没有漏洞的代码修改成漏洞,丢给ChatGPT,它完全没办法识别。因此,这会导致大量的误报和漏报,安全公司就给出了明确的证明和具体实验数据说:

  • “ChatGPT只是对全完见过的有漏洞数据的反射,其实它并没有能力去做安全漏洞检测或修复。”

重点2: 看到这样的新闻后,我们就有了一个想法——大模型在安全应用尤其是找漏洞的场景,它能做什么呢?它的能力是什么?我们如何把它的能力使用好呢?这是我们当时的想法和探索。

在探索的过程中,我们发现:如果想把大模型直接用来找漏洞,这个事情本身是不靠谱的。因为大家知道大模型本身是根据大量代码和它对应解释文本、标记来反馈信息的,但漏洞本身是非常复杂的,你可以更改一个字母或代码就会导致漏洞不触发,这种微小的改动或非常细的信息是大模型完全没法控制的。

因此,直接用大模型去直白地找漏洞,它本身从方法上是不靠谱的。但是,大模型有没有用武之地,我们怎么用呢?我们有哪些可行的方式,这就是我们接下来将探讨的。

重点3: 刘老师他们进行了各种尝试,包括如何将专业(安全)知识交给大模型,怎样把安全专家找漏洞的思维(经验和想法)告诉大模型,譬如这种漏洞的识别方法或套路。然而,这些信息并未公开或形成比较好的数字化方式允许我们像ChatGPT一样收集大量文本信息和训练,所以这种非常专业的精准知识如何捕获和利用,这是我们在做研究的重点和思考。

他们进行了不同的尝试:

  • 第一种尝试是把找漏洞的过程,我们利用大模型来做分析。 比如代码逆向,我们在想怎么更好地模拟人去找漏洞的过程,分析人找漏洞的过程及需要哪些步骤,以及哪些步骤能用潜在的大模型实现,包括代码逆向、代码分析、代码漏洞确认这些步骤里用大模型实现的地方。尝试分析发现,在代码逆向方面,大模型有好的场景(阅读能力)。

做完这个工作后发现,大模型在找漏洞中是有用武之地的,但并不能代替我们传统的程序分析,不管是静态的还是动态的分析,它们是相对精准的,并且是大模型不擅长的。但是,大模型有能力非常好地总结和阅读代码,该行为恰好是黑客在找漏洞过程中所用的方法,而传统方法或工具其实并没有真正地理解代码。因此,现有大部分自动化工具都基于非常明确的规则来找漏洞,而没有通过语义理解和推理实现,最终做了一个GPTScan工作。

重点4: GPTScan基本思路就是模拟安全审计人员他们的思维过程,把这个过程分成了Planning、Reasoning和Validating三个部分,重要的是想安全专家一样理解代码(安全知识)。

GPTScan proposes the first LLM-based static vulnerability detection pipeline,combining LLM with program analysis to achieve improved accuracy (~70% F1-score). It also identifies 9 new vulnerabilities missed by human auditors.

  • Planning
  • Reasoning
  • Validating

Planning 相当于一个对整个代码的分析,想知道哪些函数是重要的,哪些函数可能会有漏洞。基于想要的这些函数找到之后,我们再去做一个漏洞行为分析,譬如哪些函数与某种漏洞类型相关,再去做对应的行为识别或寻找函数中具体的变量等,接着进行确认。确认完之后,再去做潜在的漏洞验证和发现。

整个过程其实就是在模拟评价黑客拿到一个项目或代码,是如何找漏洞的,他通常看过很多代码且对特有类型漏洞比较熟悉,该漏洞在代码中潜在的关联函数有哪些,有了之后再去分析函数块,函数中哪些行为或逻辑与该漏洞相关,找到之后再进一步确认。他可能也用一些程序分析或Fuzzing辅助工具,来确认这个行为是不是漏洞。

  • 因此,整个过程就是在模拟安全审计人员的思维过程,我们相对来说把它拆得更细,并且在这个过程中,某些步骤使用ChatGPT的一些代码阅读总结能力来实现。

研究结论:

  • 实验结果发现效果非常不错,F1值达到了70%。目前,市面上所使用的很多SA\SB代码漏洞扫描工具,F1值大概在10%~20%之间,存在大量漏报和误报,导致工具无法使用。

  • 该工作更重要的是第一次把逻辑类型的漏洞,有了一个能力,在不需要提前把它规则写死的情况下,通过ChatGPT的代码阅读、理解,甚至逆向能力把这个事情达成。因此,这是对我们的一个巨大的启发。换句话说,第一次拥有一个真正专家帮助自动化理解代码,它的能力对我们找漏洞的应用和支持是非常有价值的。


四.Expert Knowledge Learning with Automatic Chain-of-Thoughts Decomposition

重点5: 我们对多种类型的漏洞进行测试,看是否能更好地系统化支持多种类型的漏洞自动化识别,因为每种漏洞可能不太一样。那么,我怎么样能把找漏洞的过程做更好的泛化,这是刘老师他们后面又做的一个研究。

在这个过程中,我们尝试了非常系统化的工作,将ChatGPT的调用或整套流程进行非常系统的问答映射,将执行过程的整个思维,给你很多例子进行辅助。但在泛化过程中会发现,每次漏洞都要写对应的提示。那么,如何更好地做泛化呢?这就导致了后续的工作。

  • Expert Knowledge Learning with Automatic Chain-of-Thoughts Decomposition

该图比较复杂,其本质是:

  • 如何把不同类型的漏洞描述或审计报告的现有文字,通过一个相对来说比较系统的方法论,能变成所谓Chain-of-Thoughts,即一个对安全审计人员行为的数字化的结果或数据结构,然后将该数据结构收集起来做研究(RAG)。

首先需要找到能力点,再通过数据收集、数据标注、数据使用和分析(RAG)。

该工作属于我们的探索性研究,包括对RAG的探索,如果在某个领域中数据的准确性、数量能收集得更多,那我们是否在大模型中能取得更好的结果。在探索过程中,刘老师更关心的是:

  • 我们怎么样在不同的语言、不同的场景、不同的业务逻辑、不同的漏洞类型里面,能不能形成一个相对通用的大模型漏洞挖掘使用的方法,这可能是更有意思的事。

重点6: 安全场景应用以及为什么选择智能合约。
我们的两个工作是在智能合约中完成,并且效果还不错,将其变成自动化的agent,自动找漏洞并得到应用和正反馈,后续也尝试做其它领域。为什么选择智能合约呢?

  • 因为智能合约相对代码复杂度、代码体量相对比较可控,包括类型和描述、数据也相对更好。后续将研究如何扩展到其它场景。

五.Understanding Zero-Shot Fuzz Driver Generation(FSE 24)

重点7: 从静态场景过度到动态场景。
之后,我们正在做的工作是FSE24的文章。这篇文章是在另一个场景做的,之前更多是静态的,这个工作是在动态场景中的尝试。

首先介绍论文《Understanding Zero-Shot Fuzz Driver Generation》。论文地址如下:

该工作主要想探讨:

  • Fuzz在使用过程中的两个难点。

     大家都在听算法、效果,其实从工业角度来讲,老师自己的思考来说,Fuzz在整个工业场景中,对大部分程序来说是没法落地的。为什么呢?因为Fuzzing要解决好和落地,在大部分语言中使用fuzz都很难。
    – 一是fuzz drivers需要专家知识,因为fuzz drivers是个专业程序(模糊驱动程序),大部分drivers由专业的安全人员撰写,而普通工程师在代码中写drivers是非常有难度的。
    – 二是oracle。在C语言中,其有非常标准的内容,而如果一旦涉及到具体的业务逻辑的漏洞或bug,想把fuzz用好,必须写oracle。在oracle中,让程序员写一个跟安全相关的oracle,并结合他的业务逻辑,本身就很扯。

因此,这两个是fuzz要落地并真正大规模使用时,必须解决的两个问题。该工作主要看是不是能系统化地做Fuzz Driver Generation,这也是当时我们问的问题。

我们将Google所有的OSS-Fuzz中的drivers做了一个分析,发现OSS-Fuzz非常厉害的平台,也找不到很多的漏洞。但是,这些漏洞背后的drivers都是人写的,虽然它的Fuzz是自动化的,但它的dominant…这些高质量的fuzz drivers其实是专业技术人员完成(过度依赖专家知识)。

重点8: 是否能利用LLM辅助fuzz driver的自动化生成。
因此,接下来我们将探讨能不能把fuzz driver generation这件事自动化,尤其是探索大模型能不能去做这件事情。这个工作是非常系统化将fuzz driver生成。首先要收集OOS-Fuzz相关信息,这些信息对fuzz driver generation非常有价值,传递这些信息给ChatGPT,会验证后续工作。更重要的是不是能和drvier生成的需求匹配,是不是能帮助我们有效地执行不同API序列。

然而,有时候ChatGPT反馈的结果不理想,我们进行了各种尝试,如何将ChatGPT能返回比较准确有价值的信息,最终能生成有效的drivers。并且发现,GPT4与GPT3.5的效果明显好很多,大模型基本的阅读理解能力非常不错。还有个有意思的发现,我们在东八区晚上生成的结果明显没有白天生成的好,一开始很郁闷为什么出现这种情况。后来想明白了,因为美国时间ChatGPT的使用量比较大,所以它的频率就会重,这也是我们的发现。

因此,在使用ChatGPT的过程中不是那么容易的,通过这个工作对我们如何系统化地使用ChatGPT都是很好的经验。但是我们发现,它的能力在一些相对复杂的多API调用过程以及并发场景,ChatGPT是完全搞不定的。这就意味着,当你有更多复杂、交互的场景,更多的领域知识,需要在特定领域中使用时,你只能简单地使用大模型和理解基本的代码。总之,该工作是如何把所需的fuzz driver生成中的更强领域知识能有效提炼,抽象和应用,这个工作还是比较有趣的(花费8000美元),并且与Google OSS-Fuzz团队连接上了,能让我们工具发挥更大作用。


六.Automated Penetration Testing with LLMs: PentestGPT

重点9: 正在探索语义层面的理解和场景应用。
然而,上述工作只是一个开始。我们现在正在做的一系列工作,就是如何去探索语义层面的理解以及在静态分析和Fuzz场景落地。刘老师自己是非常感兴趣的,如何能把业务逻辑和语义理解融合,理解数据能和安全分析更好地结合,这是我们整个科研的思路。这可能是潜在能把安全人员短缺以及安全人员专业知识如何数字化应用及落地的机会。

第一个工作是《Automated Penetration Testing with LLMs: PentestGPT》,来源于学生的Project。

重点10: PentestGPT本身是如何把Penetration(渗透)这件事情用ChatGPT跑通。
它其实没有太多技术上的贡献,其实就是一个非常简单工程上的尝试,整个项目也开源了。它其实就是把渗透的整个过程用ChatGPT实现。

PentestGPT包括三个步骤:

  • Parsing Module(解析模块)
  • Reasoning Module(推理模块)
  • Generation Module(生成模块)

根据现有的工具看每一步做什么东西,有哪些反馈,基于这些反馈去理解是什么情况,做对应的决策。这其实就是非常标准的渗透脚本执行过程,但这个脚本在没有ChatGPT指导下,它只是一个流程,没有办法自动化。因为被测目标的反馈和对应真实数据、业务逻辑很相关,这些业务逻辑的相关性在没有专家的理解和分析能力情况下,是没办法连起来的。

当ChatGPT来之后,通过简单的流程,会发现ChatGPT一些基本的反馈和代码阅读、数据理解的能力能帮我们把流程(flow)变得真正落地。这就是发现一个有意思的工作,是讲我的com…对数据理解、语义理解的整合能力,把这个能力应用到安全中。

所以,这三个工作给了大家一个非常有意思的反馈,即:

  • 我们在做安全分析里面,其实更重要的是对你的待测目标和代码的业务逻辑的理解,这些理解在哪些场景中可以有效结合ChatGPT的能力来使用,这就是刘老师觉得有价值的地方(关于AIGC和安全整合之道)。

该结果效果还不错,后续还有很多需要做的工作。比如:如何把专业知识(渗透测试)在这个过程中更好地进行数字化理解,包括更复杂的UI理解等。


七.Automated Vulnerability Diagnosis(ASE23)

重点11: 从漏洞挖掘(分析)到漏洞修复(诊断),提高可解释性。
前面介绍了一系列漏洞挖掘或分析的工作,接下来介绍漏洞修复或诊断相关的工作。这个工作本身也是一个非常意思的AI和漏洞结合的工作。刘老师非常喜欢这个工作,不是因为它的结果非常好,也不是因为技术难度有多高,而是它又体现了之前所说的事情。

  • 这个工作其实想做漏洞的定位,但漏洞解释这件事,包括目前安全所做的,更多是收集各种各样数据,进行数据清洗、数据标注,再丢给模型做分类预测。但做完这一圈发现,你的结果比另一个工作结果好了几个点,能说明什么吗?其实说明不了啥,因为这可能是纯数据集的事。这个工作我真正是想使用现在的位置代码来做漏洞定位、分析和修复,完全没有考虑准确率。

因此,如果代码没见过就无法实现,其实并没有在使用的场景下,把代码直接丢给大模型或者让它去学习漏洞知识,你并没有把漏洞的本质语义学到。所以这样的学习能学到什么,没有人能知道,它整个的过程不具备明确的解释性。

所以我们想把这个东西做得更好——把漏洞语义相关东西切出来,再把这些东西明确丢给AI模型,虽然我也不能保证它百分之百动态行为的精准性,但我是更多想尝试把语义行为、漏洞的精准语义行为提取出来,再推给大模型理解。因此,这是一个非常有意思的工作。

VulTeller能自动定位函数中的脆弱语句,更重要的是描述脆弱性。该方法侧重于在代码中提取精确的控制和数据依赖关系,通过建模控制流路径和使用污点分析来实现。该工作设计了一种新的神经模型,对控制流路径中的控制流和污点流进行编码,并通过节点分类和注意解码器分别对它们进行解码,最终在真实事件的漏洞中进行评估。

论文下载地址:


八.Fine-tuning LLMs for Automated Program Repair(ASE23)

重点12: 结合漏洞补丁和LLM开展自动程序修复
这个工作也是去年的一个工作,一个非常快速的尝试。该工作更多是对漏洞和漏洞函数的补丁信息收集,并结合LLM开展自动程序修复(Automated Program Repair)。

  • 选择了5个具有代表性的预训练结构LLMCs——CodeBERT、GraphCodeBERT、PLBART、CodeT5和UniXcoder。

该研究发现:当把更细的漏洞函数和它的补丁信息pairs收集起来且标注准的时候,在该场景下比传统的大模型学一堆数据的效果明显要好。C语言的Repair实验基本接近一个初级安全人员,所以这些重要知识通过比较精准的语义提取,然后加上Fine-tuning LLM尝试,你其实是能把它的结果相对提升的。

由于直播视频的部分内容杂音实在太大,非常抱歉,只能推荐读者阅读原文。下面给出这篇文章的结论:

This paper conducts a comprehensive study on the repair capabilities of LLMCs in various repair scenarios under the NMT fine-tuning paradigm. Our results show that even without any post-processing strategies, LLMCs can already achieve excellent results, and surpass many previous APR works. Importantly, we present some practical guidelines on how to choose different designs to better exploit the repair capability of LLMCs, and show how they can repair complex defects. We also analyze and discuss some limitations found during the evaluation and point out future directions. Furthermore, our results on various benchmarks can serve as the baselines for subsequent works with reference. In conclusion, LLMC-based APR has great potential for practical use, and more efforts are needed to promote LLM4APR research in the future.

论文下载地址:

刘老师漏洞安全总结:
做完这一圈,大家可以看到,其实你在漏洞的整个场景中,当你有比较精准的语义理解,以及有足够好的代码理解的能力,能把它们组合好,并且这些专业的Domain Knowledge加上代码中有价值的信息,这几件事情组合起来,你在漏洞挖掘、漏洞分析和漏洞修复过程中,就会有不错的发现。

其实,如果我们想真正把漏洞安全这件事做好,这个可能是一个比较相对难的事。就是说,你需要具备:

  • 工具的能力、个人(逆向|安全)能力、代码阅读能力
  • Domain Knowledge的提取、漏洞的信息、漏洞的类型、代码切片找到关键信息
  • 代码业务逻辑的理解

当我们能把这三个东西整合起来,其实这就是找漏洞比较关键的地方。如果把这几要素比较好的融汇起来,你就能很好地开展漏洞分析相关研究,这就是方法论的一些讨论。我们希望把这些漏洞函数信息从一开始在打造大模型底座过程中,去做所谓的提示工程,设计一些漏洞相关的提示问答,至于哪些效果更好,在不同场景中能达到什么水平,需要我们在科研过程中再去探索。


软件基因组计划

接下来刘老师介绍他们做的工作——软件基因组计划。大家可能听过人类基因组计划,把人类DNA全部搞明白,帮助大家治病和制药。

这个大家可能感兴趣,因为我们最近发现:代码和人的DNA有非常强的相似性。人类DNA比对包括基因、DNA片段、染色体、人类等,软件对应Token、Code Snippet、Component、Module、Repository,包括代码编译完的二进制等,因此具有一定的相似性。

人类基因组计划是想知道哪个基因的功能、缺陷及相关应用,当软件变成非常复杂庞大的生态时,你会发现没有人对整个生态有较好理解,没人敢说“我知道全世界开源组件有哪些功能,有哪些问题,有哪些潜在的缺陷和应用”。基于此,我们开展—— The Software Genome Project

  • 首先给出软件基因定义(什么叫),它的范围是什么,它的内容是什么,它里面有哪些比较重要的标注(比如漏洞)

  • 它里面的后门甚至政治敏感性,这些东西在代码里大量存在的。但这些东西如果没有一个相对比较完整数据库或索引的话,那你对整个未来软件世界的开发及所有数字世界支撑的基石和底库是无法掌控的,包括现在讲的国产自主可控这些东西。基于此,我们提出软件基因组工程。

  • 人类基因缺陷(基因疾病) vs 代码漏洞(intelligence)

  • 大模型突变,新的方法论 => 自动化方法推动软件安全发展

我们希望打造一个Software Intelligence平台,能把这个软件相关(开源世界)的合规、后门、恶意代码、漏洞等做一个自动化的方法去收集它,能持续地为整个的安全标签做补给。反过来,这些东西又是我们大模型训练里面最核心的数据,我们希望通过研究软件基因来理解如何训练更靠谱的、更高质量的,能够让代码高效训练数据。现有很多代码是没有用的,如何把这段区分出来,打造有价值的软件基因组去训练大模型,这也是对AI有贡献的地方。


AI安全领域

由于今天分享时间有限,后续内容刘老师快速讲解。这块是偏AI安全的内容,做了不少工作,尤其是最近我们发的一篇工作——Jailbreak。

(1) Jailbreak Attacks on Large Language Model
该工作思路非常简单,研究大模型安全,尝试收集恶意代码\脚本大约70多种,并想如何自动化生成这些脚本。这些脚本也做渗透,此时突然想到能不能训练另外一个大模型,把这个恶意脚本…,让它去…

  • 其本质就是个欺骗,如果脚本越精细、越复杂、越定制化,你欺骗(攻击)的成功率就更高。
  • 黑盒工作

(2) Adversarial Attack for Text-To-lmage Diffusion Models
接下来做白盒的工作,包括多模态、对抗样本攻击等。安全本身很难,包括和AI公司(大模型)交流,他们知道安全很重要,但很难做。

考虑多语言模型的差异性,另一个工作是用大模型去监控大模型。

(3) Backdoor Attack by Poisoning Training Process [ACL23]
该工作偏后门攻击。


总结

最后给出他们大的研究框架,如何围绕AI安全和可信AI的方向。

  • AI for Cybersecurity
  • Trustworthy AI

下图是刘老师他们大的思路,AI和安全融合的研究。

最后,通过几分钟分享他们比较有意思的idea和尝试,主要是web3 for AI and Security。

整个AI世界需要巨大的投入,大模型本身成本非常高,更重要它不是一个透明和安全的。很多时候,大模型对整个社会更多是威胁,而不是帮助,很多人类职业可能会被替代的,而且大部分人和公司是没办法参与进来的。未来的AI有可能在一定程度上有所谓的大模型,但更多的需要…

接下来分享一个idea,给出一些启发。我们在做一些尝试,是不是能通过区块链的一些技术做一个泛化的AI。其目的不是打造大模型,或者在技术层面的创新,而更多是从方法论、经济学上的创新。

这个idea是能不能打造很容易将人类专业知识变成智能体agent或block的平台,甚至能很容易地开发出agent有对应的功能,比如找漏洞、写代码、生成图片等,从而让更多的人来使用、标注数据和反馈,形成更好的AI应用的商业化平台,甚至可以做投资。

  • AI市场化

  • AI和商业反馈连接起来

当然,这里面比较有意思的技术价值在哪?如何去改造通用快速AI的应用场景和落地的SCK。这是需要非常强的技术,能把人不同行业的智慧数字化,提取变成所需的知识(agent)。同时,希望在未来社会中不仅有agent,且能组合和写作,如何打造一个我们所谓的CTF技术团队,数字化的CTF Team,怎么和agent高效沟通、协作来实现,这是未来科研上非常有价值的东西。

今天探讨了很多安全和AI场景,其实发现web3也有很多能做的东西,它们的关系相辅相成的,结合每个技术的特性来帮助我们把科研问题做好,也是我们需要共同探讨的,包括产业化转化等。

  • 科研一定要跟着技术发展一起走,才能拿到更多的机会和能力,能把真正前沿技术和挑战搞定

刘老师和其他老师聊天说,未来只有两个行业在,一个是安全,一个是AI。所以安全还是非常重要的,在行业中如何更好地将AI技术应用,值得我们去探索。

作者感受:学术或许是需要天赋的,这些大佬真值得我们学习,同时自己会继续努力的,学会思考和探索,争取靠后天努力来弥补这些鸿沟,更重要的是享受这种奋斗的过程,加油!再次感谢刘老师和InForSec。

最次欢迎大家关注作者新建的知识星球,共勉~

(By:Eastmount 2024-05-02 夜于贵州)


前文推荐:

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2