本课题研究基于数据挖掘的软件安全特性建模与分析方法,采用静态分析方法实现自动化的软件安全特性分析。首先设计基于编译器的代码覆盖算法和基于相似性度量的重复代码搜索算法,以删除目标软件系统中冗余的、无用的以及重复的代码;之后基于Web挖掘技术,构建自动化的漏洞信息收集模型,针对漏洞信息特征,定义基于非欧空间的相似性度量,并引入本体论知识,以此为基础设计高效的序列聚类分析算法和多层关联分析算法,对收集的漏洞信息进行知识发现,构建知识库;基于自构建的知识库,通过研究目标软件系统的安全特征以及目标软件系统和知识库中漏洞信息之间的关联关系,设计基于相似特征的和基于知识的分析算法对目标软件系统进行安全检测;最后,设计并联结构数据融合策略,建立综合评估模型,据此给出精简的分析结果。课题研究内容可以广泛应用于漏洞数据分析与管理、软件安全漏洞发现等领域。
为高效准确地检测和减少软件开发过程中存在的错误或漏洞以保证软件质量,本项目利用数据挖掘技术对软件安全特性建模与分析方法进行了深入研究,基于聚类、序列模式和数据流等多种数据挖掘技术设计开发了软件漏洞知识库构建算法,建立了软件安全分析整体模型,构建了漏洞知识库,采用静态分析方法实现了自动化的软件安全特性分析。同时,本项目还基于复杂网络理论对复杂软件系统的错误定位、执行函数调用网络分析和执行关键路径挖掘等进行了研究,提出有向加权网络节点重要性评度量方法和软件复杂网络重要节点挖掘方法。本项目已按预计进度顺利完成项目计划书中的全部研究内容,发表论文20篇,已EI检索18篇;培养博士生毕业5人,硕士生毕业11人;参加国内外学术交流15人次,赴国外交流访问2人次,取得研究成果如下:.1、基于序列聚类分析、关联规则分析和数据流分析建立软件安全分析的整体模型。.2、设计基于函数功能段的目标软件预处理算法,以带权重的编辑距离为相似度量标准,通过聚类方法查找源程序中相似的代码功能段,完成源程序代码的预处理。.3、以函数功能为单位,将收集的漏洞代码信息中的关键字段转化为XML形式,漏洞信息的XML形式根据代码的功能转换为频繁模式可以挖掘的项集的形式。.4、完成漏洞知识库的构建。.(1)对预处理后的漏洞信息实施频繁模式挖掘,设计位互补树和位暂存表挖掘其中隐含的频繁项集构造知识库。.(2)提出加权k-means序列聚类算法对漏洞数据库进行分簇处理,缩小漏洞匹配的范围。.(3)设计基于数据流的漏洞知识库构建算法。提出数据流的序列模式挖掘算法和基于时间约束的序列模式挖掘算法,以此构建并完善漏洞知识库。 .5、完成软件安全分析引擎的设计。根据漏洞知识库构造方法的不同,分别采用聚类算法和序列模式挖掘算法,定位漏洞信息、判断漏洞类型。.6、以软件安全特性分析引擎的输出结果为数据源,设计数据融合方案对软件安全特性分析结果综合处理,提取分析结果中最有价值的信息。.7、建立复杂网络构建复杂软件的安全特性分析模型。为防止严重错误的发生,设计衡量网络节点重要性的方法和基于图挖掘的软件错误定位方法。.8、对软件的执行网络进行了分析,提出有向加权网络节点重要性评度量方法和软件复杂网络重要节点挖掘方法。为定位软件故障,设计基于复杂网络的软件执行关键路径和软件网络关键节点的挖掘算法。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
论大数据环境对情报学发展的影响
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
基于异构数据分析的软件库规约挖掘方法研究
基于数据挖掘的服务器端软件性能分析与诊断方法研究
基于网络化数据挖掘的软件重用方法研究
基于过程挖掘的临床路径建模与分析方法研究