未知漏洞是蠕虫爆发、零日攻击等重大安全威胁的技术根源,针对未知漏洞的检测及评估方法是衡量软件系统安全性的核心。现有漏洞评估方法缺乏对未知漏洞位置等信息的估算导致评估结果不精确;未知漏洞检测方法效率较低且未对漏洞可利用性等特性进行测评,导致难以评估软件系统安全性。本课题面向软件未知安全漏洞测评需求,在无需提供源码情况下,研究将矿脉理论应用于漏洞测评过程,为该领域的研究提出新方向。主要研究内容包括对指令间多种关系进行量化分析,提出多维度软件坐标体系的概念;在软件指令坐标化定位的基础上,类比矿脉特征,研究漏洞特征指标体系和漏洞特征坐标化描述方法;探讨未知漏洞定位与矿脉定位间关联关系,引入矿脉理论预测漏洞靶区分布;针对漏洞靶区,建立漏洞评估模型,对漏洞可用性等特性进行测评;在此基础上研究漏洞靶区导航模型与基于该模型的漏洞验证方法;实现软件漏洞测评系统,用于开展针对软件安全漏洞的检测、验证和评估。
security assessment;vulnerability detection and assessment;software coordinate system;vulnerability prediction;navigation model
未知漏洞是软件与信息系统安全的重要隐患之一,它不仅可能影响软件的正常运行,而且可能被攻击者利用,成为计算机安全潜在的破坏因素。现有漏洞评估方法缺乏对漏洞位置等信息的估算导致评估不精确;检测方法效率较低且未对漏洞可利用性等特性测评,难以评估软件系统安全性。 本课题面向软件未知安全漏洞测评需求,在无需提供源码情况下,研究将矿脉理论应用于漏洞测评过程。主要研究成果如下 1. 构建软件坐标体系将软件指令映射到三维坐标系中,构建矿脉理论中指令定位方法,提高分析效率。收集33个安卓市场共120万个软件,提供40亿个函数和40000亿指令数据样本。构建基于质心的索引,在24小时内对120万个应用软件进行超过1000亿次一对一比较。发表CCF-A类学术会议论文1篇(一作),发表半年至今被引用13次,被美国宾州大学新闻采访。 2. 软件漏洞特征分析与坐标化方法提出多种漏洞特征分析和定位方法,对漏洞出现函数的语句序列及其依赖关系进行刻画。类比矿脉特征,研究漏洞特征坐标化定位,准确地对软件中(漏洞)代码进行标识,抵抗多类变形攻击。发表CCF-B类论文1篇(共同一作),多篇EI会议,申请专利1项。 3. 漏洞靶区分布研究分析漏洞执行路径,实现矿脉理论中漏洞靶区预测。提出基于依赖树的漏洞定位方法和基于指令标志位差分的整数溢出漏洞定位方法;提出一种基于静态导向的污点传播方法,在SCI/SCIE期刊和EI会议发表论文2篇,申请专利2项。 4. 软件漏洞检测技术在矿脉理论的框架下,提出基于有限约束满足问题的溢出漏洞检测方法,有导向地选取可能产生溢出漏洞的语句并验证;提出基于隐式依赖关系的零日漏洞检测方法和面向虚拟化环境的漏洞检测方法。发表EI检索等期刊/会议4篇。 5. 软件漏洞评估技术在漏洞检测的基础上进行漏洞评估,提出了基于时空维度分析的安全态势预测方法和安全措施效用评估方法;将多属性决策系统最优安全效用提升方案应用于漏洞评估。在CCF-C类、EI检索会议、《软件学报》、《计算机学报》等一级期刊发表论文7篇,申请专利2项。 项目执行过程中共发表论文22篇(第一作者/通信作者9篇,CCF-A类1篇,CCF-B类1篇,CCF-C类1篇,SCI/SCIE检索1篇,Springer/EI检索17篇),申请专利5项,著作权4项,达到并超出原计划指标。