[发明专利]基于人工智能决策树的分层检测软件行为缺陷的方法和系统有效
申请号: | 201810948790.4 | 申请日: | 2018-08-20 |
公开(公告)号: | CN109308411B | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 陈相舟;张洁;丁慧霞;汪洋;张庚;王亚男;元梦莹;崔建华;赵百捷;梁馨予;甄妮;陈雪萍;王智慧;杨迪;任一丹;何潇;高凯强;李怡康;周亮;林晓康;黄敬林 | 申请(专利权)人: | 中国电力科学研究院有限公司;国网上海市电力公司;国网信息通信产业集团有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F11/36 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 胡秋立 |
地址: | 100192 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 人工智能 决策树 分层 检测 软件 行为 缺陷 方法 系统 | ||
1.一种基于人工智能AI决策树分层检测软件行为缺陷的方法,其特征在于,所述方法包括:
根据预先生成的基于软件行为的AI决策树,对软件运行中的软件行为进行分类,将软件行为划分为正常行为,风险行为和异常行为;
利用系统层检测来检测风险行为和异常行为,利用隐马尔可夫模型的学习问题为每个调用序列建立一个隐马尔可夫模型,通过所述隐马尔可夫模型确定系统进行状态转换的概率,并根据所述进行状态转换的概率的大小判断所述软件行为是否有缺陷,以及根据软件行为实际状态转移的情况是由于系统设计问题产生,还是在系统运行过程中存在问题或者是软件运行时权限分配过程出现问题造成不正常的状态转移状况,以此确定软件行为缺陷是系统设计缺陷、系统运行缺陷或者权限分配缺陷,其中所述调用序列是系统调用应用程序获得产生的顺序序列;
利用状态层检测来检测风险行为和异常行为,将所述行为的状态图转换成Petri网后采用偏差密度技术对软件行为的状态序列进行检测,通过计算偏差行为在总体行为中所占的比例,确定所述软件行为的偏差密度值,当所述偏差密度值超过规定阈值时,确定软件行为缺陷是数据设计缺陷;
在针对风险行为和异常行为的检测中,当系统层检测和状态层检测中未检测到软件行为缺陷时,促使功能层检测通过将软件运行时的功能执行顺序与预先设置的标准状态序列进行对比,并通过预先设置的功能语义树对软件的状态进行分析,功能语义树规定了软件的具体功能以及各功能间的逻辑关系,比较软件运行时的功能执行顺序与标准状态序列的偏差部分,根据功能语义树的定义分析偏差出现的原因是由于运行时信息交互过程发生问题还是由于功能间的逻辑连接出现问题,功能间的逻辑问题又分为功能设计缺陷问题和功能运行缺陷问题,经过具体分析后确定所述软件行为的缺陷是信息交互缺陷、功能设计缺陷或者功能运行缺陷。
2.根据权利要求1所述的方法,其特征在于,所述方法在根据预先生成的基于软件行为的AI决策树,对软件运行中的软件行为数据进行分类还包括:
根据软件行为的历史数据,生成划分软件行为的初始AI决策树,其中所述软件行为包括正常行为、风险行为和异常行为;
根据软件运行过程中生成的状态序列,将所述对软件行为缺陷的检测分为系统层检测、状态层检测和功能层检测;
根据软件行为的历史数据生成的状态序列划分软件功能,建立功能语义集和语义树,采用语义状态图的形式对软件运行中的功能状态进行完整度量,统计软件正常运行过程中的所有状态序列,采用过程挖掘技术求出在软件正常运行时出现频率最大的状态集,将此状态序列作为唯一的可以表征软件功能的标准状态序列。
3.根据权利要求2所述的方法,其特征在于,所述根据软件行为的历史数据,生成划分软件行为的初始AI决策树包括:
去掉软件行为的历史数据中与检测软件行为缺陷无关的属性的数据,将与检测软件行为缺陷相关的各个属性的数值进行归纳概化,形成人工智能AI决策树的训练集,其中所述与检测软件行为缺陷无关的属性的数据包括软件运行效率的数据,所述与检测软件行为缺陷相关的属性包括是否正常完成指令、未正常完成指令的完成程度和是否调用系统资源;
对训练集进行训练,计算每个属性的信息增益和信息增益率;
根据每个属性的信息增益率,将信息增益率最高的属性是否正常完成指令的情况作为软件行为的第一级主属性节点,正常完成指令的行为节点均是正常行为集合N节点,将所述第一级主属性节点作为分裂节点,继续计算下一级每个属性的信息增益和信息增益率,将信息增益率最高的属性未正常完成指令的完成程度作为第二级主属性节点,未正常完成指令的行为节点均是异常行为集合U节点,将所述第二级主属性节点作为分裂节点,继续计算下一级属性的信息增益和信息增益率,将信息增益率最高的属性是否调用系统资源作为第三级主属性节点,不断的为该主属性节点所包含的样本递归地执行属性节点分裂的过程,直到子集中的数据记录在主属性上取值都相同,或没有属性可供再划分使用为止,使没有非法调用系统资源的行为节点均是风险行为集合F节点,而非法调用系统资源的行为节点视作异常行为集合U节点以生成初始的AI决策树,并将其存储作为模板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电力科学研究院有限公司;国网上海市电力公司;国网信息通信产业集团有限公司,未经中国电力科学研究院有限公司;国网上海市电力公司;国网信息通信产业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810948790.4/1.html,转载请声明来源钻瓜专利网。