近年来,如智能驾驶、智能安防、智慧城市等AI技术的新应用已经在多个行业和领域中逐渐落地。而在网络安全行业中,AI技术也被安全厂商广泛引入,以期解决传统防御理念和技术难以应对的新安全场景和新安全威胁的问题,希望借助AI技术来增强安全防御能力,通过自动化的技术手段对安全事件进行快速处置,以提升安全人员的工作效率和威胁响应速度。
在2020年10大战略技术趋势报告中,Gartner明确指出AI 安全将是未来重要的战略技术趋势之一,在接下来的5年中,人工智能,特别是机器学习和深度学习将广泛应用到增强人类的决策能力的产品和系统中。AI安全势必会持续发酵放大,成为安全行业下一个战略技术风口。
但安全419在与许多“AI驱动”的安全厂商接触时发现,大家似乎都曾直言,尽管每个人都认可AI安全的发展方向,但AI在安全行业还停留在初级阶段,AI驱动在更大意义上也仍然还是一个口号。
日前,安全419走访了一家主打AI安全产品的安全厂商——极光无限,邀请极光无限俄罗斯AI技术团队聊了聊这个话题:为什么AI在安全行业难落地?什么样的安全公司才是一家真正的AI安全公司?
(左五,极光无限数学专家蒋博士)
AI在安全领域有哪些应用?
极光无限数学专家蒋博士告诉安全419,当前AI在网络安全领域已经被应用于很多产品中,如态势感知、身份管理、终端安全、威胁情报、安全运维等多个方面。
蒋博士表示,在AI应用于安全领域中最常提及技术的就是异常检测,包括图片的异常检测、文本的异常检测等等,将异常检测应用于网络安全领域后,就可以有针对性地对来自于黑客攻击工具以及僵尸网络中的异常流量进行检测和发现。此外还可以通过对日志的检测,发现异常访问,这是AI与安全防护相结合的主流方式。
此外,当前国内外很多主流的杀毒软件厂商多多少少都采用了一些AI技术来开展病毒检测和搜索工作,当装载同一款杀毒软件的用户基数足够大以后,就可以实时捕获到攻击者抓取肉鸡、分发蠕虫病毒等恶意行为,AI与杀毒软件的结合能够有效地防止黑客发起大规模的勒索病毒攻击,为用户数据提供安全防护。
在业务安全领域,许多安全厂商也正在利用AI来构建一些反欺诈的风控模型,以检测账户背后是否被黑灰产利用。
而极光无限强调的AI安全主要是在自动化漏洞发现与自动化渗透测试方面,重点帮助用户在产品上线前发现软件中存在的安全漏洞,帮助开发者尽早消除安全隐患,最大程度地降低企业被攻击的可能性。
符合什么标准,才是一家真正的AI安全公司?
既然AI在安全领域已经有了如此多的应用场景,为什么大家却又都认为AI安全还仅仅是一个口号呢?
在蒋博士看来,当前AI在安全领域的应用还十分年轻,AI也尚不能被任何安全专家视为一个成熟的工具,很难去定义什么才是真正的AI安全,这在行业里面也没有一个定论。但是如果一家安全厂商宣称自己是一家AI安全公司,那么至少公司内部要有一个AI研究的团队,这个团队需要经常阅读和追踪AI领域最前沿的论文,结合公司业务进行创新,将AI领域相关技术进行落地,这里面包括产品设计,方案确定,数据收集和清洗,模型设计和搭建,模型训练和调参,模型优化和部署等步骤,如此才能够说自身真正在做AI+安全的研究。
无论AI应用到哪个领域,算法,算力,数据都是人工智能的三大关键因素。常言道内行人看门道,外行人看热闹,很多时候非AI行业的人经常会把注意力放在算法和算力上,比如某某公司公布了一个万亿规模的模型;某某公司建立了一个超算中心,他们的超算能在全球排到第几位等等。
诚然,AI的发展离不开算法和算力的发展,但是在落地的过程中,AI早已从以模型为中心(model centric),变成了以数据为中心(data centric)的技术。以模型为中心和以数据为中心的方法相比,收益至少是2/8分的,但目前业界研究精力99%集中在模型上,这是问题所在,同样,这也是为什么知名AI专家Andrew Ng呼吁大家把研究重点转向数据的原因。
AI安全研究的难点并不在于建立什么样的模型,怎么样的框架,而是需要做出一个适合AI训练的领域数据集,然后根据这个数据集,进而再去创建更好的模型。创建一个漏洞数据集是极其复杂和困难的,“不夸张地说,极光无限创建维阵产品的过程中,我们可能80%的工作都是在做数据集相关的工作。此处的数据集相关的工作不仅是收集数据,还包括数据的清洗,预处理,打标签,很多时候我们甚至需要为处理数据搭建一个大型的分布式处理框架出来。因此,在AI安全团队内部,还需要孵化出一个专业的数据团队。”
“并不是说邀请一个做AI方面的专家加入,对外声称创建一个AI模型,就是一家AI安全公司了,这样是远远不够的。如果决心要做AI安全的方向,那么整个公司包括研发、技术、市场等都需要围绕AI来建立,并不是说让AI团队来辅助安全团队来做一些产品功能的优化,相反,事实上是需要安全团队围绕AI团队来展开工作。”蒋博士表示。
据蒋博士介绍,在维阵产品的打造过程中,由仙果带领的二进制漏洞安全团队就协助俄罗斯的AI团队开展了大量的数据支撑工作,手动对大量的漏洞数据打标签,以帮助AI模型更好的学习和训练,这部分数据工作是非常核心的。而每当俄罗斯AI团队开发出新的AI模型时,也是先将模型分享给国内的仙果团队,由他们进行测试和评估模型的真实效果,反馈建议来进一步指导AI模型的持续优化。
蒋博士进一步补充,“未来随着一些可用的AI工具的出现,或许会降低对安全专家团队的需求,但现在市场上还并没有一款好用的AI安全工具产生,因此这也是极光无限在这个领域扎根的一个原因,因为这个工作确实是非常复杂,非常专业的。准确地说,极光无限的维阵产品是目前已知的全球唯一一个以AI为核心的二进制漏洞探测产品,因此我们可以自信地告诉任何人,我们就是一家AI安全公司。”
为什么说建立数据集是做AI安全研究的难点?
蒋博士谈到:“刚刚我们有说到,要把AI真正进行落地的话,需要有大量数据方面的工作支撑,通常一个神经网络可能需要数百万,上千万,甚至上亿的数据样本来进行训练,才能够让AI模型建立对一个具体领域的知识框架。但是在把AI应用于安全行业中的漏洞检测领域时,有个非常大的问题是什么?在安全行业漏洞数据是极其稀缺的资源。获取漏洞数据的成本非常昂贵且困难。”
拿大家熟知的AlphaGo举例来看,AlphaGo早期版本的数据直接来源于大量的人与人之间的对弈棋谱,这些棋谱被转换成数据让一个基于卷积神经网络和强化学习的系统进行训练。对于AlphaGo这类棋类游戏来说数据集的建立就不是很复杂,而且也很容易获取。
而像计算机视觉这类领域,建立数据集也可以是通过给一些图片、视频打标签的形式完成,这些操作一些普通人就可以完成。甚至数据集建立的工作还可以外包给众包团队,让他们来协助完成打标签的工作。
但是在安全领域里面,如果想要获得一条打标签的完整数据,就需要一个资深的专家花费很长时间找到一个漏洞,然后再来打上标签,这个工作量极其庞大,因此要获取安全领域的打标签数据是非常昂贵和宝贵的。“因此这就意味着,我们不可能一次获得数百万量级的数据。”蒋博士表示。
极光无限是如何在有限的数据条件下,训练出一个漏洞检出率极高的AI模型的呢?
“举一个直观的例子,即使是安全专家在找寻二进制漏洞时,其实也是非常困难的。首先安全专家他本身需要具备对整个领域的知识储备。其次,在漏洞信息的收集过程中,他需要去借助一些如静态分析,模糊测试等的相关工具,甚至还要通过代码审计阅读源代码来进行漏洞的查找,这是一个十分复杂的过程,再结合掌握的知识、经验,综合判断是否存在漏洞,进行漏洞的验证。或者说他可能会根据经验先猜测某处可能存在漏洞,然后再去进行一定的测试,去与程序进行一些交互,最终来确定漏洞是否存在。”
而极光无限在打造图神经网络AI模型时参照了人类安全专家的学习过程,采用了半监督的学习方法。在半监督学习法的训练下,图神经网络AI模型可以在无监督训练中逐步掌握网络安全领域的基础知识框架,只需学习少量的数据,就能从中归纳出二进制漏洞的共有特征,并依此执行漏洞检测任务。
“有标签的数据是非常难获取的,但相反没有打过标签的二进制数据,却是非常容易获得的,也是相对比较廉价的。此外还有比如说一些静态分析的一些工具,也能够为我们提供一些基于静态分析获得的二进制数据,那么我们就可以利用这部分数据让图神经网络去大量的学习,逐渐建立对网络安全领域的知识框架和认知框架。”
在图神经网络AI模型掌握对安全领域的知识框架后,极光无限的AI安全专家进一步用实际的有标签的二进制漏洞样本对它进行了加强训练,这个过程在当前的NLP任务中非常流行,被称为prompting。
“掌握领域知识以后,我们给这个模型提供一些带有漏洞的样例,帮助AI图神经网络框架形成对二进制漏洞的判断能力,然后去看当它遇到一个新的漏洞的时候,它就能够准确地把它检测出来。经过这样的学习过程后,我们的AI图神经网络框架就已经初步具备了一些安全专家的能力,它会同时进行观察很多的方向进行搜索,然后结合自身的理论知识体系来进行辅助推理,结合上下文函数调用情况,去判断哪些函数调用了当前函数,这个函数本身内部有哪些逻辑结构,当前的位置是不是存在安全漏洞。这也是我们为什么用图神经网络的原因,因为图神经网络可以更好的综合一些上下文的逻辑,综合不同节点的信息,去推断一个函数,一个代码块是否存在漏洞。”蒋博士谈到。
“我们最早想过尝试基于现有的CVE漏洞库来做相似性的对比,通过细节的比较去归纳总结出一些漏洞属性,但是最终我们选择了另外一个路径,我们并非是利用神经网络去判断二进制文件与历史漏洞的相似度,而是直接去二进制文件中检测是否包含CWE(通用弱点枚举),CWE是发现二进制漏洞的窗口,如果在二进制文件中存在某些CWE,那么我们就认为它是可以被用来构建0Day漏洞的,因此我们选择了通过这样的路径来帮助客户和合作伙伴来发现软件安全隐患,将威胁消灭于萌芽状态。”
在软件上线前,如果企业安全团队利用维阵产品来对软件漏洞进行提前的检测,那么就可以及时将一些已知和未知的漏洞提前加以修复,最大程度的降低被攻击的可能性。
极光无限俄罗斯AI安全团队
维阵——学术研究与产业的结合
蒋博士告诉我们,此前在AI安全领域虽然也有研究人员发表过一些漏洞检测方向的论文,但其中绝大多数论文都只专注于一些细节问题,并且只能在实验室环境下验证。这些研究并不能在工业界真正的落地。甚至可以说,这些模型是完全不能应用于市场真正的漏洞检测场景下的。比如漏洞检测领域的知名数据集Juliet Test Suite,如果用其作为AI的训练数据集,几乎100%可以说,训练出来的模型毫无用处,因为实际场景下的漏洞,远比Juliet数据集中人为构造的漏洞复杂得多。
而最早极光无限的俄罗斯AI安全团队也只专注于学术研究,尽管也在实验环境中取得了一些研究成果,但当真正的把研究成果应用于产品开发的时候,很快就发现这些研究成果是完全不能落地的,并没有做好学术和工业界之间的平衡,随后便迅速纠正了自己的研究思路。
在真正开始着手打造维阵产品的时候,极光无限AI专家团队前期开展了大量的论文、文献的查阅工作,在经过大量理论对比以及实验后,确认图神经网络才是将AI应用于漏洞检测方向最好方向。随后该团队便在图神经网络方面展开了包括理论分析、模型搭建、模型测试等等大量的探索,逐步搭建了一个目前所知用于静态检测二进制文件漏洞效果最佳的模型—分层图神经网络模型(Hierarchical Graph Neural Networks)。
“AI安全是一个非常复杂的领域,我们把最前沿的AI技术与安全研究相结合,然后转化成了我们现有的维阵产品这样的一个解决方案,实现了人工智能在二进制漏洞检测方面的有效应用。我们的维阵产品已经能够正确的预测二进制文件中的漏洞情况,目前无论是在实验室还是在生产环境下面,测试的结果都已证明我们是最优的。”
未来注定是属于AI与AI之间的对抗
事实上,站在安全另一面的攻击者们,已经大肆利用AI工具来发动攻击,网络安全领域下一场攻防对抗,或许注定会是自动化与自动化的对抗。蒋博士最后告诉我们,摆在极光无限面前的还有诸多难题,图神经网络AI安全模型也仍然需要持续的优化,尽管AI安全还有很长的路要走,但极光无限仍然在加大对AI安全的投入。
关于下一步的研究目标,在蒋博士心中也已经有了明确的方向。他告诉我们,首先在AI二进制漏洞检测方面,仍然需要投入大量的优化工作,进一步提升图神经网络模型的效果,持续的降低检测过程中遇到的假阳性。
“现在我们已经基本实现了基于AI的漏洞检测发现,但我们希望不光是能够预测漏洞,而是结合AI直接进行漏洞验证甚至是漏洞修复。预测哪些部分可能会存在漏洞,然后希望能够基于这样一个预测结果来进行自动化验证,确定他的准确性,最终给出一个修复方案,甚至是能够自动的打上补丁,完成从漏洞预测到漏洞验证,再到漏洞修复的全部流程。”
“这个目标是比较有想象力的,也是激动人心的,或许直到这一天我们才认为真正的实现了AI安全”,蒋博士说到。