移动安全 – Android 操作系统
移动安全 – Android 操作系统
众所周知,软件是由 Google 为移动设备开发的,具有适用于智能手机和平板电脑的处理能力。它的内核基于Linux。它安装的应用程序在沙箱中运行。但是,许多生产商已经发布了针对此类操作系统的防病毒软件,例如 Kasperky、MCAfee 和 AVG Technologies。即使防病毒应用程序在沙箱下运行,它也有扫描环境的限制。
安卓操作系统的一些功能如下 –
- 为移动设备优化的 Dalvik 虚拟机
- 用于结构化数据的 SQLite 数据库
- 基于WebKit引擎的集成浏览器
- 支持不同的媒体格式,如音频、图像、视频
- 模拟器(Bluestack)、调试工具等丰富的开发环境
安卓操作系统架构
下图显示了 Android 操作系统的整体架构 –
-
第一层是应用,包括短信、日历等第三方应用。
-
第二层是应用程序框架,其中包括 –
-
视图系统,供开发者创建框、线、网格等。
-
内容提供商允许应用程序访问和使用来自第三方应用程序的数据。
-
活动管理器控制应用程序的生命周期。
-
资源管理器为应用程序分配资源。
-
通知管理器有助于显示应用程序的通知。
-
-
第三层是库,这是最重要的部分。它利用应用程序的功能,例如,将日期存储在数据库中。SQLite 正是利用了这个功能。
-
第四层是Linux内核。它包含硬件组件的所有驱动程序,例如摄像头、无线、存储等。
Android 设备管理 API
Android 2.2 中引入的设备管理 API 提供了系统级别的设备管理功能。这些 API 允许开发人员创建在企业环境中有用的安全感知应用程序,在这些环境中 IT 专业人员需要对员工设备进行丰富的控制。
设备管理应用程序是使用设备管理 API 编写的。当用户在他或她的设备上安装这些应用程序时,这些设备管理应用程序会强制执行所需的策略。内置应用程序可以利用新的 API 来改进交换支持。
以下是可能使用设备管理 API 的应用程序类型的一些示例 –
- 电子邮件客户端
- 执行远程擦除的安全应用程序
- 设备管理服务和应用
本教程中使用的示例基于设备管理 API 示例,该示例包含在 SDK 示例中(可通过 Android SDK 管理器获取)并位于您的系统中
<sdk_root>/ApiDemos/app/src/main/java/com/example/android/apis/app/DeviceAdminSample.java。
示例应用程序
此示例应用程序提供了设备管理功能的演示。它为用户提供了一个用户界面,允许他们启用设备管理应用程序。
用户启用应用程序后,他们可以使用用户界面中的按钮执行以下操作 –
-
设置密码质量。
-
指定用户密码的要求,例如最小长度、必须包含的最少数字字符数等。
-
设置密码。如果密码不符合指定的策略,系统会返回错误。
-
设置在擦除设备(即恢复到出厂设置)之前可以发生多少次失败的密码尝试。
-
设置从现在起密码过期的时间。
-
设置密码历史长度(长度是指历史中存储的旧密码的数量)。这可以防止用户重复使用他们以前使用的最后一个密码之一。
-
如果设备支持,则指定应加密存储区域。
-
设置设备锁定前可以经过的最长时间不活动时间。
-
立即锁定设备。
-
擦除设备数据(即恢复出厂设置)。
-
禁用相机。