【技术实现步骤摘要】
一种基于恶意行为函数调用图的安卓应用程序安全可视化分析方法
本专利技术涉及一种基于恶意行为函数调用图的安卓应用程序安全可视化分析方法,属于信息安全
技术介绍
根据德国网络安全公司GDATA最新公布的一份调查报告显示,2015年Android恶意软件样本数量达到了2333777个。形象点来描述就是差不多每隔11秒就会出现一个新的Android恶意样本。Android恶意软件增长速度极快,该数值同比2014年增长了50%。而在2015年第四季度,新出现的Android恶意软件数量达到了758133个,同比2014年第四季度增长了32%。目前Android系统与我们的工作生活息息相关,如何快速识别新型的Android恶意软件对于信息安全人员是一个严峻的挑战。近年来,研究人员已经采用了多种自动化Android恶意软件分析技术来帮助识别恶意软件。虽然在Android恶意软件分析领域已经有了不少有效的方法,但是在恶意软件可视化方面仍有很多需要研究的地方。现有的恶意软件分析方法可以大致分为静态分析、动态分析和机器学习。但是这些方法和流行的反病毒引擎都存在不小的漏报率和误报率,人工分析的准确率依然优于机器分析。对于已有的、新出现的恶意软件,安全分析人员和研究人员都会想深入了解它们包含的具体的恶意行为以帮助日后的研究工作,可是这些信息很难从网络上获取。现有的Androguard技术可以在java代码层生成Android软件的基本的调用图和控制流图。但是它的调用图规模庞大且调用链通常是不完整的,也不能给出不同的类之间调用的相关性。
技术实现思路
针对现有技术的缺陷,本专 ...
【技术保护点】
一种基于恶意行为函数调用图的安卓应用程序安全可视化分析方法,其特征在于包括如下步骤:(1)生成函数调用关系图:反编译Android APK,用节点表示基本代码块,节点间的有向调用边表示控制流路径,生成APK的函数调用关系图,即Call Graph(CG);对函数调用关系图中的节点,根据节点中的类名、方法名、代码以及分类规则为节点分类并添加标签值,得到一张新图称之为添加标签值的函数调用关系图;该图中节点共有9种分类,第1类为普通,第2类为活动Activity,第3类为服务Service,第4类为广播接收器Broadcast Receiver,第5类为用户行为user‑behavior,第6类为事件event,第7类为额外的被调用者callee‑extra,第8类为调用者caller,第9类为危险接口riskyapi,其中第2、3、4、7类统称为被调用者callee;每个节点可能属于其中一种或者多种分类,只属于2至9类中一类的节点为单属性节点,属于2至9类中两种及以上分类的节点为多属性节点;(2)拆分多属性节点:将步骤(1)所得的添加标签值的函数调用关系图中多属性节点拆分为多个节点,使得每 ...
【技术特征摘要】
1.一种基于恶意行为函数调用图的安卓应用程序安全可视化分析方法,其特征在于包括如下步骤:(1)生成函数调用关系图:反编译AndroidAPK,用节点表示基本代码块,节点间的有向调用边表示控制流路径,生成APK的函数调用关系图,即CallGraph(CG);对函数调用关系图中的节点,根据节点中的类名、方法名、代码以及分类规则为节点分类并添加标签值,得到一张新图称之为添加标签值的函数调用关系图;该图中节点共有9种分类,第1类为普通,第2类为活动Activity,第3类为服务Service,第4类为广播接收器BroadcastReceiver,第5类为用户行为user-behavior,第6类为事件event,第7类为额外的被调用者callee-extra,第8类为调用者caller,第9类为危险接口riskyapi,其中第2、3、4、7类统称为被调用者callee;每个节点可能属于其中一种或者多种分类,只属于2至9类中一类的节点为单属性节点,属于2至9类中两种及以上分类的节点为多属性节点;(2)拆分多属性节点:将步骤(1)所得的添加标签值的函数调用关系图中多属性节点拆分为多个节点,使得每个节点只包含原多属性节点的一个标签值;将所有多属性节点拆分后,得到一张新图称之为经过拆分的函数调用关系图;(3)添加隐式调用边:在步骤(2)所得的经过拆分的函数调用关系图中,为存在隐式调用关系的节点之间添加调用边;得到一张新图称之为添加隐式调用边的函数调用关系图;这种根据隐式调用关系添加的调用边称之为隐式调用边;(4)裁剪:对步骤(3)所得的添加隐式调用边的函数调用关系图进行裁剪,删除不直接或者间接调用riskyapi类节点的非riskyapi类节点,得到一张新图称之为经过裁剪的函数调用关系图;(5)添加颜色和尺寸:为步骤(4)所得的经过裁剪的函数调用关系图中的节点根据节点类型设置尺寸和颜色,得到经过裁剪及自定义设置的函数调用关系图,即PMCG;(6)采用现有或自开发的可视化界面,利用可视化软件打开PMCG中的文件,可视化展示PMCG,协助用户分析判断是否存在恶意行为。2.根据权利要求1所述的基于恶意行为函数调用图的安卓应用程序安全可视化分析方法,其特征在于:所述步骤(1)中,根据节点中的类名、方法名、代码以及分类规则为节点分类并添加标签值,具体如下:A.第1类为普通节点,分类规则为:2至9类以外的节点,没有标签值;B.第2类为活动Activity节点,分类规则为:节点中代码的类继承于Activity,方法名为OnCreate,标签值为:Activity;C.第3类为服务Service节点,分类规则为:节点中代码的类继承于Service,方法名为OnCreate,标签值为:Service;D.第4类为广播接收器BroadcastReceiver节点,分类规则为:节点中代码的类继承于BroadcastReceiver,方法名为OnReceive,标签值为:BroadcastReceiver&这个广播接收器监听的广播;E.第5类为用户行为user-behavior节点,分类规则为:节点中代码属于用户触发的事件,标签值为:该节点的方法名;F.第6类为事件event节点,分类规则为:节点中代码属于用户触发事件以外的事件,标签值为:该节点的方法名;G.第7类为额外的被调用者callee-extra节点,分类规则为:节点中代码的方法名属于用户自定义的(caller,callee)对列表中callee类中的方法名,标签值为:该节点的方法名;H.第8类为调用者caller节点,分类规则为:包含调用callee类节点函数的节点,调用callee类节点的函数集合可以根据Android操作系统变化以及用户自定义(caller,callee)对列表进行调整,标签值为:调用callee类节点所用到的函数名;I.第9类为危险接口riskyapi节点,分类规则为:节点中代码使用了用户自定义的敏感应用程序编程接口API列表中的API,敏感API列表用户可以根据自身需要进行定义,标签值为:代码中的敏感API。3.根据权利要求1所述的基于恶意行为函数调用图的安卓应用程序安全可视化分析方法,其特征在于:所述步骤(2)中,多属性节点拆分为多个节点的方法为:对每个多属...
【专利技术属性】
技术研发人员:张妍,彭贵,王雅哲,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。