[发明专利]基于静态分析的Binder通信过载漏洞的检测方法在审
申请号: | 202110390864.9 | 申请日: | 2021-04-12 |
公开(公告)号: | CN113139184A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 刘少聪;马骏;陶先平 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 陈月菊 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 静态 分析 binder 通信 过载 漏洞 检测 方法 | ||
本发明公开了一种基于静态分析的安卓应用Binder通信过载漏洞的检测方法,包括:分析安卓框架源代码建立函数调用图,基于传输函数transact前向分析确定安卓框架暴露的Binder通信接口函数;对安卓应用代码进行静态分析,通过上下文不敏感、流敏感、路径不敏感的函数间数据流分析技术,建立完毕单个函数的数据包含关系表;选取其中与Binder通信接口函数相关的函数建立应用数据包含关系总表;基于扩容传输的模式查找符合模式的扩容传输对象,分析扩容传输对象的扩容语句判断是否满足循环条件,检测得到符合循环扩容传输模式的Binder通信过载漏洞。本发明采取静态程序分析的手段,通过建立整个应用的数据包含关系确定传输对象,达到检测Binder通信过载漏洞的技术效果。
技术领域
本发明涉及安卓应用Binder通信过载漏洞的检测技术领域,具体而言涉及一种基于静态分析的安卓应用Binder通信过载漏洞的检测方法、装置、电子设备和存储介质。
背景技术
随着信息技术的发展,以安卓平台为代表的移动终端早已成为人们生活中不可或缺的部分,越来越多的手机用户开始通过智能手机发送邮件、查看图片、浏览视频,移动应用程序的功能愈发强大,随之而来的是移动应用程序运行的占用内存也越来越大。
安卓系统是一个基于服务的系统,通过框架提供或者自行开发的各种各样的服务对外提供系统最基本最核心的功能,包括了位置管理(Location Manager)、包管理(Package Manager)、活动管理(Activity Manager)等最为重要的服务,而所有的服务都离不开安卓系统提供的Binder通信框架。Binder通信框架作为安卓系统提供的跨进程通信的手段,相比于传统的跨进程通信手段如管道、Socket、共享内存等,具有单次数据拷贝、传输效率高、使用简单等优点,同时拥有安全性强等特点。安卓系统为了平衡跨进程通信的效率和内存占用,限制了Binder通信传输大小为1M,超出限定范围则会抛出异常导致应用程序崩溃,造成用户数据丢失,极大地影响用户体验和应用评价。
现有的应对Binder通信过载问题的方法,主要包括了调试工具和开发工具。调试工具如TooLargeTool,通过对部分安卓框架提供的开放接口进行hook,在开发日志中输出当前传输对象的大小,实现对Binder通信传输对象大小的监听。开发工具如Bridge,通过注解的方式改变了传输对象的存储方式,将传输对象储存在内存而非Binder缓存中,以牺牲效率为代价减小传输对象大小。以上两种方式都依赖于实际的程序执行,并且无法提前定位到Binder传输对象的位置。
组件间通信是Binder通信的一个重要组成部分,针对组件间通信的测试工具存在很多,但是只有较少的几篇工作涉及了Binder通信过载问题,主要原因在于难以通过简单的测试用例触发Binder通信过载漏洞。而且并没有针对改该问题定制测试用例。
发明内容
本发明针对现有技术中的不足,提供一种基于静态分析的安卓应用Binder通信过载漏洞的检测方法、装置、电子设备和存储介质,采取静态程序分析的手段,通过建立整个应用的数据包含关系确定传输对象,达到检测Binder通信过载漏洞的技术效果。
为实现上述目的,本发明采用以下技术方案:
第一方面,本申请实施例提供了一种基于静态分析的安卓应用Binder通信过载漏洞的检测方法,所述检测方法包括以下步骤:
S1,分析安卓框架源代码建立函数调用图,基于传输函数transact前向分析确定安卓框架暴露的Binder通信接口函数;
S2,对安卓应用代码进行静态分析,从安卓应用中使用的Binder通信接口函数出发,通过上下文不敏感、流敏感、路径不敏感的函数间数据流分析技术,其中数据流分析的迭代终止条件为ContainerMap不再变化,建立完毕单个函数的ContainerMap;选取其中与Binder通信接口函数相关的函数建立ContainerMap_app;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110390864.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:GOA电路及显示面板
- 下一篇:一种托盘架