智能终端安全:应用安全技术—终端应用管理机制

简介: 智能终端安全:应用安全技术—终端应用管理机制

Perface

终端应用管理是应用安全的屏障。终端应用管理通过终端对应用的签名检查、功能权限检查、应用调用能力管理等细分机制,提高应用使用的安全性。

我称其为管好自己哈哈哈

1 应用签名检查

在应用商店发布的应用大多都经过应用商店和开发者的签名以确保应用来源的安全性,终端的应用安装管理器会查询应用的签名以验证应用的合法性。

iOS应用开发者在应用商店注册时会获取一个开发者证书,iOS系统强制将应用开发和分发限定在苹果公司的体系之内,即iOS、App Store和iTunes,三者形成闭环以增强应用的安全性;Android系统虽未对签名证书的来源进行严格的限定,但默认也会对应用来源进行检查。

Andorid不合法就提醒

但实际使用中,相当多的Android用户会打开未知来源应用安装许可选项以安装其他来源的应用,iOS用户中也有一定比例会通过越狱的方式获取开放的应用安装权限,在应用安装便利的同时破坏了系统的应用签名检查措施,为移动终端带来了安全风险。

2 应用权限申请

根据用户的使用体验,Android涉及的权限大致分为3类:

  • 手机所有者权限,即Android手机用户不需要输入任何密码,就具有安装一般应用软件、使用应用程序等的权限;
  • ROOT权限,Android系统的最高权限,可以对系统中所有文件、数据进行任意操作;
  • Android应用程序权限,Android应用程序对Android系统资源的访问需要的相应访问权限,该权限在应用程序设计时设定,在Android系统中初次安装时生效

Android对其框架内各种对象(包括设备上的各类数据、传感器、拨打电话、发送信息、控制别的应用程序等)的访问权限进行了详细的划分。

这部分在设计APP的时候就会选择好,通过代码的方式。

应用程序在安装和运行前必须向Android系统声明它将会用到的权限,否则Android将会拒绝该应用程序访问超过该权限许可的内容

应用程序设计的权限不能大于Android手机所有者权限,并需在开发者的开发过程中申请并获得授权。

Android定义了百余种permission,可供开发人员使用,具体详见网址:

http://developers.androidcn.com/reference/android/Manifest.permission.html

Android提供的应用权限,具体如表所示。

Android要求应用所用到的功能均需要在使用前申请使用权限,用户在应用安装时可以看到应用申请的权限清单。但实际使用中,应用过度申请权限的问题普遍存在,从Android权限申请的角度没有进一步的有效措施对其做更详细的区分。

Android应用程序权限在应用APK(Android Package, Android,安装包)中的AndroidMainifest.xml文件进行说明。该文件罗列了应用程序运行时库、运行依赖关系、所需的系统访问权限等。

程序员在进行应用软件开发时,需要通过设置该文件的uses-permission字段来显式地向Android系统申请访问权限。

应用程序的权限申请,如下文中uses-permission部分所示。

<? xml   version="1.0"   encoding="utf-8"? >
            <manifest  xmlns:android="http://schemas.android.com/  apk/
        res/android"
              package="com.cuandroid.   demo"
              android:versionCode="1"
              android:versionName="1.0"   >
                <uses-sdk
                    android:minSdkVersion="9"
                    android:targetSdkVersion="22"   />
                <uses-permission  android:name  =  "android.permission.
        READ_PHONE_STATE"/>
                <uses-permission  android:name  =  "android.permission.
        INTERNET"/>
                  </uses-permission>
                <application
              android:allowBackup="true"
              android:icon="@drawable/ic_launcher"
              android:label="@string/app_name"
              android:theme="@style/AppTheme"   >
              <activity
                  android:name="com.wondersoft.encryptphonedemo.
        MainActivity"
                  android:label="@string/app_name"   >
                  <intent-filter>
                      <action  android:name  =  "android.intent.action.
        MAIN"   />
                  <category   android:name   =   "android.intent.category.
        LAUNCHER"   />
                </intent-filter>
                  </activity>
            </application>
            </manifest>

上述文件中uses-permission部分为应用权限申请说明,其意义是说明该软件需要允许获取手机状态和允许应用打开网络连接发送短信的功能。

Android系统定义的应用权限如表所示,用户还可以自定义权限作为补充。

Android系统对应用程序授权申请的处理流程如下。

  • 1)进入处理应用程序授权申请的入口函数。
  • 2)系统从被安装应用程序的AndroidManifest.xml文件中获取该应用正常运行需申请的权限列表。
  • 3)显示对话框,请求用户确认是否同意这些权限需求。
  • 4)若同意,则应用程序正常安装,并被赋予相应的权限;若不同意,则应用程序不被安装。系统仅提供给用户选择“安装”或者“取消”的权利,没有选择其中某些权限进行授权的权利。

