[发明专利]分层协同的混淆后API调用行为发现及其恶意性判定方法无效
申请号: | 200810141455.X | 申请日: | 2008-09-25 |
公开(公告)号: | CN101359352A | 公开(公告)日: | 2009-02-04 |
发明(设计)人: | 赵荣彩;付文;庞建民;张靖博;张一驰;王成;岳峰 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F9/45 |
代理公司: | 郑州大通专利商标代理有限公司 | 代理人: | 陈大通 |
地址: | 450002河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分层 协同 混淆 api 调用 行为 发现 及其 恶意 判定 方法 | ||
1.一种分层协同的混淆后API调用行为发现及其恶意性判定方法,含有下列步骤:
a.对待分析的二进制代码进行反汇编,构建程序的控制流图CFG,根据数据库DB1中存储的已知具有调用API函数能力的非常规指令或数据序列来识别API函数的非常规调用行为;反汇编是具有抗混淆能力的反汇编,该反汇编在行进递归算法的基础上,加入了对敏感指令的分析步骤,以消除行进递归算法在解码相关指令时的若干假设,对假设不成立的情况分类进行处理,对敏感指令的分析含有针对条件跳转类指令的混淆策略的分析和恢复工作、针对过程调用指令的混淆策略的分析与恢复工作、针对多路跳转的混淆策略的分析与恢复工作。
b.完成目标程序所调用的API序列的生成工作,根据不同的API函数调用方式,对API函数进行识别和恢复,API函数调用方式含有直接调用和间接调用;
c.对可疑文件进行分析,完成API序列的提取及恶意性判定工作,序列的提取基于程序的控制流图CFG完成,然后将得到的序列按照可疑API序列库中存储的格式进行规范化,规范后的API序列以整数向量的形式进行存储,以便对其恶意性进行判定。
其特征是:步骤a中的针对条件跳转类指令的混淆策略的分析和恢复工作使用数据流分析、切片分析相关技术,对跳转条件进行分析,识别常见的不透明谓词形式,并根据所识别的不透明谓词情况消除代码中的冗余分支及垃圾代码;步骤a中的针对过程调用指令的混淆策略的分析与恢复工作通过对调用指令的目标地址的预解码,分析被调用过程的内存栈使用情况和返回情况,根据分析结果判定调用指令的下一条指令是否会执行,在此基础上,识别并恢复隐藏于调用指令后的有用的数据,并对垃圾代码进行消除;步骤a中的针对多路跳转的混淆策略的分析与恢复工作是在识别跳转表的基础上,使用表达式替换、常量传播和切片分析技术,对分支变量进行分析,根据分析结果,对使用压平flattening算法的多分支语句进行合并,对使用不透明谓词导致的冗余分支进行消除。
2.根据权利要求1所述的分层协同的混淆后API调用行为发现及其恶意性判定方法,其特征是:数据库DB1作为外部数据输入,用来辅助步骤a的分析工作。
3.根据权利要求1所述的分层协同的混淆后API调用行为发现及其恶意性判定方法,其特征是:在步骤b中,当直接调用API函数时,对API函数的识别含有对使用函数地址的硬编码形式的API函数调用的识别和对使用函数名的直接API函数调用的识别;所述对使用函数地址的硬编码形式的API函数调用的识别借助一个二维表来实现,该二维表中存放有不同操作系统以及不同版本下特定API函数的函数名到函数地址的对应关系,通过查表实现从硬编码地址到API函数名的对应;所述对使用函数名的直接API函数调用的识别通过识别编译器编译产生的特定代码模式来识别调用指令实际调用的API函数;根据对API函数的识别结果,对已生成的控制流图CFG中的调用指令进行调整,即将调用指令中对目标地址的调用恢复成对相应API函数名的调用。
4.根据权利要求1所述的分层协同的混淆后API调用行为发现及其恶意性判定方法,其特征是:在步骤b中,当间接调用API函数时,对API函数的识别和恢复分三步来完成:
a1.借助数据库DB2对间接调用形式进行识别,与调用形式相关的指令序列以模板的形式被存放在数据库DB2中。
b1.根据步骤a1的分析结果,完成对间接API函数调用的目标函数的识别,根据步骤a1中对调用形式的区分,针对不同的调用形式,寻找API函数名与API调用指令中的目标地址之间的内在联系,识别API调用指令中被调用API函数的函数名,并相应的调整控制流图CFG。
c1.进行间隙代码分析,在控制流图CFG中恢复被错误识别成代码的数据,并添加被错误识别成数据的代码。
5.根据权利要求4所述的分层协同的混淆后API调用行为发现及其恶意性判定方法,其特征是:所述步骤a1中的调用形式含有:使用函数数组、利用调用指令后的压栈操作、定义同名函数。
6.根据权利要求4所述的分层协同的混淆后API调用行为发现及其恶意性判定方法,其特征是:在步骤b1中对API函数调用的参数及返回值进行恢复,该恢复工作借助于事先定义好的API函数的参数及返回值的类型及个数信息来完成,对于一些敏感信息需要采用切片的方法进行更加精确的二次分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810141455.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:六轮行星探测车闭链式悬架机构
- 下一篇:业务配置方法和设备