本技术介绍了一种图神经网络支持的超大规模工业软件供应链异常检测技术,该技术将异常检测任务划分为两个阶段。在初始污染阶段,采用简化模型快速识别异常,而在深度分析阶段,通过复杂模型进行精确检测,以提高检测效率和准确性。
背景技术
近年来软件行业的发展和开源运动的兴起,促进了工业软件供应链的全球化、多样化和复杂化,同时导致如何管理工业软件供应链成为了非常棘手的问题。工业软件供应链涉及的供应链条长、供应商众多、人员和行业复杂,导致了暴露给攻击者的攻击面非常多,同时供应链软件的规模也在飞速扩大。根据美国国家计算机安全中心(NCSC)公开的数据显示,由流行的软件开发和源代码管理平台GitHub托管的公共存储库数量从2009年2月的46000个激增到2020年1月的2800万个;在如此庞大的供应链软件规模下,如何判断某个软件是否存在漏洞,是否会对工业软件产生影响,就变得非常困难。
近年来,图神经网络在各种图结构的数据挖掘任务中取得了优异的性能,与其他的深度学习技术相比,图神经网络进一步考虑了数据之间的相互关系,可以捕获对异常值检测有用的复杂模式;例如文献[Ding K,Li J,Bhanushali R,et al.Deep AnomalyDetection on Attributed Networks[M/OL]//Proceedings of the2019SIAMInternational Conference on Data Mining(SDM).Society for Industrial andApplied Mathematics,2019:594–602]中提出的DOMINANT协同使用基于消息传递的图神经网络与自动编码器来检测全局和结构异常,DOMINANT使用基于消息传递的图神经网络对拓扑结构和节点属性进行统一的建模,然后使用自动编码器重建原始数据,最后通过测量节点的重建误差来发现异常的结构和属性。
随着Transformer框架惊人的表达能力,图神经网络与Transformer的结合逐渐成为研究的热点,如文献[Liu Y,Pan S,Wang Y G,et al.Anomaly Detection in DynamicGraphs via Transformer[J].IEEE Transactions on Knowledge and DataEngineering,2023,35(12):12081–12094]中提出的TADDY是一种用于处理无属性动态图异常检测框架;为了捕获每个目标边缘的时空上下文,TADDY执行基于边缘的子结构采样以获取多个时间戳中的目标节点和上下文节点,然后TADDY分别通过时空节点编码模块以及动态图Transformer模块生成节点编码以及时空信息,最后在判别异常检测器中,执行负采样以生成伪负边缘,并且采用边评分模块来计算输出异常分数。
上述方法在各自的领域均取得了成功,然而在超大规模图的应用上仍然存在一些问题。首先,基于消息传递的图神经网络的DOMINANT方法速度较快,但是效果不如基于Transformer的模型,而且当基于消息传递的图神经网络的层数逐渐叠加时,会导致模型性能下降;基于Transformer的模型虽然性能很好,但是由于Transformer天生的高时间复杂性O(N2
),导致其无法直接用于超大规模的图上。在超过一亿节点的超大规模图数据集上,如果每个节点使用单精度浮点数的嵌入向量表示,一次Transformer的计算时间会超过一天;除此之外超大规模图数据对于存储空间的需求也非常大,例如包含了2800万公共存储库的GitHub数据已经无法放在单张最大80G显存的显卡中(Nvidia H100)。因此,以上这些庞大的存储需求以及时间需求,对于超大规模工业软件供应链数据的软件异常检测任务来说是不可接受的。
实现思路