完整安卓系统框架层调用图生成方法.docVIP

  • 18
  • 0
  • 约9.03千字
  • 约 14页
  • 2018-12-01 发布于福建
  • 举报

完整安卓系统框架层调用图生成方法.doc

完整安卓系统框架层调用图生成方法

完整安卓系统框架层调用图生成方法   文章编号: 2095-2163(2018)03-0015-06中图分类号: 文献标志码: A   摘要: 关键词: (1 Beijing Engineering Laboratory of the Internet Intelligent Device Sercurity, Institute of Information Engineering,   Chinese Academy of Sciences, Beijing 100195, China; 2 School of Cyber Security,   University of Chinese Academy of Sciences, Beijing 100049, China)   Abstract: At present, Android framework call graph static analysis is limited to the Java framework layer, ignoring the media services and sensor services in the C++ framework layer. The safety analysis of the Android system based on the call graph is also less complete. Based on the in-depth analysis of the Android system framework mechanism and source code, the paper presents a complete Android framework call graph generation method. It includes three parts, which are: the Java framework call graph, C++ framework call graph and JNI connection for complete call graph. After that, the paper analyzes in detail the call chain about remote process call, message handler and Java Native Interface.   Key words:   引言   当前,对安卓系统框架层的调用图静态分析局限在Java框架层,但是安卓系统框架层却还容纳有不可或缺的一部分,即C++框架层,该层可提供一些颇具代表性的媒体服务,包括CameraService、AudioFlinger、AudioPolicyService、MediaPlayerService、与用户敏感信息密切相关的传感器服务的主要功能也在该层运行实现,包括SensorService、GravitySensor、 LinearAccelerationSensor、 OrientationSensor等。本文研究旨在生成完整的安卓系统框架层调用图,从而增进现有安卓系统静态分析的完整性,更好地支持论证各类安卓系统框架层安全问题的分析。在对安卓系统框架层机制和源码深入探讨分析的基础上,该方法主要包含了Java框架层调用图、C++框架层调用图、JNI连接生成完整的框架层调用图三个部分。下面,?⒕驼庖荒谌菡箍?设计论述。   1安卓系统概述及框架层分析存在的问题   1.1安卓系统架构   安卓系统不仅庞大,而且错综复杂,安卓系统架构[1]如图1所示。由图1可知,从Kernel层开始进入安卓系统,用于加载Binder Driver、Camera Driver、GPS Driver等;Native层中的init进程(pid=1)是Linux系统的用户进程,用于启动ServiceManager(Binder服务管家)等重要服务;C++ Framework层的Media Server进程由init进程衍生得来,用于启动和管理CemaraService、AudioFlinger等本地系统服务;Zygote进程由init进程孵化出来,Java Framework的System Server是Zygote进程孵化的第一个进程,用于启动和管理LocationManagerService、WifiService、BluetoothManagerService等Java系统服务;所有的APP进程都是由Zygote进程孵化的,通过Binder调用系统服务实现相应功能。   1.2现有安卓系统框架层分析方案   PScout[2]是基于

文档评论(0)

1亿VIP精品文档

相关文档