[发明专利]一种基于系统调用的软件行为评估方法在审
申请号: | 201510629665.3 | 申请日: | 2015-09-28 |
公开(公告)号: | CN105528286A | 公开(公告)日: | 2016-04-27 |
发明(设计)人: | 胡昌振;薛静锋;张妍;赵小林;马锐 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高燕燕;仇蕾安 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 系统 调用 软件 行为 评估 方法 | ||
1.一种基于系统调用的软件行为评估方法,其特征在于,包括如下步骤:
步骤1、对软件执行进行监控,跟踪软件运行轨迹,并从中提取出软件运行时的系统调 用信息、模块入口地址和函数调用返回地址;
步骤2、根据模块入口地址和系统调用函数返回地址计算出相对内存偏移量;利用系统 调用信息和相对内存偏移量形成的二元组和确认知识库中的标准二元组进行对比,得到一 个评估值,该评估值作为系统调用监测评估结果;所述确认知识库为由在软件正常运行过 程中形成的系统调用信息和相对内存偏移量的二元组组成的集合;
步骤3、通过隐马尔科夫模型评估得到的在正常的软件行为的模型下此次软件运行出 现的概率,作为模型评估结果,将系统调用监测评估结果和模型评估结果相结合作为软件 行为最终评估结果。
2.如权利要求1所述的一种基于系统调用的软件行为评估方法,其特征在于,利用系统 调用信息和相对内存偏移量形成的二元组和确认知识库中的标准二元组进行对比,设定评 估值初始为0,若系统调用信息或者相对内存偏移量与确认知识库中的每一项标准二元组 不同,则该软件的评估值减1,若系统调用信息和相对内存偏移量与确认知识库中的其中一 项标准二元组相同,则该软件的评估值加1。
3.如权利要求1或者2所述的一种基于系统调用的软件行为评估方法,其特征在于,所 述系统调用信息中包括系统调用序列,则通过隐马尔科夫模型评估时,对所述系统调用序 列进行简化后输入到隐马尔科夫模型中,其中系统调用序列的简化过程如下:
1)从系统调用序列中提取出长度为1的序列组成序列集;
2)若序列集中长度为1的序列不少于2个,则在序列集中任意选取两个长度为1的序列 组成长度为2的序列,判断长度为2的序列的概率是否大于组成该长度为2的序列的任意一 个长度为1的序列概率的α倍,若是则将该长度为2的序列加入序列集中,否则舍弃该长度为 2的序列;若组成长度为2的序列的一个长度为1的序列的概率与该长度为2的序列的概率相 等,则将该长度为1的序列从序列集中删除;α为预设值;
3)若序列集中长度为2的序列不少于2个,则在序列集中选取两个长度为2的序列首尾 相接,从而组成长度为3的序列,判断长度为3的序列的概率是否大于组成该长度为3的序列 的任意一个长度为2的序列概率的α倍,若是则将该长度为3的序列加入所述序列集中,否则 将该长度为3的序列舍弃;若组成长度为3的序列的一个长度为2的序列的概率与该长度为3 的序列的概率相等,则将该长度为2的序列从序列集中删除;
以此类推,直至在序列集中获得长度为n的序列,且序列集中长度为n的序列少于2个; 进入4);
4)将序列集中所有的序列均采用单个字符表示,所有字符不重复;设置替换迭代次数 i,i的初始值为n;
5)将原有的系统调用序列中对应序列集中的长度为i的序列采用其对应字符替换,i自 减1;
6)重复5)直至i小于1,最终获得的序列即为简化后的系统调用序列。
4.如权利要求1所述的一种基于系统调用的软件行为评估方法,其特征在于,所述模型 评估结果为P,所述系统调用监测评估结果为Y,所述系统调用序列中所包含的系统调用的 个数为S;则最终的评估值计算方法为
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510629665.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:对web页面进行测试的方法及装置
- 下一篇:一种优化加速的磁盘监控方法及系统