《企业移动智能终端应用开发、安装、运行管控机制(指南)(T-EMCG 003—2014).pdf》由会员分享,可在线阅读,更多相关《企业移动智能终端应用开发、安装、运行管控机制(指南)(T-EMCG 003—2014).pdf(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 团体标准 团体标准 T/EMCG 003-2014 企业移动智能终端应用开发、安装、运行管控机制(指南)APP developing,installing and running management and control mechanism(guideline)for enterprise mobile smart device 2015-01-24 实施中关村网络安全与信息化产业联盟中关村网络安全与信息化产业联盟 发布发布 2015-01-24 发布 ICS 35.020 I 6599 T/EMCG 003-2014 I 目 次 目 次.I 前言.II 引言.III 1 范围.1 2
2、规范性引用文件.1 3 基本要求.1 3.1 通用 APP.1 3.1.1 术语定义.1 3.1.2 基本流程.1 3.2 定制 APP.3 3.2.1 术语定义.3 3.2.2 基本流程.3 3.3 企业专用证书定制 APP.4 3.3.1 术语定义.4 3.3.2 基本流程.4附 录 A:EMCG 应用软件审核指南.5附 录 B:EMCG 应用软件开发(安全)指南.10 T/EMCG 003-2014 II 前 言 移动智能终端的发展为企业移动信息化提供了广阔的空间。由于Android系统开放性,应用软件(App)安全问题成为阻碍企业移动信息化发展的主要因素。现有的App市场App开发审核
3、不规范,软件签名随意,各种不良目的的木马病毒程序传播难以控制。本指南为改善Android移动终端App生态安全环境,规范企业App生命周期管理而制定。本指南定义了通用App、定制App、企业专用证书定制App开发、发布的基本流程;定义了独立的“企业App服务中心”,建立安全可控的企业级Android系统应用软件开发、销售生态系统,保证企业应用软件安全运行。2015年1月,本指南通过EMCG审议。参与本指南起草制定的单位:中关村网络安全与信息化产业联盟 华为技术有限公司 联想集团 北京小米科技有限责任公司 奇虎360科技有限公司 北京元心科技有限公司 安天实验室 中国信息通信研究院 北京中油瑞飞
4、信息技术有限责任公司 杭州安恒信息技术有限公司 联信摩贝软件(北京)有限公司 中兴通讯股份有限公司 本指南起草人:王 克 中关村网络安全与信息化产业联盟企业移动计算工作组(EMCG)王 梓 华为技术有限公司 刘长山 中兴通讯股份有限公司 石晓宏 奇虎360科技有限公司 张建国 联信摩贝软件(北京)有限公司 黄 晟 北京中油瑞飞信息技术有限责任公司 潘宣辰 安天实验室 T/EMCG 003-2014 III 引 言 随着 4G、5G 移动网络及智能移动终端技术快速发展,使用移动互联技术处理业务信息已成为政府提高办事效率,企业产业转型升级的重要手段。然而,移动应用软件安全问题始终影响着我国企业和政
5、府移动信息系统的建设和使用。为保障企事业单位移动信息化建设顺利推进,摆脱移动应用软件安全性难以保证的困局,建立一个移动软件管控机制势在必行。2014年,中关村网络安全与信息化产业联盟企业移动计算工作组(EMCG)联合华为、联想、中兴、小米、奇虎360、联信摩贝、安天实验室、e人e本、国信灵通等企业,开展本标准制定。指南编制原则 1.实用性。标准要结合国家有关政策法规以及行业发展实际,实施的可操作性强;2.前瞻性。标准要能够反映产业技术发展的先进性,能够引领产业市场的技术进步;3.滚动性。在保证标准严肃性和稳定性的同时要为标准升级留有余地。T/EMCG 003-2014 1 企业移动智能终端应用
6、开发、安装、运行管控机制(指南)1 范围 智能终端厂商、应用开发者、企业应用软件服务商,使用本指南规范企业移动应用软件(App)的生命期管理。包括软件开发准入、软件开发、软件签名及验证、软件审核、软件发布、软件安装及运行监管等。2 规范性引用文件(略)3 基本要求 企业移动计算APP是指移动智能终端出厂后由用户下载安装使用的App,包括通用APP、定制App、企业专用证书定制App。3.1 通用 APP 适用于企业使用的通用功能的App(如计算器、日历等)。3.1.1 术语定义 官方机构(Off官方机构(Official Authority)icial Authority),社会公认的组织,可
7、以是政府机构,也可以是社会团体、企业、联盟、协会等实体。APP开发者(APP Developer)APP开发者(APP Developer),企业移动智能终端应用软件开发组织。EMCG企业APP服务中心(EnterprisEMCG企业APP服务中心(Enterprise Software Services ESS),e Software Services ESS),遵照EMCG标准建立的为企业移动终端提供软件管理的服务平台。软件市场APP商店(Softwar软件市场APP商店(Software Market APP Shop),e Market APP Shop),面向社会的移动终端软件商店。
8、EMCG终端(EMCG Smart Mobile Device),EMCG终端(EMCG Smart Mobile Device),符合EMCG企业移动终端安全等级产品规范(T/EMCG 001-2014)的移动智能终端。EMCG-App,EMCG-App,经官方机构颁发或授权数字证书签名的App。App测试证书(Test Certificate),App测试证书(Test Certificate),官方机构颁发的,用于开发者进行APP开发调试的数字证书。App发布证书(Publish Certificate),App发布证书(Publish Certificate),官方机构颁发的,用于开发
9、者进行APP发布的数字证书。官方机构证书(Official Authority Certificate),官方机构证书(Official Authority Certificate),官方机构数字证书,用于EMCG-App发布。3.1.2 基本流程 T/EMCG 003-2014 2 1 23 4 开发申请 APP 开发者向官方机构官方机构提交软件开发申请。批准 官方机构 官方机构对开发者进行资质审核,通过审核后官方机构发给开发者 APP 测试证书测试证书和 APP 发布证书发布证书。(开发者私钥自己保存,公钥发给官方机构。)开发 开发者开发企业移动App软件。开发过程中开发者使用App测试证
10、书测试证书(对应的私钥)对开发的软件进行签名,以便开发调试。审核 开发者完成软件开发后向官方机构官方机构提交,提交的软件必须用发发布证书布证书(对应的私钥)签名。官方机构官方机构将按照EMCG 应用软件审核指南对提交的软件进行审核。发布 经官方机构签名的 EMCG-App 默认在 EMCG 应用管理系统中存档,开发者可以选择立即发布到“EMCG 企业软件服务中心“EMCG 企业软件服务中心(EMCG enterprise software services)”,或者选择上架发布时间;上架后的 EMCG-App 也可以随时选择下架。开发者也可下载 EMCG-App 并自行发布到其他“软件市场应用
11、商软件市场应用商店”店”。5 安装运行 企业EMCG终端EMCG终端可从软件市场App商店软件市场App商店或EMCG企业AppEMCG企业App服务中心服务中心下载安装 EMCG-App;EMCG-App 安装和运行时,EMCG 终端进行软件签名验证,只有经官方机构签名的 App 方可安装及运行。非 EMCG 终端EMCG 终端也可从软件市场 App 商店软件市场 App 商店下载下载 EMCG-App。7 官方签名 官方机构使用官方机构证书官方机构证书(对应的私钥)对审核通过的软件在开发者签名基础上再进行签名,生成 EMCG-App。将 EMCG-App 发给开发者。6 消费市场 APP
12、商店消费市场 APP 商店 软件市场 App 商店 官方机构 EMCG 企业 App 服务中App 开发者 企业 EMCG 终端 1 2 3 4 66 775 6 T/EMCG 003-2014 3 3.2 定制 App 适用于企业使用的专用功能的 App。3.2.1 术语定义 App内部发布证书(Internal Publish Certificate),App内部发布证书(Internal Publish Certificate),官方机构颁发的,用于开发者进行APP企业内部发布的数字证书。企业内部App管理中心(Internal App 企业内部App管理中心(Internal App
13、Management Centre),Management Centre),App使用企业建立的用于企业App管理的系统平台。3.2.2 基本流程 1 23 4 开发申请 App 开发者向官方机构官方机构提交软件开发申请。批准 官方机构官方机构对开发者进行资质审核,通过审核后官方机构发给开发者 App 测试证书测试证书和 App 内部发布证书内部发布证书。(开发者私钥自己保存,公钥发给官方机构。)开发 开发者开发企业移动App软件。开发过程中开发者使用App测试证书测试证书(对应的私钥)对开发的软件进行签名,以便开发调试。签名发布 开发者完成软件开发后用 App 内部发布证书内部发布证书(对应
14、的私钥)签名,生成 EMCG-App。开发者将 EMCG-App 发到企业内部企业内部 App 管理中心管理中心。安装运行 企业用户 EMCG 终端从企业内部企业内部 APP 管理中心管理中心下载安装 EMCG-App;EMCG-App 安装和运行时,EMCG 终端进行软件签名验证,只有经官方机构证书签名的 App 方可安装及运行。5 消费市场 APP 商店消费市场 APP 商店软件市场 App 商店 官方机构 企业内部 App 管理中心 App 开发者 企业用户 EMCG 终端 1 2 45EMCG 企业 App 服务中3 T/EMCG 003-2014 4 3.3 企业专用证书定制 App
15、 适用于为已建立 CA 的企业开发本企业专用 App。3.3.1 术语定义 企业专用证书(Enterprise Special Certificate),企业专用证书(Enterprise Special Certificate),社会各团体组织已经建立的CA管理的证书。授权证书(Authorized 授权证书(Authorized Certificate),Certificate),经官方机构批准授权(官方机构签名)的企业专用证书。3.3.2 基本流程 1 23 4 开发申请 App 开发者向官方机构官方机构提交软件开发申请。批准及证书授权 官方机构官方机构对开发者进行资质审核,通过审核后开
16、发者申请证书许可,并将企业专用证书企业专用证书相关数据发送给官方机构,官方机构将企业专用证书(或由官方机构签名)放到 EMCG企业企业 App 服务中心。服务中心。开发 开发者开发企业移动 App 软件。开发过程中开发者使用企企业专用证书业专用证书(对应的私钥)对开发的软件进行签名开发调试。签名发布 开发者完成软件开发后用企业专用证书企业专用证书(对应的私钥)签名,生成 EMCG-App。开发者将 EMCG-App 发到企业内部企业内部 App 管理中心管理中心。证书下载 企业通过安全传输方式从 EMCG 企业企业 APP 服务中心服务中心获得获得企业专用证书供企业专用证书供企业 EMCG 终
17、端 APP 签名验证。5 安装运行 企业用户 EMCG 终端从企业内部企业内部 App 管理中心管理中心下载安装 EMCG-App;EMCG-App 安装和运行时,EMCG 终端进行软件签名验证,只有经官方机构授权证书授权证书签名的 App 方可安装及运行。6 消费市场 APP 商店 消费市场 APP 商店 软件市场 App 商店 官方机构 企业内部 App 管理中心 App 开发者 企业用户 EMCG 终端 1 2 4 6EMCG 企业 App 服务中352 T/EMCG 003-2014 5 A A 附 录 A:EMCG 应用软件审核指南 A.1 条款与条件 本指南旨在帮助开发者的程序通过
18、中关村网络安全与信息化产业联盟 EMCG 的认可,而不是为了修改和删除开发者任何其他协议中的条款。A.2 功能 A.2.1 有严重错误导致应用崩溃、闪退的程序将会被拒绝;A.2.2 包含与开发者应用描述不符内容的应用将会被拒绝;A.2.3 使用非公开 API 的应用将会被拒绝;A.2.4 在用户不知情或者不通知用户的情况下,在后台进行任何与用户所使用的功能无关的操作的应用将会被拒绝;A.2.5 提供不正确诊断或其他不准确数据的应用将会被拒绝;A.2.6 与其他开发者应用外观、名称、内容、界面、功能等相似或混淆的应用可能会被拒绝;A.2.7 用同一个功能模块开发大量相似产品,供用户反复下载的应用
19、可能会被拒绝;A.2.8 将主应用拆分为大量单一应用让用户反复下载,只接受主应用,其它单一应用可能会被拒绝;A.2.9 应用内带有修改其他数据、存档等内容的功能;A.2.10 应用内包含骚扰用户性质的模块,包含但不限于电话或短信轰炸机类应用;A.2.11 存在非法窃取或上传用户隐私信息模块的应用将会被拒绝;A.2.12 未经授权的情况下发布、披露、收集、查询他人的隐私和机密信息的应用将会被拒绝;A.2.13 应用带有破解系统权限增加系统风险性功能的应用将会被拒绝;A.2.14 应用中提供的服务于内容无法被认为是安全可靠的,可能存在导致用户的隐私受到侵犯或者财产受到损失的风险的应用可能会被拒绝;
20、A.2.15 伪造真实用户信息进行恶搞或者其他用途的应用将会被拒绝;A.3 安全性能 A.3.1 源码存在安全隐患的应用将会被拒绝;T/EMCG 003-2014 6 A.3.2 不符合国家相关安全标准的应用程序将会被拒绝;A.3.3 存在测试代码、数据和日志信息的应用将会被拒绝;A.3.4 数据传输过程中存在安全威胁的应用将会被拒绝;A.3.5 与应用关联的服务器层存在安全威胁的应用将会被拒绝;A.4 广告 A.4.1 内容主要是营销材料或者广告的程序将会被拒绝;A.4.2 上传他人应用的破解版本、嵌入广告 SDK 因此而获利的应用将会别拒绝;A.4.3 在应用中不合理地嵌入广告位,诱使用户
21、误点而获利的应用将会被拒绝;A.4.4 人工刷广告浏览量或广告点击率的应用将会被拒绝;A.4.5 用不正当的方式提高应用的排名及好评率将会被拒绝;A.5 推送 A.5.1 首次推送通知或者要求推送通知之前未获得用户许可的应用将会被拒绝;A.5.2 使用推送通知发送个人敏感信息或机密信息的程序将会被拒绝;A.5.3 使用推送通知发送非请求消息,或用于钓鱼或群发垃圾信息用途的应用将会被拒绝;A.5.4 应用程序不可使用推送通知发送广告、促销或任何类型的直销信息。A.5.5 滥用推送通知给用户造成明显骚扰的应用将会被拒绝;A.5.6 推送通知病毒、恶意软件、程序执行代码的应用将会被拒绝;A.5.7
22、使用推送通知发送提醒信息的应用需要在通知栏提醒信息中包含应用名称或其它可被用户直接辨别来源的信息,否则应用将会被拒绝;A.5.8 应用程序不能向使用推送通知服务的用户收取费用。A.5.9 使用推送通知会过多利用 APN 服务的网络流量或给设备带来过度负担的程序将会被拒绝;A.5.10 传送病毒、文件、计算机代码或程序,并且对 APN 服务的正常运行造成损害或中断的应用将会被拒绝;A.6 损害设备 A.6.1 怂恿用户以可能损害的方式使用移动设备的应用将会被拒绝;T/EMCG 003-2014 7 A.6.2 快速耗光设备电量或产生过多热量的应用将会被拒绝;A.6.3 能导致用户人身伤害的 AP
23、P 将会被拒绝;A.7 内容 A.7.1 包含讨论政治新闻、政治人物等政治敏感内容的应用将会被拒绝;A.7.2 包含煽动性涉政新闻、散播谣言、扰乱社会稳定秩序内容的应用将会被拒绝;A.7.3 含有暴力、色情素材、非法色情交易的应用将会被拒绝;A.7.4 应用中出现人或动物被杀、致残以及枪击、刺伤、拷打等受伤情形的真实画面将会被拒绝;A.7.5 鼓励过量饮酒、物质滥用等,或鼓励青少年饮酒、吸烟的应用;A.7.6 包含描绘暴力或虐待儿童等内容的应用将会被拒绝;A.7.7 包含诽谤、批判性内容、人身攻击性质、侵害他人或组织合法权益的应用内容将被拒绝;A.7.8 游戏中出现的“敌人”不可指向一个特定种
24、族、文化、一个真实存在的政府、企业或者其他任何现实中的实体;A.7.9 对武器进行真实描述以怂恿非法使用或滥用这些武器的应用将会被拒绝;A.7.10 涉及宗教、文化或族群的引用或评论包含诽谤或攻击性内容的应用,或会使特定群体遭受伤害或暴力的应用将被拒绝;A.7.11 包含宣扬邪教、不健康文化等内容的应用将被拒绝;A.7.12 涉及到宗教、民族的应用内容不应该具有煽动性言论或者破坏民族团结的内容;A.7.13 包含令人反感、低俗或者激怒用户内容的应用将会被拒绝;A.7.14 请求、促进或鼓励犯罪或明显鲁莽行为的应用将会被拒绝;A.7.15 包括虚假、欺诈或误导性陈述的应用将会被拒绝 A.8 隐私
25、 A.8.1 在未经用户事先许可,或未告知用户如何使用信息以及在何处使用信息的情况下,应用不能传输用户数据;A.8.2 要求用户共享电子邮箱地址或者出生日期等私人信息才可使用其功能的应用将会被拒绝;A.8.3 收集、传输以及分享未成年用户个人信息的应用程序必须遵守儿童隐私法律,并且必须包含隐私条款;T/EMCG 003-2014 8 A.8.4 向终端用户或者任意第三方显示用户信息的应用将会被拒绝;A.9 应用元数据 A.9.1 包含任何描述性文字,包含但不限于宣传口号、功能描述性文字的应用将会被拒绝;A.9.2 应用标题、简介、描述、副标题中出现与应用本身功能、内容无关的其他应用或品牌关键词
26、将会被拒绝;A.9.3 应用名称、icon、截图与其他应用过度相似的可能会被拒绝;A.9.4 不当使用或未经授权使用受版权保护的文学、戏剧、影视剧集、综艺节目等作品的应用将会被拒绝;A.9.5 应用 icon 包含未经授权的角标将会被拒绝;A.10 特殊行业 A.10.1 包含彩票销售模块的应用必须由合法授权的应用开发者/公司发起;A.10.2 包含股票交易的应用必须由合法授权的应用开发者/公司发起;A.10.3 包含银行业务的应用必须由合法授权的应用开发者/公司发起;A.10.4 包含理财产品销售模块的应用必须由合法授权的应用开发者/公司发起;A.10.5 包含信用借贷类业务的应用必须由合法
27、授权的应用开发者/公司发起;A.10.6 包含医疗咨询、医药销售、医疗器材销售等模块的应用必须由合法授权的应用开发者/公司发起;A.10.7 P2P 融资类应用、众筹类等涉及到用户资金财产安全的应用必须由合法授权的应用开发者/公司发起;A.10.8 贵金属交易类应用必须由合法授权的应用开发者/公司发起;A.10.9 移植、汉化、街机、热门开源类游戏需要出示原版授权,否则会被拒绝;A.10.10 赌博类应用和游戏将会被拒绝;A.10.11 包含可以向认证的慈善组织捐赠内容的应用必须是免费的。A.11 法律 A.11.1 应用必须遵守各地用户遵守的任何法律要求;T/EMCG 003-2014 9
28、A.11.2 开发者有义务了解并遵守当地所有法律。T/EMCG 003-2014 10 附 录 B:EMCG 应用软件开发(安全)指南 目 录 B.1 Android 安全开发相关知识.13 B.1.1 ANDROID 应用安全.13 B.1.1.1 资产-安全保护对象.13 B.1.1.2 威胁-危害资产的各类攻击.16 B.1.1.3 资源等级分类和保护措施.20 B.1.1.4 敏感信息.21 B.1.2 谨慎、安全地处理输入的数据.21 B.2 创建/使用 ACTIVITIES.22 B.2.1 ACTIVITIES 种类.22 B.2.2 安全开发守则.23 B.2.2.1 只在应用
29、程序内部使用的 Activities 必须设置成私有.23 B.2.2.2 不要指定 taskAffinity.23 B.2.2.3 不要指定启动模式.24 B.2.2.4 不要为用来启动 Activity 的 Intents 设置 FLAG_ACTIVITY_NEW_TASK 标志.24 B.2.2.5 谨慎、安全地处理接收到的 Intent.24 B.2.2.6 使用在内部应用里验证过的内部签名权限.25 B.2.2.7 返回结果时,注意来自目标应用造成信息泄露的可能性.25 B.2.2.8 若目的 Activity 已预定,使用显式 intents.25 B.2.2.9 谨慎、安全地处理
30、来自请求 Activity 的返回数据.26 B.2.2.10 检查和其他公司应用相关联的目标 Activity.26 B.2.2.11 间接提供资源时,应当采取相同的保护等级.26 B.2.2.12 尽可能多的限制敏感信息的传送.26 B.2.3 安全开发范例.27 B.2.3.1 创建/使用私有 Activity.27 B.2.3.2 创建/使用公共 Activities.28 B.2.3.3 创建/使用合作伙伴 Activities.30 B.2.3.4 创建/使用内部 Activities.32 B.3 接收/发送广播.33 B.3.1 广播类型.33 B.3.2 安全开发守则.34
31、B.3.2.1 只在某个应用内部使用的广播接收器必须设置成私有.34 B.3.2.2 谨慎、安全地处理 intent.35 T/EMCG 003-2014 11 B.3.2.3 使用在内部应用里验证过的内部签名权限.35 B.3.2.4 返回结果信息时,注意来自目标应用的结果泄漏信息风险.35 B.3.2.5 发送敏感信息给某个广播时,限制可能接收到的接收器.35 B.3.2.6 敏感信息禁止包含在 StickyBroadcast 里.36 B.3.2.7 注意:未指定接收器权限的有序广播不能被传送.36 B.3.2.8 谨慎、安全地处理从广播接收器返回的结果数据.36 B.3.2.9 间接提
32、供资源时,应当采取相同的保护等级.36 B.3.3 安全开发范例.37 B.3.3.1 私有广播接收器.37 B.3.3.2 公共广播接收器.37 B.3.3.3 内部广播接收器.38 B.4 创建/使用内容提供器.39 B.4.1 内容提供器类型.39 B.4.2 安全开发守则.40 B.4.2.1 只在某个应用内部使用的内容提供器必须设置成私有.40 B.4.2.2 谨慎、安全地处理接收到的请求参数.40 B.4.2.3 使用在内部应用里验证过的内部签名权限.40 B.4.2.4 返回结果信息时,注意目标应用泄漏信息风险.40 B.4.2.5 间接提供资源时,应当采取相同的保护等级.40
33、B.4.2.6 谨慎、安全地处理从内容提供器返回的结果数据.41 B.4.3 安全开发范例.41 B.4.3.1 创建/使用私有内容提供器.41 B.4.3.2 创建/使用公共内容提供器.41 B.4.3.3 创建/使用合作伙伴内容提供器.42 B.4.3.4 创建/使用内部内容提供器.42 B.4.3.5 创建/使用临时内容提供器.43 B.5 创建/使用服务.44 B.5.1 服务类型.44 B.5.2 安全开发守则.45 B.5.2.1 只在应用内部使用的服务必须设置成私有.45 B.5.2.2 谨慎、安全地处理接收到的数据.45 B.5.2.3 使用在内部应用里验证过的内部签名权限.4
34、5 B.5.2.4 在 onCreate 函数不要下结论服务是否提供功能.45 B.5.2.5 返回结果信息时,注意目标应用泄漏信息风险.45 B.5.2.6 如果目标服务是固定的,要使用显式 intent.46 B.5.2.7 验证与其他公司应用有关联的目标服务.46 B.5.2.8 间接提供资源时,应当采取相同的保护等级.46 B.5.2.9 敏感信息不应该最大化传送.46 B.5.3 安全开发范例.46 B.5.3.1 创建/使用私有服务.46 B.5.3.2 创建/使用公有服务.47 T/EMCG 003-2014 12 B.5.3.3 创建/使用合作伙伴服务.47 B.5.3.4 创
35、建/使用内部服务.48 B.6 使用 SQLITE.49 B.6.1 安全开发守则.49 B.6.1.1 正确地设置 DB 文件位置和访问权限.49 B.6.1.2 与其他应用共享 DB 数据时,使用内容提供器进行访问控制.50 B.6.1.3 在进行处理变量参数等 DB 操作时,必须使用占位符.50 B.6.2 创建/操作数据库.51 T/EMCG 003-2014 13 B.1 Android 安全开发相关知识 本手册是关于 Android 应用开发的一系列安全建议,这里将讲述 Android 智能手机和平板电脑相关的通用安全设计和安全开发知识,在涉及后面的安全开发章节之前,我们建议你先熟
36、悉下这个章节的内容。B.1.1 Android 应用安全 关于测试系统或应用的安全问题,业界已经有一种普遍被接受的思路。首先,我们得理解保护对象,我们称之为资产;接下来,我们要尽可能多的理解发生在资产上的攻击可能性,我们称之为威胁;最后,我们将测试并执行安全措施保护资产,抵御各种威胁,我们称之为安全措施。上述提到的安全措施在这里我们把它叫做安全设计和安全开发,后面的章节会详细描述,本节内容,我们主要集中对资产和威胁进行解释说明。B.1.1.1 资产-安全保护对象 在系统或应用里有两种保护对象:信息和功能。我们将它们称作信息资产和功能资产。信息资产是指那种只能被有权限的人访问或更改的信息,并且任
37、何没有权限的人无法进行访问或更改。功能资产是指只能被有权限的人使用而其他人无法使用。下面,我们将介绍在 Android 智能机和平板电脑里存在的信息资产类型和功能资产类型。当利用Android 应用程序或 Android 智能机/平板电脑时,我们希望您能使用以下内容作为参考点来研究关于资产的内容。为了方便,我们将 Android 智能机/平板电脑简称为 Android 智能机。B.1.1.1.1 Android 智能机的信息资产 下面两张表格列举了 Android 智能机包含的信息。恰当的保护是必要的,因为这些信息是个人信息、敏感信息或两者都有。表 2-1:Android 智能手机管理的信息样
38、例表 序号 信息 备注 1 电话号码 智能手机自身电话号码 2 通话记录 来电或去电的号码、时间和时间 3 IMEI 智能手机的设备 ID 4 IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)5 传感信息 GPS,地理坐标、速率等 6 各种配置信息 Wi-Fi 配置信息等 T/EMCG 003-2014 14 序号 信息 备注 7 账号信息 各种账号信息,认证信息等 8 多媒体数据 照片、视频、音乐、录音等 9 .表 2-2:应用程序管理的信息样例表 序号 信息 备注 1 Contacts 联系
39、人 熟人等 2 E-mail 地址 用户的 E-mail 地址 3 E-mail 邮箱 Content of incoming and outgoing e-mail,attachments,etc.收件箱和发件箱、附件的内容等 4 Web 收藏夹 收藏夹 5 Web 浏览记录 浏览历史记录 6 Calendar 日历 Plans,to-do list,events,etc.计划,任务列表,事件等 7 社交网络 QQ、微信、微博、Facebook 等 8 .表 2-3:联系人包含详细信息样例表 序号 信息 内容 1 电话号码 家庭电话、移动电话、传真、彩信等 2 E-mail 地址 家庭 E-
40、mail、工作 E-mail、移动电话 E-mail 等 3 照片 缩略图、大图片等 4 即使通讯 QQ、微信、易信、飞信、Skype 等 5 昵称 首字母缩写、曾用名、昵称等 6 地址 国家、邮编、地区、区域、城镇、街道等 7 组成员关系 收藏联系人、家人、朋友、同事等 8 网站 博客、主页、FTP 服务器等 9 事件 生日、纪念日、其他 10 关系 配偶、子女、父亲、母亲、主管、助理、合伙人等 11 SIP 网络电话 家庭、工作、其他等 直到现在,我们的焦点主要放在智能手机的用户信息,然而,应用也会处理其他重要信息,下图展示了一个应用内部信息的典型视图,被分为程序部分和数据部分。程序部分主
41、要由应用开发者信息组成,数据部分则大部分是用户信息。由于应用的开发信息不想被用户访问,提供保护措施禁止用户访问或更改这类信息是非常重要的。T/EMCG 003-2014 15 图 2-1:应用内部信息的典型视图 当创建一个 Android 应用时,非常重要的一件事是给上图中应用自身管理的信息采取合适的保护措施。然而,同等重要的是恰当地采取强健的安全策略保护 Android 智能手机自身包含的信息,同时也要保护被其他应用获取的信息,例如在表 2-1,表 2-2,表 2-3 中展示的信息。B.1.1.1.2 Android 智能机的功能资产 表 2-4 展示了 Android OS 提供给应用的功
42、能特性样例,当这些特性被恶意软件利用,意外的费用或隐私泄漏等损害将给用户带来严重损失。因此,恰当的保护措施应该作为信息资产的一个扩充被合理部布置。表 2-4:Android OS 提供给应用的特性样例 Function 功能 功能 发送和接收短信 相机 拔打电话 音量 网络通信 获取联系人列表和手机状态 GPS SD 卡 蓝牙通信 变更系统配置 NFC 通信 读取日志数据 网络电话(SIP)获取运行中的应用信息.除了 Android OS 提供给应用的功能之外,Android 应用的应用间通信组件也是功能资产的一部分。Android 应用可以允许其他应用通过访问他们内部组件来使用特性,我们称之
43、为应用间通信。这是一个很方便的特性,然而,已经有很多例子,正是那些缺乏安全开发知识的开发人员,本应该只能被内部特定的应用使用的功能却错误地授权给其他应用访问。在设备本地还存在一些可能被恶意软件利用的应用功能,因此,非常有必要采取恰当的保护措施只允许合法应用访问这些功能。T/EMCG 003-2014 16 威胁(攻击)威胁(攻击)脆弱性 资产资产 影响 威胁来源 应用 B.1.1.2 威胁-危害资产的各类攻击 在前面章节,我们谈论了关于 Android 智能机的资产,本章节,我们将讲解关于会对资产造成威胁的攻击。简而言之,对资产造成的威胁是指本应该没有权限的第三方可以访问、变更、删除或创建信息
44、资产,或非法使用功能资产。这种直接地或间接地攻击那些资产的行为就叫做“威胁”。而且,犯做这些行为的恶意人员或应用被称之为威胁来源。恶意的攻击者和恶意软件是威胁源头,但并非威胁本身。我们定义的资产、威胁、威胁来源、脆弱性以及危害之间的关系如下图所示:图 2-2:资产、威胁、威胁来源、脆弱性以及危害之间的关系 下图展示的是 Android 应用行为的一个典型环境。从现在开始,为了使用这张图来拓宽说明一个Android 应用所面对的威胁类型,首先我们将学习如何看懂这张图。图 2-3:Android 应用行为的典型环境 上图中,智能手机在左侧而服务器在右侧,它们之间通过 3G/4G/Wi-Fi 通信,
45、虽然一个智能手机里面存在多个应用,但我们在图中只显示单个应用以便更清晰的解释威胁。基于智能手机的应用主要处理用户信息,而基于服务器的 WEB 服务则集中管理所有用户信息。所以,和以往一样,这不会改变服务器安全的重要性,这里我们将不会涉及服务器安全相关话题,避免超出本手册范围。B.1.1.2.1 威胁来自网络上的第三方 T/EMCG 003-2014 17 图 2-4:网络第三方攻击应用示意图 通常而言,一个智能手机应用是在某个服务器上管理用户信息,所以信息资产将在连接他们的网络上传输。如上图所示,一个恶意的网络第三方可能访问(嗅探)通信之间的任何信息,或者试图修改信息(数据操作)。在中间的恶意
46、攻击人员(也被称作“中间人攻击”)可以冒充真实的服务器来欺骗应用。不用说,基于网络的恶意第三方通常也会尝试攻击服务器。B.1.1.2.2 威胁来自用户安装的恶意软件 图 2-5:被用户安装的恶意软件攻击应用示意图 智能手机最大的卖点是可以从应用市场安装许多应用以扩大它的特性。给用户免费下载安装应用的站点有时也会错误地安装恶意软件。如上图所示,恶意软件有可能会利用程序间通信功能或程序内部的漏洞,来达到访问信息或功能资产。B.1.1.2.3 威胁来自能够利用应用漏洞的恶意文件 T/EMCG 003-2014 18 图 2-6:来自利用程序内部漏洞的恶意文件的攻击示意图 很多种文件,例如音乐、图像、
47、视频和文件广泛存在互联网上,并且用户会下载很多文件到他们的SD 卡以便在他们的智能手机上使用。此外,也很经常下载通过邮件发送的附件,这类文件后续会通过应用进行查看或编辑。如果处理这些文件的应用存在功能上的一些漏洞,攻击者可以使用恶意文件来利用它并访问应用的信息或功能资产。特别是漏洞经常出现在处理一个具有复杂数据结构的文件格式上,当通过这种方法攻破一个应用,攻击者可以实现多种不同目的。如上图所示,攻击文件处理休眠直接被某个存在漏洞的应用打开。一旦被打开,它将利用应用的漏洞产生严重破坏,我们将这种攻击方法叫做“被动攻击”。B.1.1.2.4 威胁来自恶意手机用户 图 2-7:来自恶意手机用户的攻击
48、示意图 至于 Android 智能手机的应用开发,它的环境和手机功能特性助于开发和分析应用一样,也是开放地提供给一般用户。在提供的功能特性当中,有用的 ADB 调试功能在没有注册或审查的情况下可以被任何人访问。这个特性允许一个手机用户轻易地执行系统或应用分析。如上图所示,一个带有恶意目的的智能手机用户通过利用 ADB 调试功能可以分析应用,并获得应用信息或功能资产的访问权限。如果应用包含的实际资产属于那个用户,那没什么问题;但是,如果那些资产是属于其他用户,如应用开发人员,那么将是一个问题。因此,我们需要注意合法手机用户也可以恶意地攻击应用里的资产。T/EMCG 003-2014 19 B.1
49、.1.2.5 威胁来自智能手机附近的第三方 图 2-8:来自智能手机附近的恶意第三方攻击示意图 由于大部分智能手机具有各种近场通信机制,如 NFC、蓝牙和无线,我们绝不能忽视那种会发生来自物理临近手机的恶意人员的攻击。通过窥探某个正在输入的用户,攻击者可以窃取密码。或者如上图所示,攻击者可以实施更复杂的,从远距离攻击一个应用的蓝牙功能。还有的威胁是,恶意人员可以窃取智能手机造成数据泄露风险,或甚至毁坏手机导致重要信息丢失。开发人员应该在设计阶段尽早的将这些风险考虑进去。B.1.1.2.6 安全威胁总结 图 2-9:智能手机应用各种攻击汇总 上图汇总了前面章节描述的威胁的主要类型,智能手机面临着
50、多种多样的威胁,上面的图示并未包括所有威胁。通过我们日常的信息收集,我们需要传播关于 Android 应用面临多种威胁的意识,以及在应用安全设计和开发过程中要注意它们。T/EMCG 003-2014 20 B.1.1.3 资源等级分类和保护措施 正如前面章节所探讨,Android 智能手机面临着各种各样的威胁,为抵御这些威胁要保护一个应用里的所有资产确实是非常困难,一是开发时间紧,二是技术受限制。因此,Android 应用开发人员应该测试资产保护措施的可行性和有效性,这可以根据开发人员判定的优先级来做,根据被查看到的资产的重要性以及可接受的损害水平,这是比较主观的一件事情。为了帮助选定各个资产