应用权限管理的系统处理流程如图所示。

以沃商店为例,在应用安装时申请用到的权限明细如图所示。

但是因为各种各样的原因,应用普遍会申请超出其实际使用范围的权限,用户只能选择接受,否则将无法使用该应用。Android系统允许应用过度申请权限一直是Android系统安全缺陷之一。

3 应用调用能力管理

标准Android的安装程序只罗**列了待安装应用所有申请调用的权限列表,用户只能被动接受或拒绝使用该应用。**业内普遍认为,应当提高用户在应用调用能力的可视化管理,提高用户安全体验。

在这种背景下,中国通信标准化协会组织制定了《移动智能终端安全能力技术要求》行业标准,并于2013年11月开始实施,该标准从终端能力的角度为终端应用提供了细分的管理措施。

标准中提到的移动智能终端安全能力,

  • 包括终端硬件安全能力、
  • 终端操作系统安全能力、
  • 终端外围接口安全能力、
  • 终端应用层安全要求、
  • 终端用户数据保护安全能力等。

基于对终端安全能力的分级管理,可以实现精细化的终端应用管理。

《移动智能终端安全能力技术要求》中要求,在应用调用上述5大终端安全能力时,系统向用户提供必要的安全提示或状态提示以实现被动安全。

同时,根据移动智能终端所支持的安全能力程度,将移动智能终端安全能力划分为从高到低的5个等级,并分别对应安全能力要求。具体如表所示。

行标推荐移动智能终端在明显位置以图形化等级标识描述终端安全能力等级,标识图案如图所示。

以微信为例,一个典型的应用权限管理操作界面:

支持应用调用能力管理的终端,用户可基于对各应用功能的判断来设定各应用是否可调用其申请的设备权限,提高应用使用的安全性。

现在就是这样了,千万别因为偷懒而把你的APP权限全部放开哦!

4 应用运行监控管理

Android系统对运行中的应用程序对服务和资源的占用情况进行实时监控管理,通常第三方手机管理工具都包含此类功能,这部分属于对系统级的统计需求应用运行实行监控管理,可使用户了解系统中应用的运行状态、资源使用等信息。

进一步地,针对应用安全的运行监控策略,一般包括应用空间独立、应用越权限制等手段,主要表现为沙箱(sandbox)机制。

Android沙箱的本质是为了实现不同应用程序和进程之间的互相隔离。在默认情况下,应用程序没有权限访问系统资源或其他应用程序的资源,每个App和系统进程都被分配唯一并且固定的UID,每个App在各自独立的Dalvik虚拟机中运行,拥有独立的地址空间和资源,运行于Dalvik虚拟机中的进程必须依托内核层Linux进程而存在。

通过Android使用的Dalvik虚拟机和Linux文件访问控制实现了应用沙箱机制,任何应用程序如果想要访问系统资源或者其他应用程序的资源必须在自己的manifest文件中进行声明权限或者使用共享UID。

更进一步的应用运行监控管理,还有硬件隔离的双系统方案,或基于ARM TrustZone构建的用户应用环境和安全运行环境的隔离方案等。

