安卓系统的安全防护技术与研究
摘 要21世纪,随着科技的进步,智能手机越来越普遍的出现在我们的生活中。同时,手机操作系统也层出不穷,在这些系统中,安卓系统由于代码的开源性,在手机操作系统中使用最普遍,也正是因为这样,一部分见利忘义之徒在经济利益的驱使下,通过手机病毒及恶意软件对手机系统进行破坏,从而达到他们的经济目的。因此对手机系统的安全防护技术研究在生活中具有重要作用。本文通过对安卓系统的内核层和应用框架层的安全性进行分析,提出了针对电话、短信、连接互联网、Wifi和蓝牙的安全性监控的设计思路,对安卓系统的防护技术研究有重要的借鉴意义。
目 录
一、 引言: 1
二、 安卓系统分析 1
(一) Linux内核(Linux kernel)内核 3
(二) 库和运行环境(Libraries and Android Runtime) 3
(三) 应用程序框架层(Application Framework) 4
(四) 应用程序层(Application) 5
三、 安卓系统的安全性分析 5
(一) 用户数据的安全性问题分析 5
(二) 手机系统的安全性问题分析 5
(三) 权限 6
四、 解决方案与设计 6
(一) BroadcastReceiver基类分析 7
(二) 安全防护模块 8
(三) 辅助功能模块 8
(四) 安全监控模块设计 8
1. 电话监测模块 8
2. 监测接入的电话 10
(五) 短信监测模块设计 10
1. 接收短信监测 10
2. 发出短信监测 10
(六) 互联网连接的监测模块设计 10
(七) WiFi监测模块的设计 10
(八) 蓝牙监测模块的设计 10
(九) 文件监测模块的设计 11
五、 安全防护功能实现方法和总结 12
(一) 监测拨打电话方法: 13
(二) 文件监控模块实现 13
(三) 小结 13
谢 辞 14
参考文献 1
*好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2#
5
安卓系统的安全防护技术与研究
引言:
在信息化快速发展的今天,手机已经成为人们手中必不可少的通信工具。而且随着手机智能化程度的不断提高,处理能力的不断提升,手机内存容量的大幅增加,人们越来越频繁的使用手机来存储私人信息、开展移动办公等事务。
在众多智能手机系统中,Google公司开发的安卓系统依靠着良好的用户体验、源代码的开放性、系统整体结构的严谨性、简洁易操作的开发方式俘获了大量的普通用户和专业的开发人员。但是,随着智能手机应用种类的拓宽和范围的广泛,用户在手机中存放的重要信息也随之越来越多,手机的安全性问题也就由此产生。根据相关调查,安卓系统的恶意软件和病毒也成倍的增长,通过对恶意软件的特征进行分类,发现扣费类的恶意软件占据了接近50%的比率,其次是隐私窃取类软件为30%,还有后台类、资费消耗类、流氓软件等恶意软件。其中扣费类的恶意软件大部分是通过诱骗用户订阅SP(Service Provider)业务,超过30%的则频繁的从网上下载垃圾软件,消耗用户的大量流量,而其他的则通过发送短信息等形式扣取用户的费用。
根据以上分析,发现大部分恶意软件都选择对安卓系统本身的漏洞、安卓用户的个人信息和网络流量。本文通过对安卓系统的分析和安全防护技术的研究,从而为安卓系统用户提供更好的使用环境。
安卓系统分析
安卓系统从底层到应用层分为Linux内核(Linux kernel)、库和运行环境(Libraries and Android Runtime)、应用程序框架(Application Framework)、应用程序(Application)四个部分组成。安卓系统总体框架如图21所示:
图21安卓系统总体框架
Linux内核(Linux kernel)内核
安卓系统(Android System)是基于Linux内核开发的,该部分主要为安卓系统提供系统的核心服务,包括对系统的进程管理、安全性维护、内存数据的管理以及驱动各种芯片等功能,Linux内核是整个安卓系统的基础,为上层提供服务和支持。Linux层的框架如图所示:
图22 Linux内核层总体框架
库和运行环境(Libraries and Android Runtime)
该层包含两个部分,库和运行环境,其中库是为应用程序框架层提供服务的,其主要目的是实现底层逻辑与应用程序框架层之间的相互连接。该部分的总体框架如图所示:
图23 库和运行环境总体框架
它主要包括以下几个部分
Surface Manager负责当多个程序运行的时候,管理数据的存取动作和显示的互动,而且也对2D、3D图像的显现生成。
Media Framework是多媒体库,它负责对各种音频和视频格式进行记录、回放,我们常用的音频和视频格式例如MP3、MPEG4都被其支持。
SQLITE是一个数据库,这种小型的数据库方便手机操作使用。
OpenGL是3D绘图库。
Freetype负责把向量和点阵字体描绘和显示。
WebKit是一种Web浏览器
SGL是底层的对2D图形进行渲染的引擎。
SSL来实现安全的网页浏览。
Libc是为手机等小型设备进行的标准化C语言函数库。
另外该层还有运行环境(RunTime),可以分为两个部分:
Core Libraries为JAVA API提供了大部分功能,此外还包括一些核心API。
Dalvik VM是一种虚拟机,当运行一个应用程序的时候,调用虚拟机的“实例”,从而从虚拟机运行这个应用。这样的机制可以避免不同的应用程序相互干扰,保持各个程序之间的独立性,另外Dalvik VM是专门为手机这种设备优化过的。
应用程序框架层(Application Framework)
应用程序框架层是应用程序开发的基础,软件开发人员可以通过其提供的组件实现应用程序的开发,也可以通过继承的方式实现应用程序的个性化扩展。应用程序框架层的总体框架如图所示:
图24应用程序框架层总体框架
(1)Activity Manager为活动管理器,负责调控应用程序的执行时间。
Window Manager为窗口管理器,完成对窗口程序的管理。
Content Provider为内容提供器,不同程序可以通过它实现数据的存取和共享。
View System为视图系统,是应用程序的基本组件。
Notification Manager是通知管理器,该组件可以将自定义的信息显示在状态栏。
Package Manager为包管理器,完成对应用程序的管理。
目 录
一、 引言: 1
二、 安卓系统分析 1
(一) Linux内核(Linux kernel)内核 3
(二) 库和运行环境(Libraries and Android Runtime) 3
(三) 应用程序框架层(Application Framework) 4
(四) 应用程序层(Application) 5
三、 安卓系统的安全性分析 5
(一) 用户数据的安全性问题分析 5
(二) 手机系统的安全性问题分析 5
(三) 权限 6
四、 解决方案与设计 6
(一) BroadcastReceiver基类分析 7
(二) 安全防护模块 8
(三) 辅助功能模块 8
(四) 安全监控模块设计 8
1. 电话监测模块 8
2. 监测接入的电话 10
(五) 短信监测模块设计 10
1. 接收短信监测 10
2. 发出短信监测 10
(六) 互联网连接的监测模块设计 10
(七) WiFi监测模块的设计 10
(八) 蓝牙监测模块的设计 10
(九) 文件监测模块的设计 11
五、 安全防护功能实现方法和总结 12
(一) 监测拨打电话方法: 13
(二) 文件监控模块实现 13
(三) 小结 13
谢 辞 14
参考文献 1
*好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2#
5
安卓系统的安全防护技术与研究
引言:
在信息化快速发展的今天,手机已经成为人们手中必不可少的通信工具。而且随着手机智能化程度的不断提高,处理能力的不断提升,手机内存容量的大幅增加,人们越来越频繁的使用手机来存储私人信息、开展移动办公等事务。
在众多智能手机系统中,Google公司开发的安卓系统依靠着良好的用户体验、源代码的开放性、系统整体结构的严谨性、简洁易操作的开发方式俘获了大量的普通用户和专业的开发人员。但是,随着智能手机应用种类的拓宽和范围的广泛,用户在手机中存放的重要信息也随之越来越多,手机的安全性问题也就由此产生。根据相关调查,安卓系统的恶意软件和病毒也成倍的增长,通过对恶意软件的特征进行分类,发现扣费类的恶意软件占据了接近50%的比率,其次是隐私窃取类软件为30%,还有后台类、资费消耗类、流氓软件等恶意软件。其中扣费类的恶意软件大部分是通过诱骗用户订阅SP(Service Provider)业务,超过30%的则频繁的从网上下载垃圾软件,消耗用户的大量流量,而其他的则通过发送短信息等形式扣取用户的费用。
根据以上分析,发现大部分恶意软件都选择对安卓系统本身的漏洞、安卓用户的个人信息和网络流量。本文通过对安卓系统的分析和安全防护技术的研究,从而为安卓系统用户提供更好的使用环境。
安卓系统分析
安卓系统从底层到应用层分为Linux内核(Linux kernel)、库和运行环境(Libraries and Android Runtime)、应用程序框架(Application Framework)、应用程序(Application)四个部分组成。安卓系统总体框架如图21所示:
图21安卓系统总体框架
Linux内核(Linux kernel)内核
安卓系统(Android System)是基于Linux内核开发的,该部分主要为安卓系统提供系统的核心服务,包括对系统的进程管理、安全性维护、内存数据的管理以及驱动各种芯片等功能,Linux内核是整个安卓系统的基础,为上层提供服务和支持。Linux层的框架如图所示:
图22 Linux内核层总体框架
库和运行环境(Libraries and Android Runtime)
该层包含两个部分,库和运行环境,其中库是为应用程序框架层提供服务的,其主要目的是实现底层逻辑与应用程序框架层之间的相互连接。该部分的总体框架如图所示:
图23 库和运行环境总体框架
它主要包括以下几个部分
Surface Manager负责当多个程序运行的时候,管理数据的存取动作和显示的互动,而且也对2D、3D图像的显现生成。
Media Framework是多媒体库,它负责对各种音频和视频格式进行记录、回放,我们常用的音频和视频格式例如MP3、MPEG4都被其支持。
SQLITE是一个数据库,这种小型的数据库方便手机操作使用。
OpenGL是3D绘图库。
Freetype负责把向量和点阵字体描绘和显示。
WebKit是一种Web浏览器
SGL是底层的对2D图形进行渲染的引擎。
SSL来实现安全的网页浏览。
Libc是为手机等小型设备进行的标准化C语言函数库。
另外该层还有运行环境(RunTime),可以分为两个部分:
Core Libraries为JAVA API提供了大部分功能,此外还包括一些核心API。
Dalvik VM是一种虚拟机,当运行一个应用程序的时候,调用虚拟机的“实例”,从而从虚拟机运行这个应用。这样的机制可以避免不同的应用程序相互干扰,保持各个程序之间的独立性,另外Dalvik VM是专门为手机这种设备优化过的。
应用程序框架层(Application Framework)
应用程序框架层是应用程序开发的基础,软件开发人员可以通过其提供的组件实现应用程序的开发,也可以通过继承的方式实现应用程序的个性化扩展。应用程序框架层的总体框架如图所示:
图24应用程序框架层总体框架
(1)Activity Manager为活动管理器,负责调控应用程序的执行时间。
Window Manager为窗口管理器,完成对窗口程序的管理。
Content Provider为内容提供器,不同程序可以通过它实现数据的存取和共享。
View System为视图系统,是应用程序的基本组件。
Notification Manager是通知管理器,该组件可以将自定义的信息显示在状态栏。
Package Manager为包管理器,完成对应用程序的管理。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/580.html