移动安全 - Android 操作系统



众所周知,Android 是 Google 为移动设备开发的软件,具有智能手机和平板电脑的处理能力。其内核基于 Linux。其安装的应用程序在沙盒中运行。然而,许多生产商都发布了针对此操作系统的反病毒软件,例如卡巴斯基、迈克菲和 AVG Technologies。尽管反病毒应用程序在沙盒中运行,但其扫描环境的能力是有限的。

Android 操作系统的一些特性如下:

  • 针对移动设备优化的 Dalvik 虚拟机
  • 用于结构化数据的 SQLite 数据库
  • 基于 WebKit 引擎的集成浏览器
  • 支持各种媒体格式,如音频、图像、视频
  • 丰富的开发环境,如模拟器(Bluestacks)、调试工具

Android 操作系统架构

下图显示了 Android 操作系统的整体架构:

Android OS Architecture
  • 第一层是应用程序层,包括短信、日历等应用程序以及其他第三方应用程序。

  • 第二层是应用程序框架层,包括:

    • 视图系统,供开发者创建框、线、网格等。

    • 内容提供程序允许应用程序访问和使用来自第三方应用程序的数据。

    • 活动管理器控制应用程序的生命周期。

    • 资源管理器为应用程序分配资源。

    • 通知管理器帮助显示应用程序的通知。

  • 第三层是库层,这是最重要的部分。它利用应用程序的功能,例如,将日期存储在数据库中。SQLite 就是利用此功能的例子。

  • 第四层是 Linux 内核层。它包含所有硬件组件的驱动程序,例如摄像头、无线、存储等。

Android 设备管理 API

Android 2.2 中引入的设备管理 API 提供了系统级别的设备管理功能。这些 API 允许开发人员创建安全感知的应用程序,这些应用程序在企业环境中非常有用,在企业环境中,IT 专业人员需要对员工设备进行丰富的控制。

设备管理员应用程序使用设备管理 API 编写。当用户在设备上安装这些应用程序时,这些设备管理员应用程序会强制执行所需的策略。内置应用程序可以利用新的 API 来改进交换支持。

以下是一些可能使用设备管理 API 的应用程序类型的示例:

  • 电子邮件客户端
  • 执行远程擦除的安全应用程序
  • 设备管理服务和应用程序

本教程中使用的示例基于设备管理 API 示例,该示例包含在 SDK 示例中(可通过 Android SDK Manager 获取),并位于您的系统上的以下位置:

<sdk_root>/ApiDemos/app/src/main/java/com/example/android/apis/app/ DeviceAdminSample.java。

示例应用程序

此示例应用程序演示了设备管理功能。它向用户提供一个用户界面,允许他们启用设备管理应用程序。

Sample Application

用户启用应用程序后,可以使用用户界面中的按钮执行以下操作:

  • 设置密码质量。

  • 指定用户密码的要求,例如最小长度、必须包含的数字字符的最小数量等。

  • 设置密码。如果密码不符合指定的策略,系统将返回错误。

  • 设置设备被擦除(即恢复出厂设置)之前允许发生的密码尝试失败次数。

  • 设置密码将在多长时间后过期。

  • 设置密码历史记录长度(长度是指存储在历史记录中的旧密码数量)。这可以防止用户重用他们之前使用过的最后一个密码。

  • 指定存储区域应加密,如果设备支持的话。

  • 设置设备锁定之前可以经过的最长非活动时间。

  • 立即锁定设备。

  • 擦除设备数据(即恢复出厂设置)。

  • 禁用摄像头。

广告