二进制|安全419深度丨为什么认为极光无限是一家真正的AI安全公司?( 三 )



极光无限是如何在有限的数据条件下,训练出一个漏洞检出率极高的AI模型的呢?
“举一个直观的例子,即使是安全专家在找寻二进制漏洞时,其实也是非常困难的。首先安全专家他本身需要具备对整个领域的知识储备。其次,在漏洞信息的收集过程中,他需要去借助一些如静态分析,模糊测试等的相关工具,甚至还要通过代码审计阅读源代码来进行漏洞的查找,这是一个十分复杂的过程,再结合掌握的知识、经验,综合判断是否存在漏洞,进行漏洞的验证。或者说他可能会根据经验先猜测某处可能存在漏洞,然后再去进行一定的测试,去与程序进行一些交互,最终来确定漏洞是否存在。”
而极光无限在打造图神经网络AI模型时参照了人类安全专家的学习过程,采用了半监督的学习方法。在半监督学习法的训练下,图神经网络AI模型可以在无监督训练中逐步掌握网络安全领域的基础知识框架,只需学习少量的数据,就能从中归纳出二进制漏洞的共有特征,并依此执行漏洞检测任务。
“有标签的数据是非常难获取的,但相反没有打过标签的二进制数据,却是非常容易获得的,也是相对比较廉价的。此外还有比如说一些静态分析的一些工具,也能够为我们提供一些基于静态分析获得的二进制数据,那么我们就可以利用这部分数据让图神经网络去大量的学习,逐渐建立对网络安全领域的知识框架和认知框架。”
在图神经网络AI模型掌握对安全领域的知识框架后,AI安全专家进一步用实际的有标签的二进制漏洞样本对它进行了加强训练,这个过程在当前的NLP任务中非常流行,被称为prompting。
【 二进制|安全419深度丨为什么认为极光无限是一家真正的AI安全公司?】“掌握领域知识以后,我们给这个模型提供一些带有漏洞的样例,帮助AI图神经网络框架形成对二进制漏洞的判断能力,然后去看当它遇到一个新的漏洞的时候,它就能够准确地把它检测出来。经过这样的学习过程后,我们的AI图神经网络框架就已经初步具备了一些安全专家的能力,它会同时进行观察很多的方向进行搜索,然后结合自身的理论知识体系来进行辅助推理,结合上下文函数调用情况,去判断哪些函数调用了当前函数,这个函数本身内部有哪些逻辑结构,当前的位置是不是存在安全漏洞。这也是我们为什么用图神经网络的原因,因为图神经网络可以更好的综合一些上下文的逻辑,综合不同节点的信息,去推断一个函数,一个代码块是否存在漏洞。”蒋博士谈到。
“我们最早想过尝试基于现有的CVE漏洞库来做相似性的对比,通过细节的比较去归纳总结出一些漏洞属性,但是最终我们选择了另外一个路径,我们并非是利用神经网络去判断二进制文件与历史漏洞的相似度,而是直接去二进制文件中检测是否包含CWE(通用弱点枚举),CWE是发现二进制漏洞的窗口,如果在二进制文件中存在某些CWE,那么我们就认为它是可以被用来构建0Day漏洞的,因此我们选择了通过这样的路径来帮助客户和合作伙伴来发现软件安全隐患,将威胁消灭于萌芽状态。”
在软件上线前,如果企业安全团队利用维阵产品来对软件漏洞进行提前的检测,那么就可以及时将一些已知和未知的漏洞提前加以修复,最大程度的降低被攻击的可能性。
二进制|安全419深度丨为什么认为极光无限是一家真正的AI安全公司?
文章插图
维阵——学术研究与产业的结合
蒋博士告诉我们,此前在AI安全领域虽然也有研究人员发表过一些漏洞检测方向的论文,但其中绝大多数论文都只专注于一些细节问题,并且只能在实验室环境下验证。这些研究并不能在工业界真正的落地。甚至可以说,这些模型是完全不能应用于市场真正的漏洞检测场景下的。比如漏洞检测领域的知名数据集Juliet Test Suite,如果用其作为AI的训练数据集,几乎100%可以说,训练出来的模型毫无用处,因为实际场景下的漏洞,远比Juliet数据集中人为构造的漏洞复杂得多。