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

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

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构建的用户应用环境和安全运行环境的隔离方案等。

目录
相关文章
|
3月前
|
监控 安全 网络安全
云端守卫:云计算环境下的网络安全与信息保护策略
【5月更文挑战第30天】 在数字化转型的浪潮中,云计算以其灵活性和成本效益成为众多企业的首选技术平台。然而,云服务的广泛采用也带来了前所未有的安全挑战。本文探讨了在复杂多变的云环境中实施有效的网络安全和信息保护机制的关键策略。通过分析云服务模型(IaaS, PaaS, SaaS)与相应安全责任的分配,本文提出了一系列创新的安全框架和技术措施,旨在加强数据隐私、确保业务连续性并防范先进持续性威胁(APT)。同时,文章还讨论了合规性问题和多云、混合云环境中的安全考量,为构建一个既灵活又安全的云计算环境提供了全面的视角。
|
1月前
|
存储 传感器 监控
物联网设备的远程监控与管理:技术与实践
【7月更文挑战第5天】物联网设备的远程监控与管理技术正逐步成熟,为企业和个人带来了前所未有的便利性和洞察力。通过实现设备的实时监控、远程操作、数据分析等功能,可以显著提高设备的运行效率和安全性。然而,面对系统集成、隐私安全、用户体验等挑战,我们仍需不断探索和创新,以推动物联网技术的持续发展和应用。
|
3月前
|
存储 监控 安全
云端防线:云计算环境中的网络与信息安全防护策略
【5月更文挑战第20天】 随着企业与个人日益依赖云服务,其数据和应用程序的安全性变得至关重要。本文深入探讨了在动态且复杂的云计算环境中维护网络安全和信息安全的挑战,并提出了一系列防护措施。我们将从云服务的分类出发,分析不同服务模型下的安全风险,进而探索包括加密技术、身份验证、访问控制以及入侵检测系统等在内的安全技术和实践。文章旨在为读者提供一套全面的安全框架,以增强云基础设施的防御能力,保护敏感数据不受未授权访问和其他网络威胁的影响。
|
3月前
|
存储 安全 网络安全
云端守卫:云计算环境下的网络安全策略与实践
【5月更文挑战第16天】 随着企业和个人用户对计算资源的需求不断增长,云计算以其灵活性、可扩展性和成本效益成为了首选解决方案。然而,云服务的广泛采用也带来了新的安全挑战。本文旨在探讨在动态复杂的云计算环境中维护网络安全的策略和最佳实践。通过分析云服务模式(IaaS、PaaS、SaaS)的安全需求,结合最新的加密技术、访问控制机制以及合规性要求,本文提出了一系列创新的网络安全框架和应对措施,以保障数据的安全性和完整性,确保企业在享受云计算带来的便利同时,能够有效防御网络威胁和攻击。
|
3月前
|
云安全 安全 网络安全
云端防御战:云计算环境下的网络安全策略
【5月更文挑战第29天】 随着企业逐渐将数据和服务迁移到云平台,云计算环境中的网络安全成为了一个不断演进的挑战。本文探讨了在多租户、动态和复杂的云服务场景下,保护信息和资源安全的策略和技术。重点关注云服务模型(IaaS, PaaS, SaaS)对安全策略的影响,以及采用加密技术、身份验证、访问控制和入侵检测系统等方法来增强安全性。同时,分析了云计算特有的安全威胁,如数据泄露、账户劫持和跨租户攻击,并提出了相应的防御机制。本文旨在为信息安全专家和云服务用户提供一套综合的网络安全指南,以帮助他们在享受云计算带来的便利的同时,确保关键资产的安全。
|
3月前
|
机器学习/深度学习 监控 安全
云端守护:云计算环境下的网络安全策略与实践
【5月更文挑战第29天】 随着企业数字化转型的加速,云计算服务已成为支撑现代业务架构的关键。然而,数据和服务的云端迁移也带来了前所未有的安全挑战。本文深入探讨了云计算环境中的网络安全问题,分析了当前主流的云服务模型(IaaS, PaaS, SaaS)面临的安全风险,并提出了一系列创新的安全措施和最佳实践。通过综合运用加密技术、身份管理、访问控制以及实时监控等手段,构建了一个多层次的安全防护体系,旨在为云服务提供商和使用者提供指导,确保在享受云计算带来的便利同时,信息安全得到充分保护。
|
3月前
|
存储 监控 安全
云端防御线:云计算环境下的网络安全策略
【5月更文挑战第27天】 在数字化时代,企业和个人日益依赖于云服务来存储、处理和交换数据。然而,随着云计算的普及,网络安全威胁也随之增加。本文将探讨云计算环境中面临的主要安全挑战,并提出一系列针对性的安全策略。从数据加密到身份验证,再到入侵检测系统,我们剖析了如何构建一个多层次的防御体系以保护云资源。此外,文章还讨论了合规性的重要性,以及如何通过持续监控和响应机制来强化安全态势。
|
3月前
|
云安全 监控 安全
云端防御线:云计算环境下的网络安全策略和实践
【4月更文挑战第22天】 在数字化浪潮推动下,企业逐渐将数据和服务迁移到云平台。然而,随着云计算服务的广泛应用,数据安全与隐私保护的挑战也愈发严峻。本文深入探讨了云计算环境中网络安全的关键要素,分析了面临的主要安全威胁,并提出了相应的防护措施。我们重点讨论了多租户架构下的隔离机制、加密技术的应用、身份和访问管理以及持续监控的重要性。同时,文章还涉及了合规性问题和未来发展趋势,为读者提供了全面的云计算安全指南。
27 3
|
3月前
|
人工智能 安全 网络安全
云端守卫:云计算环境中的网络安全与信息保护策略
【4月更文挑战第12天】 随着企业与个人日益依赖云服务,数据存储、处理和流通的边界愈发模糊。本文探讨了在动态且复杂的云计算环境中,如何通过创新的安全技术和策略来维护网络安全和保障信息完整性。重点分析了包括身份认证、数据加密、访问控制及入侵检测等在内的关键安全措施,并提出了多层次防御模型,以增强云服务用户的信心,同时促进云计算生态系统的健康发展。
|
3月前
|
云安全 安全 网络安全
云端守卫:云计算环境中的网络安全策略与实践
【4月更文挑战第30天】在数字化浪潮中,云计算以其弹性、可伸缩性和成本效率成为企业IT架构的核心。然而,随着数据和应用不断向云端迁移,网络安全威胁也随之增加。本文深入探讨了云计算环境下的网络安全挑战,并提出了综合性的安全策略和最佳实践。通过分析云服务模型的特点,我们讨论了公有云、私有云和混合云中存在的安全风险,并提出了相应的解决方案。同时,文章也强调了信息安全管理的重要性,包括数据加密、访问控制和持续监控。最后,我们概述了未来云计算安全发展的趋势,旨在为读者提供一套全面的云安全指南。