《计算机技术与发展杂志》发表论文赏析
作者:李子俊;李涛*;陈浩东;余琴;乔梦晴;李琳;王颉;万振华;宋荆汉
摘要:深度学习在漏洞检测的应用取得了显著的进展。现有漏洞检测算法需要大量的标记数据,通过有监督的方法构建检测模型,在多语言环境中,由于语言的多样性和标记训练样本的缺乏,检测模型可能存在泛化性问题,特别是在小样本领域中可能表现不佳。 为了解决这一困境,迁移学习可以作为一种解决方案,迁移学习的核心思想是以“举一反三”为核心的算法框架,将某个领域的知识迁移到另一个领域的学习中,从而打破样本数据的制约。 该文提出了一种基于特征迁移的漏洞检测方法。 通过语义相似性对代码的语法树节点信息进行聚类,可以快速并准确地构建好不同语言之间的节点映射关系,同时在语法树的映射过程中引入上下文感知技术帮助解决歧义或模糊的语法结构,提高解析性能。 该方法实现检测样本从未知领域变换到已知领域,利用在原有领域构建的深度学习模型,可以将新领域任务迁移到已知领域,最终解决跨域的知识迁移的应用,并将该方法取名为 AST-FMVD。 最后通过 Java 的漏洞检测模型对含有特定漏洞文件的进行检测,实现模型在 Python 领域中的迁移应用,证明了 AST-FMVD 的可行性,并通过实验证明 AST-FMVD 可以实现源域中的训练模型在目标领域仍可以保证原模型良好的检测水平。
关键词:深度学习;迁移学习;零样本;漏洞检测;抽象语法树