目录
相关文章
|
7月前
|
云安全 安全 网络安全
云端防御战线:云计算环境下的网络安全与信息防护
【2月更文挑战第30天】 随着企业数字化转型的深入,云计算已成为支撑现代业务的关键基础设施。然而,云环境的开放性、复杂性和动态性也给网络安全带来了前所未有的挑战。本文聚焦于分析云计算环境中的网络安全威胁、信息安全风险以及相应的防护策略。通过综合运用加密技术、身份认证机制、入侵检测系统和安全事件管理,我们构建了一个多层次的安全防线,旨在为云服务提供全方位的保护。此外,文中还探讨了合规性在保障信息安全中的重要性,并提出了未来云计算安全研究的方向。
|
7月前
|
机器学习/深度学习 人工智能 安全
云端防御战线:云计算环境中的网络安全策略
【4月更文挑战第22天】 在数字化时代,云计算已成为企业运营的关键基础设施。然而,随着其广泛应用,云服务也成为了网络攻击者的主要目标。本文深入探讨了云计算环境下的网络安全挑战,分析了云服务提供者和使用者面临的安全威胁,并提出了综合性的安全策略。这些策略不仅包括传统的加密和身份验证技术,还涉及更先进的入侵检测系统、行为分析和机器学习算法。文章旨在为读者提供一个关于如何在享受云计算带来的便利同时确保数据和操作安全的综合指南。
|
7月前
|
存储 安全 网络安全
云端防御战线——云计算环境下的网络安全策略
【5月更文挑战第20天】 在数字化时代,云计算以其灵活性、效率和成本优势成为企业信息技术架构的核心。然而,随之而来的是复杂多变的网络威胁,它们不断挑战着云服务的安全性。本文深入探讨了云计算环境中的网络安全问题,分析了当前面临的主要安全风险以及应对这些风险的策略。通过综合运用加密技术、身份验证机制、入侵检测系统等手段,构建了一个多层次的安全框架,旨在保障数据完整性、可用性和机密性。同时,文中还强调了安全治理的重要性,包括制定合理的政策、流程和技术控制措施,以实现对云服务的全面保护。
|
4月前
|
存储 监控 安全
云端防御战线:云计算环境下的网络安全策略与实践
【7月更文挑战第53天】 随着企业数字化转型的不断深入,云计算已成为支撑现代业务架构的关键平台。然而,云服务的广泛应用也带来了前所未有的安全挑战。本文聚焦于云计算环境中的网络安全问题,详细探讨了云服务模型(IaaS、PaaS、SaaS)在面临数据泄露、非法访问、服务中断等威胁时的防护措施。同时,分析了信息安全管理的最佳实践,包括加密技术、身份认证、访问控制及合规性监管等方面,旨在为读者提供一套全面的云计算安全防护指南。
|
6月前
|
云安全 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【5月更文挑战第38天】 在数字化转型的浪潮中,企业纷纷采用云计算服务以提升运营效率和灵活性。然而,云服务的广泛部署也带来了前所未有的安全挑战。本文深入探讨了云计算环境中网络安全的关键问题,分析了当前主流的云安全威胁模型,并提出了一系列创新的安全策略和最佳实践。通过结合案例分析和技术评估,我们旨在为读者提供一套全面的参考框架,以增强其在云环境下的安全防御能力。
|
7月前
|
存储 安全 网络安全
云端防御战线:云计算环境下的网络安全策略
【5月更文挑战第30天】 随着企业与个人越发依赖云服务,云计算环境中的数据安全与隐私保护成为关键议题。本文深入探讨了在动态且复杂的云平台中实施有效网络安全措施的策略和技术。重点分析了云服务模型(IaaS, PaaS, SaaS)对安全实践的具体影响,并提出了基于最新技术进展(如加密算法、身份认证、入侵检测系统等)的多层次防御框架。此外,本文还讨论了合规性挑战、数据治理以及未来发展趋势,为读者提供了全面的云计算与网络安全融合视角。
|
7月前
|
云安全 监控 安全
云端防御:云计算环境下的网络安全策略与实践
【5月更文挑战第30天】随着企业数字化转型的加速,云计算服务已成为支撑现代业务架构的关键。然而,数据和服务的集中化也带来了前所未有的安全挑战。本文将深入探讨在云计算环境中维护网络安全的策略和技术实践,涵盖从基础设施到应用层的安全考量。我们将分析云安全的最新趋势,包括加密技术、身份认证、访问控制以及入侵检测系统,并探讨如何在保障云服务效率的同时确保信息安全。
|
7月前
|
存储 安全 网络安全
云端防御:云计算环境下的网络安全策略
【5月更文挑战第18天】在数字化转型的浪潮中,云计算已成为企业与组织实现敏捷性、可扩展性和成本效益的关键。然而,随之而来的是复杂的网络威胁和安全挑战。本文将深入探讨云计算环境中的网络安全问题,分析云服务模型(IaaS, PaaS, SaaS)的安全风险,并提出一系列创新的防护措施和最佳实践,以增强信息资产的安全性并确保业务连续性。
|
7月前
|
云安全 安全 网络安全
云端防御:云计算环境中的网络安全与信息保护
【5月更文挑战第22天】 在数字化时代,云计算已成为企业及个人存储、处理和访问数据的重要平台。然而,随着云服务使用的普及化,网络安全和信息保护面临新的挑战。本文将探讨云计算环境下的安全威胁,并提出相应的防护措施,以保障用户数据的完整性、机密性和可用性。通过分析云安全的最佳实践,我们旨在为企业提供一套全面的安全策略框架,确保其云基础设施的稳固与可靠。
|
7月前
|
存储 监控 安全
云端防线:云计算环境中的网络与信息安全防护策略
【5月更文挑战第20天】 随着企业与个人日益依赖云服务,其数据和应用程序的安全性变得至关重要。本文深入探讨了在动态且复杂的云计算环境中维护网络安全和信息安全的挑战,并提出了一系列防护措施。我们将从云服务的分类出发,分析不同服务模型下的安全风险,进而探索包括加密技术、身份验证、访问控制以及入侵检测系统等在内的安全技术和实践。文章旨在为读者提供一套全面的安全框架,以增强云基础设施的防御能力,保护敏感数据不受未授权访问和其他网络威胁的影响。